summaryrefslogtreecommitdiffstats
path: root/libexec/tftpd
Commit message (Collapse)AuthorAgeFilesLines
* Mark tftp_log() as __printflike() (which would have caught the bugmarius2013-01-314-15/+17
| | | | | | fixed in r246106) and deal with the fallout. MFC after: 2 weeks
* Remove extra %s from debug statement that ends up crashing tftpd ifsbruno2013-01-301-1/+1
| | | | | | | debug is set very high (like -d15 in my case). Obtained from: Yahoo! Inc MFC after: 2 weeks
* Use correct size in snprintf.antoine2012-12-251-2/+1
| | | | | | | | Remove unused buffer. PR: 174631 Submitted by: Henning Petersen MFC after: 1 month
* Check the return error of set[e][ug]id. While this can never fail in theeadler2012-10-221-1/+4
| | | | | | | | | | current version of FreeBSD, this isn't guarenteed by the API. Custom security modules, or future implementations of the setuid and setgid may fail. Submitted by: Erik Cederstrand Approved by: cperciva MFC after: 3 days
* Fix warnings found by -Wmising-variable-declarations.ed2012-10-193-5/+5
| | | | | | | | | | | This self-written compiler warning, which is hopefully going to be committed into LLVM sources soon, warns about potentially missing `static' keywords, similar to -Wmissing-prototypes. - bin/pax: Move external declaration of chdname and s_mask into extern.h. - bin/setfacl: Move setfacl.c-specific stuff out of setfacl.h. - sbin/mount_fusefs: Remove char *progname; use getprogname(). - others: add `static' where possible.
* mdoc: Only use macros inside a reference block.joel2012-05-231-8/+4
|
* Properly use LDADD & DPADD to link against libwrap.marcel2012-05-191-1/+3
|
* Remove trailing whitespace per mdoc lint warningeadler2012-03-291-3/+3
| | | | | | | Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
* Avoid error log for transfer stop w/o error code.emaste2012-02-211-1/+2
| | | | | | | | | | A number of tftp clients, including the one in Intel's pxe boot loader, may intentionally stop a transfer using error code 0 (i.e., EUNDEF). These are not real errors. Avoid spamming log files with these by logging them at level LOG_DEBUG instead. Discussed on -hackers with an initial patch proposal; this change is an improved approach suggested by kan@.
* Fix warning when compiling with gcc46:eadler2012-01-101-2/+0
| | | | | | | error: variable 'bp' set but not use Approved by: dim MFC After: 3 days
* Spelling fixes for libexec/uqs2012-01-072-4/+4
|
* Pull in some wording to the tftpd.8 man pagerodrigc2011-07-311-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | from NetBSD, with some slight changes: ========================================================================================= http://cvsweb.netbsd.org/bsdweb.cgi/src/libexec/tftpd/tftpd.8?only_with_tag=MAIN#rev1.22 Revision 1.22 or diffs], Fri Jan 8 21:05:14 2010 UTC (18 months, 2 weeks ago) by christos Patrick Welche <prlw1@cam.ac.uk> - add -p pathsep option - make wrap to zero work, but produce a warning While here: - fix gcc warnings, in particular variable clobbered warnings (compiling with fewer warnings does not really fix the problem) ========================================================================================= These wording changes clarify the default rollover behavior as a "kludge". Also, the block numbers and octet counts for 65535 blocks and 32767 blocks are more accurate than the existing documented numbers. Requested by: Pawan Gupta <pawang at juniper dot net> Obtained from: Juniper Networks Approved by: re (kib)
* In the old TFTP server, there was an undocumented behavior whererodrigc2011-07-311-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | the block counter would rollover to 0 if a file larger than 65535 blocks was transferred. With the default block size of 512 octets per block, this is a file size of approximately 32 megabytes. The new TFTP server code would report an error and stop transferring the file if a file was larger than 65535 blocks. This patch restores the old TFTP server's behavior to the new TFTP server code. If a TFTP client transfers a file larger than 65535 blocks, and does *not* specify the "rollover" option, then automatically rollover the block counter to 0 every time we reach 65535 blocks. This restores interoperability with the FreeBSD 6 TFTP client. Without this change, if a FreeBSD 6 TFTP client tried to retrieve a file larger than 65535 blocks from a FreeBSD 9 TFTP server , the transfer would fail. The same file could be retrieved successfully if the same FreeBSD 6 TFTP client was used against a FreeBSD 6 TFTP server. Approved by: re (kib) Tested by: Pawan Gupta <pawang at juniper dot net>, Obtained from: Juniper Networks
* Acknowledge Edwin Groothuis for the major rewrite herodrigc2011-06-241-0/+6
| | | | did of the tftpd and tftp code to support TFTP blocksize.
* Bring back synchnet() implementation from olderrodrigc2011-06-241-3/+30
| | | | | | | | | | | | | | | | | tftp implementation. The synchnet() function was converted to a no-op when the new TFTP implementation was committed to FreeBSD. However, this function, as it was in the older code, is needed in order to synchronize between the tftpd server and tftp clients, which may be buggy. Specifically, we had a buggy TFTP client which would send TFTP ACK packets for non-TFTP packets, which would cause the count of packets to get out of whack, causing transfers to fail with the new TFTPD implementation. Obtained from: Juniper Networks Submitted by: Santhanakrishnan Balraj <sbalraj at juniper dot net>
* Update references to RFC's that the newer TFTP implementation supports.rodrigc2011-06-221-3/+25
|
* Fix typo.rodrigc2011-06-221-1/+1
| | | | Reported by: Nick Mann <njm at njm dot me dot uk>
* Clarify tftpd's -d flag in the new TFTP implementation.rodrigc2011-06-221-3/+21
| | | | Bump date.
* Clarify that the TFTP blocksize (RFC2348) or non-standardrodrigc2011-06-161-2/+3
| | | | TFTP rollover option can be used to transfer larger files.
* Fix tftp_log() usage.rodrigc2011-05-261-1/+1
|
* Fix typos.brucec2010-11-091-1/+1
| | | | | PR: bin/148894 Submitted by: olgeni
* Use a defined FreeBSD version.delphij2010-10-061-2/+2
| | | | MFC after: 3 days
* Remove the duplicate logging of failed read requests, whose error messagemarius2010-09-241-1/+0
| | | | | | | | | also was inappropriate as it triggered for every EACCESS and ENOTFOUND, not just the case the -n option is intended to deal with and thus really spammed us with ~20 messages in the default configuration when booting a diskless FreeBSD client, introduced with r207608 again. MFC after: 1 week
* Make WARNS=6 clean.marius2010-09-246-44/+37
| | | | MFC after: 1 week
* Try to adhere to style.Makefile(5).marius2010-09-231-5/+3
| | | | MFC after: 3 days
* Move the pfrom initialization from before the setjmp to after theimp2010-09-151-2/+1
| | | | setjmp to avoid warnings on the powerpc build...
* Remove an explicit assignment of the CFLAGS variable intended forrpaulo2010-09-151-1/+0
| | | | debugging purposes only.
* Bring in new files from edwin's tftpimp2010-05-0410-0/+2064
|
* Go ahead and merge the work edwin@ on tftpd into the tree. It is aimp2010-05-043-502/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lot better than what's in the tree now. Edwin tested it at a prior employer, but can't test it today. I've found that it works a lot better with the various uboot versions that I've used in my embedded work. Here's the pkg-descr from the port that describes the changes: It all started when we got some new routers, which told me the following when trying to upload configuration or download images from it: The TFTP server doesn't support the blocksize option. My curiousity was triggered, it took me some reading of RFCs and other documentation to find out what was possible and what could be done. Was plain TFTP very simple in its handshake, TFTP with options was kind of messy because of its backwards capability: The first packet returned could either be an acknowledgement of options, or the first data packet. Going through the source code of src/libexec/tftpd and going through the code of src/usr.bin/tftp showed that there was a lot of duplicate code, and the addition of options would only increase the amount of duplicate code. After all, both the client and the server can act as a sender and receiver. At the end, it ended up with a nearly complete rewrite of the tftp client and server. It has been tested against the following TFTP clients and servers: - Itself (yay!) - The standard FreeBSD tftp client and server - The Fedora Core 6 tftp client and server - Cisco router tftp client - Extreme Networks tftp client It supports the following RFCs: RFC1350 - THE TFTP PROTOCOL (REVISION 2) RFC2347 - TFTP Option Extension RFC2348 - TFTP Blocksize Option RFC2349 - TFTP Timeout Interval and Transfer Size Options RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability Statement for the Trivial File Transfer Protocol (TFTP) It supports the following unofficial TFTP Options as described at http://www.compuphase.com/tftp.htm: blksize2 - Block size restricted to powers of 2, excluding protocol headers rollover - Block counter roll-over (roll back to zero or to one) From the tftp program point of view the following things are changed: - New commands: "blocksize", "blocksize2", "rollover" and "options" - Development features: "debug" and "packetdrop" If you try this tftp/tftpd implementation, please let me know if it works (or doesn't work) and against which implementaion so I can get a list of confirmed working systems. Author: Edwin Groothuis <edwin@FreeBSD.org>
* Fix several typos in macros or macro misusage.uqs2010-03-121-1/+1
| | | | | | Found by: make manlint Reviewed by: ru Approved by: philip (mentor)
* Make WARNS=6 the default for libexec/.ed2010-01-021-0/+3
| | | | | | | | | | | | | | | Just like bin/ and sbin/, I think setting WARNS to the highest value possible will make it more attractive for people to fix warnings. - The WARNS variable is set in the Makefile in the directory of the application itself, making it more likely that it will be removed out of curiosity to see what happens. - New applications will most likely build with WARNS=6 out of the box, because the author would more likely fix the warnings during development than lower WARNS. Unfortunately almost all apps in libexec require a lowered value of WARNS.
* Add "with" to make the line go smoother.edwin2007-11-231-1/+1
|
* Add the -W options, which acts the same as -w but will generateedwin2007-11-233-8/+104
| | | | | | | | | | | unique names based on the submitted filename, a strftime(3) format string and a two digit sequence number. By default the strftime(3) format string is %Y%m%d (YYYYMMDD), but this can be changed by the -F option. PR: bin/106049 (based on patch in that PR) Approved by: grog@ (mentor)
* Correct a typo.bz2007-06-031-1/+1
| | | | | PR: 106049 Submitted by: edwin (as part of a larger patch)
* Markup fixes.ru2006-09-171-1/+1
|
* - Improve and extend mark-up.yar2006-08-071-20/+32
| | | | | | | | | | - Don't use full path in .Nm (we just don't do that). - Correct some frivolous and poorly rendering language, such as using possessive case for .Nm or .Fl . - Use the same capitalization for "user ID" as in setuid(2) and getuid(2). - Bring SEE ALSO in accord with the text. MFC after: 5 days
* o Missed colon in getopt(3) argument makes tftpd(8) crash. Fix that.maxim2005-05-311-1/+1
| | | | | | PR: misc/81732 Submitted by: Denis Grudkin MFC after: 2 weeks
* NI_WITHSCOPEID cleanup. Neither RFC 2553 nor RFC 3493 definesume2005-05-131-3/+2
| | | | | NI_WITHSCOPEID, and our getaddrinfo(3) does nothing special for it, now.
* - Use socklen_t.stefanf2005-02-141-8/+5
| | | | | - No need for 'fromlen' to have file scope. - Remove an unused variable.
* Instead of "OpenFirmware", "openfirmware", etc. use the official spellingmarius2004-08-161-1/+1
| | | | | | "Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended). Ok'ed by: tmm
* mdoc(7) fixes.ru2004-07-071-2/+5
|
* The call to setuid(2) subsequently causes setgroups(2) to fail. setgroups(2)csjp2004-06-301-2/+2
| | | | | requires super-user access in order to complete successfully. Move setgroups(2) to execute before setuid(2) so that it is successful.
* Call tzset() at startup.brian2004-06-211-0/+3
| | | | Submitted by: Andrzej Toboƅa <ato@iem.pw.edu.pl>
* o Reduce path names in RRQ and WRQ packets by:brian2004-06-211-2/+34
| | | | | | | | | | | | | | | | | Reducing "/+./" strings to "/" Reducing "/[^/]+/../" to "/" o Don't send an OACK when the result of the [RW]RQ is an error. These changes allow tftpd to interact with pxelinux.bin from the syslinux package. Whilst the path reducing code doesn't properly handle situations where the path component before the "/../" is a symlink to (say) ".", I would suggest that it does the right thing in terms of the clients perception of what their path string actually represents. This seems better than using realpath() and breaking environments where symlinks point outside of the directory hierarchy that tftpd is configured to allow.
* - Close fd if fdopen(fd) fails.mdodd2004-05-251-1/+2
| | | | - Format return () to resemble the one 5 lines up.
* Add two new flags: -w, which allows new files to be created,mdodd2004-05-242-5/+32
| | | | | | and -U, which allows the umask to be set. Obtained from: Patton Electronics, Co.
* Fix a bug which causes wrong filename being written into the syslogsobomax2003-11-201-1/+10
| | | | | | | in the case when client sends request with RFC2347 options. Approved by: re MFC After: 2 weeks
* properly refuse a connection in the -c case if the client ip's subdirectorybillf2003-04-191-5/+6
| | | | | | | | does not exist. PR: bin/38303 Submitted by: Woei-Luen, Shyu <m8535@cn.ee.ccu.edu.tw> the committed patch differs from the submitted one, any inaccuracies are mine.
* Clean up some warnings that don't result in a change in the object file:dwmalone2003-03-201-17/+20
| | | | | | | Constness, missing prototypes, non-ansi prototypes, missing initialisers, unnecessary declarations, shadowing. Reviewed by: md5
* The .Nm utilitycharnier2002-07-061-3/+4
|
OpenPOWER on IntegriCloud