Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process

2008-03-04 Thread Paul Slootman
On Mon 03 Mar 2008, Wayne Davison wrote:
 On Mon, Mar 03, 2008 at 01:50:28PM -0800, Wayne Davison wrote:
  I'll fix the NULL and look to get a test for this added.
 
 The git repository has both the fix and the extended test.
 
 Attached is just the NULL-pointer fix.

Confirmed that it now works for that case.

The other issue in the bug report is something else, but as that happens
when using 3.0.0 going to the 2.6.8 version running at rsync.net, it's
pretty impossible to debug. Apparently the remote rsync simply dies
immediately when presented with the 3.0.0 client connection.
As reproducing the setup with 3.0.0 and 2.6.8 works fine for me, I'm
going to mark it unreproducible, it's probably a problem at rsync.net.


 Thanks for your help!

I think I should be thanking you for the quick fix :)


Paul Slootman
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process

2008-03-04 Thread Wayne Davison
On Tue, Mar 04, 2008 at 06:20:21PM +0100, Paul Slootman wrote:
 The other issue in the bug report is something else, but as that happens
 when using 3.0.0 going to the 2.6.8 version running at rsync.net

It sounds like they're running something like the support/rrsync
validation script, which reminded me that I hadn't updated it to handle
the most modern use of the -e option to communicate some extra flags to
the server.  The git repository now has an updated rrsync script.

..wayne..
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


rsync 3.0.0 apparently crashing when running a single-use daemon server process

2008-03-03 Thread Paul Slootman
The long story: http://bugs.debian.org/469172

The short story: it looks like client_info is NULL at compat.c:90, if I
look at the strace and ltrace output supplied in the above URL.

Perhaps someone can investigate further, I don't have much time this
evening. Tomorrow I can look again


Paul Slootman
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process

2008-03-03 Thread Wayne Davison
On Mon, Mar 03, 2008 at 09:16:46PM +0100, Paul Slootman wrote:
 The short story: it looks like client_info is NULL at compat.c:90, if I
 look at the strace and ltrace output supplied in the above URL.

No, looks like the problem is a NULL config_file var.  If rsync had been
called with --rsync-path=rsync --config=FILE, it would work.  Sadly,
my only attempt at an automated test passes in an explicit config file.
I'll fix the NULL and look to get a test for this added.

..wayne..
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process

2008-03-03 Thread Wayne Davison
On Mon, Mar 03, 2008 at 01:50:28PM -0800, Wayne Davison wrote:
 I'll fix the NULL and look to get a test for this added.

The git repository has both the fix and the extended test.

Attached is just the NULL-pointer fix.

Thanks for your help!

..wayne..
--- a/clientserver.c
+++ b/clientserver.c
@@ -864,6 +864,17 @@ static void send_listing(int fd)
io_printf(fd,@RSYNCD: EXIT\n);
 }
 
+static int load_config(int globals_only)
+{
+   if (!config_file) {
+   if (am_server  am_root = 0)
+   config_file = RSYNCD_USERCONF;
+   else
+   config_file = RSYNCD_SYSCONF;
+   }
+   return lp_load(config_file, globals_only);
+}
+
 /* this is called when a connection is established to a client
and we want to start talking. The setup of the system is done from
here */
@@ -879,7 +890,7 @@ int start_daemon(int f_in, int f_out)
 * might cause log-file output to occur.  This ensures that the
 * log file param gets honored for the 2 non-forked use-cases
 * (when rsync is run by init and run by a remote shell). */
-   if (!lp_load(config_file, 0))
+   if (!load_config(0))
exit_cleanup(RERR_SYNTAX);
 
addr = client_addr(f_in);
@@ -988,13 +999,6 @@ static void become_daemon(void)
 
 int daemon_main(void)
 {
-   if (!config_file) {
-   if (am_server  am_root = 0)
-   config_file = RSYNCD_USERCONF;
-   else
-   config_file = RSYNCD_SYSCONF;
-   }
-
if (is_a_socket(STDIN_FILENO)) {
int i;
 
@@ -1009,7 +1013,7 @@ int daemon_main(void)
return start_daemon(STDIN_FILENO, STDIN_FILENO);
}
 
-   if (!lp_load(config_file, 1)) {
+   if (!load_config(1)) {
fprintf(stderr, Failed to parse config file: %s\n, 
config_file);
exit_cleanup(RERR_SYNTAX);
}
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html