From 55f2ab9cc3c8f2422576f2354d88afdcd9a88e71 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 18 Oct 2005 22:21:29 +0000 Subject: Migrate a few more files to domained logging svn:r5285 --- src/common/log.h | 14 +++++--- src/or/buffers.c | 93 +++++++++++++++++++++++++------------------------ src/or/control.c | 71 +++++++++++++++++-------------------- src/or/or.h | 4 ++- src/tools/tor-resolve.c | 23 ++++++------ 5 files changed, 102 insertions(+), 103 deletions(-) diff --git a/src/common/log.h b/src/common/log.h index 596bb1d99..c13566bac 100644 --- a/src/common/log.h +++ b/src/common/log.h @@ -51,12 +51,16 @@ #endif /* Logging domains */ -#define LD_GENERAL 0 -#define LD_CRYPTO 1 -#define LD_NET 2 -#define LD_CONFIG 3 -#define LD_FS 4 +#define LD_GENERAL 0 +#define LD_CRYPTO 1 +#define LD_NET 2 +#define LD_CONFIG 3 +#define LD_FS 4 #define LD_PROTOCOL 5 +#define LD_MM 6 +#define LD_HTTP 7 +#define LD_APP 8 +#define LD_CONTROL 9 typedef void (*log_callback)(int severity, int domain, const char *msg); diff --git a/src/or/buffers.c b/src/or/buffers.c index 15f5976ec..54e7e0812 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -12,6 +12,7 @@ const char buffers_c_id[] = "$Id$"; * memory, file descriptors, or TLS connections. **/ +#define NEW_LOG_INTERFACE #include "or.h" #define SENTINELS @@ -86,7 +87,7 @@ buf_normalize(buf_t *buf) } else { char *newmem, *oldmem; size_t sz = (buf->mem+buf->len)-buf->cur; - log_fn(LOG_WARN, "Unexpected non-normalized buffer."); + warn(LD_GENERAL, "Unexpected non-normalized buffer."); newmem = GUARDED_MEM(tor_malloc(ALLOC_LEN(buf->len))); SET_GUARDS(newmem, buf->len); memcpy(newmem, buf->cur, sz); @@ -259,8 +260,8 @@ buf_ensure_capacity(buf_t *buf, size_t capacity) while (new_len < capacity) new_len *= 2; /* Resize the buffer. */ - log_fn(LOG_DEBUG,"Growing buffer from %d to %d bytes.", - (int)buf->len, (int)new_len); + debug(LD_MM,"Growing buffer from %d to %d bytes.", + (int)buf->len, (int)new_len); buf_resize(buf,new_len); return 0; } @@ -284,7 +285,7 @@ buf_shrink(buf_t *buf) if (new_len == buf->len) return; - log_fn(LOG_DEBUG,"Shrinking buffer from %d to %d bytes.", + debug(LD_MM,"Shrinking buffer from %d to %d bytes.", (int)buf->len, (int)new_len); buf_resize(buf, new_len); } @@ -404,7 +405,7 @@ read_to_buf_impl(int s, size_t at_most, buf_t *buf, } return 0; /* would block. */ } else if (read_result == 0) { - log_fn(LOG_DEBUG,"Encountered eof"); + debug(LD_NET,"Encountered eof"); *reached_eof = 1; return 0; } else { /* we read some bytes */ @@ -412,7 +413,7 @@ read_to_buf_impl(int s, size_t at_most, buf_t *buf, buf_total_used += read_result; if (buf->datalen > buf->highwater) buf->highwater = buf->datalen; - log_fn(LOG_DEBUG,"Read %d bytes. %d on inbuf.",read_result, + debug(LD_NET,"Read %d bytes. %d on inbuf.",read_result, (int)buf->datalen); return read_result; } @@ -478,7 +479,7 @@ read_to_buf_tls_impl(tor_tls_t *tls, size_t at_most, buf_t *buf, char *next) { int r; - log_fn(LOG_DEBUG,"before: %d on buf, %d pending, at_most %d.", + debug(LD_NET,"before: %d on buf, %d pending, at_most %d.", (int)buf_datalen(buf), (int)tor_tls_get_pending_bytes(tls), (int)at_most); r = tor_tls_read(tls, next, at_most); @@ -488,7 +489,7 @@ read_to_buf_tls_impl(tor_tls_t *tls, size_t at_most, buf_t *buf, char *next) buf_total_used += r; if (buf->datalen > buf->highwater) buf->highwater = buf->datalen; - log_fn(LOG_DEBUG,"Read %d bytes. %d on inbuf; %d pending",r, + debug(LD_NET,"Read %d bytes. %d on inbuf; %d pending",r, (int)buf->datalen,(int)tor_tls_get_pending_bytes(tls)); return r; } @@ -522,7 +523,7 @@ read_to_buf_tls(tor_tls_t *tls, size_t at_most, buf_t *buf) tor_assert(tls); assert_buf_ok(buf); - log_fn(LOG_DEBUG,"start: %d on buf, %d pending, at_most %d.", + debug(LD_NET,"start: %d on buf, %d pending, at_most %d.", (int)buf_datalen(buf), (int)tor_tls_get_pending_bytes(tls), (int)at_most); @@ -572,7 +573,7 @@ flush_buf_impl(int s, buf_t *buf, size_t sz, size_t *buf_flushlen) if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */ return -1; } - log_fn(LOG_DEBUG,"write() would block, returning."); + debug(LD_NET,"write() would block, returning."); return 0; } else { *buf_flushlen -= write_result; @@ -610,7 +611,7 @@ flush_buf(int s, buf_t *buf, size_t *buf_flushlen) r = flush_buf_impl(s, buf, flushlen0, buf_flushlen); check(); - log_fn(LOG_DEBUG,"%d: flushed %d bytes, %d ready to flush, %d remain.", + debug(LD_NET,"%d: flushed %d bytes, %d ready to flush, %d remain.", s,r,(int)*buf_flushlen,(int)buf->datalen); if (r < 0 || (size_t)r < flushlen0) return r; /* Error, or can't flush any more now. */ @@ -620,7 +621,7 @@ flush_buf(int s, buf_t *buf, size_t *buf_flushlen) tor_assert(buf->cur == buf->mem); r = flush_buf_impl(s, buf, flushlen1, buf_flushlen); check(); - log_fn(LOG_DEBUG,"%d: flushed %d bytes, %d ready to flush, %d remain.", + debug(LD_NET,"%d: flushed %d bytes, %d ready to flush, %d remain.", s,r,(int)*buf_flushlen,(int)buf->datalen); if (r<0) return r; @@ -645,7 +646,7 @@ flush_buf_tls_impl(tor_tls_t *tls, buf_t *buf, size_t sz, size_t *buf_flushlen) } *buf_flushlen -= r; buf_remove_from_front(buf, r); - log_fn(LOG_DEBUG,"flushed %d bytes, %d ready to flush, %d remain.", + debug(LD_NET,"flushed %d bytes, %d ready to flush, %d remain.", r,(int)*buf_flushlen,(int)buf->datalen); return r; } @@ -705,7 +706,7 @@ write_to_buf(const char *string, size_t string_len, buf_t *buf) assert_buf_ok(buf); if (buf_ensure_capacity(buf, buf->datalen+string_len)) { - log_fn(LOG_WARN, "buflen too small, can't hold %d bytes.", (int)(buf->datalen+string_len)); + warn(LD_MM, "buflen too small, can't hold %d bytes.", (int)(buf->datalen+string_len)); return -1; } @@ -724,7 +725,7 @@ write_to_buf(const char *string, size_t string_len, buf_t *buf) } if (buf->datalen > buf->highwater) buf->highwater = buf->datalen; - log_fn(LOG_DEBUG,"added %d bytes to buf (now %d total).", + debug(LD_NET,"added %d bytes to buf (now %d total).", (int)string_len, (int)buf->datalen); check(); return buf->datalen; @@ -806,27 +807,27 @@ fetch_from_buf_http(buf_t *buf, buf_normalize(buf); if (buf_nul_terminate(buf)<0) { - log_fn(LOG_WARN,"Couldn't nul-terminate buffer"); + warn(LD_GENERAL,"Couldn't nul-terminate buffer"); return -1; } headers = buf->cur; body = strstr(headers,"\r\n\r\n"); if (!body) { - log_fn(LOG_DEBUG,"headers not all here yet."); + debug(LD_HTTP,"headers not all here yet."); return 0; } body += 4; /* Skip the the CRLFCRLF */ headerlen = body-headers; /* includes the CRLFCRLF */ bodylen = buf->datalen - headerlen; - log_fn(LOG_DEBUG,"headerlen %d, bodylen %d.", (int)headerlen, (int)bodylen); + debug(LD_HTTP,"headerlen %d, bodylen %d.", (int)headerlen, (int)bodylen); if (max_headerlen <= headerlen) { - log_fn(LOG_WARN,"headerlen %d larger than %d. Failing.", (int)headerlen, + warn(LD_HTTP,"headerlen %d larger than %d. Failing.", (int)headerlen, (int)max_headerlen-1); return -1; } if (max_bodylen <= bodylen) { - log_fn(LOG_WARN,"bodylen %d larger than %d. Failing.", (int)bodylen, (int)max_bodylen-1); + warn(LD_HTTP,"bodylen %d larger than %d. Failing.", (int)bodylen, (int)max_bodylen-1); return -1; } @@ -836,21 +837,21 @@ fetch_from_buf_http(buf_t *buf, int i; i = atoi(p+strlen(CONTENT_LENGTH)); if (i < 0) { - log_fn(LOG_WARN, "Content-Length is less than zero; it looks like someone is trying to crash us."); + warn(LD_PROTOCOL, "Content-Length is less than zero; it looks like someone is trying to crash us."); return -1; } contentlen = i; /* if content-length is malformed, then our body length is 0. fine. */ - log_fn(LOG_DEBUG,"Got a contentlen of %d.",(int)contentlen); + debug(LD_HTTP,"Got a contentlen of %d.",(int)contentlen); if (bodylen < contentlen) { if (!force_complete) { - log_fn(LOG_DEBUG,"body not all here yet."); + debug(LD_HTTP,"body not all here yet."); return 0; /* not all there yet */ } } if (bodylen > contentlen) { bodylen = contentlen; - log_fn(LOG_DEBUG,"bodylen reduced to %d.",(int)bodylen); + debug(LD_HTTP,"bodylen reduced to %d.",(int)bodylen); } } /* all happy. copy into the appropriate places, and return 1 */ @@ -917,7 +918,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) if (buf->datalen < 2u+nummethods) return 0; if (!nummethods || !memchr(buf->cur+2, 0, nummethods)) { - log_fn(LOG_WARN,"socks5: offered methods don't include 'no auth'. Rejecting."); + warn(LD_APP,"socks5: offered methods don't include 'no auth'. Rejecting."); req->replylen = 2; /* 2 bytes of response */ req->reply[0] = 5; req->reply[1] = '\xFF'; /* reject all methods */ @@ -929,24 +930,24 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) req->reply[0] = 5; /* socks5 reply */ req->reply[1] = SOCKS5_SUCCEEDED; req->socks_version = 5; /* remember that we've already negotiated auth */ - log_fn(LOG_DEBUG,"socks5: accepted method 0"); + debug(LD_APP,"socks5: accepted method 0"); return 0; } /* we know the method; read in the request */ - log_fn(LOG_DEBUG,"socks5: checking request"); + debug(LD_APP,"socks5: checking request"); if (buf->datalen < 8) /* basic info plus >=2 for addr plus 2 for port */ return 0; /* not yet */ req->command = (unsigned char) *(buf->cur+1); if (req->command != SOCKS_COMMAND_CONNECT && req->command != SOCKS_COMMAND_RESOLVE) { /* not a connect or resolve? we don't support it. */ - log_fn(LOG_WARN,"socks5: command %d not recognized. Rejecting.", + warn(LD_APP,"socks5: command %d not recognized. Rejecting.", req->command); return -1; } switch (*(buf->cur+3)) { /* address type */ case 1: /* IPv4 address */ - log_fn(LOG_DEBUG,"socks5: ipv4 address type"); + debug(LD_APP,"socks5: ipv4 address type"); if (buf->datalen < 10) /* ip/port there? */ return 0; /* not yet */ @@ -954,7 +955,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) in.s_addr = htonl(destip); tor_inet_ntoa(&in,tmpbuf,sizeof(tmpbuf)); if (strlen(tmpbuf)+1 > MAX_SOCKS_ADDR_LEN) { - log_fn(LOG_WARN,"socks5 IP takes %d bytes, which doesn't fit in %d. Rejecting.", + warn(LD_APP,"socks5 IP takes %d bytes, which doesn't fit in %d. Rejecting.", (int)strlen(tmpbuf)+1,(int)MAX_SOCKS_ADDR_LEN); return -1; } @@ -963,17 +964,17 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) buf_remove_from_front(buf, 10); if (!address_is_in_virtual_range(req->address) && !have_warned_about_unsafe_socks) { - log_fn(LOG_WARN,"Your application (using socks5 on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead. For more information, please see http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#SOCKSAndDNS", req->port); + warn(LD_APP,"Your application (using socks5 on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead. For more information, please see http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#SOCKSAndDNS", req->port); // have_warned_about_unsafe_socks = 1; // (for now, warn every time) } return 1; case 3: /* fqdn */ - log_fn(LOG_DEBUG,"socks5: fqdn address type"); + debug(LD_APP,"socks5: fqdn address type"); len = (unsigned char)*(buf->cur+4); if (buf->datalen < 7u+len) /* addr/port there? */ return 0; /* not yet */ if (len+1 > MAX_SOCKS_ADDR_LEN) { - log_fn(LOG_WARN,"socks5 hostname is %d bytes, which doesn't fit in %d. Rejecting.", + warn(LD_APP,"socks5 hostname is %d bytes, which doesn't fit in %d. Rejecting.", len+1,MAX_SOCKS_ADDR_LEN); return -1; } @@ -983,7 +984,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) buf_remove_from_front(buf, 5+len+2); return 1; default: /* unsupported */ - log_fn(LOG_WARN,"socks5: unsupported address type %d. Rejecting.",*(buf->cur+3)); + warn(LD_APP,"socks5: unsupported address type %d. Rejecting.",*(buf->cur+3)); return -1; } tor_assert(0); @@ -999,7 +1000,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) if (req->command != SOCKS_COMMAND_CONNECT && req->command != SOCKS_COMMAND_RESOLVE) { /* not a connect or resolve? we don't support it. */ - log_fn(LOG_WARN,"socks4: command %d not recognized. Rejecting.", + warn(LD_APP,"socks4: command %d not recognized. Rejecting.", req->command); return -1; } @@ -1007,26 +1008,26 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) req->port = ntohs(*(uint16_t*)(buf->cur+2)); destip = ntohl(*(uint32_t*)(buf->mem+4)); if ((!req->port && req->command!=SOCKS_COMMAND_RESOLVE) || !destip) { - log_fn(LOG_WARN,"socks4: Port or DestIP is zero. Rejecting."); + warn(LD_APP,"socks4: Port or DestIP is zero. Rejecting."); return -1; } if (destip >> 8) { - log_fn(LOG_DEBUG,"socks4: destip not in form 0.0.0.x."); + debug(LD_APP,"socks4: destip not in form 0.0.0.x."); in.s_addr = htonl(destip); tor_inet_ntoa(&in,tmpbuf,sizeof(tmpbuf)); if (strlen(tmpbuf)+1 > MAX_SOCKS_ADDR_LEN) { - log_fn(LOG_WARN,"socks4 addr (%d bytes) too long. Rejecting.", + debug(LD_APP,"socks4 addr (%d bytes) too long. Rejecting.", (int)strlen(tmpbuf)); return -1; } - log_fn(LOG_DEBUG,"socks4: successfully read destip (%s)", safe_str(tmpbuf)); + debug(LD_APP,"socks4: successfully read destip (%s)", safe_str(tmpbuf)); socks4_prot = socks4; } next = memchr(buf->cur+SOCKS4_NETWORK_LEN, 0, buf->datalen-SOCKS4_NETWORK_LEN); if (!next) { - log_fn(LOG_DEBUG,"socks4: Username not here yet."); + debug(LD_APP,"socks4: Username not here yet."); return 0; } tor_assert(next < buf->cur+buf->datalen); @@ -1035,27 +1036,27 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) if (socks4_prot != socks4a && !address_is_in_virtual_range(tmpbuf) && !have_warned_about_unsafe_socks) { - log_fn(LOG_WARN,"Your application (using socks4 on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.", req->port); + warn(LD_APP,"Your application (using socks4 on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.", req->port); // have_warned_about_unsafe_socks = 1; // (for now, warn every time) } if (socks4_prot == socks4a) { if (next+1 == buf->cur+buf->datalen) { - log_fn(LOG_DEBUG,"socks4: No part of destaddr here yet."); + debug(LD_APP,"socks4: No part of destaddr here yet."); return 0; } startaddr = next+1; next = memchr(startaddr, 0, buf->cur+buf->datalen-startaddr); if (!next) { - log_fn(LOG_DEBUG,"socks4: Destaddr not all here yet."); + debug(LD_APP,"socks4: Destaddr not all here yet."); return 0; } if (MAX_SOCKS_ADDR_LEN <= next-startaddr) { - log_fn(LOG_WARN,"socks4: Destaddr too long. Rejecting."); + warn(LD_APP,"socks4: Destaddr too long. Rejecting."); return -1; } tor_assert(next < buf->cur+buf->datalen); } - log_fn(LOG_DEBUG,"socks4: Everything is here. Success."); + debug(LD_APP,"socks4: Everything is here. Success."); strlcpy(req->address, startaddr ? startaddr : tmpbuf, sizeof(req->address)); buf_remove_from_front(buf, next-buf->cur+1); /* next points to the final \0 on inbuf */ @@ -1089,7 +1090,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req) req->replylen = strlen(req->reply)+1; /* fall through */ default: /* version is not socks4 or socks5 */ - log_fn(LOG_WARN,"Socks version %d not recognized. (Tor is not an http proxy.)", + warn(LD_APP,"Socks version %d not recognized. (Tor is not an http proxy.)", *(buf->cur)); return -1; } diff --git a/src/or/control.c b/src/or/control.c index 545e767fd..a3c65d64f 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -8,6 +8,7 @@ const char control_c_id[] = "$Id$"; * \brief Implementation for Tor's control-socket interface. **/ +#define NEW_LOG_INTERFACE #include "or.h" #define STATE_IS_OPEN(s) ((s) == CONTROL_CONN_STATE_OPEN_V0 || \ @@ -691,7 +692,7 @@ control_setconf_helper(connection_t *conn, uint32_t len, char *body, *outp = '\0'; if (config_get_lines(config, &lines) < 0) { - log_fn(LOG_WARN,"Controller gave us config lines we can't parse."); + warn(LD_CONTROL,"Controller gave us config lines we can't parse."); connection_write_str_to_buf("551 Couldn't parse configuration\r\n", conn); tor_free(config); return 0; @@ -699,7 +700,7 @@ control_setconf_helper(connection_t *conn, uint32_t len, char *body, tor_free(config); } else { if (config_get_lines(body, &lines) < 0) { - log_fn(LOG_WARN,"Controller gave us config lines we can't parse."); + warn(LD_CONTROL,"Controller gave us config lines we can't parse."); send_control0_error(conn, ERR_SYNTAX, "Couldn't parse configuration"); return 0; } @@ -708,7 +709,7 @@ control_setconf_helper(connection_t *conn, uint32_t len, char *body, if ((r=options_trial_assign(lines, use_defaults, clear_first)) < 0) { int v0_err; const char *msg; - log_fn(LOG_WARN,"Controller gave us config lines that didn't validate."); + warn(LD_CONTROL,"Controller gave us config lines that didn't validate."); switch (r) { case -1: v0_err = ERR_UNRECOGNIZED_CONFIG_KEY; @@ -1003,7 +1004,7 @@ handle_control_authenticate(connection_t *conn, uint32_t len, const char *body) char expected[S2K_SPECIFIER_LEN+DIGEST_LEN]; char received[DIGEST_LEN]; if (decode_hashed_password(expected, options->HashedControlPassword)<0) { - log_fn(LOG_WARN,"Couldn't decode HashedControlPassword: invalid base16"); + warn(LD_CONTROL,"Couldn't decode HashedControlPassword: invalid base16"); goto err; } secret_to_key(received,DIGEST_LEN,password,password_len,expected); @@ -1028,7 +1029,7 @@ handle_control_authenticate(connection_t *conn, uint32_t len, const char *body) } return 0; ok: - log_fn(LOG_INFO, "Authenticated control connection (%d)", conn->s); + info(LD_CONTROL, "Authenticated control connection (%d)", conn->s); send_control_done(conn); if (STATE_IS_V0(conn->state)) conn->state = CONTROL_CONN_STATE_OPEN_V0; @@ -1144,17 +1145,17 @@ handle_control_mapaddress(connection_t *conn, uint32_t len, const char *body) const char *from = smartlist_get(elts,0); const char *to = smartlist_get(elts,1); if (!is_plausible_address(from)) { - log_fn(LOG_WARN,"Skipping invalid argument '%s' in MapAddress msg",from); + warn(LD_CONTROL,"Skipping invalid argument '%s' in MapAddress msg",from); } else if (!is_plausible_address(to)) { - log_fn(LOG_WARN,"Skipping invalid argument '%s' in MapAddress msg",to); + warn(LD_CONTROL,"Skipping invalid argument '%s' in MapAddress msg",to); } else if (!strcmp(from, ".") || !strcmp(from, "0.0.0.0")) { const char *address = addressmap_register_virtual_address( !strcmp(from,".") ? RESOLVED_TYPE_HOSTNAME : RESOLVED_TYPE_IPV4, tor_strdup(to)); if (!address) { - log_fn(LOG_WARN, - "Unable to allocate address for '%s' in MapAddress msg", - safe_str(line)); + warn(LD_CONTROL, + "Unable to allocate address for '%s' in MapAddress msg", + safe_str(line)); } else { size_t anslen = strlen(address)+strlen(to)+8; char *ans = tor_malloc(anslen); @@ -1176,7 +1177,7 @@ handle_control_mapaddress(connection_t *conn, uint32_t len, const char *body) } } } else { - log_fn(LOG_WARN, "Skipping MapAddress line with wrong number of items."); + warn(LD_CONTROL, "Skipping MapAddress line with wrong number of items."); } SMARTLIST_FOREACH(elts, char *, cp, tor_free(cp)); smartlist_clear(elts); @@ -1326,7 +1327,7 @@ handle_getinfo_helper(const char *question, char **answer) case AP_CONN_STATE_OPEN: state = "SUCCEEDED"; break; default: - log_fn(LOG_WARN, "Asked for stream in unknown state %d", + warn(LD_GENERAL, "Asked for stream in unknown state %d", conns[i]->state); continue; } @@ -1585,7 +1586,7 @@ handle_control_extendcircuit(connection_t *conn, uint32_t len, if (circ->state == CIRCUIT_STATE_OPEN) { circ->state = CIRCUIT_STATE_BUILDING; if (circuit_send_next_onion_skin(circ) < 0) { - log_fn(LOG_INFO,"send_next_onion_skin failed; circuit marked for closing."); + info(LD_CONTROL,"send_next_onion_skin failed; circuit marked for closing."); circuit_mark_for_close(circ); if (v0) send_control0_error(conn, ERR_INTERNAL, "couldn't send onion skin"); @@ -1895,8 +1896,8 @@ handle_control_closecircuit(connection_t *conn, uint32_t len, if (!strcasecmp(smartlist_get(args, i), "IfUnused")) safe = 1; else - log_fn(LOG_INFO, "Skipping unknown option %s", - (char*)smartlist_get(args,i)); + info(LD_CONTROL, "Skipping unknown option %s", + (char*)smartlist_get(args,i)); } } SMARTLIST_FOREACH(args, char *, cp, tor_free(cp)); @@ -1924,7 +1925,7 @@ handle_control_fragments(connection_t *conn, uint16_t command_type, { if (command_type == CONTROL0_CMD_FRAGMENTHEADER) { if (conn->incoming_cmd) { - log_fn(LOG_WARN, "Dropping incomplete fragmented command"); + warn(LD_CONTROL, "Dropping incomplete fragmented command"); tor_free(conn->incoming_cmd); } if (body_len < 6) { @@ -1976,7 +1977,7 @@ connection_control_reached_eof(connection_t *conn) tor_assert(conn); tor_assert(conn->type == CONN_TYPE_CONTROL); - log_fn(LOG_INFO,"Control connection reached EOF. Closing."); + info(LD_CONTROL,"Control connection reached EOF. Closing."); connection_mark_for_close(conn); return 0; } @@ -2049,10 +2050,6 @@ connection_control_process_inbuf_v1(connection_t *conn) && !TOR_ISSPACE(conn->incoming_cmd[cmd_len])) ++cmd_len; - /* - log_fn(LOG_NOTICE, "READ A COMMAND FROM THE BUFFER: <%s> [%d]", - conn->incoming_cmd, (int)cmd_len); - */ data_len -= cmd_len; conn->incoming_cmd[cmd_len]='\0'; args = conn->incoming_cmd+cmd_len+1; @@ -2060,10 +2057,6 @@ connection_control_process_inbuf_v1(connection_t *conn) ++args; --data_len; } - /* - log_fn(LOG_NOTICE, "COMMAND IS: <%s>", conn->incoming_cmd); - log_fn(LOG_NOTICE, "ARGS ARE: <%s>", args); - */ if (!strcasecmp(conn->incoming_cmd, "QUIT")) { connection_write_str_to_buf("250 closing connection\r\n", conn); @@ -2149,13 +2142,13 @@ connection_control_process_inbuf_v0(connection_t *conn) { case -2: tor_free(body); - log_fn(LOG_INFO, "Detected v1 control protocol on connection (fd %d)", - conn->s); + info(LD_CONTROL, "Detected v1 control protocol on connection (fd %d)", + conn->s); conn->state = CONTROL_CONN_STATE_NEEDAUTH_V1; return connection_control_process_inbuf_v1(conn); case -1: tor_free(body); - log_fn(LOG_WARN, "Error in control command. Failing."); + warn(LD_CONTROL, "Error in control command. Failing."); return -1; case 0: /* Control command not all here yet. Wait. */ @@ -2171,8 +2164,8 @@ connection_control_process_inbuf_v0(connection_t *conn) * commands will be considered. */ if (conn->state == CONTROL_CONN_STATE_NEEDAUTH_V0 && command_type != CONTROL0_CMD_AUTHENTICATE) { - log_fn(LOG_WARN, "Rejecting '%s' command; authentication needed.", - control_cmd_to_string(command_type)); + info(LD_CONTROL, "Rejecting '%s' command; authentication needed.", + control_cmd_to_string(command_type)); send_control0_error(conn, ERR_UNAUTHORIZED, "Authentication required"); tor_free(body); goto again; @@ -2191,7 +2184,7 @@ connection_control_process_inbuf_v0(connection_t *conn) body = conn->incoming_cmd; conn->incoming_cmd = NULL; } else if (conn->incoming_cmd) { - log_fn(LOG_WARN, "Dropping incomplete fragmented command"); + warn(LD_CONTROL, "Dropping incomplete fragmented command"); tor_free(conn->incoming_cmd); } @@ -2259,17 +2252,17 @@ connection_control_process_inbuf_v0(connection_t *conn) case CONTROL0_CMD_CONFVALUE: case CONTROL0_CMD_EVENT: case CONTROL0_CMD_INFOVALUE: - log_fn(LOG_WARN, "Received client-only '%s' command; ignoring.", + warn(LD_CONTROL, "Received client-only '%s' command; ignoring.", control_cmd_to_string(command_type)); send_control0_error(conn, ERR_UNRECOGNIZED_TYPE, "Command type only valid from server to tor client"); break; case CONTROL0_CMD_FRAGMENTHEADER: case CONTROL0_CMD_FRAGMENT: - log_fn(LOG_WARN, "Recieved command fragment out of order; ignoring."); + warn(LD_CONTROL, "Recieved command fragment out of order; ignoring."); send_control0_error(conn, ERR_SYNTAX, "Bad fragmentation on command."); default: - log_fn(LOG_WARN, "Received unrecognized command type %d; ignoring.", + warn(LD_CONTROL, "Received unrecognized command type %d; ignoring.", (int)command_type); send_control0_error(conn, ERR_UNRECOGNIZED_TYPE, "Unrecognized command type"); @@ -2325,7 +2318,7 @@ control_event_circuit_status(circuit_t *circ, circuit_status_event_t tp) case CIRC_EVENT_FAILED: status = "FAILED"; break; case CIRC_EVENT_CLOSED: status = "CLOSED"; break; default: - log_fn(LOG_WARN, "Unrecognized status code %d", (int)tp); + warn(LD_GENERAL, "Unrecognized status code %d", (int)tp); return 0; } send_control1_event(EVENT_CIRCUIT_STATUS, @@ -2396,7 +2389,7 @@ control_event_stream_status(connection_t *conn, stream_status_event_t tp) case STREAM_EVENT_NEW_RESOLVE: status = "NEWRESOLVE"; break; case STREAM_EVENT_FAILED_RETRIABLE: status = "DETACHED"; break; default: - log_fn(LOG_WARN, "Unrecognized status code %d", (int)tp); + warn(LD_GENERAL, "Unrecognized status code %d", (int)tp); return 0; } circ = circuit_get_by_edge_conn(conn); @@ -2438,7 +2431,7 @@ control_event_or_conn_status(connection_t *conn,or_conn_status_event_t tp) case OR_CONN_EVENT_FAILED: status = "FAILED"; break; case OR_CONN_EVENT_CLOSED: status = "CLOSED"; break; default: - log_fn(LOG_WARN, "Unrecognized status code %d", (int)tp); + warn(LD_GENERAL, "Unrecognized status code %d", (int)tp); return 0; } send_control1_event(EVENT_OR_CONN_STATUS, @@ -2490,7 +2483,7 @@ enable_control_logging(void) /** We got a log message: tell any interested control connections. */ void -control_event_logmsg(int severity, const char *msg) +control_event_logmsg(int severity, int domain, const char *msg) { int oldlog, event; @@ -2615,7 +2608,7 @@ init_cookie_authentication(int enabled) authentication_cookie_is_set = 1; if (write_bytes_to_file(fname, authentication_cookie, AUTHENTICATION_COOKIE_LEN, 1)) { - log_fn(LOG_WARN,"Error writing authentication cookie."); + warn(LD_FS,"Error writing authentication cookie."); return -1; } diff --git a/src/or/or.h b/src/or/or.h index dd4a7feeb..77a1b2f4e 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -133,7 +133,9 @@ #include "../common/crypto.h" #include "../common/tortls.h" +#ifndef NEW_LOG_INTERFACE #define OLD_LOG_INTERFACE +#endif #include "../common/log.h" #include "../common/compat.h" #include "../common/container.h" @@ -1718,7 +1720,7 @@ int control_event_circuit_status(circuit_t *circ, circuit_status_event_t e); int control_event_stream_status(connection_t *conn, stream_status_event_t e); int control_event_or_conn_status(connection_t *conn, or_conn_status_event_t e); int control_event_bandwidth_used(uint32_t n_read, uint32_t n_written); -void control_event_logmsg(int severity, const char *msg); +void control_event_logmsg(int severity, int domain, const char *msg); int control_event_descriptors_changed(smartlist_t *routers); int control_event_address_mapped(const char *from, const char *to,time_t expires); diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c index fab7945dc..7af279af1 100644 --- a/src/tools/tor-resolve.c +++ b/src/tools/tor-resolve.c @@ -4,7 +4,6 @@ #include "orconfig.h" -#define OLD_LOG_INTERFACE #include "../common/compat.h" #include "../common/util.h" #include "../common/log.h" @@ -41,8 +40,8 @@ #endif #define RESPONSE_LEN 8 -#define log_sock_error(act, _s) \ - do { log_fn(LOG_ERR, "Error while %s: %s", act, \ +#define log_sock_error(act, _s) \ + do { log_fn(LOG_ERR, LD_NET, "Error while %s: %s", act, \ tor_socket_strerror(tor_socket_errno(_s))); } while (0) /** Set *out to a newly allocated SOCKS4a resolve request with @@ -83,20 +82,20 @@ parse_socks4a_resolve_response(const char *response, size_t len, tor_assert(addr_out); if (len < RESPONSE_LEN) { - log_fn(LOG_WARN,"Truncated socks response."); + warn(LD_PROTOCOL,"Truncated socks response."); return -1; } if (((uint8_t)response[0])!=0) { /* version: 0 */ - log_fn(LOG_WARN,"Nonzero version in socks response: bad format."); + warn(LD_PROTOCOL,"Nonzero version in socks response: bad format."); return -1; } status = (uint8_t)response[1]; if (get_uint16(response+2)!=0) { /* port: 0 */ - log_fn(LOG_WARN,"Nonzero port in socks response: bad format."); + warn(LD_PROTOCOL,"Nonzero port in socks response: bad format."); return -1; } if (status != 90) { - log_fn(LOG_WARN,"Got status response '%d': socks request failed.", status); + warn(LD_NET,"Got status response '%d': socks request failed.", status); return -1; } @@ -137,7 +136,7 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, } if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) { - log_fn(LOG_ERR, "Error generating SOCKS request"); + err("Error generating SOCKS request"); return -1; } @@ -158,7 +157,7 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, while (len < RESPONSE_LEN) { r = recv(s, response_buf+len, RESPONSE_LEN-len, 0); if (r==0) { - log_fn(LOG_WARN,"EOF while reading SOCKS response"); + warn(LD_NET,"EOF while reading SOCKS response"); return -1; } if (r<0) { @@ -213,7 +212,7 @@ main(int argc, char **argv) add_stream_log(LOG_WARN, LOG_ERR, "", stderr); } if (n_args == 1) { - log_fn(LOG_DEBUG, "defaulting to localhost:9050"); + debug(LD_CONFIG, "defaulting to localhost:9050"); sockshost = 0x7f000001u; /* localhost */ socksport = 9050; /* 9050 */ } else if (n_args == 2) { @@ -222,7 +221,7 @@ main(int argc, char **argv) return 1; } if (socksport == 0) { - log_fn(LOG_DEBUG, "defaulting to port 9050"); + debug(LD_CONFIG, "defaulting to port 9050"); socksport = 9050; } } else { @@ -237,7 +236,7 @@ main(int argc, char **argv) } if (network_init()<0) { - log_fn(LOG_ERR,"Error initializing network; exiting."); + err("Error initializing network; exiting."); return 1; } -- cgit v1.2.3