X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/bf28fc736c33aa8b26b3c3267cf4c3b33e69c4a5..8534d6023d74efac11d7e2b5d1903638f3c1eca3:/util.c diff --git a/util.c b/util.c index 3d11987..1b46bc0 100644 --- a/util.c +++ b/util.c @@ -38,6 +38,7 @@ #include #include "util.h" #include "unaligned.h" +#include "magic.h" #define MIN_BUFFER_SIZE 64 #define DEFAULT_BUFFER_SIZE 4096 @@ -381,6 +382,22 @@ static list_t *buffer_apply(closure_t *self, struct cloc loc, dict_t *context, return new_closure(&st->cl); } +void send_nak(const struct comm_addr *dest, uint32_t our_index, + uint32_t their_index, uint32_t msgtype, + struct buffer_if *buf, const char *logwhy) +{ + buffer_init(buf,dest->comm->min_start_pad); + buf_append_uint32(buf,their_index); + buf_append_uint32(buf,our_index); + buf_append_uint32(buf,LABEL_NAK); + if (logwhy) + Message(M_INFO,"%s: %08"PRIx32"<-%08"PRIx32": %08"PRIx32":" + " %s; sending NAK\n", + dest->comm->addr_to_string(dest->comm->st,dest), + our_index, their_index, msgtype, logwhy); + dest->comm->sendmsg(dest->comm->st, buf, dest); +} + int consttime_memeq(const void *s1in, const void *s2in, size_t n) { const uint8_t *s1=s1in, *s2=s2in;