]> git.meshlink.io Git - meshlink/commitdiff
Add the /whitelist command to the chat examples.
authorGuus Sliepen <guus@meshlink.io>
Sat, 5 Oct 2019 12:34:40 +0000 (14:34 +0200)
committerGuus Sliepen <guus@meshlink.io>
Sat, 5 Oct 2019 12:34:40 +0000 (14:34 +0200)
This allows undoing a /kick.

examples/channels.c
examples/chat.c
examples/groupchat.c
examples/manynodes.c

index d4e378f698a01d2912069d2585904139318b05eb..70c27004fb4f7216dad47f3f738d1de129477499 100644 (file)
@@ -139,6 +139,22 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) {
                meshlink_blacklist(mesh, node);
 
                printf("Node '%s' blacklisted.\n", arg);
+       } else if(!strcasecmp(buf, "whitelist")) {
+               if(!arg) {
+                       fprintf(stderr, "/whitelist requires an argument!\n");
+                       return;
+               }
+
+               meshlink_node_t *node = meshlink_get_node(mesh, arg);
+
+               if(!node) {
+                       fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno));
+                       return;
+               }
+
+               meshlink_whitelist(mesh, node);
+
+               printf("Node '%s' whitelisted.\n", arg);
        } else if(!strcasecmp(buf, "who")) {
                if(!arg) {
                        nodes = meshlink_get_all_nodes(mesh, nodes, &nnodes);
index d0e511cab56fa578e384e468bb8d94032da7c355..77ba59e60f784ae7180f748d3a6d245362e3b743 100644 (file)
@@ -102,6 +102,22 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) {
                meshlink_blacklist(mesh, node);
 
                printf("Node '%s' blacklisted.\n", arg);
+       } else if(!strcasecmp(buf, "whitelist")) {
+               if(!arg) {
+                       fprintf(stderr, "/whitelist requires an argument!\n");
+                       return;
+               }
+
+               meshlink_node_t *node = meshlink_get_node(mesh, arg);
+
+               if(!node) {
+                       fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno));
+                       return;
+               }
+
+               meshlink_whitelist(mesh, node);
+
+               printf("Node '%s' whitelisted.\n", arg);
        } else if(!strcasecmp(buf, "who")) {
                if(!arg) {
                        nodes = meshlink_get_all_nodes(mesh, nodes, &nnodes);
index 38bbd85b63d009566d783267bb7438a2960c79c3..7a5a300fb526f7f8be3790338e90a10ca3e9831e 100644 (file)
@@ -230,6 +230,22 @@ static void parse_command(meshlink_handle_t *mesh, char *buf) {
                meshlink_blacklist(mesh, node);
 
                fprintf(stderr, "Node '%s' blacklisted.\n", arg);
+       } else if(!strcasecmp(buf, "whitelist")) {
+               if(!arg) {
+                       fprintf(stderr, "/whitelist requires an argument!\n");
+                       return;
+               }
+
+               meshlink_node_t *node = meshlink_get_node(mesh, arg);
+
+               if(!node) {
+                       fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno));
+                       return;
+               }
+
+               meshlink_whitelist(mesh, node);
+
+               fprintf(stderr, "Node '%s' whitelisted.\n", arg);
        } else if(!strcasecmp(buf, "who")) {
                meshlink_submesh_t *node_group = NULL;
 
index 3d82bd31d921f32dea1ad789f84b0d070fc02636..fbfd215fe171b797aa5d2335c766af54578bf081 100644 (file)
@@ -251,6 +251,22 @@ static void parse_command(char *buf) {
                meshlink_blacklist(mesh[nodeindex], node);
 
                printf("Node '%s' blacklisted.\n", arg);
+       } else if(!strcasecmp(buf, "whitelist")) {
+               if(!arg) {
+                       fprintf(stderr, "/whitelist requires an argument!\n");
+                       return;
+               }
+
+               meshlink_node_t *node = meshlink_get_node(mesh[nodeindex], arg);
+
+               if(!node) {
+                       fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno));
+                       return;
+               }
+
+               meshlink_whitelist(mesh[nodeindex], node);
+
+               printf("Node '%s' whitelisted.\n", arg);
        } else if(!strcasecmp(buf, "who")) {
                if(!arg) {
                        nodes = meshlink_get_all_nodes(mesh[nodeindex], nodes, &nnodes);