summaryrefslogtreecommitdiff
path: root/bufaux.c
diff options
context:
space:
mode:
Diffstat (limited to 'bufaux.c')
-rw-r--r--bufaux.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/bufaux.c b/bufaux.c
index 79f8bbd49..80abe890b 100644
--- a/bufaux.c
+++ b/bufaux.c
@@ -37,7 +37,7 @@
37 */ 37 */
38 38
39#include "includes.h" 39#include "includes.h"
40RCSID("$OpenBSD: bufaux.c,v 1.25 2002/04/20 09:14:58 markus Exp $"); 40RCSID("$OpenBSD: bufaux.c,v 1.26 2002/06/23 09:46:51 deraadt Exp $");
41 41
42#include <openssl/bn.h> 42#include <openssl/bn.h>
43#include "bufaux.h" 43#include "bufaux.h"
@@ -105,6 +105,7 @@ buffer_put_bignum2(Buffer *buffer, BIGNUM *value)
105 u_char *buf = xmalloc(bytes); 105 u_char *buf = xmalloc(bytes);
106 int oi; 106 int oi;
107 int hasnohigh = 0; 107 int hasnohigh = 0;
108
108 buf[0] = '\0'; 109 buf[0] = '\0';
109 /* Get the value of in binary */ 110 /* Get the value of in binary */
110 oi = BN_bn2bin(value, buf+1); 111 oi = BN_bn2bin(value, buf+1);
@@ -134,6 +135,7 @@ buffer_get_bignum2(Buffer *buffer, BIGNUM *value)
134 /**XXX should be two's-complement */ 135 /**XXX should be two's-complement */
135 int len; 136 int len;
136 u_char *bin = buffer_get_string(buffer, (u_int *)&len); 137 u_char *bin = buffer_get_string(buffer, (u_int *)&len);
138
137 BN_bin2bn(bin, len, value); 139 BN_bin2bn(bin, len, value);
138 xfree(bin); 140 xfree(bin);
139} 141}
@@ -145,6 +147,7 @@ u_short
145buffer_get_short(Buffer *buffer) 147buffer_get_short(Buffer *buffer)
146{ 148{
147 u_char buf[2]; 149 u_char buf[2];
150
148 buffer_get(buffer, (char *) buf, 2); 151 buffer_get(buffer, (char *) buf, 2);
149 return GET_16BIT(buf); 152 return GET_16BIT(buf);
150} 153}
@@ -153,6 +156,7 @@ u_int
153buffer_get_int(Buffer *buffer) 156buffer_get_int(Buffer *buffer)
154{ 157{
155 u_char buf[4]; 158 u_char buf[4];
159
156 buffer_get(buffer, (char *) buf, 4); 160 buffer_get(buffer, (char *) buf, 4);
157 return GET_32BIT(buf); 161 return GET_32BIT(buf);
158} 162}
@@ -162,6 +166,7 @@ u_int64_t
162buffer_get_int64(Buffer *buffer) 166buffer_get_int64(Buffer *buffer)
163{ 167{
164 u_char buf[8]; 168 u_char buf[8];
169
165 buffer_get(buffer, (char *) buf, 8); 170 buffer_get(buffer, (char *) buf, 8);
166 return GET_64BIT(buf); 171 return GET_64BIT(buf);
167} 172}
@@ -174,6 +179,7 @@ void
174buffer_put_short(Buffer *buffer, u_short value) 179buffer_put_short(Buffer *buffer, u_short value)
175{ 180{
176 char buf[2]; 181 char buf[2];
182
177 PUT_16BIT(buf, value); 183 PUT_16BIT(buf, value);
178 buffer_append(buffer, buf, 2); 184 buffer_append(buffer, buf, 2);
179} 185}
@@ -182,6 +188,7 @@ void
182buffer_put_int(Buffer *buffer, u_int value) 188buffer_put_int(Buffer *buffer, u_int value)
183{ 189{
184 char buf[4]; 190 char buf[4];
191
185 PUT_32BIT(buf, value); 192 PUT_32BIT(buf, value);
186 buffer_append(buffer, buf, 4); 193 buffer_append(buffer, buf, 4);
187} 194}
@@ -191,6 +198,7 @@ void
191buffer_put_int64(Buffer *buffer, u_int64_t value) 198buffer_put_int64(Buffer *buffer, u_int64_t value)
192{ 199{
193 char buf[8]; 200 char buf[8];
201
194 PUT_64BIT(buf, value); 202 PUT_64BIT(buf, value);
195 buffer_append(buffer, buf, 8); 203 buffer_append(buffer, buf, 8);
196} 204}
@@ -207,8 +215,9 @@ buffer_put_int64(Buffer *buffer, u_int64_t value)
207void * 215void *
208buffer_get_string(Buffer *buffer, u_int *length_ptr) 216buffer_get_string(Buffer *buffer, u_int *length_ptr)
209{ 217{
210 u_int len;
211 u_char *value; 218 u_char *value;
219 u_int len;
220
212 /* Get the length. */ 221 /* Get the length. */
213 len = buffer_get_int(buffer); 222 len = buffer_get_int(buffer);
214 if (len > 256 * 1024) 223 if (len > 256 * 1024)
@@ -249,6 +258,7 @@ int
249buffer_get_char(Buffer *buffer) 258buffer_get_char(Buffer *buffer)
250{ 259{
251 char ch; 260 char ch;
261
252 buffer_get(buffer, &ch, 1); 262 buffer_get(buffer, &ch, 1);
253 return (u_char) ch; 263 return (u_char) ch;
254} 264}
@@ -260,5 +270,6 @@ void
260buffer_put_char(Buffer *buffer, int value) 270buffer_put_char(Buffer *buffer, int value)
261{ 271{
262 char ch = value; 272 char ch = value;
273
263 buffer_append(buffer, &ch, 1); 274 buffer_append(buffer, &ch, 1);
264} 275}