int weight;
if(sscanf(request, "%*d %*x "MAX_STRING" %d "MAX_STRING" "MAX_STRING" "MAX_STRING" %d %x %d",
- from_name, &from_dclass, to_name, to_address, to_port, &to_dclass, &options, &weight) != 6) {
+ from_name, &from_dclass, to_name, to_address, to_port, &to_dclass, &options, &weight) != 8) {
logger(mesh, MESHLINK_ERROR, "Got bad %s from %s (%s)", "ADD_EDGE", c->name,
c->hostname);
return false;
if(!from) {
from = new_node();
from->name = xstrdup(from_name);
- from->dclass = from_dclass;
node_add(mesh, from);
}
+ from->dclass = from_dclass;
+
if(!to) {
to = new_node();
to->name = xstrdup(to_name);
- to->dclass = to_dclass;
node_add(mesh, to);
}
+ to->dclass = to_dclass;
+
/* Convert addresses */
address = str2sockaddr(to_address, to_port);