summary refs log tree commit diff
path: root/pkgs/tools/networking/ddclient/ddclient-foreground.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/ddclient/ddclient-foreground.patch')
-rw-r--r--pkgs/tools/networking/ddclient/ddclient-foreground.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/tools/networking/ddclient/ddclient-foreground.patch b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
new file mode 100644
index 00000000000..954b3e1132f
--- /dev/null
+++ b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
@@ -0,0 +1,80 @@
+diff -rc ddclient-3.8.0/ddclient ddclient-3.8.0-new/ddclient
+*** ddclient-3.8.0/ddclient	2009-01-27 20:14:02.000000000 +0100
+--- ddclient-3.8.0-new/ddclient	2009-09-16 12:56:43.720654327 +0200
+***************
+*** 307,313 ****
+  my %variables = (
+      'global-defaults'    => {
+  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
+! 	'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
+  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
+  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
+  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
+--- 307,314 ----
+  my %variables = (
+      'global-defaults'    => {
+  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
+!         'foreground'          => setv(T_BOOL,  0, 0, 1, 0,                    undef),	
+!         'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
+  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
+  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
+  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
+***************
+*** 535,540 ****
+--- 536,542 ----
+      "usage: ${program} [options]",
+      "options are:",
+      [ "daemon",      "=s", "-daemon delay         : run as a daemon, specify delay as an interval." ],
++     [ "foreground",  "!",  "-foreground           : do not fork" ],
+      [ "proxy",       "=s", "-proxy host           : use 'host' as the HTTP proxy" ],
+      [ "server",      "=s", "-server host          : update DNS information on 'host'" ],
+      [ "protocol",    "=s", "-protocol type        : update protocol used" ],
+***************
+*** 623,629 ****
+  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
+  $SIG{'TERM'}   = sub { $caught_term = 1; };
+  $SIG{'KILL'}   = sub { $caught_kill = 1; };
+! if (opt('daemon') && !opt('force')) {
+      $SIG{'CHLD'}   = 'IGNORE';
+      my $pid = fork;
+      if ($pid < 0) {
+--- 625,634 ----
+  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
+  $SIG{'TERM'}   = sub { $caught_term = 1; };
+  $SIG{'KILL'}   = sub { $caught_kill = 1; };
+! # don't fork() if foreground or force is on
+! if (opt('foreground') || opt('force')) {
+!     ;
+! } elsif (opt('daemon')) {
+      $SIG{'CHLD'}   = 'IGNORE';
+      my $pid = fork;
+      if ($pid < 0) {
+***************
+*** 633,644 ****
+  	exit 0;
+      }
+      $SIG{'CHLD'}   = 'DEFAULT';
+-     $opt{'syslog'} = 1;
+      open(STDOUT, ">/dev/null");
+      open(STDERR, ">/dev/null");
+      open(STDIN,  "</dev/null");
+! 
+!     write_pid();
+  }
+  
+  umask 077;
+--- 638,650 ----
+  	exit 0;
+      }
+      $SIG{'CHLD'}   = 'DEFAULT';
+      open(STDOUT, ">/dev/null");
+      open(STDERR, ">/dev/null");
+      open(STDIN,  "</dev/null");
+! }
+! if(opt('daemon')) {
+!      write_pid();
+!     $opt{'syslog'} = 1;
+  }
+  
+  umask 077;
+Only in ddclient-3.8.0-new: ddclient~