X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fprotocol_auth.c;h=12e81e4c7063c4d32096c22210536dddc6f27075;hb=46e373d99b4559245885c94930a6979d03a6f12b;hp=e9aa0c51ddb4370bf4ba4135c92224e434e5845b;hpb=282b99f3c71705bd6e34d4e4f9e8369ea63c87ed;p=meshlink diff --git a/src/protocol_auth.c b/src/protocol_auth.c index e9aa0c51..12e81e4c 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -248,6 +248,9 @@ static bool receive_invitation_sptps(void *handle, uint8_t type, const void *dat } bool id_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { + assert(request); + assert(*request); + char name[MAX_STRING_SIZE]; if(sscanf(request, "%*d " MAX_STRING " %d.%d", name, &c->protocol_major, &c->protocol_minor) < 2) { @@ -329,7 +332,7 @@ bool id_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { } if(n->status.blacklisted) { - logger(mesh, MESHLINK_EPEER, "Peer %s is blacklisted", c->name); + logger(mesh, MESHLINK_WARNING, "Peer %s is blacklisted", c->name); return false; } @@ -385,6 +388,9 @@ static void send_everything(meshlink_handle_t *mesh, connection_t *c) { } bool ack_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { + assert(request); + assert(*request); + char hisport[MAX_STRING_SIZE]; int devclass; uint32_t options; @@ -395,7 +401,7 @@ bool ack_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { return false; } - if(devclass < 0 || devclass > _DEV_CLASS_MAX) { + if(devclass < 0 || devclass >= DEV_CLASS_COUNT) { logger(mesh, MESHLINK_ERROR, "Got bad %s from %s: %s", "ACK", c->name, "devclass invalid"); return false; } @@ -432,7 +438,7 @@ bool ack_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { n->devclass = devclass; n->status.dirty = true; - n->last_successfull_connection = time(NULL); + n->last_successfull_connection = mesh->loop.now.tv_sec; n->connection = c; c->node = n; @@ -450,13 +456,13 @@ bool ack_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { /* Create an edge_t for this connection */ - assert(devclass >= 0 && devclass <= _DEV_CLASS_MAX); + assert(devclass >= 0 && devclass < DEV_CLASS_COUNT); c->edge = new_edge(); c->edge->from = mesh->self; c->edge->to = n; sockaddrcpy_setport(&c->edge->address, &c->address, atoi(hisport)); - c->edge->weight = dev_class_traits[devclass].edge_weight; + c->edge->weight = mesh->dev_class_traits[devclass].edge_weight; c->edge->connection = c; edge_add(mesh, c->edge);