summaryrefslogtreecommitdiffstats
path: root/libexec/tftpd
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Correct indent.ume2002-04-261-15/+15
|
* IPv6 support for tftp/tftpd.ume2002-04-111-15/+60
| | | | | Obtained from: KAME MFC after: 2 weeks
* Better handle the case with a network that drops packets by retryingambrisko2002-04-091-3/+13
| | | | | | | | | | with a back off. This was discovered when Luigi sent me code to handle this for Etherboot. The Etherboot patch worked okay but FreeBSD's tftpd had trouble handling it and would fail to transfer the file since it would abort on send and not retry. Submitted by: luigi MFC after: 1 week
* o __P removalimp2002-02-071-41/+31
| | | | | | | o Use new-style prototypes and function definitions. o Fix timeout and justquit to have proper signatures for signal handlers. Mark the args as __unused. o remove register
* Change the failure mode in option parsing to silently bailing out of optionbenno2001-11-221-2/+9
| | | | | | | | | | negotiation rather than rejecting the request. Apple OpenFirmware 3.0f3 (the version in my iMac) adds trailing garbage to the end of an otherwise valid request. Without this change, the requests were rejected which prevented me from booting. Reviewed by: obrien
* When we set our UID to `nobody', set an appropriate group also.obrien2001-10-221-0/+1
| | | | Submitted by: peter
* RFC2349 (http://www.hypermail.org/rfcs/rfc2349.html) adds supportobrien2001-09-271-9/+120
| | | | | | | | | | | for negotiation of timeout and file size to the tftp protocol. This is required by some firmware like EFI boot managers (at least on HP i2000 Itanium servers) in order to boot an image using tftp. The attached patch implements the RFC, and in doing so also implements RFC2347; a generic tftp option extension. PR: 30710 Submitted by: Espen Skoglund <esk@ira.uka.de>
* Remove whitespace at EOL.dd2001-07-151-7/+7
|
* mdoc(7) police: removed HISTORY info from the .Os call.ru2001-07-101-1/+1
|
* mdoc(7) police: normalize .Nd.ru2001-04-181-2/+1
|
* - Backout botched attempt to intoduce MANSECT feature.ru2001-03-261-0/+1
| | | | - MAN[1-9] -> MAN.
* Set the default manual section for libexec/ to 8.ru2001-03-201-1/+0
|
* First appeared in 4.3, not 5.0kris2001-03-041-1/+1
|
* Fix tftpd and tftp to support file transfers of over 65535 blocksasmodai2001-02-022-2/+7
| | | | | | | (about 31 MB - 32 MB). Submitted (partially) by: Pascal Hofstee <daeron@wit401305.student.utwente.nl>
* Add -c/C which chroots by IP of tftp client, (i.e. /tftproot/127.0.0.1/).billf2001-01-252-4/+50
|
* mdoc(7) police: use the new features of the Nm macro.ru2000-11-201-1/+1
|
* Some more slight doco fixes: update date, and add a bit more to the history.wollman2000-09-141-2/+10
|
* Allow tftpd to run as a specified user, not just `nobody'.wollman2000-09-142-28/+55
| | | | | | | | | Update documentation to reflect new option. Also fix documentation style and add missing references. PR: 21268 Submitted by: "Aleksandr A. Babaylov" <babolo@links.ru> Reviewed by: imp
OpenPOWER on IntegriCloud