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 */