ypserv/ypserv-2.25-systemd.patch

264 lines
9.0 KiB
Diff

diff -up ypserv-2.25/rpc.yppasswdd/rpc.yppasswdd.8.systemd ypserv-2.25/rpc.yppasswdd/rpc.yppasswdd.8
--- ypserv-2.25/rpc.yppasswdd/rpc.yppasswdd.8.systemd 2011-05-10 14:11:56.272577424 +0200
+++ ypserv-2.25/rpc.yppasswdd/rpc.yppasswdd.8 2011-05-10 14:15:28.822920180 +0200
@@ -14,11 +14,11 @@
rpc.yppasswdd - NIS password update daemon
.SH "SYNOPSIS"
.HP 14
-\fBrpc\.yppasswdd\fR [\-D\ \fIdirectory\fR] \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR]
+\fBrpc\.yppasswdd\fR [\-D\ \fIdirectory\fR] \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR] [\-f|\-\-foreground]
.HP 14
-\fBrpc\.yppasswdd\fR [\-s\ \fIshadow\fR] [\-p\ \fIpasswd\fR] \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR]
+\fBrpc\.yppasswdd\fR [\-s\ \fIshadow\fR] [\-p\ \fIpasswd\fR] \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR] [\-f|\-\-foreground]
.HP 14
-\fBrpc\.yppasswdd\fR \-x\ \fIprogram\fR | \-E\ \fIprogram\fR \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR]
+\fBrpc\.yppasswdd\fR \-x\ \fIprogram\fR | \-E\ \fIprogram\fR \-e\ \fIchsh\fR|\fIchfn\fR [\-\-port\ \fInumber\fR] [\-f|\-\-foreground]
.SH "DESCRIPTION"
.PP
@@ -135,6 +135,11 @@ rpc\.yppasswdd will try to register itse
.RS 4
Prints the version number and if this package is compiled with the CHECKROOT option\.
.RE
+.PP
+\fB\-f\fR, \fB\-\-foreground\fR
+.RS 4
+will not put itself into background\&.
+.RE
.SH "MISCELLANEOUS"
.SS "Shadow Passwords"
.PP
diff -up ypserv-2.25/rpc.yppasswdd/yppasswdd.c.systemd ypserv-2.25/rpc.yppasswdd/yppasswdd.c
--- ypserv-2.25/rpc.yppasswdd/yppasswdd.c.systemd 2011-05-10 14:11:56.258577599 +0200
+++ ypserv-2.25/rpc.yppasswdd/yppasswdd.c 2011-05-10 14:16:40.327026256 +0200
@@ -58,6 +58,8 @@ int allow_chfn = 0;
int solaris_mode = -1;
int x_flag = -1;
+static int foreground_flag = 0;
+
#define xprt_addr(xprt) (svc_getcaller(xprt)->sin_addr)
#define xprt_port(xprt) ntohs(svc_getcaller(xprt)->sin_port)
void yppasswdprog_1 (struct svc_req *rqstp, SVCXPRT * transp);
@@ -110,9 +112,9 @@ yppasswdprog_1 (struct svc_req *rqstp, S
static void
usage (FILE * fp, int n)
{
- fputs ("Usage: rpc.yppasswdd [--debug] [-s shadowfile] [-p passwdfile] [-e chsh|chfn]\n", fp);
- fputs (" rpc.yppasswdd [--debug] [-D directory] [-e chsh|chfn]\n", fp);
- fputs (" rpc.yppasswdd [--debug] [-x program |-E program] [-e chsh|chfn]\n", fp);
+ fputs ("Usage: rpc.yppasswdd [--debug] [-s shadowfile] [-p passwdfile] [-e chsh|chfn] [-f|--foreground]\n", fp);
+ fputs (" rpc.yppasswdd [--debug] [-D directory] [-e chsh|chfn] [-f|--foreground]\n", fp);
+ fputs (" rpc.yppasswdd [--debug] [-x program |-E program] [-e chsh|chfn] [-f|--foreground]\n", fp);
fputs (" rpc.yppasswdd --port number\n", fp);
fputs (" rpc.yppasswdd --version\n", fp);
exit (n);
@@ -200,12 +202,13 @@ main (int argc, char **argv)
{"usage", no_argument, NULL, 'h'},
{"help", no_argument, NULL, 'h'},
{"execute", required_argument, NULL, 'x'},
+ {"foreground", no_argument, NULL, 'f'},
{"debug", no_argument, NULL, '\254'},
{"port", required_argument, NULL, '\253'},
{NULL, 0, NULL, '\0'}
};
- c=getopt_long (argc, argv, "e:p:s:uhvD:E:x:m", long_options,
+ c=getopt_long (argc, argv, "e:p:s:fuhvD:E:x:m", long_options,
&option_index);
if (c == EOF)
break;
@@ -225,6 +228,9 @@ main (int argc, char **argv)
solaris_mode = 0;
path_passwd = optarg;
break;
+ case 'f':
+ foreground_flag = 1;
+ break;
case 's':
if (solaris_mode == 1)
usage (stderr, 1);
@@ -336,7 +342,7 @@ main (int argc, char **argv)
log_msg ("rpc.yppasswdd - NYS YP server version %s\n", VERSION);
#endif /* CHECKROOT */
}
- else
+ else if (!foreground_flag)
{
int i;
diff -up ypserv-2.25/rpc.ypxfrd/rpc.ypxfrd.8.systemd ypserv-2.25/rpc.ypxfrd/rpc.ypxfrd.8
--- ypserv-2.25/rpc.ypxfrd/rpc.ypxfrd.8.systemd 2011-05-10 14:11:56.286577250 +0200
+++ ypserv-2.25/rpc.ypxfrd/rpc.ypxfrd.8 2011-05-10 14:15:19.875032043 +0200
@@ -14,7 +14,7 @@
rpc.ypxfrd - NIS map transfer server
.SH "SYNOPSIS"
.HP 21
-\fB/usr/sbin/rpc\.ypxfrd\fR [\-d\ \fIpath\fR] [\-p\ \fIport\fR] [\-\-debug]
+\fB/usr/sbin/rpc\.ypxfrd\fR [\-d\ \fIpath\fR] [\-p\ \fIport\fR] [\-\-debug] [\-f|\-\-foreground]
.HP 21
\fB/usr/sbin/rpc\.ypxfrd\fR \-\-version
.SH "DESCRIPTION"
@@ -83,6 +83,11 @@ will bind itself to this port, which mak
.RS 4
Prints the version number
.RE
+.PP
+\fB\-f\fR, \fB\-\-foreground\fR
+.RS 4
+will not put itself into background\&.
+.RE
.SH "SECURITY"
.PP
diff -up ypserv-2.25/rpc.ypxfrd/ypxfrd.c.systemd ypserv-2.25/rpc.ypxfrd/ypxfrd.c
--- ypserv-2.25/rpc.ypxfrd/ypxfrd.c.systemd 2011-05-10 14:11:56.258577599 +0200
+++ ypserv-2.25/rpc.ypxfrd/ypxfrd.c 2011-05-10 14:16:26.193202954 +0200
@@ -79,6 +79,8 @@ char *path_ypdb = YPMAPDIR;
char *progname;
+static int foreground_flag = 0;
+
/*
** Needed, if we start rpc.ypxfrd from inetd
*/
@@ -140,7 +142,7 @@ sig_hup (int sig UNUSED)
static void
usage (int exitcode)
{
- fputs ("usage: rpc.ypxfrd [--debug] [-d path] [-p port]\n", stderr);
+ fputs ("usage: rpc.ypxfrd [--debug] [-d path] [-p port] [-f|--foreground]\n", stderr);
fputs (" rpc.ypxfrd --version\n", stderr);
exit (exitcode);
@@ -180,12 +182,13 @@ main (int argc, char **argv)
{"port", required_argument, NULL, 'p'},
{"path", required_argument, NULL, 'd'},
{"dir", required_argument, NULL, 'd'},
+ {"foreground", no_argument, NULL, 'f'},
{"usage", no_argument, NULL, 'u'},
{"help", no_argument, NULL, 'h'},
{NULL, 0, NULL, '\0'}
};
- c=getopt_long(argc, argv, "p:d:uh",long_options, &option_index);
+ c=getopt_long(argc, argv, "p:d:fuh",long_options, &option_index);
if (c==EOF) break;
switch (c)
{
@@ -212,6 +215,9 @@ main (int argc, char **argv)
if (debug_flag)
log_msg("Using port %d\n", my_port);
break;
+ case 'f':
+ foreground_flag = 1;
+ break;
case 'u':
case 'h':
usage(0);
@@ -227,8 +233,8 @@ main (int argc, char **argv)
if (debug_flag)
log_msg("[Welcome to the rpc.ypxfrd Daemon, version %s]\n", VERSION);
- else
- if(!_rpcpmstart)
+ else
+ if (!_rpcpmstart && !foreground_flag)
{
int i;
diff -up ypserv-2.25/ypserv/ypserv.8.systemd ypserv-2.25/ypserv/ypserv.8
--- ypserv-2.25/ypserv/ypserv.8.systemd 2011-05-10 14:11:56.295577137 +0200
+++ ypserv-2.25/ypserv/ypserv.8 2011-05-10 14:15:01.646259934 +0200
@@ -22,7 +22,7 @@
ypserv \- NIS Server
.SH "SYNOPSIS"
.HP \w'\fB/usr/sbin/ypserv\fR\ 'u
-\fB/usr/sbin/ypserv\fR [\-d\ [\fIpath\fR]] [\-p\ \fIport\fR]
+\fB/usr/sbin/ypserv\fR [\-d\] [\-p\ \fIport\fR] [\-f|\-\-foreground]
.SH "DESCRIPTION"
.PP
.\" ypserv: ypserv \(em NIS server process
@@ -66,15 +66,11 @@ and this variable can be set in
\fB/etc/sysconfig/network\&.\fR
.SH "OPTIONS"
.PP
-\fB\-d\fR, \fB\-\-debug \fR[\fIpath\fR]
+\fB\-d\fR, \fB\-\-debug
.RS 4
Causes the server to run in debugging mode\&. Normally,
\fBypserv\fR
reports only errors (access violations, dbm failures) using the syslog(3) facility\&. In debug mode, the server does not background itself and prints extra status messages to stderr for each request that it revceives\&.
-\fBpath\fR
-is an optionally parameter\&.
-\fBypserv\fR
-is using this directory instead of /var/yp
.RE
.PP
\fB\-p\fR, \fB\-\-port\fR \fIport\fR
@@ -87,6 +83,11 @@ will bind itself to this port\&. This ma
.RS 4
Prints the version number
.RE
+.PP
+\fB\-f\fR, \fB\-\-foreground\fR
+.RS 4
+will not put itself into background\&.
+.RE
.SH "SECURITY"
.PP
In general, any remote user can issue an RPC to
diff -up ypserv-2.25/ypserv/ypserv.c.systemd ypserv-2.25/ypserv/ypserv.c
--- ypserv-2.25/ypserv/ypserv.c.systemd 2011-05-10 14:11:56.261577563 +0200
+++ ypserv-2.25/ypserv/ypserv.c 2011-05-10 14:16:19.745283563 +0200
@@ -60,6 +60,7 @@
#endif
static char *path_ypdb = YPMAPDIR;
+static int foreground_flag = 0;
static void
ypprog_2 (struct svc_req *rqstp, register SVCXPRT * transp)
@@ -317,7 +318,7 @@ sig_child (int sig UNUSED)
static void
Usage (int exitcode)
{
- fputs ("usage: ypserv [-d [path]] [-p port]\n", stderr);
+ fputs ("usage: ypserv [-d] [-p port] [-f|--foreground]\n", stderr);
fputs (" ypserv --version\n", stderr);
exit (exitcode);
@@ -342,10 +343,11 @@ main (int argc, char **argv)
{"port", required_argument, NULL, 'p'},
{"usage", no_argument, NULL, 'u'},
{"help", no_argument, NULL, 'h'},
+ {"foreground", no_argument, NULL, 'f'},
{NULL, 0, NULL, '\0'}
};
- c = getopt_long (argc, argv, "vdp:buh", long_options, &option_index);
+ c = getopt_long (argc, argv, "vdp:fbuh", long_options, &option_index);
if (c == -1)
break;
switch (c)
@@ -368,6 +370,9 @@ main (int argc, char **argv)
if (debug_flag)
log_msg ("Using port %d\n", my_port);
break;
+ case 'f':
+ foreground_flag = 1;
+ break;
case 'u':
case 'h':
Usage (0);
@@ -383,7 +388,7 @@ main (int argc, char **argv)
if (debug_flag)
log_msg ("[ypserv (%s) %s]\n", PACKAGE, VERSION);
- else
+ else if (! foreground_flag)
{
int i;