X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=comm-common.c;h=48041cd8e2fb857a6643165487522673bb093484;hb=9eba4abfe44617aa78f625d900fe6bc2c58bb4cb;hp=a384ba63f2446cf7a4ddf039413c6283c0acbdc6;hpb=c215a4bc817daf7b5631236c3c7b6a509479b034;p=secnet.git diff --git a/comm-common.c b/comm-common.c index a384ba6..48041cd 100644 --- a/comm-common.c +++ b/comm-common.c @@ -4,7 +4,7 @@ * * secnet is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version d of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * secnet is distributed in the hope that it will be useful, but @@ -20,6 +20,12 @@ #include "secnet.h" #include "comm-common.h" +struct comm_clientinfo *comm_clientinfo_ignore(void *state, dict_t *dict, + struct cloc cloc) +{ + return 0; +} + void comm_request_notify(void *commst, void *nst, comm_notify_fn *fn) { struct commcommon *st=commst; @@ -45,13 +51,16 @@ void comm_release_notify(void *commst, void *nst, comm_notify_fn *fn) } } -bool_t comm_notify(struct comm_notify_list *notify, +bool_t comm_notify(struct commcommon *cc, struct buffer_if *buf, const struct comm_addr *ca) { + struct comm_notify_list *notify = &cc->notify; struct comm_notify_entry *n; + priomsg_reset(&cc->why_unwanted); + LIST_FOREACH(n, notify, entry) { - if (n->fn(n->state, buf, ca)) { + if (n->fn(n->state, buf, ca, &cc->why_unwanted)) { return True; } } @@ -69,4 +78,5 @@ void comm_apply(struct commcommon *cc, void *st) cc->ops.release_notify=comm_release_notify; LIST_INIT(&cc->notify); cc->rbuf=NULL; + priomsg_new(&cc->why_unwanted, MAX_NAK_MSG); }