chiark / gitweb /
admin: New command SETIFNAME to change an interface's recorded name.
[tripe] / server / admin.c
index 7917b26fb434b021c6204230bcefb7b3428be9a1..b166b853dbdb3de411ad610993cc00f8ed1558f8 100644 (file)
@@ -1239,6 +1239,17 @@ static void acmd_ifname(admin *a, unsigned ac, char *av[])
   }
 }
 
+static void acmd_setifname(admin *a, unsigned ac, char *av[])
+{
+  peer *p;
+
+  if ((p = a_findpeer(a, av[0])) != 0) {
+    a_notify("NEWIFNAME", "?PEER", p, "%s", p_ifname(p), "%s", av[1], A_END);
+    p_setifname(p, av[1]);
+    a_ok(a);
+  }  
+}
+
 static void acmd_getchal(admin *a, unsigned ac, char *av[])
 {
   buf b;
@@ -1417,6 +1428,7 @@ static const acmd acmdtab[] = {
   { "quit",    0,                      0,      0,      acmd_quit },
   { "reload",  0,                      0,      0,      acmd_reload },
   { "servinfo",        0,                      0,      0,      acmd_servinfo },
+  { "setifname", "PEER NEW-NAME",      2,      2,      acmd_setifname },
   { "stats",   "PEER",                 1,      1,      acmd_stats },
 #ifndef NTRACE
   { "trace",   "[OPTIONS]",            0,      1,      acmd_trace },