diff options
author | Jeffrey Hutzelman <jhutz@cmu.edu> | 2013-02-11 23:39:44 -0500 |
---|---|---|
committer | Jeffrey Hutzelman <jhutz@cmu.edu> | 2013-02-14 19:57:32 -0500 |
commit | f473694b272b517e13d14d85916c43c6b03ddda4 (patch) | |
tree | dd5593ef3e13cca0a5aeced07497b1f888289a23 /server/dispatch.c | |
parent | f8fd0932c84b1642a71f78ad72e87d1842a1d2ab (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
Diffstat (limited to 'server/dispatch.c')
-rw-r--r-- | server/dispatch.c | 6 |
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) { |