Disable ospfapi init by default.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 7d1211c..07e27b6 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+ * ospfd.8: Update manpage: add info about new -a/--apiserver command
+ line switch.
+
2004-10-11 Paul Jakma <paul@dishone.st>
* ospfd.texi: reformat the ospf md5 paragraph, add an additional
diff --git a/doc/ospfd.8 b/doc/ospfd.8
index 1fde900..af5a83a 100644
--- a/doc/ospfd.8
+++ b/doc/ospfd.8
@@ -61,6 +61,9 @@
Specify the user and group to run as. User and group have to have same
name at the moment. Default is \fIquagga\fR.
.TP
+\fB\-a\fR, \fB\-\-apiserver \fR
+Enable OSPF apiserver. Default is disabled.
+.TP
\fB\-v\fR, \fB\-\-version\fR
Print the version and exit.
.SH FILES
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 75e3b4d..86cbe59 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+ * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
+ command line switch to enable it.
+
2004-10-11 Paul Jakma <paul@dishone.st>
* ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c
index 47873ba..a7e56dc 100644
--- a/ospfd/ospf_main.c
+++ b/ospfd/ospf_main.c
@@ -87,6 +87,7 @@
{ "vty_addr", required_argument, NULL, 'A'},
{ "vty_port", required_argument, NULL, 'P'},
{ "user", required_argument, NULL, 'u'},
+ { "apiserver", no_argument, NULL, 'a'},
{ "version", no_argument, NULL, 'v'},
{ 0 }
};
@@ -99,6 +100,9 @@
/* Process ID saved for use by init system */
const char *pid_file = PATH_OSPFD_PID;
+/* OSPF apiserver is disabled by default. */
+int ospf_apiserver_enable = 0;
+
/* Help information display. */
static void
usage (char *progname, int status)
@@ -115,6 +119,7 @@
-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\
+-a. --apiserver Enable OSPF apiserver\n\
-v, --version Print program version\n\
-h, --help Display this help and exit\n\
\n\
@@ -204,7 +209,7 @@
{
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:av", longopts, 0);
if (opt == EOF)
break;
@@ -236,9 +241,12 @@
vty_port = atoi (optarg);
vty_port = (vty_port ? vty_port : OSPF_VTY_PORT);
break;
- case 'u':
- ospfd_privs.group = ospfd_privs.user = optarg;
- break;
+ case 'u':
+ ospfd_privs.group = ospfd_privs.user = optarg;
+ break;
+ case 'a':
+ ospf_apiserver_enable = 1;
+ break;
case 'v':
print_version (progname);
exit (0);
diff --git a/ospfd/ospf_opaque.c b/ospfd/ospf_opaque.c
index 414ec74..d0d1be3 100644
--- a/ospfd/ospf_opaque.c
+++ b/ospfd/ospf_opaque.c
@@ -69,6 +69,7 @@
#ifdef SUPPORT_OSPF_API
int ospf_apiserver_init (void);
void ospf_apiserver_term (void);
+extern int ospf_apiserver_enable;
#endif /* SUPPORT_OSPF_API */
static void ospf_opaque_register_vty (void);
@@ -91,7 +92,7 @@
#endif /* HAVE_OSPF_TE */
#ifdef SUPPORT_OSPF_API
- if (ospf_apiserver_init () != 0)
+ if ((ospf_apiserver_enable) && (ospf_apiserver_init () != 0))
exit (1);
#endif /* SUPPORT_OSPF_API */