diff options
author | trociny <trociny@FreeBSD.org> | 2013-12-10 20:09:49 +0000 |
---|---|---|
committer | trociny <trociny@FreeBSD.org> | 2013-12-10 20:09:49 +0000 |
commit | 885a4376b6245b0f13e45b17052b4662cf446631 (patch) | |
tree | fea45f10019f58245a133a6cccc69ad15ddee937 /sbin | |
parent | 7a816c7150b0046af6a022ef1d7d427ac8e39c7e (diff) | |
download | FreeBSD-src-885a4376b6245b0f13e45b17052b4662cf446631.zip FreeBSD-src-885a4376b6245b0f13e45b17052b4662cf446631.tar.gz |
Check remote protocol version only for the first connection (when it
is actually sent by the remote node).
Otherwise it generated confusing "Negotiated protocol version 1" debug
messages when processing the second connection.
MFC after: 2 weeks
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/hastd/hastd.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sbin/hastd/hastd.c b/sbin/hastd/hastd.c index 06b38e9..bac390a 100644 --- a/sbin/hastd/hastd.c +++ b/sbin/hastd/hastd.c @@ -806,12 +806,6 @@ listen_accept(struct hastd_listen *lst) */ version = 1; } - if (version > HAST_PROTO_VERSION) { - pjdlog_info("Remote protocol version %hhu is not supported, falling back to version %hhu.", - version, (unsigned char)HAST_PROTO_VERSION); - version = HAST_PROTO_VERSION; - } - pjdlog_debug(1, "Negotiated protocol version %hhu.", version); token = nv_get_uint8_array(nvin, &size, "token"); /* * NULL token means that this is first connection. @@ -925,6 +919,12 @@ listen_accept(struct hastd_listen *lst) */ if (token == NULL) { + if (version > HAST_PROTO_VERSION) { + pjdlog_info("Remote protocol version %hhu is not supported, falling back to version %hhu.", + version, (unsigned char)HAST_PROTO_VERSION); + version = HAST_PROTO_VERSION; + } + pjdlog_debug(1, "Negotiated protocol version %hhu.", version); res->hr_version = version; arc4random_buf(res->hr_token, sizeof(res->hr_token)); nvout = nv_alloc(); |