X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fprotocol_edge.c;h=8bb70714ca358e8e6ebf39686a7370be8849bc48;hb=9cde0d32cf209388cc59b06b7dcb0c3432f97da5;hp=405961ed7f508791b179aae761e91c91ca695d37;hpb=282b99f3c71705bd6e34d4e4f9e8369ea63c87ed;p=meshlink diff --git a/src/protocol_edge.c b/src/protocol_edge.c index 405961ed..8bb70714 100644 --- a/src/protocol_edge.c +++ b/src/protocol_edge.c @@ -84,6 +84,9 @@ bool send_add_edge(meshlink_handle_t *mesh, connection_t *c, const edge_t *e, in } bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { + assert(request); + assert(*request); + edge_t *e; node_t *from, *to; char from_name[MAX_STRING_SIZE]; @@ -108,12 +111,12 @@ bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { // Check if devclasses are valid - if(from_devclass < 0 || from_devclass > _DEV_CLASS_MAX) { + if(from_devclass < 0 || from_devclass >= DEV_CLASS_COUNT) { logger(mesh, MESHLINK_ERROR, "Got bad %s from %s: %s", "ADD_EDGE", c->name, "from devclass invalid"); return false; } - if(to_devclass < 0 || to_devclass > _DEV_CLASS_MAX) { + if(to_devclass < 0 || to_devclass >= DEV_CLASS_COUNT) { logger(mesh, MESHLINK_ERROR, "Got bad %s from %s: %s", "ADD_EDGE", c->name, "to devclass invalid"); return false; } @@ -180,6 +183,8 @@ bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { node_add(mesh, to); } + to->devclass = to_devclass; + /* Convert addresses */ address = str2sockaddr(to_address, to_port); @@ -199,7 +204,6 @@ bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { logger(mesh, MESHLINK_WARNING, "Got %s from %s which does not match existing entry", "ADD_EDGE", c->name); edge_del(mesh, e); - graph(mesh); } } else { return true; @@ -274,6 +278,9 @@ bool send_del_edge(meshlink_handle_t *mesh, connection_t *c, const edge_t *e, in } bool del_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { + assert(request); + assert(*request); + edge_t *e; char from_name[MAX_STRING_SIZE]; char to_name[MAX_STRING_SIZE];