02 Feb, 2019
1 commit
-
This fixes the automatic lmb initialization and reservation for boards
with more than one DRAM bank.This fixes the CVE-2018-18439 and -18440 fixes that only allowed to load
files into the firs DRAM bank from fs and via tftp.Found-by: Heinrich Schuchardt
Signed-off-by: Simon Goldschmidt
Tested-by: Heinrich Schuchardt
Reviewed-by: Simon Glass
26 Jan, 2019
1 commit
-
As a follow-up, change the name of the newly introduced function
'lmb_get_unreserved_size' to 'lmb_get_free_size', which is more
appropriate.Signed-off-by: Simon Goldschmidt
[trini: Fix test/lib/lmb.c]
Signed-off-by: Tom Rini
25 Jan, 2019
1 commit
-
No mainline board enables CONFIG_MCAST_TFTP and there have been
compilation issues with the code for some time. Additionally, it has a
potential buffer underrun issue (reported as a side note in
CVE-2018-18439).Remove the multicast TFTP code but keep the driver API for the future
addition of IPv6.Cc: Simon Goldschmidt
Signed-off-by: Chris Packham
Acked-by: Joe Hershberger
17 Jan, 2019
1 commit
-
This fixes CVE-2018-18439 ("insufficient boundary checks in network
image boot") by using lmb to check for a valid range to store
received blocks.Signed-off-by: Simon Goldschmidt
Acked-by: Joe Hershberger
[trini: Always build lib/lmb.o on LMB and lib/fdtdec.o on OF_LIBFDT]
Signed-off-by: Tom Rini
27 Jul, 2018
1 commit
-
The same basic parsing was implemented in tftp and nfs, so add a helper
function to do the work once.Signed-off-by: Joe Hershberger
22 Sep, 2017
1 commit
-
Fixes:
net/tftp.c:811: undefined reference to `efi_set_bootdev'Signed-off-by: Jörg Krause
Reviewed-by: Bin Meng
16 Aug, 2017
1 commit
-
We are now using an env_ prefix for environment functions. Rename these
two functions for consistency. Also add function comments in common.h.Quite a few places use getenv() in a condition context, provoking a
warning from checkpatch. These are fixed up in this patch also.Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass
08 Aug, 2017
1 commit
-
For strncpy() select a minimal string length of destination and source
strings, here DEFAULT_NAME_LEN is preferable to MAX_LEN.Due to the NUL-terminated contents of default_string the change is
a noop, however it removes a compilation warning if SH2/3/4 platform
specific strncpy() function is used:In file included from include/linux/string.h:21:0,
from include/common.h:28,
from net/tftp.c:9:net/tftp.c: In function 'tftp_start':
arch/sh/include/asm/string.h:52:42: warning: array subscript is above array bounds [-Warray-bounds]
: "0" (__dest), "1" (__src), "r" (__src+__n)Signed-off-by: Vladimir Zapolskiy
Acked-by: Joe Hershberger
27 May, 2016
1 commit
-
We can now successfully boot EFI applications from disk, but users
may want to also run them from a PXE setup.This patch implements rudimentary network support, allowing a payload
to send and receive network packets.With this patch, I was able to successfully run grub2 with network
access inside of QEMU's -M xlnx-ep108.Signed-off-by: Alexander Graf
29 Oct, 2015
1 commit
-
TFTP source and destination port variable names are
'tftpsrcp' and 'tftpdstp' in the code, but 'tftpsrcport'
and 'tftpdstport' in the README file. Fix the README.Add environment variable 'tftptimeoutcountmax'. As per the
comments about the global variable tftp_timeout_count_max,
make sure tftptimeoutcountmax is nonnegative.Introduce configuration option CONFIG_NET_TFTP_VARS,
which controls whether environment variables tftpblocksize,
tftptimeout, and tftptimoueoutcountmax are read by the TFTP
client code. CONFIG_NET_TFTP_VARS defaults to y but can be
set to n by targets with to tight size contraints.Make bf527-ezkit set CONFIG_NET_TFTP_VARS to n to keep the
target size below limit.
09 Sep, 2015
1 commit
-
Commit 620776d "tftp: adjust settings to be suitable for 100Mbit ethernet"
causes the following error message when trying to load a file using 'tftp'
command via a tftp server.TFTP error: 'Unsupported option(s) requested' (8)
This is due to with commit 620776d changes, the tftp option 'timeout'
value is now set to zero which is an invalid value as per RFC2349 [1].
Valid values range between "1" and "255" seconds, inclusive. With some
tftp servers that strictly implement the RFC requirement, it reports
such an error message.Revert commit 620776d for RFC compliance.
[1] https://www.ietf.org/rfc/rfc2349.txt
Signed-off-by: Bin Meng
Acked-by: Joe Hershberger
07 Sep, 2015
1 commit
-
This change gives the ability to reuse the header file by other
subsystems (like e.g. dfu).Without this change compilation error emerges for the legacy update.c file.
Signed-off-by: Lukasz Majewski
Acked-by: Joe Hershberger
22 Aug, 2015
1 commit
-
Adjust timouts and retry counts to be suitable for loaded ethernet
network. With 5 seconds timeout, 10 retries maximum, tftp is
impossible even on local network with single full-speed TCP
connection.100msec timeout should be suitable for most networks tftp is used on,
that is local ethernets. Timeout count really needs to be way higher,
as lost packets are normal when TCP is running over the same network.Enforce 10msec minimum.
Signed-off-by: Pavel Machek
Acked-by: Joe Hershberger
13 Aug, 2015
1 commit
-
CONFIG_TFTP_TSIZE should limit a tftp downloads progress to 50 '#'
chars. Make this work also for small files.If the file size is small, i.e. smaller than 2 tftp block sizes the
number of '#' can get much larger. i.e. with a 1 byte file 65000
characters are printed, with a 512 byte file around 500.When using CONFIG TFTP BLOCKSIZE together with CONFIG_IP_DEFRAG the
issue is more notable.Signed-off-by: Max Krummenacher
Signed-off-by: Marcel Ziswiler
Reviewed-by: Marek Vasut
Acked-by: Joe Hershberger
19 Apr, 2015
7 commits
-
Finish eliminating CamelCase from net.c and other failures
Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
Make a thorough pass through all variables and function names contained
within tftp and remove CamelCase and improve naming.Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
This patch cleans up the names of internal packet buffer names that are
used within the network stack and the functions that use them.Signed-off-by: Joe Hershberger
-
Use "_ethaddr" at the end of variables and drop CamelCase.
Make constant values actually 'const'.Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
The variables around the bootfile were inconsistent and used CamelCase.
Update them to make the code more readable.Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
This patch is simply clean-up to make the IPv4 type that is used match
what Linux uses. It also attempts to move all variables that are IP
addresses use good naming instead of CamelCase. No functional change.Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
Previously the net functions would access memory assuming physmem did
not need to be mapped. In sandbox, that's not the case.Now we map the physmem specified by the user in loadaddr to the buffer
that represents that space.Signed-off-by: Joe Hershberger
Reviewed-by: Simon Glass
23 Oct, 2014
1 commit
-
If we know the file size, display it after loading the file.
Signed-off-by: Simon Glass
23 Nov, 2013
2 commits
-
NetServerEther was not being cleared in the tftp server code, so the
destination MAC address would be whatever the last destination MAC
address was.Scenario:
U-Boot:
dhcp
tftpsrv
Host:
Send device WRQ
Device:
Responds with ACK to dhcp server mac address with
host ip addressBy clearing NetServerEther, we force a lookup of the host MAC address
to go with the associated host IP.Signed-off-by: Andrew Ruder
-
When the block 0 store to the memory of client and timeout at this
moment. Because of no ACK packet, the server will send block 0 again,
if this client reconnect to the server at this time,
TftpBlockWrapOffset will become larger than it should be.Signed-off-by: Rockly
Patch: 264417
25 Jun, 2013
1 commit
-
tftp.c:464:17: warning: cast to restricted __be16
tftp.c:552:29: warning: cast to restricted __be16
tftp.c:640:33: warning: cast to restricted __be16
tftp.c:642:25: warning: cast to restricted __be16Signed-off-by: Kim Phillips
Cc: Joe Hershberger
16 Dec, 2012
1 commit
-
This prints a tftp speed indication after the download completes. This
is the 3.6 MiB/s indicator below.Tegra2 (SeaBoard) # tftp ...
Using asx0 device
TFTP from server 172.22.72.144; our IP address is 172.22.73.81
Filename '/tftpboot/uImage-user-seaboard-1'.
Load address: 0x408000
Loading: #################################################
3.6 MiB/s
doneSigned-off-by: Simon Glass
Acked-by: Igor Grinberg
12 Jul, 2012
1 commit
-
The block argument for store_block can be -1 when the tftp sequence
number rolls over (i.e TftpBlock == 0), so the first argument to
store_block has to be of type 'int' instead of 'unsigned'.In our environment (gcc 4.4.5 mips toolchain), this causes incorrect
'offset' to be generated for storing the block, and the tftp block
with number 0 will be written elsewhere, resulting in a bad block in
the downloaded file and a memory corruption.Signed-off-by: Jayachandran Chandrasekharan Nair
24 May, 2012
3 commits
-
Call a built-in dummy if none is registered... don't require
protocols to register a handler (eliminating dummies)
NetConsole now uses the ARP handler when waiting on arp
(instead of needing a #define hack in arp.c)
Clear handlers at the end of net loopSigned-off-by: Joe Hershberger
Acked-by: Simon Glass -
Changes to NetState now go through an accessor function called
net_set_state()Signed-off-by: Joe Hershberger
-
Rename IP header related things to IP_UDP. The existing definition
of IP_t includes UDP header, so name it to accurately describe the
structure.Signed-off-by: Joe Hershberger
16 May, 2012
2 commits
-
Signed-off-by: Joe Hershberger
Acked-by: Simon Glass -
Signed-off-by: Joe Hershberger
Acked-by: Simon Glass
07 Dec, 2011
1 commit
-
When building u-boot as 64 bit application (e.g. sandbox) ulong might be
64 bits in size. This breaks network code as IPaddr_t is 64 bytes in
size then and an IPv4 address is 32 bits in size. This patch makes sure
that IPaddr_t is always 32 bits in size. Also some warnings introduced
by this patch are fixed.Signed-off-by: Matthias Weisser
Acked-by: Mike Frysinger
28 Oct, 2011
3 commits
-
If CONFIG_CMD_TFTPPUT is not enabled, we want minimal code size impact
on the tftp code. This introduces a few more #ifdefs.Signed-off-by: Simon Glass
-
This should be a static function so it can be inlined.
Signed-off-by: Simon Glass
Acked-by: Mike Frysinger -
This commit reduces code size a little by making the ICMP handler only
available to tftpput. This is reasonable since it is the only user at
present (ping just uses the normal handler).Signed-off-by: Simon Glass
27 Oct, 2011
4 commits
-
This adds logic to tftp.c to implement the tftp 'put' command, and
updates the README.Signed-off-by: Simon Glass
-
TftpStart should support starting either a get or a put.
Signed-off-by: Simon Glass
-
This code is required for tftpput, so move it into separate functions.
Signed-off-by: Simon Glass
-
We want to show block markers on completion of get and put, so
move this common code into separate functions.Signed-off-by: Simon Glass