diff options
Diffstat (limited to 'bufaux.c')
-rw-r--r-- | bufaux.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -37,7 +37,7 @@ | |||
37 | */ | 37 | */ |
38 | 38 | ||
39 | #include "includes.h" | 39 | #include "includes.h" |
40 | RCSID("$OpenBSD: bufaux.c,v 1.25 2002/04/20 09:14:58 markus Exp $"); | 40 | RCSID("$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 | |||
145 | buffer_get_short(Buffer *buffer) | 147 | buffer_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 | |||
153 | buffer_get_int(Buffer *buffer) | 156 | buffer_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 | |||
162 | buffer_get_int64(Buffer *buffer) | 166 | buffer_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 | |||
174 | buffer_put_short(Buffer *buffer, u_short value) | 179 | buffer_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 | |||
182 | buffer_put_int(Buffer *buffer, u_int value) | 188 | buffer_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 | |||
191 | buffer_put_int64(Buffer *buffer, u_int64_t value) | 198 | buffer_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) | |||
207 | void * | 215 | void * |
208 | buffer_get_string(Buffer *buffer, u_int *length_ptr) | 216 | buffer_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 | |||
249 | buffer_get_char(Buffer *buffer) | 258 | buffer_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 | |||
260 | buffer_put_char(Buffer *buffer, int value) | 270 | buffer_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 | } |