From c065230a4c617a1cdf8813dd25384bcc9591f61a Mon Sep 17 00:00:00 2001 From: hasso Date: Thu, 25 Nov 2004 19:33:48 +0000 Subject: Make group to run daemon as configurable. Fixes #2 from Bugzilla #64. --- bgpd/ChangeLog | 4 ++++ bgpd/bgp_main.c | 15 ++++++++++----- doc/ChangeLog | 5 +++++ doc/bgpd.8 | 16 +++++++++------- doc/isisd.8 | 11 ++++++++--- doc/ospf6d.8 | 11 ++++++++--- doc/ospfd.8 | 11 ++++++++--- doc/ripd.8 | 14 ++++++++++---- doc/ripngd.8 | 11 ++++++++--- doc/zebra.8 | 14 ++++++++++---- isisd/ChangeLog | 4 ++++ isisd/isis_main.c | 10 +++++++--- ospf6d/ChangeLog | 4 ++++ ospf6d/ospf6_main.c | 11 +++++++++-- ospfd/ChangeLog | 4 ++++ ospfd/ospf_main.c | 11 ++++++++--- ripd/ChangeLog | 4 ++++ ripd/rip_main.c | 15 ++++++++++----- ripngd/ChangeLog | 4 ++++ ripngd/ripng_main.c | 15 ++++++++++----- zebra/ChangeLog | 1 + zebra/main.c | 17 +++++++++++------ 22 files changed, 156 insertions(+), 56 deletions(-) diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index 0e767dec..64b229cf 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * bgp_main.c: Make group to run as configurable. + 2004-11-09 Paul Jakma * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c index 612013e2..1d6710fd 100644 --- a/bgpd/bgp_main.c +++ b/bgpd/bgp_main.c @@ -48,6 +48,7 @@ struct option longopts[] = { "retain", no_argument, NULL, 'r'}, { "no_kernel", no_argument, NULL, 'n'}, { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "version", no_argument, NULL, 'v'}, { "help", no_argument, NULL, 'h'}, { 0 } @@ -137,7 +138,8 @@ redistribution between different routing protocols.\n\n\ -P, --vty_port Set vty's port number\n\ -r, --retain When program terminates, retain added route by bgpd.\n\ -n, --no_kernel Do not install route to kernel.\n\ --u, --user User and group to run as\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ \n\ @@ -212,7 +214,7 @@ main (int argc, char **argv) /* Command line argument treatment. */ while (1) { - opt = getopt_long (argc, argv, "df:i:hp:A:P:rnu:v", longopts, 0); + opt = getopt_long (argc, argv, "df:i:hp:A:P:rnu:g:v", longopts, 0); if (opt == EOF) break; @@ -253,9 +255,12 @@ main (int argc, char **argv) case 'n': bgp_option_set (BGP_OPT_NO_FIB); break; - case 'u': - bgpd_privs.user = bgpd_privs.group = optarg; - break; + case 'u': + bgpd_privs.user = optarg; + break; + case 'g': + bgpd_privs.group = optarg; + break; case 'v': print_version (progname); exit (0); diff --git a/doc/ChangeLog b/doc/ChangeLog index 48f78c17..6afe5a3d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2004-11-25 Hasso Tepper + + * *.8: Document -g/--group command line switch and some small + cosmetical changes. + 2004-11-22 Paul Jakma * bgpd.8: escape -/+ signs, reported by ESR to bug-zebra. diff --git a/doc/bgpd.8 b/doc/bgpd.8 index 736250e1..e6f5bc65 100644 --- a/doc/bgpd.8 +++ b/doc/bgpd.8 @@ -1,4 +1,4 @@ -.TH BGPD 8 "10 August 2004" "Quagga BGPD daemon" "Version 0.96.5" +.TH BGPD 8 "25 November 2004" "Quagga BGPD daemon" "Version 0.97.3" .SH NAME bgpd \- a BGPv4, BGPv4\+, BGPv4\- routing engine for use with Quagga routing software @@ -17,9 +17,6 @@ software .B \-p .I bgp-port-number ] [ -.B \--bgp_port= -.I port-number -] [ .B \-P .I port-number ] [ @@ -28,6 +25,9 @@ software ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B bgpd @@ -46,6 +46,9 @@ Runs in daemon mode, forking and exiting from tty. Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/bgpd.conf\fR. .TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. +.TP \fB\-h\fR, \fB\-\-help\fR A brief message. .TP @@ -54,7 +57,7 @@ When bgpd starts its process idenifier is written to \fB\fIpid-file\fR. The init system uses the recorded PID to stop or restart bgpd. The likely default is \fB\fI/var/run/bgpd.pid\fR. .TP -\fB\-p\fR, \fB\-\-bgp_port=\fR\fIport\fR +\fB\-p\fR, \fB\-\-bgp_port \fR\fIbgp-port-number\fR Set the port that bgpd will listen to for bgp data. .TP \fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR @@ -66,8 +69,7 @@ Specify the address that the bgpd VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-r\fR, \fB\-\-retain\fR When the program terminates, retain routes added by \fBbgpd\fR. diff --git a/doc/isisd.8 b/doc/isisd.8 index 9e33f7c9..7ae7dbaf 100644 --- a/doc/isisd.8 +++ b/doc/isisd.8 @@ -1,4 +1,4 @@ -.TH IS-IS 8 "10 August 2004" "Quagga IS-IS daemon" "Version 0.96.5" +.TH IS-IS 8 "25 November 2004" "Quagga IS-IS daemon" "Version 0.97.3" .SH NAME isisd \- an IS-IS routing engine for use with Quagga routing software. .SH SYNOPSIS @@ -20,6 +20,9 @@ isisd \- an IS-IS routing engine for use with Quagga routing software. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B isisd @@ -38,6 +41,9 @@ Runs in daemon mode, forking and exiting from tty. Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/isisd.conf\fR. .TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. +.TP \fB\-h\fR, \fB\-\-help\fR A brief message. .TP @@ -55,8 +61,7 @@ Specify the address that the isisd VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-v\fR, \fB\-\-version\fR Print the version and exit. diff --git a/doc/ospf6d.8 b/doc/ospf6d.8 index 275844b8..2266fffe 100644 --- a/doc/ospf6d.8 +++ b/doc/ospf6d.8 @@ -1,4 +1,4 @@ -.TH OSPF6D 8 "10 August 2004" "Quagga OSPFv3 daemon" "Version 0.96.5" +.TH OSPF6D 8 "25 November 2004" "Quagga OSPFv3 daemon" "Version 0.97.3" .SH NAME ospf6d \- an OSPFv3 routing engine for use with Quagga routing software. .SH SYNOPSIS @@ -20,6 +20,9 @@ ospf6d \- an OSPFv3 routing engine for use with Quagga routing software. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B ospf6d @@ -39,6 +42,9 @@ Runs in daemon mode, forking and exiting from tty. Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/ospf6d.conf\fR. .TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. +.TP \fB\-h\fR, \fB\-\-help\fR A brief message. .TP @@ -56,8 +62,7 @@ Specify the address that the ospf6d VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-v\fR, \fB\-\-version\fR Print the version and exit. diff --git a/doc/ospfd.8 b/doc/ospfd.8 index af5a83ab..c6c1857f 100644 --- a/doc/ospfd.8 +++ b/doc/ospfd.8 @@ -1,4 +1,4 @@ -.TH OSPFD 8 "10 August 2004" "Quagga OSPFv2 daemon" "Version 0.96.5" +.TH OSPFD 8 "25 November 2004" "Quagga OSPFv2 daemon" "Version 0.97.3" .SH NAME ospfd \- an OSPFv2 routing engine for use with Quagga routing software. .SH SYNOPSIS @@ -20,6 +20,9 @@ ospfd \- an OSPFv2 routing engine for use with Quagga routing software. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B ospfd @@ -38,6 +41,9 @@ Runs in daemon mode, forking and exiting from tty. Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/ospfd.conf\fR. .TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. +.TP \fB\-h\fR, \fB\-\-help\fR A brief message. .TP @@ -58,8 +64,7 @@ Specify the address that the ospfd VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-a\fR, \fB\-\-apiserver \fR Enable OSPF apiserver. Default is disabled. diff --git a/doc/ripd.8 b/doc/ripd.8 index 2f386827..5a9f5fa8 100644 --- a/doc/ripd.8 +++ b/doc/ripd.8 @@ -1,4 +1,4 @@ -.TH RIPD 8 "10 August 2004" "Quagga RIP daemon" "Version 0.96.5" +.TH RIPD 8 "25 November 2004" "Quagga RIP daemon" "Version 0.97.3" .SH NAME ripd \- a RIP routing engine for use with Quagga routing software. .SH SYNOPSIS @@ -20,6 +20,9 @@ ripd \- a RIP routing engine for use with Quagga routing software. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B ripd @@ -36,7 +39,11 @@ command: Runs in daemon mode, forking and exiting from tty. .TP \fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/ripd.conf\fR. +Specifies the config file to use for startup. If not specified this +option will likely default to \fB\fI/usr/local/etc/ripd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. .TP \fB\-h\fR, \fB\-\-help\fR A brief message. @@ -55,8 +62,7 @@ Specify the address that the ripd VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-r\fR, \fB\-\-retain\fR When the program terminates, retain routes added by \fBripd\fR. diff --git a/doc/ripngd.8 b/doc/ripngd.8 index 1dee0bbc..c45fc307 100644 --- a/doc/ripngd.8 +++ b/doc/ripngd.8 @@ -1,4 +1,4 @@ -.TH RIPNGD 8 "10 August 2004" "Quagga RIPNG daemon" "Version 0.96.5" +.TH RIPNGD 8 "25 November 2004" "Quagga RIPNG daemon" "Version 0.97.3" .SH NAME ripngd \- a RIPNG routing engine for use with Quagga routing software. .SH SYNOPSIS @@ -20,6 +20,9 @@ ripngd \- a RIPNG routing engine for use with Quagga routing software. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B ripngd @@ -39,6 +42,9 @@ Runs in daemon mode, forking and exiting from tty. Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/ripngd.conf\fR. .TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. +.TP \fB\-h\fR, \fB\-\-help\fR A brief message. .TP @@ -59,8 +65,7 @@ Specify the address that the ripngd VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-r\fR, \fB\-\-retain\fR When the program terminates, retain routes added by \fBripd\fR. diff --git a/doc/zebra.8 b/doc/zebra.8 index 25cbb363..a3f4b1ac 100644 --- a/doc/zebra.8 +++ b/doc/zebra.8 @@ -1,4 +1,4 @@ -.TH ZEBRA 8 "10 August 2004" "Zebra daemon" "Version 0.96.5" +.TH ZEBRA 8 "25 November 2004" "Zebra daemon" "Version 0.97.3" .SH NAME zebra \- a routing manager for use with associated Quagga components. .SH SYNOPSIS @@ -20,6 +20,9 @@ zebra \- a routing manager for use with associated Quagga components. ] [ .B \-u .I user +] [ +.B \-g +.I group ] .SH DESCRIPTION .B zebra @@ -40,7 +43,11 @@ Runs in batch mode, \fBzebra\fR parses its config and exits. Runs in daemon mode, forking and exiting from tty. .TP \fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this option will likely default to \fB\fI/usr/local/etc/zebra.conf\fR. +Specifies the config file to use for startup. If not specified this +option will likely default to \fB\fI/usr/local/etc/zebra.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fIquagga\fR. .TP \fB\-h\fR, \fB\-\-help\fR A brief message. @@ -65,8 +72,7 @@ Specify the address that the zebra VTY will listen on. Default is all intrefaces. .TP \fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user and group to run as. User and group have to have same -name at the moment. Default is \fIquagga\fR. +Specify the user to run as. Default is \fIquagga\fR. .TP \fB\-r\fR, \fB\-\-retain\fR When the program terminates, retain routes added by \fBzebra\fR. diff --git a/isisd/ChangeLog b/isisd/ChangeLog index 20be060a..9ba86f17 100644 --- a/isisd/ChangeLog +++ b/isisd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * isis_main.c: Make group to run as configurable. + 2004-11-24 Andrew J. Schorr * dict.c: Include "zassert.h" instead of . diff --git a/isisd/isis_main.c b/isisd/isis_main.c index 58fe977e..1bf93f21 100644 --- a/isisd/isis_main.c +++ b/isisd/isis_main.c @@ -79,6 +79,7 @@ struct option longopts[] = { {"vty_addr", required_argument, NULL, 'A'}, {"vty_port", required_argument, NULL, 'P'}, {"user", required_argument, NULL, 'u'}, + {"group", required_argument, NULL, 'g'}, {"version", no_argument, NULL, 'v'}, {"help", no_argument, NULL, 'h'}, {0} @@ -121,7 +122,8 @@ Daemon which manages IS-IS routing\n\n\ -i, --pid_file Set process identifier file name\n\ -A, --vty_addr Set vty's bind address\n\ -P, --vty_port Set vty's port number\n\ --u, --user User and group to run as\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ \n\ @@ -234,7 +236,7 @@ main (int argc, char **argv, char **envp) /* Command line argument treatment. */ while (1) { - opt = getopt_long (argc, argv, "df:i:hA:p:P:u:v", longopts, 0); + opt = getopt_long (argc, argv, "df:i:hA:p:P:u:g:v", longopts, 0); if (opt == EOF) break; @@ -267,8 +269,10 @@ main (int argc, char **argv, char **envp) vty_port = (vty_port ? vty_port : ISISD_VTY_PORT); break; case 'u': - isisd_privs.user = isisd_privs.group = optarg; + isisd_privs.user = optarg; break; + case 'g': + isisd_privs.group = optarg; break; case 'v': printf ("ISISd version %s\n", ISISD_VERSION); diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog index 9c884245..27593b3b 100644 --- a/ospf6d/ChangeLog +++ b/ospf6d/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * ospf6_main.c: Make group to run as configurable. + 2004-11-05 Phil Spagnolo * ospf6_flood.c: When adding a thread to retransmit an lsa after rxmt_interval, the ospf6d used thread_add_event(). However, diff --git a/ospf6d/ospf6_main.c b/ospf6d/ospf6_main.c index 95086f2f..4563ece8 100644 --- a/ospf6d/ospf6_main.c +++ b/ospf6d/ospf6_main.c @@ -74,6 +74,8 @@ struct option longopts[] = { "pid_file", required_argument, NULL, 'i'}, { "vty_addr", required_argument, NULL, 'A'}, { "vty_port", required_argument, NULL, 'P'}, + { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "version", no_argument, NULL, 'v'}, { "help", no_argument, NULL, 'h'}, { 0 } @@ -109,6 +111,8 @@ Daemon which manages OSPF version 3.\n\n\ -i, --pid_file Set process identifier file name\n\ -A, --vty_addr Set vty's bind address\n\ -P, --vty_port Set vty's port number\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ \n\ @@ -191,7 +195,7 @@ main (int argc, char *argv[], char *envp[]) /* Command line argument treatment. */ while (1) { - opt = getopt_long (argc, argv, "df:i:hp:A:P:u:v", longopts, 0); + opt = getopt_long (argc, argv, "df:i:hp:A:P:u:g:v", longopts, 0); if (opt == EOF) break; @@ -224,8 +228,11 @@ main (int argc, char *argv[], char *envp[]) vty_port = (vty_port ? vty_port : OSPF6_VTY_PORT); break; case 'u': - ospf6d_privs.user = ospf6d_privs.group = optarg; + ospf6d_privs.user = optarg; break; + case 'g': + ospf6d_privs.group = optarg; + break; case 'v': print_version (progname); exit (0); diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 11fb3b60..40e5491f 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * ospf_main.c: Make group to run as configurable. + 2004-11-15 Greg Troxel * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c index 67912d6a..f560547f 100644 --- a/ospfd/ospf_main.c +++ b/ospfd/ospf_main.c @@ -87,6 +87,7 @@ struct option longopts[] = { "vty_addr", required_argument, NULL, 'A'}, { "vty_port", required_argument, NULL, 'P'}, { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "apiserver", no_argument, NULL, 'a'}, { "version", no_argument, NULL, 'v'}, { 0 } @@ -119,7 +120,8 @@ Daemon which manages OSPF.\n\n\ -i, --pid_file Set process identifier file name\n\ -A, --vty_addr Set vty's bind address\n\ -P, --vty_port Set vty's port number\n\ --u, --user User and group to run as\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -a. --apiserver Enable OSPF apiserver\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ @@ -215,7 +217,7 @@ main (int argc, char **argv) { int opt; - opt = getopt_long (argc, argv, "dlf:i:hA:P:u:av", longopts, 0); + opt = getopt_long (argc, argv, "dlf:i:hA:P:u:g:av", longopts, 0); if (opt == EOF) break; @@ -248,7 +250,10 @@ main (int argc, char **argv) vty_port = (vty_port ? vty_port : OSPF_VTY_PORT); break; case 'u': - ospfd_privs.group = ospfd_privs.user = optarg; + ospfd_privs.user = optarg; + break; + case 'g': + ospfd_privs.group = optarg; break; #ifdef SUPPORT_OSPF_API case 'a': diff --git a/ripd/ChangeLog b/ripd/ChangeLog index 8618cb6f..3ca7d181 100644 --- a/ripd/ChangeLog +++ b/ripd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * rip_main.c: Make group to run as configurable. + 2004-10-22 Paul Jakma * ripd.c: Collapse redundant passing of various address structs, diff --git a/ripd/rip_main.c b/ripd/rip_main.c index bc251599..d545a8ec 100644 --- a/ripd/rip_main.c +++ b/ripd/rip_main.c @@ -46,6 +46,7 @@ static struct option longopts[] = { "vty_port", required_argument, NULL, 'P'}, { "retain", no_argument, NULL, 'r'}, { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "version", no_argument, NULL, 'v'}, { 0 } }; @@ -110,7 +111,8 @@ Daemon which manages RIP version 1 and 2.\n\n\ -A, --vty_addr Set vty's bind address\n\ -P, --vty_port Set vty's port number\n\ -r, --retain When program terminates, retain added route by ripd.\n\ --u, --user User and group to run as\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ \n\ @@ -201,7 +203,7 @@ main (int argc, char **argv) { int opt; - opt = getopt_long (argc, argv, "df:i:hA:P:u:rv", longopts, 0); + opt = getopt_long (argc, argv, "df:i:hA:P:u:g:rv", longopts, 0); if (opt == EOF) break; @@ -236,9 +238,12 @@ main (int argc, char **argv) case 'r': retain_mode = 1; break; - case 'u': - ripd_privs.group = ripd_privs.user = optarg; - break; + case 'u': + ripd_privs.user = optarg; + break; + case 'g': + ripd_privs.group = optarg; + break; case 'v': print_version (progname); exit (0); diff --git a/ripngd/ChangeLog b/ripngd/ChangeLog index 78dc1d37..1abea564 100644 --- a/ripngd/ChangeLog +++ b/ripngd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-25 Hasso Tepper + + * ripng_main.c: Make group to run as configurable. + 2004-10-26 Hasso Tepper * ripng_debug.c: Fix help of "show debugging ripng" command. diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c index 40d2b146..df609a56 100644 --- a/ripngd/ripng_main.c +++ b/ripngd/ripng_main.c @@ -53,6 +53,7 @@ struct option longopts[] = { "vty_port", required_argument, NULL, 'P'}, { "retain", no_argument, NULL, 'r'}, { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "version", no_argument, NULL, 'v'}, { 0 } }; @@ -115,7 +116,8 @@ Daemon which manages RIPng.\n\n\ -A, --vty_addr Set vty's bind address\n\ -P, --vty_port Set vty's port number\n\ -r, --retain When program terminates, retain added route by ripngd.\n\ --u, --user User and group to run as\n\ +-u, --user User to run as\n\ +-g, --group Group to run as\n\ -v, --version Print program version\n\ -h, --help Display this help and exit\n\ \n\ @@ -203,7 +205,7 @@ main (int argc, char **argv) { int opt; - opt = getopt_long (argc, argv, "dlf:i:hA:P:u:v", longopts, 0); + opt = getopt_long (argc, argv, "dlf:i:hA:P:u:g:v", longopts, 0); if (opt == EOF) break; @@ -241,9 +243,12 @@ main (int argc, char **argv) case 'r': retain_mode = 1; break; - case 'u': - ripngd_privs.group = ripngd_privs.user = optarg; - break; + case 'u': + ripngd_privs.user = optarg; + break; + case 'g': + ripngd_privs.group = optarg; + break; case 'v': print_version (progname); exit (0); diff --git a/zebra/ChangeLog b/zebra/ChangeLog index c4e32b8b..71932317 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -2,6 +2,7 @@ * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because it confuses extract.pl. + * main.c: Make group to run as configurable. 2004-10-28 Hasso Tepper diff --git a/zebra/main.c b/zebra/main.c index 72e2c585..42e6bd14 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -79,6 +79,7 @@ struct option longopts[] = { "nl-bufsize", no_argument, NULL, 's'}, #endif /* HAVE_NETLINK */ { "user", required_argument, NULL, 'u'}, + { "group", required_argument, NULL, 'g'}, { "version", no_argument, NULL, 'v'}, { 0 } }; @@ -133,7 +134,8 @@ usage (char *progname, int status) "-P, --vty_port Set vty's port number\n"\ "-r, --retain When program terminates, retain added route "\ "by zebra.\n"\ - "-u, --user User and group to run as\n", progname); + "-u, --user User to run as\n"\ + "-g, --group Group to run as\n", progname); #ifdef HAVE_NETLINK printf ("-s, --nl-bufsize Set netlink receive buffer size\n"); #endif /* HAVE_NETLINK */ @@ -230,9 +232,9 @@ main (int argc, char **argv) int opt; #ifdef HAVE_NETLINK - opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:vs:", longopts, 0); + opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:g:vs:", longopts, 0); #else - opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:v", longopts, 0); + opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:g:v", longopts, 0); #endif /* HAVE_NETLINK */ if (opt == EOF) @@ -281,9 +283,12 @@ main (int argc, char **argv) nl_rcvbufsize = atoi (optarg); break; #endif /* HAVE_NETLINK */ - case 'u': - zserv_privs.user = zserv_privs.group = optarg; - break; + case 'u': + zserv_privs.user = optarg; + break; + case 'g': + zserv_privs.group = optarg; + break; case 'v': print_version (progname); exit (0); -- cgit v1.2.1