Commit ff13ac8c7bbebb238e339592de765c546dba1073
1 parent
1900fbf255
Exists in
master
and in
54 other branches
Backout commit 8f1bc284 as it causes TFTP to fail.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Showing 1 changed file with 10 additions and 10 deletions Side-by-side Diff
net/tftp.c
... | ... | @@ -238,9 +238,9 @@ |
238 | 238 | static void |
239 | 239 | TftpHandler (uchar * pkt, unsigned dest, unsigned src, unsigned len) |
240 | 240 | { |
241 | - char * blksize; | |
242 | 241 | ushort proto; |
243 | 242 | ushort *s; |
243 | + int i; | |
244 | 244 | |
245 | 245 | if (dest != TftpOurPort) { |
246 | 246 | #ifdef CONFIG_MCAST_TFTP |
247 | 247 | |
248 | 248 | |
249 | 249 | |
250 | 250 | |
251 | 251 | |
... | ... | @@ -272,22 +272,22 @@ |
272 | 272 | |
273 | 273 | case TFTP_OACK: |
274 | 274 | #ifdef ET_DEBUG |
275 | - printf("Got OACK:\n"); | |
276 | - print_buffer (0, pkt, 1, len, 16); | |
275 | + printf("Got OACK: %s %s\n", pkt, pkt+strlen(pkt)+1); | |
277 | 276 | #endif |
278 | 277 | TftpState = STATE_OACK; |
279 | 278 | TftpServerPort = src; |
280 | - | |
281 | 279 | /* Check for 'blksize' option */ |
282 | - pkt[len] = 0; /* NULL terminate so string ops work */ | |
283 | - blksize = strstr((char*)pkt, "blksize"); | |
284 | - if ((blksize) && (blksize + 8 < (char*)pkt + len)) { | |
285 | - TftpBlkSize = simple_strtoul(blksize + 8, NULL, 10); | |
280 | + for (i=0;i<len-8;i++) { | |
281 | + if (strcmp ((char*)pkt+i,"blksize") == 0) { | |
282 | + TftpBlkSize = (unsigned short) | |
283 | + simple_strtoul((char*)pkt+i+8,NULL,10); | |
286 | 284 | #ifdef ET_DEBUG |
287 | - printf("Blocksize ack: %d\n", TftpBlkSize); | |
285 | + printf ("Blocksize ack: %s, %d\n", | |
286 | + (char*)pkt+i+8,TftpBlkSize); | |
288 | 287 | #endif |
288 | + break; | |
289 | + } | |
289 | 290 | } |
290 | - | |
291 | 291 | #ifdef CONFIG_MCAST_TFTP |
292 | 292 | parse_multicast_oack((char *)pkt,len-1); |
293 | 293 | if ((Multicast) && (!MasterClient)) |