Commit 8c09923f authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge remote-tracking branch 'origin/maint-0.2.2'

parents 98a30daf 5bbf04dc
Loading
Loading
Loading
Loading

changes/bug5760

0 → 100644
+3 −0
Original line number Diff line number Diff line
  o Major bugfixes:
    - End AUTHCHALLENGE error response messages with a CRLF. Fixes bug 5760;
      bugfix on 0.2.3.16-alpha, and backported to maint-0.2.2
+5 −5
Original line number Diff line number Diff line
@@ -2986,13 +2986,13 @@ handle_control_authchallenge(control_connection_t *conn, uint32_t len,
    cp += strlen("SAFECOOKIE");
  } else {
    connection_write_str_to_buf("513 AUTHCHALLENGE only supports SAFECOOKIE "
                                "authentication", conn);
                                "authentication\r\n", conn);
    connection_mark_for_close(TO_CONN(conn));
    return -1;
  }

  if (!authentication_cookie_is_set) {
    connection_write_str_to_buf("515 Cookie authentication is disabled", conn);
    connection_write_str_to_buf("515 Cookie authentication is disabled\r\n", conn);
    connection_mark_for_close(TO_CONN(conn));
    return -1;
  }
@@ -3003,7 +3003,7 @@ handle_control_authchallenge(control_connection_t *conn, uint32_t len,
      decode_escaped_string(cp, len - (cp - body),
                            &client_nonce, &client_nonce_len);
    if (newcp == NULL) {
      connection_write_str_to_buf("513 Invalid quoted client nonce",
      connection_write_str_to_buf("513 Invalid quoted client nonce\r\n",
                                  conn);
      connection_mark_for_close(TO_CONN(conn));
      return -1;
@@ -3017,7 +3017,7 @@ handle_control_authchallenge(control_connection_t *conn, uint32_t len,

    if (base16_decode(client_nonce, client_nonce_len,
                      cp, client_nonce_encoded_len) < 0) {
      connection_write_str_to_buf("513 Invalid base16 client nonce",
      connection_write_str_to_buf("513 Invalid base16 client nonce\r\n",
                                  conn);
      connection_mark_for_close(TO_CONN(conn));
      tor_free(client_nonce);
@@ -3030,7 +3030,7 @@ handle_control_authchallenge(control_connection_t *conn, uint32_t len,
  cp += strspn(cp, " \t\n\r");
  if (*cp != '\0' ||
      cp != body + len) {
    connection_write_str_to_buf("513 Junk at end of AUTHCHALLENGE command",
    connection_write_str_to_buf("513 Junk at end of AUTHCHALLENGE command\r\n",
                                conn);
    connection_mark_for_close(TO_CONN(conn));
    tor_free(client_nonce);