Commit 4ce60dab authored by Nick Mathewson's avatar Nick Mathewson 🥔
Browse files

Resolve inconsistencies between buf refactor and HTTP connect

parent 73b0e2e6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@
#include "main.h"
#include "nodelist.h"
#include "policies.h"
#include "proto_http.h"
#include "proto_socks.h"
#include "reasons.h"
#include "relay.h"
@@ -2516,7 +2517,7 @@ connection_ap_process_http_connect(entry_connection_t *conn)
  if (BUG(errmsg == NULL))
    errmsg = "HTTP/1.0 400 Bad Request\r\n\r\n";
  log_warn(LD_EDGE, "Saying %s", escaped(errmsg));
  connection_write_to_buf(errmsg, strlen(errmsg), ENTRY_TO_CONN(conn));
  connection_buf_add(errmsg, strlen(errmsg), ENTRY_TO_CONN(conn));
  connection_mark_unattached_ap(conn,
                                END_STREAM_REASON_HTTPPROTOCOL|
                                END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED);
@@ -3159,7 +3160,7 @@ connection_ap_handshake_socks_reply(entry_connection_t *conn, char *reply,
    if (!response) {
      response = "HTTP/1.0 400 Bad Request\r\n\r\n";
    }
    connection_write_to_buf(response, strlen(response), ENTRY_TO_CONN(conn));
    connection_buf_add(response, strlen(response), ENTRY_TO_CONN(conn));
  } else if (conn->socks_request->socks_version == 4) {
    memset(buf,0,SOCKS4_NETWORK_LEN);
    buf[1] = (status==SOCKS5_SUCCEEDED ? SOCKS4_GRANTED : SOCKS4_REJECT);
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include "config.h"
#include "connection.h"
#include "connection_edge.h"
#include "proto_socks.h"
#include "torlog.h"

#include "fuzzing.h"