]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Allow submitting BIRD commands from UNIX shell even in restricted mode.
authorOndrej Filip <feela@network.cz>
Tue, 12 Feb 2013 12:15:01 +0000 (13:15 +0100)
committerOndrej Filip <feela@network.cz>
Tue, 12 Feb 2013 12:15:01 +0000 (13:15 +0100)
client/client.c

index 8711cf0ad349e280308f0f1633da541afa3cac0e..d8f0060c9f875b47140b2bf5639f1e2132b34088 100644 (file)
@@ -29,6 +29,7 @@ static char *opt_list = "s:vr";
 static int verbose;
 static char *init_cmd;
 static int once;
+static int restricted;
 
 static char *server_path = PATH_CONTROL_SOCKET;
 static int server_fd;
@@ -70,7 +71,7 @@ parse_args(int argc, char **argv)
        verbose++;
        break;
       case 'r':
-       init_cmd = "restrict";
+       restricted = 1;
        break;
       default:
        usage();
@@ -83,9 +84,6 @@ parse_args(int argc, char **argv)
       int i;
       int len = 0;
 
-      if (init_cmd)
-       usage();
-
       for (i = optind; i < argc; i++)
        len += strlen(argv[i]) + 1;
 
@@ -303,6 +301,13 @@ update_state(void)
   if (nstate == cstate)
     return;
 
+  if (restricted)
+    {
+       submit_server_command("restrict");
+       restricted = 0;
+       return;
+    }
+
   if (init_cmd)
     {
       /* First transition - client received hello from BIRD