From 4de9f45d6f24b991d6d30c2f85c1fc50604b8fd3 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 2 Oct 2006 22:13:37 +0000 Subject: r8850@totoro: nickm | 2006-10-02 17:21:11 -0400 Make TrackExitHosts case-insensitive, and fix the behavior of .suffix TrackExitHosts items to avoid matching in the middle of an address. (Resolves an XXXX) svn:r8579 --- src/or/circuituse.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/or/circuituse.c b/src/or/circuituse.c index 4ccd4c1be..092208b63 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -1120,14 +1120,13 @@ consider_recording_trackhost(edge_connection_t *conn, origin_circuit_t *circ) SMARTLIST_FOREACH(options->TrackHostExits, const char *, cp, { if (cp[0] == '.') { /* match end */ - /* XXX strstr is probably really bad here. */ - if ((str = strstr(conn->socks_request->address, &cp[1]))) { + if (!strcasecmpend(conn->socks_request->address, cp)) { if (str == conn->socks_request->address || strcmp(str, &cp[1]) == 0) { found_needle = 1; } } - } else if (strcmp(cp, conn->socks_request->address) == 0) { + } else if (strcasecmp(cp, conn->socks_request->address) == 0) { found_needle = 1; } }); -- cgit v1.2.3