summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jeffrey Hutzelman <jhutz@cmu.edu>2013-02-11 23:39:44 -0500
committerGravatar Jeffrey Hutzelman <jhutz@cmu.edu>2013-02-14 19:57:32 -0500
commitf473694b272b517e13d14d85916c43c6b03ddda4 (patch)
treedd5593ef3e13cca0a5aeced07497b1f888289a23
parentf8fd0932c84b1642a71f78ad72e87d1842a1d2ab (diff)
server: Don't check auth on client acks
Client acks don't actually include authenticators or checksums, but do claim to be authed if the original notice was. So, don't bother ever checking authentication on client acks. This fixes #93
-rw-r--r--server/dispatch.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/server/dispatch.c b/server/dispatch.c
index 256a786..9981581 100644
--- a/server/dispatch.c
+++ b/server/dispatch.c
@@ -205,6 +205,12 @@ handle_packet(void)
whence = &whoisit;
}
+ /* Don't bother checking authentication on client ACKs */
+ if (new_notice.z_kind == CLIENTACK) {
+ nack_cancel(&new_notice, &whoisit);
+ return;
+ }
+
/* Clients don't check auth of acks, nor do we make it so they
can in general, so this is safe. */
if (new_notice.z_kind == SERVACK || new_notice.z_kind == SERVNAK) {