Show socket families in /stats p.
[ircu2.10.12-pk.git] / ircd / listener.c
index 31d1ba5e9f8d8cade2a192eec806ba6ee83badfe..9fc285d057f3536102943953d5b9f9cb7da2ea3f 100644 (file)
@@ -149,6 +149,18 @@ void show_ports(struct Client* sptr, const struct StatDesc* sd,
     flags[len++] = listener_server(listener) ? 'S' : 'C';
     if (show_hidden && FlagHas(&listener->flags, LISTEN_HIDDEN))
       flags[len++] = 'H';
+    if (FlagHas(&listener->flags, LISTEN_IPV4))
+    {
+      flags[len++] = '4';
+      if (listener->fd_v4 < 0)
+        flags[len++] = '-';
+    }
+    if (FlagHas(&listener->flags, LISTEN_IPV6))
+    {
+      flags[len++] = '6';
+      if (listener->fd_v6 < 0)
+        flags[len++] = '-';
+    }
     flags[len] = '\0';
 
     send_reply(sptr, RPL_STATSPLINE, listener->addr.port, listener->ref_count,