|
|
|
@ -446,8 +446,8 @@ static void |
|
|
|
|
TftpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src, |
|
|
|
|
unsigned len) |
|
|
|
|
{ |
|
|
|
|
ushort proto; |
|
|
|
|
ushort *s; |
|
|
|
|
__be16 proto; |
|
|
|
|
__be16 *s; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
if (dest != TftpOurPort) { |
|
|
|
@ -465,7 +465,7 @@ TftpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src, |
|
|
|
|
return; |
|
|
|
|
len -= 2; |
|
|
|
|
/* warning: don't use increment (++) in ntohs() macros!! */ |
|
|
|
|
s = (ushort *)pkt; |
|
|
|
|
s = (__be16 *)pkt; |
|
|
|
|
proto = *s++; |
|
|
|
|
pkt = (uchar *)s; |
|
|
|
|
switch (ntohs(proto)) { |
|
|
|
@ -556,7 +556,7 @@ TftpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src, |
|
|
|
|
if (len < 2) |
|
|
|
|
return; |
|
|
|
|
len -= 2; |
|
|
|
|
TftpBlock = ntohs(*(ushort *)pkt); |
|
|
|
|
TftpBlock = ntohs(*(__be16 *)pkt); |
|
|
|
|
|
|
|
|
|
update_block_number(); |
|
|
|
|
|
|
|
|
@ -644,9 +644,9 @@ TftpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src, |
|
|
|
|
|
|
|
|
|
case TFTP_ERROR: |
|
|
|
|
printf("\nTFTP error: '%s' (%d)\n", |
|
|
|
|
pkt + 2, ntohs(*(ushort *)pkt)); |
|
|
|
|
pkt + 2, ntohs(*(__be16 *)pkt)); |
|
|
|
|
|
|
|
|
|
switch (ntohs(*(ushort *)pkt)) { |
|
|
|
|
switch (ntohs(*(__be16 *)pkt)) { |
|
|
|
|
case TFTP_ERR_FILE_NOT_FOUND: |
|
|
|
|
case TFTP_ERR_ACCESS_DENIED: |
|
|
|
|
puts("Not retrying...\n"); |
|
|
|
|