Commit ff13ac8c7bbebb238e339592de765c546dba1073

Authored by Wolfgang Denk
1 parent 1900fbf255

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

... ... @@ -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))