]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/misc-progs/upnpctrl.c
openvpn: Properly remove all RRDs after a connection is removed
[ipfire-2.x.git] / src / misc-progs / upnpctrl.c
index d133c163ce05a873cefa03441adcdcba7baab647..f42502dddb94a5d0f2c0895483daf462a5461902 100644 (file)
@@ -19,13 +19,13 @@ int main(int argc, char *argv[])
         // Check what command is asked
         if (argc==1)
         {
-            fprintf (stderr, "Missing upnpctrl command!\n");
+            fprintf (stderr, "Missing smbctrl command!\n");
             return 1;
         }
 
-        if (strcmp(argv[1], "start")==0)
+        if (strcmp(argv[1], "upnpstart")==0)
         {
-            snprintf(command, BUFFER_SIZE-1, "route add -net 239.0.0.0 netmask 255.0.0.0 %s", argv[2]);
+            snprintf(command, BUFFER_SIZE-1, "route add -net 239.0.0.0 netmask 255.0.0.0 %s", argv[3]);
             safe_system(command);
             printf(command);
             snprintf(command, BUFFER_SIZE-1, "/usr/sbin/upnpd %s %s", argv[2], argv[3] );
@@ -34,12 +34,19 @@ int main(int argc, char *argv[])
             return 0;
         }
 
-        if (strcmp(argv[1], "stop")==0)
+        if (strcmp(argv[1], "upnpstop")==0)
         {
             snprintf(command, BUFFER_SIZE-1, "killall upnpd");
             safe_system(command);
             printf(command);
-            snprintf(command, BUFFER_SIZE-1, "route del -net 239.0.0.0 netmask 255.0.0.0 %s", argv[2]);
+            snprintf(command, BUFFER_SIZE-1, "route del -net 239.0.0.0 netmask 255.0.0.0 %s", argv[3]);
+            safe_system(command);
+            printf(command);
+            return 0;
+        }
+        if (strcmp(argv[1], "upnpxml")==0)
+        {
+            snprintf(command, BUFFER_SIZE-1, "sed 's/\<friendlyName\>.*\<\/friendlyName\>/\<friendlyName\>%s\<\/friendlyName\>/gi' %s/%s > tmp && mv tmp %s/%s", argv[2], argv[3], argv[4], argv[3], argv[4]);
             safe_system(command);
             printf(command);
             return 0;