* Eberhard Mattes submitted a patch "According to RFC 4251,
a boolean value of true is encoded as 1, not as 0xff". Servers
should accept any non-zero value.
Bug: 1703472
diff --git a/ChangeLog b/ChangeLog
index fe9db7f..0967c9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-23 James Housley <jim@thehousleys.net>
+ * Eberhard Mattes submitted a patch "According to RFC 4251,
+ a boolean value of true is encoded as 1, not as 0xff". Servers
+ should accept any non-zero value.
+
2007-06-22 James Housley <jim@thehousleys.net>
* Guenter Knauf submitted code for windows to detect
if the socket is blocking or not.
diff --git a/src/channel.c b/src/channel.c
index 171e330..eb9f7a7 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -363,7 +363,7 @@
*(s++) = SSH_MSG_GLOBAL_REQUEST;
libssh2_htonu32(s, sizeof("tcpip-forward") - 1); s += 4;
memcpy(s, "tcpip-forward", sizeof("tcpip-forward") - 1); s += sizeof("tcpip-forward") - 1;
- *(s++) = 0xFF; /* want_reply */
+ *(s++) = 0x01; /* want_reply */
libssh2_htonu32(s, session->fwdLstn_host_len); s += 4;
memcpy(s, host ? host : "0.0.0.0", session->fwdLstn_host_len); s += session->fwdLstn_host_len;
@@ -629,7 +629,7 @@
libssh2_htonu32(s, sizeof("env") - 1); s += 4;
memcpy(s, "env", sizeof("env") - 1); s += sizeof("env") - 1;
- *(s++) = 0xFF;
+ *(s++) = 0x01;
libssh2_htonu32(s, varname_len); s += 4;
memcpy(s, varname, varname_len); s += varname_len;
@@ -721,7 +721,7 @@
libssh2_htonu32(s, sizeof("pty-req") - 1); s += 4;
memcpy(s, "pty-req", sizeof("pty-req") - 1); s += sizeof("pty-req") - 1;
- *(s++) = 0xFF;
+ *(s++) = 0x01;
libssh2_htonu32(s, term_len); s += 4;
if (term) {
@@ -829,8 +829,8 @@
libssh2_htonu32(s, sizeof("x11-req") - 1); s += 4;
memcpy(s, "x11-req", sizeof("x11-req") - 1); s += sizeof("x11-req") - 1;
- *(s++) = 0xFF; /* want_reply */
- *(s++) = single_connection ? 0xFF : 0x00;
+ *(s++) = 0x01; /* want_reply */
+ *(s++) = single_connection ? 0x01 : 0x00;
libssh2_htonu32(s, proto_len); s += 4;
memcpy(s, auth_proto ? auth_proto : "MIT-MAGIC-COOKIE-1", proto_len);
@@ -936,7 +936,7 @@
libssh2_htonu32(s, request_len); s += 4;
memcpy(s, request, request_len); s += request_len;
- *(s++) = 0xFF;
+ *(s++) = 0x01;
if (message) {
libssh2_htonu32(s, message_len); s += 4;
diff --git a/src/publickey.c b/src/publickey.c
index 7587546..6eda6c3 100644
--- a/src/publickey.c
+++ b/src/publickey.c
@@ -545,14 +545,14 @@
memcpy(pkey->add_s, name, name_len); pkey->add_s += name_len;
libssh2_htonu32(pkey->add_s, blob_len); pkey->add_s += 4;
memcpy(pkey->add_s, blob, blob_len); pkey->add_s += blob_len;
- *(pkey->add_s++) = overwrite ? 0xFF : 0;
+ *(pkey->add_s++) = overwrite ? 0x01 : 0;
libssh2_htonu32(pkey->add_s, num_attrs); pkey->add_s += 4;
for(i = 0; i < num_attrs; i++) {
libssh2_htonu32(pkey->add_s, attrs[i].name_len); pkey->add_s += 4;
memcpy(pkey->add_s, attrs[i].name, attrs[i].name_len); pkey->add_s += attrs[i].name_len;
libssh2_htonu32(pkey->add_s, attrs[i].value_len); pkey->add_s += 4;
memcpy(pkey->add_s, attrs[i].value, attrs[i].value_len); pkey->add_s += attrs[i].value_len;
- *(pkey->add_s++) = attrs[i].mandatory ? 0xFF : 0;
+ *(pkey->add_s++) = attrs[i].mandatory ? 0x01 : 0;
}
}
diff --git a/src/userauth.c b/src/userauth.c
index e1bc6ad..5c45957 100644
--- a/src/userauth.c
+++ b/src/userauth.c
@@ -291,7 +291,7 @@
libssh2_htonu32(s, sizeof("password") - 1); s += 4;
memcpy(s, "password", sizeof("password") - 1); s += sizeof("password") - 1;
- *s = 0xFF; s++;
+ *s = 0x01; s++;
libssh2_htonu32(s, password_len); s += 4;
memcpy(s, password, password_len); s += password_len;
@@ -807,7 +807,7 @@
return -1;
}
- *session->userauth_pblc_b = 0xFF;
+ *session->userauth_pblc_b = 0x01;
libssh2_htonu32(buf, session->session_id_len);
datavec[0].iov_base = buf;