Commit 1efd3774 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

Fix a bug in 0.1.2.2-alpha that prevented clients from asking

to resolve an address at a given exit node even when they ask for
it by name.


svn:r9095
parent 7217f3ca
Loading
Loading
Loading
Loading
+3 −0
Changes for ChangeLog: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
    - Fix a bug on the Windows implementation of tor_mmap_file that
      would prevent the cached-routers file from ever loading. (reported by
      John Kimble.)
    - Fix a bug in 0.1.2.2-alpha that prevented clients from asking
      to resolve an address at a given exit node even when they ask for
      it by name.

  o Security bugfixes:
    - Do not log introduction points for hidden services if SafeLogging
+1 −1
Changes for src/or/circuituse.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -1182,7 +1182,7 @@ connection_ap_handshake_attach_circuit(edge_connection_t *conn)
        }
        return -1;
      }
      if (conn->_base.purpose != EXIT_PURPOSE_RESOLVE &&
      if (!SOCKS_COMMAND_IS_RESOLVE(conn->socks_request->command) &&
          !connection_ap_can_use_exit(conn, router)) {
        log_fn(opt ? LOG_INFO : LOG_WARN, LD_APP,
               "Requested exit point '%s' would refuse request. %s.",
+4 −0
Changes for src/or/or.h: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -1712,6 +1712,10 @@ static INLINE void or_state_mark_dirty(or_state_t *state, time_t when)
#define SOCKS_COMMAND_CONNECT 0x01
#define SOCKS_COMMAND_RESOLVE 0xF0
#define SOCKS_COMMAND_RESOLVE_PTR 0xF1

#define SOCKS_COMMAND_IS_RESOLVE(c) ((c)==SOCKS_COMMAND_RESOLVE || \
                                     (c)==SOCKS_COMMAND_RESOLVE_PTR)

/** State of a SOCKS request from a user to an OP */
struct socks_request_t {
  char socks_version; /**< Which version of SOCKS did the client use? */