Commit graph

59 commits

Author SHA1 Message Date
H. Peter Anvin
2864d83fea tftpd: try to handle duplicate WRQ packets
Duplicate WRQ packets can really hurt, since they end up accessing the
same file.  This attempts to lock the file, which should work for the
case where a correctly implemented TFTP stack uses the same session ID
(port number) for each retry; in any other case they look like
multiple sessions to the same file and it is a crapshoot if we end up
with the correct one.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2011-05-12 19:16:17 -07:00
H. Peter Anvin
a1dfd6baf8 Support editline instead of readline
Support editline as an alternative to readline.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-08-09 21:14:45 -07:00
Karsten Keil
18fd18bd5c Improve address type error handling
This patch detects numeric address types to avoid unnecessary
warnings/errors.  It also cleans up error printing to not print error
messages on stderr in the deamon case.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-07-31 11:48:18 -07:00
H. Peter Anvin
e4d3083006 tftpd: switch to getopt_long()
Switch to using getopt_long(); include a version in case the platform
lacks it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-07-30 17:16:00 -07:00
Karsten Keil
7fe0fb941c IPv6 infrastructure support
Add autoconf rules to detect IPv6 availability and some of the neeeded
support functions. Add stubs for getaddrinfo and inet_ntop.
You can disable IPv6 at compile time with
./configure --without-ipv6

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-07-23 14:24:19 -04:00
H. Peter Anvin
62533e7441 AC_USE_SYSTEM_EXTENSIONS is a 2.61 feature, not 2.59 2007-12-10 17:37:52 -08:00
H. Peter Anvin
bbb17208a9 Use autoconf features to deal with feature-test macros. 2007-10-03 17:41:38 -07:00
H. Peter Anvin
80f86e5a04 Get rid of $Id$ tags and update copyright dates 2007-01-30 16:01:24 -08:00
H. Peter Anvin
059de7ce20 Use replacement library functions to daemonize, rather than #ifdef hell 2007-01-15 01:11:26 -08:00
H. Peter Anvin
2b36598746 When specifying includes, need to specify ALL includes
It seems that overriding the default includes overrides ALL includes;
so we need to specify them all.  Sigh.
2007-01-08 16:53:19 -08:00
H. Peter Anvin
4d02d827fb Make sure we include <sys/socket.h> when checking for socklen_t
socklen_t is often only defined when <sys/socket.h> is included, but this
is not autoconf default; make sure we include it first.
2007-01-08 16:48:46 -08:00
H. Peter Anvin
14993bc916 Introduce socklen_t; detect non-local (e.g. broadcast) receive addresses 2006-10-04 21:54:04 -07:00
Peter Anvin
7976458c8b Define _GNU_SOURCE 2005-10-13 11:16:23 -07:00
Peter Anvin
547d611d53 Don't build empty libxtra; Solaris can't build an empty archive 2005-09-26 10:47:27 -07:00
hpa
0ca2afec32 Fix handling of getopt variables. 2004-09-03 00:42:33 +00:00
hpa
5f27c18a36 Configuration fixes 2004-07-20 16:43:27 +00:00
hpa
5967262032 Handle the use of install-sh making sure we absolutize the path. 2004-01-15 20:15:46 +00:00
hpa
0740f97365 Create a sensible solution to the libxtra path problem. 2004-01-14 18:37:56 +00:00
hpa
d05bd6fa96 Makefile/configure cleanups; prepare for release 2004-01-08 20:48:51 +00:00
hpa
530706aebe #include <sys/socket.h> if it exists;
Add option to control the max blksize negotiated.
2003-08-23 00:31:20 +00:00
hpa
fb83297f03 libreadline depends on libtermcap on newer glibc releases, at least...
fix autoheader problem
2003-01-31 02:17:01 +00:00
hpa
9e952fed98 The original tftp code does a lot of aliasing. 2002-11-13 18:58:23 +00:00
hpa
9447780638 Cleanup of configure.in; update to version 0.30 2002-09-03 19:13:17 +00:00
hpa
64ae5fda79 -> Clean up the use of autoconf macros a bit.
-> Always pass O_TEXT/O_BINARY and "t"/"b" respectively, as appropriate.
2001-11-29 22:02:52 +00:00
hpa
5c5b5e8a0b More Cygwin compatibility work -- now actually WORKS!
Always leave fds 0-2 defined; point them to /dev/null rather than
just closing them...
2001-11-29 20:53:59 +00:00
hpa
1a41c6ae7c Use $(LN_S) 2001-11-27 10:18:11 +00:00
hpa
98d7543721 Working on version 0.29.
Initial work for compiling on Win32/Cygwin.

Posixly correctness.
2001-11-27 10:05:13 +00:00
hpa
78fd7348ea Add the -p option for using regular Unix permissions. 2001-11-17 01:55:08 +00:00
hpa
3d401fa4c9 Be paranoid about multiple inclusions (apparently some systems don't like
it for certain header files.)  Be a little bit more careful in setting
up the standard environment in config.h.  This is AIX portability work.
2001-11-16 20:15:27 +00:00
hpa
818a5408bd Try to deal with severe AIX <inttypes.h> braindamage 2001-11-15 22:29:51 +00:00
hpa
b1c150eb35 Add a few feature test macros to benefit Digital Unix 2001-11-15 21:33:59 +00:00
hpa
01acb3dc7f Allow "readline" to be used even if "history" is unavailable... 2001-11-14 20:51:09 +00:00
hpa
5ec55f35e9 Move feature test macros into configure.in -> CFLAGS so we don't
end up with mismatch between "configure" and compile time
2001-11-14 02:54:25 +00:00
hpa
06bfb2bf4f - Better parsing of the "connect" command (tftp).
- Move missing header file stuff consistently into config.h.
- Make "make -j" work correctly.
2001-11-13 19:58:32 +00:00
hpa
02a2558d11 Clean up configure --help, add installation instructions. 2001-11-12 23:40:51 +00:00
hpa
9753e234c6 Add readline support in tftp client; some additional minor cleanups. 2001-11-12 23:27:48 +00:00
hpa
9570005ba2 Yet more portability hacks. 2001-11-12 21:44:05 +00:00
hpa
c61e3c499e Work around Solaris 8 braindamage 2001-11-12 20:27:40 +00:00
hpa
949773c2df Change "Define to 1" to "Define" to match what acheader uses 2001-11-12 10:04:31 +00:00
hpa
2c31169f57 Major overhaul of the portability stuff; port to autoconf 2.52 2001-11-12 10:03:04 +00:00
hpa
3df5c1f25c Even more portability work... 2001-11-12 06:46:56 +00:00
hpa
ba41bd7cea Quote version ID 2001-08-10 19:33:41 +00:00
hpa
83d6f3da9d Requires autoconf 2.13; add revision ID 2001-08-10 19:32:50 +00:00
hpa
5b0cb11445 Support "constipation" -- compile cleanly with -Wwrite-strings 2001-08-10 18:25:08 +00:00
hpa
1e6fa366d1 Cleanup the PA_HEADER_DEFINES() interface somewhat. 2001-08-09 06:42:18 +00:00
hpa
a0db7c057b Detect if IPPORT_TFTP is defined anywhere (may not be a macro, may be
an enum.)
2001-08-09 06:19:00 +00:00
hpa
68c0102aa6 Portability improvements. 2001-08-07 19:19:29 +00:00
hpa
266427bc5b Portability improvements. Now compiles and works on Solaris 8, as well
as Linux.
2001-08-03 03:17:57 +00:00
hpa
b98d08b5d4 Improve README file; set the default prefix to /usr; add debugging of
the remapping process.
2001-07-26 22:36:14 +00:00
hpa
81822ea738 Fork before performing tcpwrappers check.
Don't rely on nonstandard bsd_signal() function, instead
 require that the platform has sigaction().  This is 2001,
 after all.  This may resolve some potential portability
 problems.

Log a message if memory allocation fails, instead of dying silently.

Clean up the main dispatch loop.

Use <sysexits.h> for exit codes, if it exists.

Reformat tftpd.c to match the other files.
2001-07-20 06:59:54 +00:00