X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fmanynodes.c;h=d9fb0a41fee1f826458a4a18af3a0d20f24e95d9;hb=fec95d1221c2d7e2059d6ba2fe244211ccee95ad;hp=3d82bd31d921f32dea1ad789f84b0d070fc02636;hpb=ad87362afd13c4f14ce9a4b2cf0586a753b5a422;p=meshlink diff --git a/examples/manynodes.c b/examples/manynodes.c index 3d82bd31..d9fb0a41 100644 --- a/examples/manynodes.c +++ b/examples/manynodes.c @@ -71,8 +71,11 @@ static void linkmesh() { for(int j = i + 1; j < n; j++) { char *dataj = meshlink_export(mesh[j]); - meshlink_import(mesh[i], dataj); - meshlink_import(mesh[j], datai); + + if(!meshlink_import(mesh[i], dataj) || !meshlink_import(mesh[j], datai)) { + fprintf(stderr, "Could not exchange keys between %s and %s: %s\n", mesh[i]->name, mesh[j]->name, meshlink_strerror(meshlink_errno)); + } + free(dataj); } @@ -248,9 +251,31 @@ static void parse_command(char *buf) { return; } - meshlink_blacklist(mesh[nodeindex], node); + if(!meshlink_blacklist(mesh[nodeindex], node)) { + fprintf(stderr, "Error blacklising '%s': %s", arg, meshlink_strerror(meshlink_errno)); + return; + } 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; + } + + if(!meshlink_whitelist(mesh[nodeindex], node)) { + fprintf(stderr, "Error whitelising '%s': %s", arg, meshlink_strerror(meshlink_errno)); + return; + } + + printf("Node '%s' whitelisted.\n", arg); } else if(!strcasecmp(buf, "who")) { if(!arg) { nodes = meshlink_get_all_nodes(mesh[nodeindex], nodes, &nnodes);