David Dykstra [Thu, 20 Dec 2001 15:33:13 +0000 (15:33 +0000)]
Removed debugging statement that was added to sig_int() by the rsync+ patch
integration. It was causing the format of the daemon log to be messed up
because of the leading \n.
Martin Pool [Tue, 18 Dec 2001 05:54:57 +0000 (05:54 +0000)]
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.
Martin Pool [Tue, 18 Dec 2001 01:32:27 +0000 (01:32 +0000)]
Fix from Jeff Garzik for inet_ntop prototype errors on some Linux
distributions: we were failing to define HAVE_INET_NTOP, so our
prototype in rsync.h came through.
Also rerun autoheader, and have comment for HAVE_SOCKADDR_STORAGE.
David Dykstra [Fri, 14 Dec 2001 18:25:51 +0000 (18:25 +0000)]
When INET6 is not defined, meaning that IPv6 is not supported, need to
initalize the global_opts.af_hint to AF_INET or systems such as Linux that
have a native getaddrinfo() because they support IPv6 will attempt to
create IPv6 sockets. This brings up a problem with the new global_opts
structure; in order to initialize them to a value other than 0, we need to
explicitly initialize them all in an order that matches the order in
rsync.h. I think that's more inconvenient & error prone than keeping
global variables.
David Dykstra [Fri, 14 Dec 2001 18:00:54 +0000 (18:00 +0000)]
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?
Martin Pool [Wed, 5 Dec 2001 13:25:29 +0000 (13:25 +0000)]
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.
Martin Pool [Wed, 5 Dec 2001 12:48:46 +0000 (12:48 +0000)]
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.
David Dykstra [Mon, 3 Dec 2001 18:37:33 +0000 (18:37 +0000)]
Don't print out the directory name twice in verbose mode; it was being
printed a second time when the modification time of the directory was
being set, and that time around recv_files() calls recv_generator() with
an f_out of -1 so check that before printing the directory name.
Martin Pool [Sun, 2 Dec 2001 08:38:51 +0000 (08:38 +0000)]
Progress indicator now shows estimated rate of transfer (e.g. kB/s).
Based on a patch from Rik Faith, but modified to make sure we do only
one rprintf call, and that we never end up with two copies of the line
printed out.
Martin Pool [Sun, 2 Dec 2001 08:16:15 +0000 (08:16 +0000)]
Revert change from 1.39, because it causes a crash because of
attempting to free a static string. (Thankyou to Paul Mackerras.)
There's still a small leak here.
Martin Pool [Thu, 29 Nov 2001 00:04:48 +0000 (00:04 +0000)]
Show version when configuring.
If we don't seem to have an ANSI compiler, then omit a warning as soon
as that is discovered, because it is likely to break later configure
tests. This doesn't seem to catch the particular HP-UX compiler I was
after, which is non-ANSI but only emits a warning on this configure
test. Nevertheless probably better to have it in.
Martin Pool [Wed, 28 Nov 2001 06:52:04 +0000 (06:52 +0000)]
Put back the --disable-ipv6 option. This should only be needed if
your platform seems to support ipv6, but actually it breaks. This
seems to be the case for "powerpc-apple-darwin1.4".