Commit b9480620 authored by Nick Mathewson's avatar Nick Mathewson 👁
Browse files

Make log_fn work on apples with no workarounds needed in main code


svn:r330
parent df2789c1
......@@ -487,6 +487,12 @@ which reveals the downstream node.
cells, echo their contents to the corresponding TCP stream.
[XXX Mention zlib encoding. -NM]
5.2. Closing connections
[Note -- TCP streams can only be half-closed for reading. Our
Bickford's conversation was incorrect. -NM]
When one side of the TCP stream is closed, the corresponding edge
node sends a RELAY_END cell along the circuit; upon receiving a
RELAY_END cell, the edge node closes its side of the corresponding
......
......@@ -13,10 +13,13 @@
void log(int severity, const char *format, ...);
#ifdef __GNUC__
#define log_fn(severity, format) \
log((severity), "%s(): " format , __PRETTY_FUNCTION__)
#define log_fnf(severity, format, args...) \
log((severity), "%s(): " format , __PRETTY_FUNCTION__ , ##args)
#ifdef __APPLE_CPP__
#define log_fn(severity, args...) \
log((severity), __PRETTY_FUNCTION__ "(): " args)
#else
#define log_fn(severity, format, args...) \
log((severity), "%s(): " format, __PRETTY_FUNCTION__ , ##args)
#endif
#else
#define log_fn log
#define log_fnf log
......
......@@ -47,7 +47,7 @@ int learn_my_address(struct sockaddr_in *me) {
log_fn(LOG_ERR,"Error obtaining local hostname");
return -1;
}
log_fnf(LOG_DEBUG,"localhostname is '%s'.",localhostname);
log_fn(LOG_DEBUG,"localhostname is '%s'.",localhostname);
localhost = gethostbyname(localhostname);
if (!localhost) {
log_fn(LOG_ERR,"Error obtaining local host info.");
......@@ -57,7 +57,7 @@ int learn_my_address(struct sockaddr_in *me) {
me->sin_family = AF_INET;
memcpy((void *)&me->sin_addr,(void *)localhost->h_addr,sizeof(struct in_addr));
me->sin_port = htons(options.ORPort);
log_fnf(LOG_DEBUG,"chose address as '%s'.",inet_ntoa(me->sin_addr));
log_fn(LOG_DEBUG,"chose address as '%s'.",inet_ntoa(me->sin_addr));
return 0;
}
......@@ -69,7 +69,7 @@ void router_retry_connections(void) {
for (i=0;i<directory->n_routers;i++) {
router = directory->routers[i];
if(!connection_exact_get_by_addr_port(router->addr,router->or_port)) { /* not in the list */
log_fnf(LOG_DEBUG,"connecting to OR %s:%u.",router->address,router->or_port);
log_fn(LOG_DEBUG,"connecting to OR %s:%u.",router->address,router->or_port);
connection_or_connect(router);
}
}
......@@ -199,26 +199,26 @@ int router_get_list_from_file(char *routerfile)
assert(routerfile);
if (strcspn(routerfile,CONFIG_LEGAL_FILENAME_CHARACTERS) != 0) {
log_fnf(LOG_ERR,"Filename %s contains illegal characters.",routerfile);
log_fn(LOG_ERR,"Filename %s contains illegal characters.",routerfile);
return -1;
}
if(stat(routerfile, &statbuf) < 0) {
log_fnf(LOG_ERR,"Could not stat %s.",routerfile);
log_fn(LOG_ERR,"Could not stat %s.",routerfile);
return -1;
}
/* open the router list */
fd = open(routerfile,O_RDONLY,0);
if (fd<0) {
log_fnf(LOG_ERR,"Could not open %s.",routerfile);
log_fn(LOG_ERR,"Could not open %s.",routerfile);
return -1;
}
string = tor_malloc(statbuf.st_size+1);
if(read(fd,string,statbuf.st_size) != statbuf.st_size) {
log_fnf(LOG_ERR,"Couldn't read all %d bytes of file '%s'.",statbuf.st_size,routerfile);
log_fn(LOG_ERR,"Couldn't read all %d bytes of file '%s'.",statbuf.st_size,routerfile);
free(string);
close(fd);
return -1;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment