diff options
author | rodri <rgl@antares-labs.eu> | 2023-02-16 13:35:24 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2023-02-16 13:35:24 +0000 |
commit | fd5dc301e4a69d7b7c1293aafe5b069b4ff400a4 (patch) | |
tree | f9d51305517fe6a5bd0167522be82a0dcc28b38c /musw.c | |
parent | 62e75d8830eb56ab03bd4689d51ffd6d4150f461 (diff) | |
download | musw-fd5dc301e4a69d7b7c1293aafe5b069b4ff400a4.tar.gz musw-fd5dc301e4a69d7b7c1293aafe5b069b4ff400a4.tar.bz2 musw-fd5dc301e4a69d7b7c1293aafe5b069b4ff400a4.zip |
implemented a keep alive mechanism.
also changed the newframe fn to take a Udphdr* instead of a Frame*.
the verifyframe fn now returns 1 if correct 0 otherwise.
Diffstat (limited to 'musw.c')
-rw-r--r-- | musw.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -268,7 +268,7 @@ threadnetppu(void *) case NShi: unpack(frame->data, frame->len, "kk", &netconn.dh.p, &netconn.dh.g); - newf = newframe(frame, NCdhx, 0, 0, sizeof(ulong), nil); + newf = newframe(nil, NCdhx, frame->seq+1, frame->seq, sizeof(ulong), nil); netconn.dh.sec = truerand(); pack(newf->data, newf->len, "k", dhgenkey(netconn.dh.g, netconn.dh.sec, netconn.dh.p)); @@ -290,7 +290,7 @@ threadnetppu(void *) } break; case NCSConnected: - if(verifyframe(frame, netconn.dh.priv) != 0){ + if(!verifyframe(frame, netconn.dh.priv)){ if(debug) fprint(2, "\tbad signature\n"); goto discard; @@ -304,7 +304,7 @@ threadnetppu(void *) &universe->star.p); break; case NSnudge: - newf = newframe(frame, NCnudge, 0, 0, 0, nil); + newf = newframe(nil, NCnudge, frame->seq+1, frame->seq, 0, nil); signframe(newf, netconn.dh.priv); sendp(egress, newf); |