Martin Pool
885448d74c
Unbreak the old behavior of using UNKNOWN as a hostname if any of the
...
addr->name->addr translations fail, because people might count on this
in "hosts deny" lines.
2002-01-24 04:03:06 +00:00
Martin Pool
b14545b3ff
Fix inverted sense of error check.
2002-01-24 03:31:28 +00:00
Martin Pool
9a5a86734f
Refactor client_name() into smaller functions.
...
Better messages for DNS failure.
If we can get a reverse name for an IP address, but not confirm that
it is correct using a forward lookup then we still proceed to use the
name, but also emit a warning.
2002-01-24 03:28:20 +00:00
Martin Pool
d1d1505045
Doc.
2002-01-24 03:03:20 +00:00
Martin Pool
d54765c442
Just for variety we have some socklen_t fixes too.
2002-01-23 07:57:43 +00:00
Martin Pool
a9b31409d5
Remove unused variable.
2002-01-15 10:04:48 +00:00
Martin Pool
98355b8086
Oops, getaddrinfo returns an error code (not -1) for error. -Wall is
...
good.
2002-01-15 10:04:11 +00:00
Martin Pool
362099a512
More comments about IPv6 stuff.
...
If a reverse name lookup fails, show the name that we were trying to
look up.
2002-01-11 08:24:34 +00:00
Martin Pool
9ec7528475
Typo
2001-12-18 06:48:56 +00:00
Martin Pool
f8be7d4219
Refactor code for setting local address on outgoing connections. If a
...
local address is specified, then try all addrinfo records for it.
2001-12-18 06:21:33 +00:00
Martin Pool
13e29995f5
Get rid of global_opts struct as suggested by Dave -- too many
...
problems with initialization.
Change the algorithm from trying to open an inbound socket with
getaddrinfo: keep trying suggested addresses until we find one on
which we can both get a socket and bind. Not convinced this is the
best, but it's probably better.
2001-12-18 05:54:57 +00:00
David Dykstra
cb1bcc7ebb
open_socket_in was attempting to try all the protocols returned from
...
getaddrinfo(), but only if a corresponding call to socket() returned one of
three *NOSUPPORT errno codes. A Redhat 6.2 system was observed returning
EINVAL instead so it never went on to try IPv4. This update adds EINVAL to
the list. Question: why not always continue through the list regardless of
what errno is?
2001-12-14 18:00:54 +00:00
Martin Pool
51f289d1e6
Some platforms don't have sa_family_t.
2001-12-05 13:44:37 +00:00
Martin Pool
d91c8c50d2
RFC2553 just says that sockaddr_storage has to have initial fields
...
isomorphic to sa_family etc from a struct sockaddr, not what they're
called. On some platforms they seem not to be called ss_family.
Rather than guess, we will try casting to a sockaddr and looking
through that -- I think this is what the RFC intends.
2001-12-05 13:25:29 +00:00
Martin Pool
e20a4f84d6
Some platforms may have getaddrinfo() but not sockaddr_storage.
2001-12-05 13:19:16 +00:00
Martin Pool
2d6dbe290c
Change back to using sockaddr_storage rather than sockaddr_in. If
...
sockaddr_storage is not defined, then supply our own definition that
will hopefully satisfy RFC2553 but also compile on all supported
platforms.
Thankyou to YOSHIFUJI Hideaki, SUMIKAWA Munechika and Jun-ichiro
"itojun" Hagino.
2001-12-05 12:48:46 +00:00
Martin Pool
c11b88061f
Fix missing parameter in log call.
2001-11-27 06:01:05 +00:00
Martin Pool
2be5d2daad
Remove kame cruft
2001-11-26 08:21:14 +00:00
Martin Pool
a57568d716
Oops, no C++ comments.
2001-11-26 07:47:59 +00:00
Martin Pool
61f543cade
Kill a function for jra.
2001-11-26 07:11:55 +00:00
Martin Pool
b8771f9615
Try to be better about handling the results of getaddrinfo(): when
...
opening an inbound socket, we might get several address results,
e.g. for the machine's ipv4 and ipv6 name.
If binding a wildcard, then any one of them should do. If an address
was specified but it's insufficiently specific then that's not our
fault.
However, some of the advertized addresses may not work because e.g. we
don't have IPv6 support in the kernel. In that case go on and try all
addresses until one succeeds.
2001-11-26 07:10:06 +00:00
Martin Pool
d5d4b28220
Put the new address family option into an options struct. We have too
...
many globals already.
Better error messages for network-related failures.
2001-11-26 04:52:19 +00:00
Martin Pool
1f0fa9318a
Remove highly suspicious redefinition of sockaddr structure -- there
...
seems no point using anything but the platform's native definition,
and if we can't get that from the system headers we're hosed anyhow.
2001-11-26 00:41:11 +00:00
Martin Pool
7ef6aa6405
Improved error messages.
2001-11-24 04:22:20 +00:00
Martin Pool
06963d0fca
Merge KAME.net IPv6 patch: you can now (in theory) pass IPv6 hostnames
...
or literal IP addresses to rsync, and if your platform supports them
they will be used. Also there are -4 and -6 command-line options to
choose the default address type. Thankyou!
2001-11-23 07:35:49 +00:00
Martin Pool
eecd22ff7b
Merge in the LIBSMB_PROG idea from samba, so that you can do
...
RSYNC_CONNECT_PROG='./rsync --daemon' ./rsync -vvvvvv localhost::
to test as a daemon without actually having to listen on a port.
2001-08-31 07:06:13 +00:00
Martin Pool
7d91d5a619
Check that gethostbyname does actually return AF_INET addresses, since
...
that's all we can handle.
Also, try a new method of handling in_addr and hostent that will
hopefully work on Cray machines without 32-bit types.
2001-08-15 07:52:28 +00:00
Martin Pool
c1f62a573a
Use socklen_t for getpeername, since we hopefully now have it defined
...
on all platforms.
2001-08-15 06:47:40 +00:00
Martin Pool
f8014b864e
Typo. Shouldn't depend on assert().
2001-08-15 05:47:29 +00:00
Martin Pool
d58911fb37
Better error messages for DNS.
2001-08-15 05:08:07 +00:00
Andrew Tridgell
376acbfad5
don't need to lookup our own name in open_socket_in()
2001-08-08 08:55:24 +00:00
Martin Pool
546434f867
Two more instances of socklen_t.
2001-08-06 12:31:23 +00:00
Martin Pool
ac2a1a449d
Use socklen_t if defined, or otherwise int. This tries to fix
...
warnings on platforms (e.g. AIX) where this type is defined and not
int.
2001-08-06 12:27:04 +00:00
Martin Pool
4d66e00afa
If binding to a low-numbered port fails with EACCES, then the error
...
message should explain that you probably need to be root.
(Why leave off the final S? Kernighan must have been a *really* slow
typist.)
2001-06-21 06:19:00 +00:00
Andrew Tridgell
8950ac03f8
imported new snprintf.c from samba, got rid of slprintf
2001-05-07 06:59:37 +00:00
Martin Pool
660c6fbdaa
Include strerror message when there's a socket error.
2001-01-08 10:25:00 +00:00
Martin Pool
7c1b4daa6f
Document getsockopt POSIX confusion.
2000-11-09 09:27:34 +00:00
David Dykstra
15b84e142a
Make sure the log file is always opened before root privileges (if any)
...
are given up.
2000-10-25 19:57:42 +00:00
David Dykstra
45a8354004
When running as --daemon in the background and using a "log file" rsyncd.conf
...
directive, close the log file every time it is open when going to sleep on
the socket. This allows the log file to get cleaned out by another process.
2000-10-24 18:50:08 +00:00
Andrew Tridgell
e30f065766
make --address work for a client connecting to a server
2000-01-10 04:49:51 +00:00
Andrew Tridgell
1f5c6343e6
removed old non-blocking fd code (a hangover from a earlier version of
...
io.c). Thanks to Theo for pointing out this brokenness.
1999-11-15 01:32:20 +00:00
Andrew Tridgell
5c9730a46c
added --address option for virtual hosting
1999-10-31 03:21:02 +00:00
Andrew Tridgell
0503f06089
continue calling waitpid() while still reapingchildren (patch from
...
Matti Aarnio)
1999-06-27 04:12:12 +00:00
Andrew Tridgell
4c3b4b2557
added RSYNC_PROXY support from Stephen Rothwell. This allows access to
...
rsync servers via a web proxy (useful for getting through firewalls)
1999-04-13 03:53:30 +00:00
David Dykstra
d41c7d025c
Use MAXHOSTNAMELEN (256) for the array holding the host_name in socket.c
...
instead of 200. Move the defines of True and False to rsync.h. Eliminate
the defines of BOOL in loadparm.c and params.c because it is already
defined in rsync.h. Changes suggested by Roman Gollent roman.gollent@wdr.com
1999-02-09 18:35:29 +00:00
Andrew Tridgell
37f9805dab
changed strlcat() and strlcpy() to have the same semantics as the
...
OpenBSD functions of the same name.
changed slprintf() to take buffer length rather than buffer length -1
1998-11-14 23:31:58 +00:00
Andrew Tridgell
654175798b
patch from Alberto Accomazzi <aaccomazzi@cfa.harvard.edu> to add
...
different exit codes for different conditions.
1998-11-03 07:08:27 +00:00
Andrew Tridgell
11a5a3c704
and I thought I wasn't going to do any rsync coding for a while ...
...
Jason Andrade convinced me to add ftpd style logging of transfers,
enabled with a "transfer logging" option in rsyncd.conf
you can customise the format in log.c
1998-10-28 03:28:30 +00:00
Andrew Tridgell
3eb388185b
a couple of changes to where the nonblocking settings are called.
1998-08-27 05:05:14 +00:00
Andrew Tridgell
c46ded4621
I think I might havefinally fixed the rsync hanging bug. It was caused
...
by a read during an io_flush() triggered during a readfd(). A simple
logic bug in the io code :(
1998-07-20 05:36:25 +00:00