diff --git a/src/adc/message.c b/src/adc/message.c
index 46d03f1..1452640 100644
--- a/src/adc/message.c
+++ b/src/adc/message.c
@@ -244,7 +244,7 @@ struct adc_message* adc_msg_parse_verify(struct user* u, const char* line, size_
if (command->source && (!u || command->source != u->id.sid))
{
- hub_log(log_debug, "Command does not match user's SID (command->source=%d, user->id.sid=%d)", command->source, (u ? u->id.sid : 0));
+ LOG_DEBUG("Command does not match user's SID (command->source=%d, user->id.sid=%d)", command->source, (u ? u->id.sid : 0));
adc_msg_free(command);
return 0;
}
@@ -268,7 +268,7 @@ struct adc_message* adc_msg_parse(const char* line, size_t length)
if (!is_printable_utf8(line, length))
{
- hub_log(log_debug, "Dropped message with non-printable UTF-8 characters.");
+ LOG_DEBUG("Dropped message with non-printable UTF-8 characters.");
hub_free(command);
return NULL;
}
@@ -520,7 +520,6 @@ int adc_msg_remove_named_argument(struct adc_message* cmd, const char prefix_[2]
{
temp_len = &end[0] - &start[0]; // strlen(start);
- /* hub_log(log_trace, " length=%d", (int) (temp_len)); */
endlen = strlen(end);
memmove(start, end, endlen);
diff --git a/src/core/auth.c b/src/core/auth.c
index 6d94b46..ac6bcb0 100644
--- a/src/core/auth.c
+++ b/src/core/auth.c
@@ -55,12 +55,12 @@ static int check_cmd_bool(const char* cmd, struct linked_list* list, char* line,
data = strip_white_space(data);
if (!*data)
{
- hub_log(log_fatal, "ACL parse error on line %d", line_count);
+ LOG_FATAL("ACL parse error on line %d", line_count);
return -1;
}
list_append(list, hub_strdup(data));
- hub_log(log_debug, "ACL: Deny access for: '%s' (%s)", data, cmd);
+ LOG_DEBUG("ACL: Deny access for: '%s' (%s)", data, cmd);
return 1;
}
return 0;
@@ -82,7 +82,7 @@ static int check_cmd_user(const char* cmd, int status, struct linked_list* list,
data = strip_white_space(data);
if (!*data)
{
- hub_log(log_fatal, "ACL parse error on line %d", line_count);
+ LOG_FATAL("ACL parse error on line %d", line_count);
return -1;
}
@@ -90,7 +90,7 @@ static int check_cmd_user(const char* cmd, int status, struct linked_list* list,
if (!info)
{
- hub_log(log_error, "ACL parse error. Out of memory!");
+ LOG_ERROR("ACL parse error. Out of memory!");
return -1;
}
@@ -108,7 +108,7 @@ static int check_cmd_user(const char* cmd, int status, struct linked_list* list,
info->password = data_extra ? hub_strdup(data_extra) : 0;
info->status = status;
list_append(list, info);
- hub_log(log_debug, "ACL: Added user '%s' (%s)", info->username, get_user_credential_string(info->status));
+ LOG_DEBUG("ACL: Added user '%s' (%s)", info->username, get_user_credential_string(info->status));
return 1;
}
return 0;
@@ -130,7 +130,7 @@ static void add_ip_range(struct linked_list* list, struct ip_ban_record* info)
net_address_to_string(AF_INET6, &info->lo.internal_ip_data.in6, buf1, INET6_ADDRSTRLEN);
net_address_to_string(AF_INET6, &info->hi.internal_ip_data.in6, buf2, INET6_ADDRSTRLEN);
}
- hub_log(log_debug, "ACL: Deny access for: %s-%s", buf1, buf2);
+ LOG_DEBUG("ACL: Deny access for: %s-%s", buf1, buf2);
list_append(list, info);
}
@@ -157,7 +157,7 @@ static int check_ip_range(const char* lo, const char* hi, struct ip_ban_record*
static int check_ip_mask(const char* text_addr, int bits, struct ip_ban_record* info)
{
- hub_log(log_debug, "ACL: Deny access for: %s/%d", text_addr, bits);
+ LOG_DEBUG("ACL: Deny access for: %s/%d", text_addr, bits);
if (ip_is_valid_ipv4(text_addr) ||
ip_is_valid_ipv6(text_addr))
@@ -194,7 +194,7 @@ static int check_cmd_addr(const char* cmd, struct linked_list* list, char* line,
data1 = strip_white_space(data1);
if (!*data1)
{
- hub_log(log_fatal, "ACL parse error on line %d", line_count);
+ LOG_FATAL("ACL parse error on line %d", line_count);
return -1;
}
@@ -202,7 +202,7 @@ static int check_cmd_addr(const char* cmd, struct linked_list* list, char* line,
if (!info)
{
- hub_log(log_error, "ACL parse error. Out of memory!");
+ LOG_ERROR("ACL parse error. Out of memory!");
return -1;
}
@@ -269,20 +269,16 @@ static int acl_parse_line(char* line, int line_count, void* ptr_data)
if (!*line)
return 0;
-#ifdef ACL_DEBUG
- hub_log(log_trace, "acl_parse_line(): '%s'", line);
-#endif
+ LOG_DEBUG("acl_parse_line(): '%s'", line);
line = strip_white_space(line);
if (!*line)
{
- hub_log(log_fatal, "ACL parse error on line %d", line_count);
+ LOG_FATAL("ACL parse error on line %d", line_count);
return -1;
}
-#ifdef ACL_DEBUG
- hub_log(log_trace, "acl_parse_line: '%s'", line);
-#endif
+ LOG_DEBUG("acl_parse_line: '%s'", line);
ACL_ADD_USER("bot", handle->users, cred_bot);
ACL_ADD_USER("user_admin", handle->users, cred_admin);
@@ -296,7 +292,7 @@ static int acl_parse_line(char* line, int line_count, void* ptr_data)
ACL_ADD_ADDR("deny_ip", handle->networks);
ACL_ADD_ADDR("nat_ip", handle->nat_override);
- hub_log(log_error, "Unknown ACL command on line %d: '%s'", line_count, line);
+ LOG_ERROR("Unknown ACL command on line %d: '%s'", line_count, line);
return -1;
}
@@ -315,7 +311,7 @@ int acl_initialize(struct hub_config* config, struct acl_handle* handle)
if (!handle->users || !handle->cids || !handle->networks || !handle->users_denied || !handle->users_banned || !handle->nat_override)
{
- hub_log(log_fatal, "acl_initialize: Out of memory");
+ LOG_FATAL("acl_initialize: Out of memory");
list_destroy(handle->users);
list_destroy(handle->users_denied);
@@ -451,7 +447,7 @@ int acl_user_ban_nick(struct acl_handle* handle, const char* nick)
struct user_access_info* info = hub_malloc_zero(sizeof(struct user_access_info));
if (!info)
{
- hub_log(log_error, "ACL error: Out of memory!");
+ LOG_ERROR("ACL error: Out of memory!");
return -1;
}
list_append(handle->users_banned, hub_strdup(nick));
@@ -463,7 +459,7 @@ int acl_user_ban_cid(struct acl_handle* handle, const char* cid)
struct user_access_info* info = hub_malloc_zero(sizeof(struct user_access_info));
if (!info)
{
- hub_log(log_error, "ACL error: Out of memory!");
+ LOG_ERROR("ACL error: Out of memory!");
return -1;
}
list_append(handle->cids, hub_strdup(cid));
diff --git a/src/core/config.c b/src/core/config.c
index 2c7fdeb..126f479 100644
--- a/src/core/config.c
+++ b/src/core/config.c
@@ -42,7 +42,7 @@
else if (strncasecmp(data, "off", 3) == 0) TARGET = 0; \
else\
{ \
- hub_log(log_fatal, "Configuration error on line %d: '%s' must be either '1' or '0'", line_count, key); \
+ LOG_FATAL("Configuration error on line %d: '%s' must be either '1' or '0'", line_count, key); \
return -1; \
} \
TARGET |= 0x80000000; \
@@ -65,7 +65,7 @@
errno = 0; \
val = strtol(data, &endptr, 10); \
if (((errno == ERANGE && (val == INT_MAX || val == INT_MIN)) || (errno != 0 && val == 0)) || endptr == data) { \
- hub_log(log_fatal, "Configuration error on line %d: '%s' must be a number", line_count, key); \
+ LOG_FATAL("Configuration error on line %d: '%s' must be a number", line_count, key); \
return -1; \
} \
TARGET = val; \
@@ -103,7 +103,7 @@
#define IGNORED(NAME) \
if (strcmp(#NAME, key) == 0) \
{ \
- hub_log(log_warning, "Configuration option %s deprecated and ingnored.", key); \
+ LOG_WARN("Configuration option %s deprecated and ingnored.", key); \
return 0; \
} \
@@ -304,7 +304,7 @@ static int apply_config(struct hub_config* config, char* key, char* data, int li
GET_STR (tls_private_key);
/* Still here -- unknown directive */
- hub_log(log_fatal, "Unknown configuration directive: '%s'", key);
+ LOG_ERROR("Unknown configuration directive: '%s'", key);
return -1;
}
@@ -460,13 +460,11 @@ static int config_parse_line(char* line, int line_count, void* ptr_data)
if (!*line) return 0;
-#ifdef CONFIG_DUMP
- hub_log(log_trace, "config_parse_line(): '%s'", line);
-#endif
+ LOG_DUMP("config_parse_line(): '%s'", line);
if (!is_valid_utf8(line))
{
- hub_log(log_warning, "Invalid utf-8 characters on line %d", line_count);
+ LOG_WARN("Invalid utf-8 characters on line %d", line_count);
}
if ((pos = strchr(line, '=')) != NULL)
@@ -486,13 +484,11 @@ static int config_parse_line(char* line, int line_count, void* ptr_data)
if (!*key || !*data)
{
- hub_log(log_fatal, "Configuration parse error on line %d", line_count);
+ LOG_FATAL("Configuration parse error on line %d", line_count);
return -1;
}
-#ifdef CONFIG_DUMP
- hub_log(log_trace, "config_parse_line: '%s' => '%s'", key, data);
-#endif
+ LOG_DUMP("config_parse_line: '%s' => '%s'", key, data);
return apply_config(config, key, data, line_count);
}
@@ -509,7 +505,7 @@ int read_config(const char* file, struct hub_config* config, int allow_missing)
{
if (allow_missing && ret == -2)
{
- hub_log(log_debug, "Using default configuration.");
+ LOG_DUMP("Using default configuration.");
}
else
{
diff --git a/src/core/eventqueue.c b/src/core/eventqueue.c
index 67fda2a..9359b97 100644
--- a/src/core/eventqueue.c
+++ b/src/core/eventqueue.c
@@ -22,7 +22,7 @@
#ifdef EQ_DEBUG
static void eq_debug(const char* prefix, struct event_data* data)
{
- printf(">>> %s: %p, id: %x, flags=%d\n", prefix, data, data->id, data->flags);
+ LOG_DUMP(">>> %s: %p, id: %x, flags=%d\n", prefix, data, data->id, data->flags);
}
#endif
@@ -130,7 +130,7 @@ void event_queue_post(struct event_queue* queue, struct event_data* message)
}
else
{
- hub_log(log_error, "event_queue_post: OUT OF MEMORY");
+ LOG_ERROR("event_queue_post: OUT OF MEMORY");
}
}
diff --git a/src/core/hub.c b/src/core/hub.c
index 7a4f9bf..25caa93 100644
--- a/src/core/hub.c
+++ b/src/core/hub.c
@@ -21,16 +21,12 @@
struct hub_info* g_hub = 0;
-#define NETWORK_DUMP_DEBUG 1
-
int hub_handle_message(struct hub_info* hub, struct user* u, const char* line, size_t length)
{
int ret = 0;
struct adc_message* cmd = 0;
-#ifdef NETWORK_DUMP_DEBUG
- hub_log(log_protocol, "recv %s: %s", sid_to_string(u->id.sid), line);
-#endif
+ LOG_PROTO("recv %s: %s", sid_to_string(u->id.sid), line);
if (user_is_disconnecting(u))
return -1;
@@ -399,7 +395,7 @@ struct hub_info* hub_start_service(struct hub_config* config)
hub = hub_malloc_zero(sizeof(struct hub_info));
if (!hub)
{
- hub_log(log_fatal, "Unable to allocate memory for hub");
+ LOG_FATAL("Unable to allocate memory for hub");
return 0;
}
@@ -408,9 +404,9 @@ struct hub_info* hub_start_service(struct hub_config* config)
ipv6_supported = net_is_ipv6_supported();
if (ipv6_supported)
- hub_log(log_debug, "IPv6 supported.");
+ LOG_DEBUG("IPv6 supported.");
else
- hub_log(log_debug, "IPv6 not supported.");
+ LOG_DEBUG("IPv6 not supported.");
if (ip_convert_address(config->server_bind_addr, config->server_port, (struct sockaddr*) &addr, &sockaddr_size) == -1)
{
@@ -435,13 +431,13 @@ struct hub_info* hub_start_service(struct hub_config* config)
#endif
if (!hub->evbase)
{
- hub_log(log_error, "Unable to initialize libevent.");
+ LOG_ERROR("Unable to initialize libevent.");
hub_free(hub);
return 0;
}
- hub_log(log_info, "Starting " PRODUCT "/" VERSION ", listening on %s:%d...", address_buf, config->server_port);
- hub_log(log_debug, "Using libevent %s, backend: %s", event_get_version(), event_get_method());
+ LOG_INFO("Starting " PRODUCT "/" VERSION ", listening on %s:%d...", address_buf, config->server_port);
+ LOG_DEBUG("Using libevent %s, backend: %s", event_get_version(), event_get_method());
server_tcp = net_socket_create(af, SOCK_STREAM, IPPROTO_TCP);
if (server_tcp == -1)
@@ -472,7 +468,7 @@ struct hub_info* hub_start_service(struct hub_config* config)
ret = net_bind(server_tcp, (struct sockaddr*) &addr, sockaddr_size);
if (ret == -1)
{
- hub_log(log_fatal, "hub_start_service(): Unable to bind to TCP local address. errno=%d, str=%s", net_error(), net_error_string(net_error()));
+ LOG_FATAL("hub_start_service(): Unable to bind to TCP local address. errno=%d, str=%s", net_error(), net_error_string(net_error()));
event_base_free(hub->evbase);
hub_free(hub);
net_close(server_tcp);
@@ -482,7 +478,7 @@ struct hub_info* hub_start_service(struct hub_config* config)
ret = net_listen(server_tcp, SERVER_BACKLOG);
if (ret == -1)
{
- hub_log(log_fatal, "hub_start_service(): Unable to listen to socket");
+ LOG_FATAL("hub_start_service(): Unable to listen to socket");
event_base_free(hub->evbase);
hub_free(hub);
net_close(server_tcp);
@@ -539,7 +535,7 @@ struct hub_info* hub_start_service(struct hub_config* config)
void hub_shutdown_service(struct hub_info* hub)
{
- hub_log(log_trace, "hub_shutdown_service()");
+ LOG_TRACE("hub_shutdown_service()");
event_queue_shutdown(hub->queue);
event_del(&hub->ev_accept);
@@ -903,7 +899,7 @@ void hub_event_loop(struct hub_info* hub)
if (ret != 0)
{
- hub_log(log_debug, "event_base_loop returned: %d", (int) ret);
+ LOG_DEBUG("event_base_loop returned: %d", (int) ret);
}
if (ret < 0)
@@ -937,7 +933,7 @@ void hub_disconnect_user(struct hub_info* hub, struct user* user, int reason)
/* stop reading from user */
net_shutdown_r(user->net.sd);
- hub_log(log_trace, "hub_disconnect_user(), user=%p, reason=%d, state=%d", user, reason, user->state);
+ LOG_TRACE("hub_disconnect_user(), user=%p, reason=%d, state=%d", user, reason, user->state);
need_notify = user_is_logged_in(user);
user->quit_reason = reason;
diff --git a/src/core/hubevent.c b/src/core/hubevent.c
index d9ec606..363a476 100644
--- a/src/core/hubevent.c
+++ b/src/core/hubevent.c
@@ -23,26 +23,26 @@ static void log_user_login(struct user* u)
{
const char* cred = get_user_credential_string(u->credentials);
const char* addr = ip_convert_to_string(&u->net.ipaddr);
- hub_log(log_user, "LoginOK %s/%s %s \"%s\" (%s) \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, cred, u->user_agent);
+ LOG_USER("LoginOK %s/%s %s \"%s\" (%s) \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, cred, u->user_agent);
}
static void log_user_login_error(struct user* u, enum status_message msg)
{
const char* addr = ip_convert_to_string(&u->net.ipaddr);
const char* message = hub_get_status_message_log(u->hub, msg);
- hub_log(log_user, "LoginError %s/%s %s \"%s\" (%s) \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, message, u->user_agent);
+ LOG_USER("LoginError %s/%s %s \"%s\" (%s) \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, message, u->user_agent);
}
static void log_user_logout(struct user* u, const char* message)
{
const char* addr = ip_convert_to_string(&u->net.ipaddr);
- hub_log(log_user, "Logout %s/%s %s \"%s\" (%s)", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, message);
+ LOG_USER("Logout %s/%s %s \"%s\" (%s)", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, message);
}
static void log_user_nick_change(struct user* u, const char* nick)
{
const char* addr = ip_convert_to_string(&u->net.ipaddr);
- hub_log(log_user, "NickChange %s/%s %s \"%s\" -> \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, nick);
+ LOG_USER("NickChange %s/%s %s \"%s\" -> \"%s\"", sid_to_string(u->id.sid), u->id.cid, addr, u->id.nick, nick);
}
diff --git a/src/core/hubio.c b/src/core/hubio.c
index 3fba833..ef65d88 100644
--- a/src/core/hubio.c
+++ b/src/core/hubio.c
@@ -35,7 +35,7 @@ static void debug_msg(const char* prefix, struct adc_message* msg)
if (buf[n] == '\r' || buf[n] == '\n')
buf[n] = '_';
}
- hub_log(log_trace, "%s: [%s] (%d bytes)", prefix, buf, (int) msg->length);
+ LOG_TRACE("%s: [%s] (%d bytes)", prefix, buf, (int) msg->length);
free(buf);
}
#endif
diff --git a/src/core/inf.c b/src/core/inf.c
index c64f397..681365e 100644
--- a/src/core/inf.c
+++ b/src/core/inf.c
@@ -336,7 +336,7 @@ static int check_logged_in(struct hub_info* hub, struct user* user, struct adc_m
{
if (lookup1 == lookup2)
{
- hub_log(log_debug, "check_logged_in: exact same user is logged in: %s", user->id.nick);
+ LOG_DEBUG("check_logged_in: exact same user is logged in: %s", user->id.nick);
hub_disconnect_user(hub, lookup1, quit_ghost_timeout);
return 0;
}
@@ -344,12 +344,12 @@ static int check_logged_in(struct hub_info* hub, struct user* user, struct adc_m
{
if (lookup1)
{
- hub_log(log_debug, "check_logged_in: nickname is in use: %s", user->id.nick);
+ LOG_DEBUG("check_logged_in: nickname is in use: %s", user->id.nick);
return status_msg_inf_error_nick_taken;
}
else
{
- hub_log(log_debug, "check_logged_in: CID is in use: %s", user->id.cid);
+ LOG_DEBUG("check_logged_in: CID is in use: %s", user->id.cid);
return status_msg_inf_error_cid_taken;
}
}
diff --git a/src/core/main.c b/src/core/main.c
index 138a31f..b910c1c 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -42,12 +42,12 @@ void hub_handle_signal(int fd, short events, void* arg)
switch (signal)
{
case SIGINT:
- hub_log(log_info, "Interrupted. Shutting down...");
+ LOG_INFO("Interrupted. Shutting down...");
hub->status = hub_status_shutdown;
break;
case SIGTERM:
- hub_log(log_info, "Terminated. Shutting down...");
+ LOG_INFO("Terminated. Shutting down...");
hub->status = hub_status_shutdown;
break;
@@ -59,7 +59,7 @@ void hub_handle_signal(int fd, short events, void* arg)
break;
default:
- hub_log(log_trace, "hub_handle_signal(): caught unknown signal: %d", signal);
+ LOG_TRACE("hub_handle_signal(): caught unknown signal: %d", signal);
hub->status = hub_status_shutdown;
break;
}
@@ -84,7 +84,7 @@ void setup_signal_handlers(struct hub_info* hub)
event_base_set(hub->evbase, &signal_events[i]);
if (signal_add(&signal_events[i], NULL))
{
- hub_log(log_error, "Error setting signal handler %d", signals[i]);
+ LOG_ERROR("Error setting signal handler %d", signals[i]);
}
}
}
@@ -114,8 +114,8 @@ int main_loop()
{
if (hub)
{
- hub_log(log_info, "Reloading configuration files...");
- hub_log(log_debug, "Hub status: %d", (int) hub->status);
+ LOG_INFO("Reloading configuration files...");
+ LOG_DEBUG("Hub status: %d", (int) hub->status);
}
if (read_config(arg_config, &configuration, !arg_have_config) == -1)
@@ -335,15 +335,15 @@ int drop_privileges()
if (!ret)
{
- hub_log(log_fatal, "Unable to determine group id, check group name.");
+ LOG_FATAL("Unable to determine group id, check group name.");
return -1;
}
- hub_log(log_trace, "Setting group id %d (%s)", (int) perm_gid, arg_gid);
+ LOG_TRACE("Setting group id %d (%s)", (int) perm_gid, arg_gid);
ret = setgid(perm_gid);
if (ret == -1)
{
- hub_log(log_fatal, "Unable to change group id, permission denied.");
+ LOG_FATAL("Unable to change group id, permission denied.");
return -1;
}
gid_ok = 1;
@@ -368,25 +368,25 @@ int drop_privileges()
if (!ret)
{
- hub_log(log_fatal, "Unable to determine user id, check user name.");
+ LOG_FATAL("Unable to determine user id, check user name.");
return -1;
}
if (!gid_ok) {
- hub_log(log_trace, "Setting group id %d (%s)", (int) perm_gid, arg_gid);
+ LOG_TRACE("Setting group id %d (%s)", (int) perm_gid, arg_gid);
ret = setgid(perm_gid);
if (ret == -1)
{
- hub_log(log_fatal, "Unable to change group id, permission denied.");
+ LOG_FATAL("Unable to change group id, permission denied.");
return -1;
}
}
- hub_log(log_trace, "Setting user id %d (%s)", (int) perm_uid, arg_uid);
+ LOG_TRACE("Setting user id %d (%s)", (int) perm_uid, arg_uid);
ret = setuid(perm_uid);
if (ret == -1)
{
- hub_log(log_fatal, "Unable to change user id, permission denied.");
+ LOG_FATAL("Unable to change user id, permission denied.");
return -1;
}
}
@@ -401,7 +401,7 @@ int pidfile_create()
FILE* pidfile = fopen(arg_pid, "w");
if (!pidfile)
{
- hub_log(log_fatal, "Unable to write pid file: %s\n", arg_pid);
+ LOG_FATAL("Unable to write pid file: %s\n", arg_pid);
return -1;
}
@@ -440,7 +440,7 @@ int main(int argc, char** argv)
ret = fork();
if (ret == -1)
{
- hub_log(log_fatal, "Unable to fork to background!");
+ LOG_FATAL("Unable to fork to background!");
return -1;
}
else if (ret == 0)
@@ -456,7 +456,7 @@ int main(int argc, char** argv)
else
{
/* parent process */
- hub_log(log_debug, "Forked to background\n");
+ LOG_DEBUG("Forked to background\n");
return 0;
}
}
diff --git a/src/core/netevent.c b/src/core/netevent.c
index 1ad715e..2988557 100644
--- a/src/core/netevent.c
+++ b/src/core/netevent.c
@@ -26,27 +26,27 @@ extern struct hub_info* g_hub;
#ifdef DEBUG_SENDQ
void debug_sendq_send(struct user* user, int sent, int total)
{
- printf("SEND: sd=%d, %d/%d bytes\n", user->net.sd, sent, total);
+ LOG_DUMP("SEND: sd=%d, %d/%d bytes\n", user->net.sd, sent, total);
if (sent == -1)
{
int err = net_error();
- printf(" errno: %d - %s\n", err, net_error_string(err));
+ LOG_DUMP(" errno: %d - %s\n", err, net_error_string(err));
}
}
void debug_sendq_recv(struct user* user, int received, int max, const char* buffer)
{
- printf("RECV: %d/%d bytes\n", received, (int) max);
+ LOG_DUMP("RECV: %d/%d bytes\n", received, (int) max);
if (received == -1)
{
int err = net_error();
- printf(" errno: %d - %s\n", err, net_error_string(err));
+ LOG_DUMP(" errno: %d - %s\n", err, net_error_string(err));
}
else if (received > 0)
{
char* data = hub_malloc_zero(received + 1);
memcpy(data, buffer, received);
- printf("RECV: \"%s\"\n", data);
+ LOG_DUMP("RECV: \"%s\"\n", data);
hub_free(data);
}
}
@@ -165,7 +165,7 @@ int handle_net_read(struct user* user)
pos[0] = '\0';
#ifdef DEBUG_SENDQ
- printf("PROC: \"%s\" (%d)\n", start, (int) (pos - start));
+ LOG_DUMP("PROC: \"%s\" (%d)\n", start, (int) (pos - start));
#endif
if (user_flag_get(user, flag_maxbuf))
@@ -239,7 +239,7 @@ void net_event(int fd, short ev, void *arg)
int flag_close = 0;
#ifdef DEBUG_SENDQ
- hub_log(log_trace, "net_on_read() : fd=%d, ev=%d, arg=%p", fd, (int) ev, arg);
+ LOG_TRACE("net_on_read() : fd=%d, ev=%d, arg=%p", fd, (int) ev, arg);
#endif
if (ev & EV_TIMEOUT)
@@ -315,7 +315,7 @@ void net_on_accept(int server_fd, short ev, void *arg)
}
else
{
- hub_log(log_error, "Accept error: %d %s", net_error(), strerror(net_error()));
+ LOG_ERROR("Accept error: %d %s", net_error(), strerror(net_error()));
break;
}
}
@@ -323,12 +323,12 @@ void net_on_accept(int server_fd, short ev, void *arg)
addr = ip_convert_to_string(&ipaddr);
/* FIXME: Should have a plugin log this */
- hub_log(log_trace, "Got connection from %s", addr);
+ LOG_TRACE("Got connection from %s", addr);
/* FIXME: A plugin should perform this check: is IP banned? */
if (acl_is_ip_banned(hub->acl, addr))
{
- hub_log(log_info, "Denied [%s] (IP banned)", addr);
+ LOG_INFO("Denied [%s] (IP banned)", addr);
net_close(fd);
continue;
}
@@ -336,7 +336,7 @@ void net_on_accept(int server_fd, short ev, void *arg)
user = user_create(hub, fd);
if (!user)
{
- hub_log(log_error, "Unable to create user after socket accepted. Out of memory?");
+ LOG_ERROR("Unable to create user after socket accepted. Out of memory?");
net_close(fd);
break;
}
diff --git a/src/core/route.c b/src/core/route.c
index 6c41d88..64845f7 100644
--- a/src/core/route.c
+++ b/src/core/route.c
@@ -93,7 +93,7 @@ int route_to_user(struct hub_info* hub, struct user* user, struct adc_message* m
{
#ifdef DEBUG_SENDQ
char* data = strndup(msg->cache, msg->length-1);
- hub_log(log_protocol, "send %s: \"%s\"", sid_to_string(user->id.sid), data);
+ LOG_PROTO("send %s: \"%s\"", sid_to_string(user->id.sid), data);
free(data);
#endif
diff --git a/src/core/user.c b/src/core/user.c
index 16f8660..d84af66 100644
--- a/src/core/user.c
+++ b/src/core/user.c
@@ -39,7 +39,7 @@ struct user* user_create(struct hub_info* hub, int sd)
{
struct user* user = NULL;
- hub_log(log_trace, "user_create(), hub=%p, sd=%d", hub, sd);
+ LOG_TRACE("user_create(), hub=%p, sd=%d", hub, sd);
user = (struct user*) hub_malloc_zero(sizeof(struct user));
@@ -68,7 +68,7 @@ struct user* user_create(struct hub_info* hub, int sd)
void user_destroy(struct user* user)
{
- hub_log(log_trace, "user_destroy(), user=%p", user);
+ LOG_TRACE("user_destroy(), user=%p", user);
event_del(&user->net.event);
evtimer_del(&user->net.timeout);
@@ -173,7 +173,7 @@ static int convert_support_fourcc(int fourcc)
return feature_link;
default:
- hub_log(log_debug, "Unknown extension: %x", fourcc);
+ LOG_DEBUG("Unknown extension: %x", fourcc);
return 0;
}
}
@@ -330,7 +330,7 @@ int user_is_registered(struct user* user)
void user_net_io_want_write(struct user* user)
{
#ifdef DEBUG_SENDQ
- hub_log(log_trace, "user_net_io_want_write: %s (pending: %d)", user_log_str(user), event_pending(&user->net.event, EV_READ | EV_WRITE, 0));
+ LOG_TRACE("user_net_io_want_write: %s (pending: %d)", user_log_str(user), event_pending(&user->net.event, EV_READ | EV_WRITE, 0));
#endif
if (event_pending(&user->net.event, EV_READ | EV_WRITE, 0) == (EV_READ | EV_WRITE))
return;
@@ -342,7 +342,7 @@ void user_net_io_want_write(struct user* user)
void user_net_io_want_read(struct user* user)
{
#ifdef DEBUG_SENDQ
- hub_log(log_trace, "user_net_io_want_read: %s (pending: %d)", user_log_str(user), event_pending(&user->net.event, EV_READ | EV_WRITE, 0));
+ LOG_TRACE("user_net_io_want_read: %s (pending: %d)", user_log_str(user), event_pending(&user->net.event, EV_READ | EV_WRITE, 0));
#endif
if (event_pending(&user->net.event, EV_READ | EV_WRITE, 0) == EV_READ)
return;
@@ -364,7 +364,7 @@ void user_reset_last_read(struct user* user)
void user_set_timeout(struct user* user, int seconds)
{
#ifdef DEBUG_SENDQ
- hub_log(log_trace, "user_set_timeout to %d seconds: %s", seconds, user_log_str(user));
+ LOG_TRACE("user_set_timeout to %d seconds: %s", seconds, user_log_str(user));
#endif
struct timeval timeout = { seconds, 0 };
evtimer_add(&user->net.timeout, &timeout);
diff --git a/src/core/usermanager.c b/src/core/usermanager.c
index 73f4b4d..782af8b 100644
--- a/src/core/usermanager.c
+++ b/src/core/usermanager.c
@@ -61,7 +61,7 @@ void uman_update_stats(struct hub_info* hub)
void uman_print_stats(struct hub_info* hub)
{
- hub_log(log_info, "Statistics users=%zu (peak_users=%zu), net_tx=%d KB/s, net_rx=%d KB/s (peak_tx=%d KB/s, peak_rx=%d KB/s)",
+ LOG_INFO("Statistics users=%zu (peak_users=%zu), net_tx=%d KB/s, net_rx=%d KB/s (peak_tx=%d KB/s, peak_rx=%d KB/s)",
hub->users->count,
hub->users->count_peak,
(int) hub->stats.net_tx / 1024,
diff --git a/src/network/network-epoll.c b/src/network/network-epoll.c
deleted file mode 100644
index 2c74e3a..0000000
--- a/src/network/network-epoll.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * uhub - A tiny ADC p2p connection hub
- * Copyright (C) 2007, Jan Vidar Krey
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-
-#include "uhub.h"
-
-#ifdef HAVE_EPOLL
-
-// #define DEBUG_EPOLL
-static struct epoll_event* events = 0;
-static int epfd = -1;
-
-#ifdef DEBUG_EPOLL
-static void dump_listeners()
-{
- int i;
- struct net_event_listener* listener;
-
-
- hub_log(log_dump, "listeners: number=%d", num_connections);
-
- for (i = 0; i < num_connections; i++)
- {
- listener = &listeners[i];
-
- if (listener)
- {
- if (listener->fd != -1)
- {
- hub_log(log_dump, "epoll_dump_listeners: pos=%d/%d fd=%d, ptr=%p", i, num_connections, listeners->fd, listeners);
- }
- else
- {
- hub_log(log_dump, "epoll_dump_listeners: pos=%d/%d (unused)", i, num_connections);
- }
-
- listener = 0;
- }
- }
-
- getc(stdin);
-
-}
-
-#endif
-
-
-static void set_poll_events(struct epoll_event* handle, short trigger)
-{
- memset(handle, 0, sizeof(struct epoll_event));
-
- if (trigger & evt_accept || trigger & evt_read || trigger & evt_close)
- handle->events |= EPOLLIN;
-
- if (trigger & evt_write)
- handle->events |= EPOLLOUT;
-
- if (trigger & evt_urgent)
- handle->events |= EPOLLPRI;
-
-#ifdef EPOLLRDHUP
- if (triggers & evt_close)
- handle->events |= EPOLLRDHUP;
-#endif
-}
-
-static short get_poll_events(struct epoll_event* handle)
-{
- short trig = handle->events;
- short evt = 0;
-
- if (trig & EPOLLIN)
- evt |= evt_read;
-
- if (trig & EPOLLPRI)
- evt |= evt_urgent;
-
- if (trig & EPOLLOUT)
- evt |= evt_write;
-
- if (trig & EPOLLHUP)
- evt |= evt_close;
-
- if (trig & EPOLLERR)
- evt |= evt_error;
-
-#ifdef EPOLLRDHUP
- if (trig & EPOLLRDHUP)
- evt |= evt_close;
-#endif
-
- return evt;
-}
-
-
-int net_initialize(int capacity)
-{
- int i;
- max_connections = capacity;
- num_connections = 0;
- epfd = epoll_create(max_connections);
- if (epfd == -1)
- {
- hub_log(log_error, "net_initialize(): epoll_create failed");
- return -1;
- }
-
- events = hub_malloc_zero(sizeof(struct epoll_event) * max_connections);
- if (!events)
- {
- hub_log(log_error, "net_initialize(): hub_malloc failed");
- return -1;
- }
-
- monitor_allocate((size_t) capacity);
-
-
-
-#ifdef DEBUG_EPOLL
- dump_listeners();
-#endif
-
- net_stats_initialize();
-
- return 0;
-}
-
-
-int net_shutdown()
-{
- hub_log(log_trace, "Shutting down network monitor");
- if (epfd != -1)
- {
- close(epfd);
- }
-
- hub_free(events);
- hub_free(listeners);
- return 0;
-}
-
-#ifdef DEBUG_EPOLL
-uint64_t get_time_difference_in_msec(struct timeval before, struct timeval after)
-{
- uint64_t seconds = (after.tv_sec - before.tv_sec);
- uint64_t out = seconds*1000;
- if (seconds > 0)
- out += ((after.tv_usec / 1000) + (1000 - (before.tv_usec / 1000)));
- else
- out += ((after.tv_usec - before.tv_usec) / 1000);
- return out;
-}
-#endif
-
-int net_wait(int timeout_ms)
-{
- int fired, n, max, ret;
- struct net_event_listener* listener;
-
-#ifdef DEBUG_EPOLL
- struct timeval tm_before;
- struct timeval tm_after;
- gettimeofday(&tm_before, NULL);
- dump_listeners();
-#endif
-
- fired = epoll_wait(epfd, events, num_connections, timeout_ms);
- if (fired == -1) {
- if (errno != EINTR)
- {
- hub_log(log_error, "net_wait(): epoll_wait failed");
- }
- return -1;
- }
-
- for (n = 0; n < fired; n++)
- {
- listener = (struct net_event_listener*) events[n].data.ptr;
- listener->revents = get_poll_events(&events[n]);
- hub_log(log_dump, "net_wait(): epoll event detected (fd=%d, evt=%d, ptr=%p)", listener->fd, listener->revents, listener);
- }
-
- max = num_connections;
-
- for (n = 0; n < max; n++)
- {
- listener = &listeners[n];
- if (listener && listener->fd != -1 && listener->revents)
- {
- hub_log(log_dump, "net_wait(): epoll trigger call (fd=%d, evt=%d, ptr=%p)", listener->fd, listener->revents, listener);
- ret = listener->handler(listener);
- listener->revents = 0;
- }
-#ifdef DEBUG_EPOLL
- else
- {
- if (listener)
- hub_log(log_dump, "net_wait(): epoll trigger ignore (fd=%d, evt=%d, ptr=%p)", listener->fd, listener->revents, listener);
- }
-#endif
- }
-
-#ifdef DEBUG_EPOLL
- gettimeofday(&tm_after, NULL);
- size_t diff = (size_t) get_time_difference_in_msec(tm_before, tm_after);
- dump_listeners();
- hub_log(log_debug, "net_wait(): time=%dms, triggered=%d", diff, fired);
-#endif
-
- return 0;
-}
-
-
-int net_add(int fd, short events, void* data, net_event_handler_t handler)
-{
- struct epoll_event ev;
- struct net_event_listener* listener = monitor_get_free_listener();
-
- hub_log(log_trace, "net_add(): adding socket (fd=%d, pos=%d)", fd, pos);
-
- if (!listener)
- {
- hub_log(log_error, "net_add(): unable to poll more sockets");
- return -1;
- }
-
- net_event_listener_set(listener, fd, events, data, handler);
-
- set_poll_events(&ev, events);
- ev.data.ptr = listener;
-
- if (epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &ev) < 0)
- {
- hub_log(log_error, "net_add(): epoll_ctl error while adding socket (fd=%d)", fd);
- net_event_listener_clear(listener);
- return -1;
- }
-
- num_connections++;
-
-#ifdef DEBUG_EPOLL
- dump_listeners();
-#endif
- return 0;
-}
-
-int net_modify(int fd, short events)
-{
- struct epoll_event ev;
- struct net_event_listener* listener = monitor_get_listener(fd);
- hub_log(log_trace, "net_modify(): modifying socket events (fd=%d)", fd);
-
- if (!listener)
- {
- hub_log(log_error, "net_modify(): unable to find socket.");
- return -1;
- }
-
- listener->events = events;
- set_poll_events(&ev, events);
- ev.data.ptr = listener;
-
- if (epoll_ctl(epfd, EPOLL_CTL_MOD, fd, &ev) < 0)
- {
- hub_log(log_error, "net_add(): epoll_ctl error while modifying socket (fd=%d)", fd);
- return -1;
- }
-
-#ifdef DEBUG_EPOLL
- dump_listeners();
-#endif
-
- return 0;
-}
-
-
-int net_remove(int fd)
-{
- struct epoll_event ev;
- struct net_event_listener* listener = monitor_get_listener(fd);
-
- hub_log(log_trace, "net_remove(): removing socket (fd=%d, pos=%d)", fd, pos);
-
- if (!listener)
- {
- /* The socket is not being monitored */
- hub_log(log_error, "net_remove(): unable to remove socket (fd=%d)", fd);
- return -1;
- }
-
- net_event_listener_clear(listener);
-
- if (epoll_ctl(epfd, EPOLL_CTL_DEL, fd, &ev) < 0)
- {
- hub_log(log_error, "net_remove(): epoll_ctl error while removing socket (fd=%d)", fd);
- return -1;
- }
- num_connections--;
-
-#ifdef DEBUG_EPOLL
- dump_listeners();
-#endif
-
- return 0;
-}
-
-
-#endif /* HAVE_EPOLL */
-
-
-
diff --git a/src/network/network-kqueue.c b/src/network/network-kqueue.c
deleted file mode 100644
index e5fdd88..0000000
--- a/src/network/network-kqueue.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * uhub - A tiny ADC p2p connection hub
- * Copyright (C) 2007-2009, Jan Vidar Krey
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-
-#include "uhub.h"
-
-#ifdef HAVE_KQUEUE
-
-static struct kevent* events = 0;
-static struct kevent* change = 0;
-static int kfd = -1;
-
-
-static void set_poll_events(struct kevent* handle, short trigger)
-{
- if (!handle) {
- hub_log(log_error, "OOOPS!!");
- return;
- }
-
- memset(handle, 0, sizeof(struct kevent));
-
- if (trigger & evt_accept || trigger & evt_read || trigger & evt_close)
- handle->filter |= EVFILT_READ;
-
- if (trigger & evt_write /* || trigger & evt_accept*/)
- handle->filter |= EVFILT_WRITE;
-}
-
-static short get_poll_events(struct kevent* handle)
-{
- short trig = handle->flags;
- short evt = 0;
-
- if (trig & EVFILT_READ)
- evt |= evt_read;
-
- if (trig & EVFILT_WRITE)
- evt |= evt_write;
-
- if (trig & EV_EOF)
- {
- evt |= evt_close;
-
- if (handle->fflags)
- evt |= evt_error;
- }
-
- if (handle->filter == -1)
- {
-
- evt |= evt_error;
- }
-
- if (handle->data)
- {
- evt |= evt_accept;
- }
-
- if (evt)
- {
- hub_log(log_error, "Evt: fd=%d, filter=%d, flags=%d, fflags=%d, data=%d evt=%#x", handle->ident, handle->filter, handle->flags, handle->fflags, (int) handle->data, evt);
-
-
- }
-
-
- return evt;
-}
-
-int net_initialize(int capacity)
-{
- int i;
- max_connections = capacity;
- num_connections = 0;
- kfd = kqueue();
- if (kfd == -1)
- {
- hub_log(log_error, "net_initialize(): kqueue failed");
- return -1;
- }
-
- events = (void*) hub_malloc_zero(sizeof(struct kevent) * max_connections);
- if (!events)
- {
- hub_log(log_error, "net_initialize(): hub_malloc failed");
- return -1;
- }
-
- change = (void*) hub_malloc_zero(sizeof(struct kevent) * max_connections);
- if (!events)
- {
- hub_log(log_error, "net_initialize(): hub_malloc failed");
- hub_free(events);
- return -1;
- }
-
-
- listeners = (void*) hub_malloc_zero(sizeof(struct net_event_listener) * max_connections);
- if (!listeners)
- {
- hub_log(log_error, "net_initialize(): hub_malloc failed");
- hub_free(change);
- hub_free(events);
- return -1;
- }
-
- for (i = 0; i < max_connections; i++)
- {
- listeners[i].fd = -1;
- }
-
- net_stats_initialize();
-
- return 0;
-}
-
-
-int net_shutdown()
-{
- if (kfd != -1) {
- return close(kfd);
- }
-
- hub_free(events);
- hub_free(change);
- hub_free(listeners);
- return 0;
-}
-
-
-int net_wait(int timeout_ms)
-{
- int fired, n, max, ret;
- struct net_event_listener* listener;
- struct timespec timeout = { (timeout_ms / 1000), (timeout_ms % 1000) * 1000 };
-
- fired = kevent(kfd, events, num_connections, change, num_connections, &timeout);
- if (fired == -1) {
- if (errno != EINTR)
- {
- hub_log(log_error, "net_wait(): kevent failed");
- }
- return -1;
- }
-
- for (n = 0; n < fired; n++)
- {
- listener = (struct net_event_listener*) events[n].udata;
- if (listener)
- {
- listener->revents = get_poll_events(&events[n]);
- hub_log(log_dump, "net_wait(): kqueue event detected (fd=%d, evt=%d, ptr=%p)", listener->fd, listener->revents, listener);
- }
- }
-
- max = num_connections;
- for (n = 0; n < max; n++)
- {
- listener = &listeners[n];
- if (listener && listener->fd != -1 && listener->revents != 0)
- {
- hub_log(log_dump, "net_wait(): kqueue trigger call (fd=%d, evt=%d, ptr=%p)", listener->fd, listener->revents, listener);
- ret = listener->handler(listener);
- listener->revents = 0;
- }
- }
-
- return 0;
-}
-
-
-int net_add(int fd, short events_, void* data, net_event_handler_t handler)
-{
- struct kevent* event;
- struct net_event_listener* listener = monitor_get_listener(fd);
-
- hub_log(log_trace, "net_add(): adding socket (fd=%d)", fd);
-
- if (listener)
- {
- /* Already added! */
- return -1;
- }
-
- listener = monitor_get_free_listener();
- if (!listener)
- {
- hub_log(log_error, "net_add(): unable to poll more sockets");
- return -1;
- }
-
- net_event_listener_set(listener, fd, events_, data, handler);
-
- event = &events[pos];
- set_poll_events(event, events_);
- event->ident = fd;
-
- event->flags |= EV_ADD;
- event->flags |= EV_ONESHOT;
-
-#ifdef __APPLE__
- event->flags |= EV_ENABLE;
-#endif
- event->udata = listener;
-
- num_connections++;
- return 0;
-}
-
-int net_modify(int fd, short events_)
-{
- struct kevent* event;
- struct net_event_listener* listener = monitor_get_listener(fd);
-
- hub_log(log_trace, "net_modify(): modifying socket (fd=%d)", fd);
-
- if (!listener)
- {
- /* The socket is not being monitored */
- hub_log(log_error, "net_modify(): unable to find socket (fd=%d)", fd);
- return -1;
- }
-
- event = &events[pos];
- // set_poll_events(event, events_);
-
- event->ident = fd;
- event->flags |= EV_ADD;
- event->flags |= EV_ONESHOT;
-#ifdef __APPLE__
- event->flags |= EV_ENABLE;
-#endif
- return 0;
-}
-
-
-int net_remove(int fd)
-{
- struct kevent* event;
- struct net_event_listener* listener = monitor_get_listener(fd);
-
- hub_log(log_trace, "net_remove(): removing socket (fd=%d)", fd);
-
- if (!listener)
- {
- /* The socket is not being monitored */
- hub_log(log_error, "net_remove(): unable to remove socket (fd=%d)", fd);
- return -1;
- }
-
- net_event_listener_clear(listener);
-
- event = &events[pos];
- event->ident = fd;
- event->filter = 0;
- event->flags = EV_DELETE;
-
-#ifdef __APPLE__
- event->flasg |= EV_DISABLE;
-#endif
-
- event->fflags = 0;
- event->data = 0;
- event->udata = 0;
-
- num_connections--;
- return 0;
-}
-
-
-#endif /* HAVE_KQUEUE */
-
-
-
diff --git a/src/network/network.c b/src/network/network.c
index 0ef0967..924e967 100644
--- a/src/network/network.c
+++ b/src/network/network.c
@@ -40,16 +40,16 @@ int net_initialize()
struct WSAData wsa;
if (WSAStartup(MAKEWORD(2, 2), &wsa) != NO_ERROR)
{
- hub_log(log_error, "Unable to initialize winsock.");
+ LOG_ERROR("Unable to initialize winsock.");
return -1;
}
#endif /* WINSOCK */
- hub_log(log_trace, "Initializing network monitor.");
+ LOG_TRACE("Initializing network monitor.");
net_stats_initialize();
#ifdef SSL_SUPPORT
- hub_log(log_trace, "Initializing OpenSSL...");
+ LOG_TRACE("Initializing OpenSSL...");
SSL_load_error_strings();
SSL_library_init();
OpenSSL_add_all_algorithms();
@@ -66,7 +66,7 @@ int net_destroy()
{
if (net_initialized)
{
- hub_log(log_trace, "Shutting down network monitor");
+ LOG_TRACE("Shutting down network monitor");
#ifdef SSL_SUPPORT
/* FIXME: Shutdown OpenSSL here. */
@@ -84,7 +84,7 @@ int net_destroy()
static void net_error_out(int fd, const char* func)
{
int err = net_error();
- hub_log(log_error, "%s, fd=%d: %s (%d)", func, fd, net_error_string(err), err);
+ LOG_ERROR("%s, fd=%d: %s (%d)", func, fd, net_error_string(err), err);
}
int net_error()
@@ -379,7 +379,7 @@ int net_is_ipv6_supported()
if (net_error() == EAFNOSUPPORT)
#endif
{
- hub_log(log_trace, "net_is_ipv6_supported(): IPv6 is not supported on this system.");
+ LOG_TRACE("net_is_ipv6_supported(): IPv6 is not supported on this system.");
is_ipv6_supported = 0;
return 0;
}
@@ -392,7 +392,7 @@ int net_is_ipv6_supported()
int off = 0;
if (net_setsockopt(ret, IPPROTO_IPV6, SOCK_DUAL_STACK_OPT, (char*) &off, sizeof(off)) < 0)
{
- hub_log(log_error, "net_socket_create(): Dual stack IPv6/IPv4 is not supported.");
+ LOG_ERROR("net_socket_create(): Dual stack IPv6/IPv4 is not supported.");
is_ipv6_supported = 0;
}
else
@@ -424,7 +424,7 @@ int net_socket_create(int af, int type, int protocol)
int off = 0;
if (net_setsockopt(sd, IPPROTO_IPV6, SOCK_DUAL_STACK_OPT, (char*) &off, sizeof(off)) < 0)
{
- hub_log(log_error, "net_socket_create(): Cannot set socket to dual stack mode IPv6/IPv4 (%d - %s).", net_error(), net_error_string(net_error()));
+ LOG_ERROR("net_socket_create(): Cannot set socket to dual stack mode IPv6/IPv4 (%d - %s).", net_error(), net_error_string(net_error()));
}
}
#endif
diff --git a/src/uhub.h b/src/uhub.h
index 60ae0e1..1a80d1c 100644
--- a/src/uhub.h
+++ b/src/uhub.h
@@ -157,23 +157,25 @@
extern "C" {
#endif
-#include "util/memory.h"
-#include "util/misc.h"
-#include "core/eventid.h"
-#include "core/eventqueue.h"
#include "util/ipcalc.h"
#include "util/list.h"
+#include "util/log.h"
+#include "util/memory.h"
+#include "util/misc.h"
+#include "util/tiger.h"
+
#include "adc/sid.h"
+#include "adc/message.h"
#include "network/network.h"
+
+#include "core/auth.h"
+#include "core/config.h"
+#include "core/eventid.h"
+#include "core/eventqueue.h"
#include "core/netevent.h"
#include "core/hubio.h"
-#include "core/auth.h"
-#include "util/tiger.h"
-#include "core/config.h"
-#include "util/log.h"
#include "core/user.h"
#include "core/usermanager.h"
-#include "adc/message.h"
#include "core/route.h"
#include "core/hub.h"
#include "core/commands.h"
diff --git a/src/util/ipcalc.c b/src/util/ipcalc.c
index dd89def..8279d1b 100644
--- a/src/util/ipcalc.c
+++ b/src/util/ipcalc.c
@@ -147,7 +147,7 @@ int ip_convert_address(const char* text_address, int port, struct sockaddr* addr
addr6.sin6_port = htons(port);
if (net_string_to_address(AF_INET6, taddr, &addr6.sin6_addr) <= 0)
{
- hub_log(log_fatal, "Unable to convert socket address (ipv6)");
+ LOG_ERROR("Unable to convert socket address (ipv6)");
return 0;
}
@@ -163,7 +163,7 @@ int ip_convert_address(const char* text_address, int port, struct sockaddr* addr
addr4.sin_port = htons(port);
if (net_string_to_address(AF_INET, taddr, &addr4.sin_addr) <= 0)
{
- hub_log(log_fatal, "Unable to convert socket address (ipv4)");
+ LOG_ERROR("Unable to convert socket address (ipv4)");
return 0;
}
memcpy(addr, &addr4, sockaddr_size);
@@ -219,7 +219,7 @@ int ip_mask_create_left(int af, int bits, struct ip_addr_encap* result)
#ifdef IP_CALC_DEBUG
char* r_str = hub_strdup(ip_convert_to_string(result));
- hub_log(log_debug, "Created left mask: %s", r_str);
+ LOG_DUMP("Created left mask: %s", r_str);
hub_free(r_str);
#endif
@@ -272,7 +272,7 @@ int ip_mask_create_right(int af, int bits, struct ip_addr_encap* result)
#ifdef IP_CALC_DEBUG
char* r_str = hub_strdup(ip_convert_to_string(result));
- hub_log(log_debug, "Created right mask: %s", r_str);
+ LOG_DUMP("Created right mask: %s", r_str);
hub_free(r_str);
#endif
@@ -405,7 +405,7 @@ int ip_compare(struct ip_addr_encap* a, struct ip_addr_encap* b)
#ifdef IP_CALC_DEBUG
char* a_str = hub_strdup(ip_convert_to_string(a));
char* b_str = hub_strdup(ip_convert_to_string(b));
- hub_log(log_debug, "Comparing IPs '%s' AND '%s' => %d", a_str, b_str, ret);
+ LOG_DUMP("Comparing IPs '%s' AND '%s' => %d", a_str, b_str, ret);
hub_free(a_str);
hub_free(b_str);
#endif
diff --git a/src/util/log.h b/src/util/log.h
index 5456aea..a436fd1 100644
--- a/src/util/log.h
+++ b/src/util/log.h
@@ -33,6 +33,31 @@ enum log_verbosity {
log_protocol = 9,
};
+#define LOG_FATAL(format, ...) hub_log(log_fatal, format, ## __VA_ARGS__)
+#define LOG_ERROR(format, ...) hub_log(log_error, format, ## __VA_ARGS__)
+#define LOG_WARN(format, ...) hub_log(log_warning, format, ## __VA_ARGS__)
+#define LOG_USER(format, ...) hub_log(log_user, format, ## __VA_ARGS__)
+#define LOG_INFO(format, ...) hub_log(log_info, format, ## __VA_ARGS__)
+
+#ifdef DEBUG
+# define LOG_DEBUG(format, ...) hub_log(log_debug, format, ## __VA_ARGS__)
+# define LOG_TRACE(format, ...) hub_log(log_trace, format, ## __VA_ARGS__)
+#else
+# define LOG_DEBUG(format, ...) do { } while(0)
+# define LOG_TRACE(format, ...) do { } while(0)
+#endif
+
+#ifdef LOWLEVEL_DEBUG
+# define LOG_DUMP(format, ...) hub_log(log_dump, format, ## __VA_ARGS__)
+# define LOG_MEMORY(format, ...) hub_log(log_memory, format, ## __VA_ARGS__)
+# define LOG_PROTO(format, ...) hub_log(log_protocol, format, ## __VA_ARGS__)
+#else
+# define LOG_DUMP(format, ...) do { } while(0)
+# define LOG_MEMORY(format, ...) do { } while(0)
+# define LOG_PROTO(format, ...) do { } while(0)
+#endif
+
+
/**
* Specify a minimum log verbosity for what messages should
* be printed in the log.
diff --git a/src/util/memory.c b/src/util/memory.c
index 349c433..b439d1a 100644
--- a/src/util/memory.c
+++ b/src/util/memory.c
@@ -47,7 +47,7 @@ void internal_debug_print_leaks()
size_t n = 0;
size_t leak = 0;
size_t count = 0;
- hub_log(log_memory, "--- exit (allocs: %d, size: %zu) ---", hub_alloc_count, hub_alloc_size);
+ LOG_MEMORY("--- exit (allocs: %d, size: %zu) ---", hub_alloc_count, hub_alloc_size);
for (; n < UHUB_MAX_ALLOCS; n++)
{
@@ -55,11 +55,11 @@ void internal_debug_print_leaks()
{
leak += hub_allocs[n].size;
count++;
- hub_log(log_memory, "leak %p size: %zu (bt: %p %p)", hub_allocs[n].ptr, hub_allocs[n].size, hub_allocs[n].stack1, hub_allocs[n].stack2);
+ LOG_MEMORY("leak %p size: %zu (bt: %p %p)", hub_allocs[n].ptr, hub_allocs[n].size, hub_allocs[n].stack1, hub_allocs[n].stack2);
}
}
- hub_log(log_memory, "--- done (allocs: %d, size: %zu, peak: %d/%zu, oom: %zu) ---", count, leak, hub_alloc_peak_count, hub_alloc_peak_size, hub_alloc_oom);
+ LOG_MEMORY("--- done (allocs: %d, size: %zu, peak: %d/%zu, oom: %zu) ---", count, leak, hub_alloc_peak_count, hub_alloc_peak_size, hub_alloc_oom);
}
#endif /* REALTIME_MALLOC_TRACKING */
@@ -73,7 +73,7 @@ void* internal_debug_mem_malloc(size_t size, const char* where)
/* Make sure the malloc info struct is initialized */
if (!hub_alloc_count)
{
- hub_log(log_memory, "--- start ---");
+ LOG_MEMORY("--- start ---");
for (n = 0; n < UHUB_MAX_ALLOCS; n++)
{
hub_allocs[n].ptr = 0;
@@ -107,14 +107,14 @@ void* internal_debug_mem_malloc(size_t size, const char* where)
hub_alloc_peak_count = MAX(hub_alloc_count, hub_alloc_peak_count);
hub_alloc_peak_size = MAX(hub_alloc_size, hub_alloc_peak_size);
- hub_log(log_memory, "%s %p (%d bytes) (bt: %p %p) {allocs: %d, size: %zu}", where, ptr, (int) size, hub_allocs[n].stack1, hub_allocs[n].stack2, hub_alloc_count, hub_alloc_size);
+ LOG_MEMORY("%s %p (%d bytes) (bt: %p %p) {allocs: %d, size: %zu}", where, ptr, (int) size, hub_allocs[n].stack1, hub_allocs[n].stack2, hub_alloc_count, hub_alloc_size);
break;
}
}
}
else
{
- hub_log(log_memory, "%s *** OOM for %d bytes", where, size);
+ LOG_MEMORY("%s *** OOM for %d bytes", where, size);
hub_alloc_oom++;
return 0;
}
@@ -141,7 +141,7 @@ void internal_debug_mem_free(void* ptr)
hub_allocs[n].size = 0;
hub_allocs[n].stack1 = 0;
hub_allocs[n].stack2 = 0;
- hub_log(log_memory, "free %p (bt: %p %p) {allocs: %d, size: %zu}", ptr, stack1, stack2, hub_alloc_count, hub_alloc_size);
+ LOG_MEMORY("free %p (bt: %p %p) {allocs: %d, size: %zu}", ptr, stack1, stack2, hub_alloc_count, hub_alloc_size);
malloc_slot = n;
free(ptr);
return;
@@ -150,7 +150,7 @@ void internal_debug_mem_free(void* ptr)
malloc_slot = -1;
abort();
- hub_log(log_memory, "free %p *** NOT ALLOCATED *** (bt: %p %p)", ptr, stack1, stack2);
+ LOG_MEMORY("free %p *** NOT ALLOCATED *** (bt: %p %p)", ptr, stack1, stack2);
#else
free(ptr);
#endif /* REALTIME_MALLOC_TRACKING */
diff --git a/src/util/misc.c b/src/util/misc.c
index 531ffbe..3240da5 100644
--- a/src/util/misc.c
+++ b/src/util/misc.c
@@ -179,26 +179,26 @@ int file_read_lines(const char* file, void* data, file_line_handler_t handler)
memset(buf, 0, MAX_RECV_BUF);
- hub_log(log_trace, "Opening file %s for line reading.", file);
+ LOG_TRACE("Opening file %s for line reading.", file);
fd = open(file, 0);
if (fd == -1)
{
- hub_log(log_error, "Unable to open file %s: %s", file, strerror(errno));
+ LOG_ERROR("Unable to open file %s: %s", file, strerror(errno));
return -2;
}
ret = read(fd, buf, MAX_RECV_BUF);
if (ret < 0)
{
- hub_log(log_error, "Unable to read from file %s: %s", file, strerror(errno));
+ LOG_ERROR("Unable to read from file %s: %s", file, strerror(errno));
close(fd);
return -1;
}
else if (ret == 0)
{
close(fd);
- hub_log(log_warning, "File is empty.");
+ LOG_WARN("File is empty.");
return 0;
}
else
@@ -212,7 +212,7 @@ int file_read_lines(const char* file, void* data, file_line_handler_t handler)
pos[0] = '\0';
if (*start)
{
- hub_log(log_dump, "Line: %s", start);
+ LOG_DUMP("Line: %s", start);
if (handler(start, line_count+1, data) < 0)
return -1;
}
@@ -223,7 +223,7 @@ int file_read_lines(const char* file, void* data, file_line_handler_t handler)
if (*start)
{
buf[strlen(start)] = 0;
- hub_log(log_dump, "Line: %s", start);
+ LOG_DUMP("Line: %s", start);
if (handler(start, line_count+1, data) < 0)
return -1;
}
diff --git a/version.h b/version.h
index 0c39fdc..4212306 100644
--- a/version.h
+++ b/version.h
@@ -9,7 +9,7 @@
#endif
#ifndef VERSION
-#define VERSION "0.3.0-rc3" REVISION
+#define VERSION "0.3.0-rc4" REVISION
#endif
#ifndef COPYRIGHT