• P
    net: Fix TftpStart() ip:filename bug · 6a86bb6c
    Peter Tyser 提交于
    The TftpStart() function modifies the 'BootFile'
    string when 'BootFile' contains both an IP address
    and filename (eg 1.2.3.4:/path/file). This causes
    subsequent calls to TftpStart to incorrectly parse
    the TFTP filename and server IP address to use.
    For example:
    
    => tftp 0x100000 10.52.0.62:/home/ptyser/non_existant
    Speed: 100, half duplex
    Using eTSEC1 device
    TFTP from server 10.52.0.62; our IP address is 10.52.253.79
                     ^^^^^^^^^^ CORRECT
    Filename '/home/ptyser/non_existant'.
              ^^^^^^^^^^^^^^^^^^^^^^^^^ CORRECT
    Load address: 0x100000
    Loading: *
    TFTP error: 'File not found' (1)
    Starting again
    
    eTSEC2: No link.
    Speed: 100, half duplex
    Using eTSEC1 device
    TFTP from server 10.52.0.33; our IP address is 10.52.253.79
                     ^^^^^^^^^^ WRONG
    Filename '10.52.0.62'.
              ^^^^^^^^^^ WRONG
    Load address: 0x100000
    Loading: *
    TFTP error: 'File not found' (1)
    Starting again
    
    TftpStart() was modified to not modify the 'BootFile' string.
    Signed-off-by: NPeter Tyser <ptyser@xes-inc.com>
    Signed-off-by: NBen Warren <biggerbadderben@gmail.com>
    6a86bb6c
tftp.c 15.9 KB