From c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 5 Oct 2019 15:09:28 +0200 Subject: global reindent, now with uncrustify hook enabled --- src/transport/tcp_service_legacy.c | 1639 ++++++++++++++++++------------------ 1 file changed, 820 insertions(+), 819 deletions(-) (limited to 'src/transport/tcp_service_legacy.c') diff --git a/src/transport/tcp_service_legacy.c b/src/transport/tcp_service_legacy.c index 129511fec..54020b642 100644 --- a/src/transport/tcp_service_legacy.c +++ b/src/transport/tcp_service_legacy.c @@ -45,8 +45,8 @@ * @return #GNUNET_NO if the IP is not in the list, #GNUNET_YES if it it is */ static int -check_ipv4_listed(const struct GNUNET_STRINGS_IPv4NetworkPolicy *list, - const struct in_addr *add) +check_ipv4_listed (const struct GNUNET_STRINGS_IPv4NetworkPolicy *list, + const struct in_addr *add) { unsigned int i; @@ -54,12 +54,12 @@ check_ipv4_listed(const struct GNUNET_STRINGS_IPv4NetworkPolicy *list, return GNUNET_NO; i = 0; while ((list[i].network.s_addr != 0) || (list[i].netmask.s_addr != 0)) - { - if ((add->s_addr & list[i].netmask.s_addr) == - (list[i].network.s_addr & list[i].netmask.s_addr)) - return GNUNET_YES; - i++; - } + { + if ((add->s_addr & list[i].netmask.s_addr) == + (list[i].network.s_addr & list[i].netmask.s_addr)) + return GNUNET_YES; + i++; + } return GNUNET_NO; } @@ -72,8 +72,8 @@ check_ipv4_listed(const struct GNUNET_STRINGS_IPv4NetworkPolicy *list, * @return #GNUNET_NO if the IP is not in the list, #GNUNET_YES if it it is */ static int -check_ipv6_listed(const struct GNUNET_STRINGS_IPv6NetworkPolicy *list, - const struct in6_addr *ip) +check_ipv6_listed (const struct GNUNET_STRINGS_IPv6NetworkPolicy *list, + const struct in6_addr *ip) { unsigned int i; unsigned int j; @@ -81,20 +81,20 @@ check_ipv6_listed(const struct GNUNET_STRINGS_IPv6NetworkPolicy *list, if (NULL == list) return GNUNET_NO; - memset(&zero, 0, sizeof(struct in6_addr)); + memset (&zero, 0, sizeof(struct in6_addr)); i = 0; NEXT: - while (0 != memcmp(&zero, &list[i].network, sizeof(struct in6_addr))) - { - for (j = 0; j < sizeof(struct in6_addr) / sizeof(int); j++) - if (((((int *)ip)[j] & ((int *)&list[i].netmask)[j])) != - (((int *)&list[i].network)[j] & ((int *)&list[i].netmask)[j])) - { - i++; - goto NEXT; - } - return GNUNET_YES; - } + while (0 != memcmp (&zero, &list[i].network, sizeof(struct in6_addr))) + { + for (j = 0; j < sizeof(struct in6_addr) / sizeof(int); j++) + if (((((int *) ip)[j] & ((int *) &list[i].netmask)[j])) != + (((int *) &list[i].network)[j] & ((int *) &list[i].netmask)[j])) + { + i++; + goto NEXT; + } + return GNUNET_YES; + } return GNUNET_NO; } @@ -105,7 +105,8 @@ NEXT: /** * Context for "service_task". */ -struct LEGACY_SERVICE_Context { +struct LEGACY_SERVICE_Context +{ /** * Our configuration. */ @@ -237,20 +238,20 @@ struct LEGACY_SERVICE_Context { * @return number of bytes written to 'buf' */ static size_t -write_test(void *cls, size_t size, void *buf) +write_test (void *cls, size_t size, void *buf) { struct GNUNET_SERVER_Client *client = cls; struct GNUNET_MessageHeader *msg; if (size < sizeof(struct GNUNET_MessageHeader)) - { - GNUNET_SERVER_receive_done(client, GNUNET_SYSERR); - return 0; /* client disconnected */ - } - msg = (struct GNUNET_MessageHeader *)buf; - msg->type = htons(GNUNET_MESSAGE_TYPE_TEST); - msg->size = htons(sizeof(struct GNUNET_MessageHeader)); - GNUNET_SERVER_receive_done(client, GNUNET_OK); + { + GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); + return 0; /* client disconnected */ + } + msg = (struct GNUNET_MessageHeader *) buf; + msg->type = htons (GNUNET_MESSAGE_TYPE_TEST); + msg->size = htons (sizeof(struct GNUNET_MessageHeader)); + GNUNET_SERVER_receive_done (client, GNUNET_OK); return sizeof(struct GNUNET_MessageHeader); } @@ -263,18 +264,18 @@ write_test(void *cls, size_t size, void *buf) * @param message the actual message */ static void -handle_test(void *cls, - struct GNUNET_SERVER_Client *client, - const struct GNUNET_MessageHeader *message) +handle_test (void *cls, + struct GNUNET_SERVER_Client *client, + const struct GNUNET_MessageHeader *message) { /* simply bounce message back to acknowledge */ if (NULL == - GNUNET_SERVER_notify_transmit_ready(client, - sizeof(struct GNUNET_MessageHeader), - GNUNET_TIME_UNIT_FOREVER_REL, - &write_test, - client)) - GNUNET_SERVER_receive_done(client, GNUNET_SYSERR); + GNUNET_SERVER_notify_transmit_ready (client, + sizeof(struct GNUNET_MessageHeader), + GNUNET_TIME_UNIT_FOREVER_REL, + &write_test, + client)) + GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); } @@ -305,10 +306,10 @@ static const struct GNUNET_SERVER_MessageHandler defhandlers[] = * for unknown address family (will be denied). */ static int -check_access(void *cls, - const struct GNUNET_CONNECTION_Credentials *uc, - const struct sockaddr *addr, - socklen_t addrlen) +check_access (void *cls, + const struct GNUNET_CONNECTION_Credentials *uc, + const struct sockaddr *addr, + socklen_t addrlen) { struct LEGACY_SERVICE_Context *sctx = cls; const struct sockaddr_in *i4; @@ -316,42 +317,42 @@ check_access(void *cls, int ret; switch (addr->sa_family) - { - case AF_INET: - GNUNET_assert(addrlen == sizeof(struct sockaddr_in)); - i4 = (const struct sockaddr_in *)addr; - ret = ((NULL == sctx->v4_allowed) || - (check_ipv4_listed(sctx->v4_allowed, &i4->sin_addr))) && - ((NULL == sctx->v4_denied) || - (!check_ipv4_listed(sctx->v4_denied, &i4->sin_addr))); - break; - - case AF_INET6: - GNUNET_assert(addrlen == sizeof(struct sockaddr_in6)); - i6 = (const struct sockaddr_in6 *)addr; - ret = ((NULL == sctx->v6_allowed) || - (check_ipv6_listed(sctx->v6_allowed, &i6->sin6_addr))) && - ((NULL == sctx->v6_denied) || - (!check_ipv6_listed(sctx->v6_denied, &i6->sin6_addr))); - break; - - case AF_UNIX: - ret = GNUNET_OK; /* controlled using file-system ACL now */ - break; - - default: - LOG(GNUNET_ERROR_TYPE_WARNING, - _("Unknown address family %d\n"), - addr->sa_family); - return GNUNET_SYSERR; - } + { + case AF_INET: + GNUNET_assert (addrlen == sizeof(struct sockaddr_in)); + i4 = (const struct sockaddr_in *) addr; + ret = ((NULL == sctx->v4_allowed) || + (check_ipv4_listed (sctx->v4_allowed, &i4->sin_addr))) && + ((NULL == sctx->v4_denied) || + (! check_ipv4_listed (sctx->v4_denied, &i4->sin_addr))); + break; + + case AF_INET6: + GNUNET_assert (addrlen == sizeof(struct sockaddr_in6)); + i6 = (const struct sockaddr_in6 *) addr; + ret = ((NULL == sctx->v6_allowed) || + (check_ipv6_listed (sctx->v6_allowed, &i6->sin6_addr))) && + ((NULL == sctx->v6_denied) || + (! check_ipv6_listed (sctx->v6_denied, &i6->sin6_addr))); + break; + + case AF_UNIX: + ret = GNUNET_OK; /* controlled using file-system ACL now */ + break; + + default: + LOG (GNUNET_ERROR_TYPE_WARNING, + _ ("Unknown address family %d\n"), + addr->sa_family); + return GNUNET_SYSERR; + } if (GNUNET_OK != ret) - { - LOG(GNUNET_ERROR_TYPE_WARNING, - _("Access from `%s' denied to service `%s'\n"), - GNUNET_a2s(addr, addrlen), - sctx->service_name); - } + { + LOG (GNUNET_ERROR_TYPE_WARNING, + _ ("Access from `%s' denied to service `%s'\n"), + GNUNET_a2s (addr, addrlen), + sctx->service_name); + } return ret; } @@ -364,14 +365,14 @@ check_access(void *cls, * @return name of the file for the process ID */ static char * -get_pid_file_name(struct LEGACY_SERVICE_Context *sctx) +get_pid_file_name (struct LEGACY_SERVICE_Context *sctx) { char *pif; - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename(sctx->cfg, - sctx->service_name, - "PIDFILE", - &pif)) + if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (sctx->cfg, + sctx->service_name, + "PIDFILE", + &pif)) return NULL; return pif; } @@ -387,33 +388,33 @@ get_pid_file_name(struct LEGACY_SERVICE_Context *sctx) * no ACL configured) */ static int -process_acl4(struct GNUNET_STRINGS_IPv4NetworkPolicy **ret, - struct LEGACY_SERVICE_Context *sctx, - const char *option) +process_acl4 (struct GNUNET_STRINGS_IPv4NetworkPolicy **ret, + struct LEGACY_SERVICE_Context *sctx, + const char *option) { char *opt; - if (!GNUNET_CONFIGURATION_have_value(sctx->cfg, sctx->service_name, option)) - { - *ret = NULL; - return GNUNET_OK; - } - GNUNET_break(GNUNET_OK == - GNUNET_CONFIGURATION_get_value_string(sctx->cfg, - sctx->service_name, - option, - &opt)); - if (NULL == (*ret = GNUNET_STRINGS_parse_ipv4_policy(opt))) - { - LOG(GNUNET_ERROR_TYPE_WARNING, - _("Could not parse IPv4 network specification `%s' for `%s:%s'\n"), - opt, - sctx->service_name, - option); - GNUNET_free(opt); - return GNUNET_SYSERR; - } - GNUNET_free(opt); + if (! GNUNET_CONFIGURATION_have_value (sctx->cfg, sctx->service_name, option)) + { + *ret = NULL; + return GNUNET_OK; + } + GNUNET_break (GNUNET_OK == + GNUNET_CONFIGURATION_get_value_string (sctx->cfg, + sctx->service_name, + option, + &opt)); + if (NULL == (*ret = GNUNET_STRINGS_parse_ipv4_policy (opt))) + { + LOG (GNUNET_ERROR_TYPE_WARNING, + _ ("Could not parse IPv4 network specification `%s' for `%s:%s'\n"), + opt, + sctx->service_name, + option); + GNUNET_free (opt); + return GNUNET_SYSERR; + } + GNUNET_free (opt); return GNUNET_OK; } @@ -428,33 +429,33 @@ process_acl4(struct GNUNET_STRINGS_IPv4NetworkPolicy **ret, * no ACL configured) */ static int -process_acl6(struct GNUNET_STRINGS_IPv6NetworkPolicy **ret, - struct LEGACY_SERVICE_Context *sctx, - const char *option) +process_acl6 (struct GNUNET_STRINGS_IPv6NetworkPolicy **ret, + struct LEGACY_SERVICE_Context *sctx, + const char *option) { char *opt; - if (!GNUNET_CONFIGURATION_have_value(sctx->cfg, sctx->service_name, option)) - { - *ret = NULL; - return GNUNET_OK; - } - GNUNET_break(GNUNET_OK == - GNUNET_CONFIGURATION_get_value_string(sctx->cfg, - sctx->service_name, - option, - &opt)); - if (NULL == (*ret = GNUNET_STRINGS_parse_ipv6_policy(opt))) - { - LOG(GNUNET_ERROR_TYPE_WARNING, - _("Could not parse IPv6 network specification `%s' for `%s:%s'\n"), - opt, - sctx->service_name, - option); - GNUNET_free(opt); - return GNUNET_SYSERR; - } - GNUNET_free(opt); + if (! GNUNET_CONFIGURATION_have_value (sctx->cfg, sctx->service_name, option)) + { + *ret = NULL; + return GNUNET_OK; + } + GNUNET_break (GNUNET_OK == + GNUNET_CONFIGURATION_get_value_string (sctx->cfg, + sctx->service_name, + option, + &opt)); + if (NULL == (*ret = GNUNET_STRINGS_parse_ipv6_policy (opt))) + { + LOG (GNUNET_ERROR_TYPE_WARNING, + _ ("Could not parse IPv6 network specification `%s' for `%s:%s'\n"), + opt, + sctx->service_name, + option); + GNUNET_free (opt); + return GNUNET_SYSERR; + } + GNUNET_free (opt); return GNUNET_OK; } @@ -470,30 +471,30 @@ process_acl6(struct GNUNET_STRINGS_IPv6NetworkPolicy **ret, * parameter is ignore on systems other than LINUX */ static void -add_unixpath(struct sockaddr **saddrs, - socklen_t *saddrlens, - const char *unixpath, - int abstract) +add_unixpath (struct sockaddr **saddrs, + socklen_t *saddrlens, + const char *unixpath, + int abstract) { #ifdef AF_UNIX struct sockaddr_un *un; - un = GNUNET_new(struct sockaddr_un); + un = GNUNET_new (struct sockaddr_un); un->sun_family = AF_UNIX; - GNUNET_strlcpy(un->sun_path, unixpath, sizeof(un->sun_path)); + GNUNET_strlcpy (un->sun_path, unixpath, sizeof(un->sun_path)); #ifdef LINUX if (GNUNET_YES == abstract) un->sun_path[0] = '\0'; #endif #if HAVE_SOCKADDR_UN_SUN_LEN - un->sun_len = (u_char)sizeof(struct sockaddr_un); + un->sun_len = (u_char) sizeof(struct sockaddr_un); #endif - *saddrs = (struct sockaddr *)un; + *saddrs = (struct sockaddr *) un; *saddrlens = sizeof(struct sockaddr_un); #else /* this function should never be called * unless AF_UNIX is defined! */ - GNUNET_assert(0); + GNUNET_assert (0); #endif } @@ -519,7 +520,7 @@ add_unixpath(struct sockaddr **saddrs, * set to NULL). */ int -LEGACY_SERVICE_get_server_addresses( +LEGACY_SERVICE_get_server_addresses ( const char *service_name, const struct GNUNET_CONFIGURATION_Handle *cfg, struct sockaddr ***addrs, @@ -544,72 +545,72 @@ LEGACY_SERVICE_get_server_addresses( *addrs = NULL; *addr_lens = NULL; desc = NULL; - if (GNUNET_CONFIGURATION_have_value(cfg, service_name, "DISABLEV6")) - { - if (GNUNET_SYSERR == - (disablev6 = GNUNET_CONFIGURATION_get_value_yesno(cfg, - service_name, - "DISABLEV6"))) - return GNUNET_SYSERR; - } + if (GNUNET_CONFIGURATION_have_value (cfg, service_name, "DISABLEV6")) + { + if (GNUNET_SYSERR == + (disablev6 = GNUNET_CONFIGURATION_get_value_yesno (cfg, + service_name, + "DISABLEV6"))) + return GNUNET_SYSERR; + } else disablev6 = GNUNET_NO; - if (!disablev6) + if (! disablev6) + { + /* probe IPv6 support */ + desc = GNUNET_NETWORK_socket_create (PF_INET6, SOCK_STREAM, 0); + if (NULL == desc) { - /* probe IPv6 support */ - desc = GNUNET_NETWORK_socket_create(PF_INET6, SOCK_STREAM, 0); - if (NULL == desc) - { - if ((ENOBUFS == errno) || (ENOMEM == errno) || (ENFILE == errno) || - (EACCES == errno)) - { - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "socket"); - return GNUNET_SYSERR; - } - LOG(GNUNET_ERROR_TYPE_INFO, - _( - "Disabling IPv6 support for service `%s', failed to create IPv6 socket: %s\n"), - service_name, - strerror(errno)); - disablev6 = GNUNET_YES; - } - else - { - GNUNET_break(GNUNET_OK == GNUNET_NETWORK_socket_close(desc)); - desc = NULL; - } + if ((ENOBUFS == errno) || (ENOMEM == errno) || (ENFILE == errno) || + (EACCES == errno)) + { + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "socket"); + return GNUNET_SYSERR; + } + LOG (GNUNET_ERROR_TYPE_INFO, + _ ( + "Disabling IPv6 support for service `%s', failed to create IPv6 socket: %s\n"), + service_name, + strerror (errno)); + disablev6 = GNUNET_YES; } + else + { + GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (desc)); + desc = NULL; + } + } port = 0; - if (GNUNET_CONFIGURATION_have_value(cfg, service_name, "PORT")) + if (GNUNET_CONFIGURATION_have_value (cfg, service_name, "PORT")) + { + if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (cfg, + service_name, + "PORT", + &port)) { - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number(cfg, - service_name, - "PORT", - &port)) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Require valid port number for service `%s' in configuration!\n"), - service_name); - } - if (port > 65535) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Require valid port number for service `%s' in configuration!\n"), - service_name); - return GNUNET_SYSERR; - } + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Require valid port number for service `%s' in configuration!\n"), + service_name); } - - if (GNUNET_CONFIGURATION_have_value(cfg, service_name, "BINDTO")) + if (port > 65535) { - GNUNET_break(GNUNET_OK == - GNUNET_CONFIGURATION_get_value_string(cfg, + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Require valid port number for service `%s' in configuration!\n"), + service_name); + return GNUNET_SYSERR; + } + } + + if (GNUNET_CONFIGURATION_have_value (cfg, service_name, "BINDTO")) + { + GNUNET_break (GNUNET_OK == + GNUNET_CONFIGURATION_get_value_string (cfg, service_name, "BINDTO", &hostname)); - } + } else hostname = NULL; @@ -617,232 +618,232 @@ LEGACY_SERVICE_get_server_addresses( abstract = GNUNET_NO; #ifdef AF_UNIX if ((GNUNET_YES == - GNUNET_CONFIGURATION_have_value(cfg, service_name, "UNIXPATH")) && - (GNUNET_OK == GNUNET_CONFIGURATION_get_value_filename(cfg, - service_name, - "UNIXPATH", - &unixpath)) && - (0 < strlen(unixpath))) + GNUNET_CONFIGURATION_have_value (cfg, service_name, "UNIXPATH")) && + (GNUNET_OK == GNUNET_CONFIGURATION_get_value_filename (cfg, + service_name, + "UNIXPATH", + &unixpath)) && + (0 < strlen (unixpath))) + { + /* probe UNIX support */ + struct sockaddr_un s_un; + + if (strlen (unixpath) >= sizeof(s_un.sun_path)) { - /* probe UNIX support */ - struct sockaddr_un s_un; - - if (strlen(unixpath) >= sizeof(s_un.sun_path)) - { - LOG(GNUNET_ERROR_TYPE_WARNING, - _("UNIXPATH `%s' too long, maximum length is %llu\n"), - unixpath, - (unsigned long long)sizeof(s_un.sun_path)); - unixpath = GNUNET_NETWORK_shorten_unixpath(unixpath); - LOG(GNUNET_ERROR_TYPE_INFO, _("Using `%s' instead\n"), unixpath); - } + LOG (GNUNET_ERROR_TYPE_WARNING, + _ ("UNIXPATH `%s' too long, maximum length is %llu\n"), + unixpath, + (unsigned long long) sizeof(s_un.sun_path)); + unixpath = GNUNET_NETWORK_shorten_unixpath (unixpath); + LOG (GNUNET_ERROR_TYPE_INFO, _ ("Using `%s' instead\n"), unixpath); + } #ifdef LINUX - abstract = GNUNET_CONFIGURATION_get_value_yesno(cfg, - "TESTING", - "USE_ABSTRACT_SOCKETS"); - if (GNUNET_SYSERR == abstract) - abstract = GNUNET_NO; + abstract = GNUNET_CONFIGURATION_get_value_yesno (cfg, + "TESTING", + "USE_ABSTRACT_SOCKETS"); + if (GNUNET_SYSERR == abstract) + abstract = GNUNET_NO; #endif - if ((GNUNET_YES != abstract) && - (GNUNET_OK != GNUNET_DISK_directory_create_for_file(unixpath))) - GNUNET_log_strerror_file(GNUNET_ERROR_TYPE_ERROR, "mkdir", unixpath); - } + if ((GNUNET_YES != abstract) && + (GNUNET_OK != GNUNET_DISK_directory_create_for_file (unixpath))) + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "mkdir", unixpath); + } if (NULL != unixpath) + { + desc = GNUNET_NETWORK_socket_create (AF_UNIX, SOCK_STREAM, 0); + if (NULL == desc) { - desc = GNUNET_NETWORK_socket_create(AF_UNIX, SOCK_STREAM, 0); - if (NULL == desc) - { - if ((ENOBUFS == errno) || (ENOMEM == errno) || (ENFILE == errno) || - (EACCES == errno)) - { - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "socket"); - GNUNET_free_non_null(hostname); - GNUNET_free(unixpath); - return GNUNET_SYSERR; - } - LOG(GNUNET_ERROR_TYPE_INFO, - _( - "Disabling UNIX domain socket support for service `%s', failed to create UNIX domain socket: %s\n"), - service_name, - strerror(errno)); - GNUNET_free(unixpath); - unixpath = NULL; - } - else - { - GNUNET_break(GNUNET_OK == GNUNET_NETWORK_socket_close(desc)); - desc = NULL; - } + if ((ENOBUFS == errno) || (ENOMEM == errno) || (ENFILE == errno) || + (EACCES == errno)) + { + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "socket"); + GNUNET_free_non_null (hostname); + GNUNET_free (unixpath); + return GNUNET_SYSERR; + } + LOG (GNUNET_ERROR_TYPE_INFO, + _ ( + "Disabling UNIX domain socket support for service `%s', failed to create UNIX domain socket: %s\n"), + service_name, + strerror (errno)); + GNUNET_free (unixpath); + unixpath = NULL; } + else + { + GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (desc)); + desc = NULL; + } + } #endif if ((0 == port) && (NULL == unixpath)) + { + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ( + "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"), + service_name); + GNUNET_free_non_null (hostname); + return GNUNET_SYSERR; + } + if (0 == port) + { + saddrs = GNUNET_malloc (2 * sizeof(struct sockaddr *)); + saddrlens = GNUNET_malloc (2 * sizeof(socklen_t)); + add_unixpath (saddrs, saddrlens, unixpath, abstract); + GNUNET_free_non_null (unixpath); + GNUNET_free_non_null (hostname); + *addrs = saddrs; + *addr_lens = saddrlens; + return 1; + } + + if (NULL != hostname) + { + LOG (GNUNET_ERROR_TYPE_DEBUG, + "Resolving `%s' since that is where `%s' will bind to.\n", + hostname, + service_name); + memset (&hints, 0, sizeof(struct addrinfo)); + if (disablev6) + hints.ai_family = AF_INET; + hints.ai_protocol = IPPROTO_TCP; + if ((0 != (ret = getaddrinfo (hostname, NULL, &hints, &res))) || + (NULL == res)) { - LOG(GNUNET_ERROR_TYPE_ERROR, - _( - "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"), - service_name); - GNUNET_free_non_null(hostname); + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Failed to resolve `%s': %s\n"), + hostname, + gai_strerror (ret)); + GNUNET_free (hostname); + GNUNET_free_non_null (unixpath); return GNUNET_SYSERR; } - if (0 == port) + next = res; + i = 0; + while (NULL != (pos = next)) { - saddrs = GNUNET_malloc(2 * sizeof(struct sockaddr *)); - saddrlens = GNUNET_malloc(2 * sizeof(socklen_t)); - add_unixpath(saddrs, saddrlens, unixpath, abstract); - GNUNET_free_non_null(unixpath); - GNUNET_free_non_null(hostname); - *addrs = saddrs; - *addr_lens = saddrlens; - return 1; + next = pos->ai_next; + if ((disablev6) && (pos->ai_family == AF_INET6)) + continue; + i++; } - - if (NULL != hostname) + if (0 == i) { - LOG(GNUNET_ERROR_TYPE_DEBUG, - "Resolving `%s' since that is where `%s' will bind to.\n", - hostname, - service_name); - memset(&hints, 0, sizeof(struct addrinfo)); - if (disablev6) - hints.ai_family = AF_INET; - hints.ai_protocol = IPPROTO_TCP; - if ((0 != (ret = getaddrinfo(hostname, NULL, &hints, &res))) || - (NULL == res)) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Failed to resolve `%s': %s\n"), - hostname, - gai_strerror(ret)); - GNUNET_free(hostname); - GNUNET_free_non_null(unixpath); - return GNUNET_SYSERR; - } - next = res; - i = 0; - while (NULL != (pos = next)) - { - next = pos->ai_next; - if ((disablev6) && (pos->ai_family == AF_INET6)) - continue; - i++; - } - if (0 == i) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Failed to find %saddress for `%s'.\n"), - disablev6 ? "IPv4 " : "", - hostname); - freeaddrinfo(res); - GNUNET_free(hostname); - GNUNET_free_non_null(unixpath); - return GNUNET_SYSERR; - } - resi = i; + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Failed to find %saddress for `%s'.\n"), + disablev6 ? "IPv4 " : "", + hostname); + freeaddrinfo (res); + GNUNET_free (hostname); + GNUNET_free_non_null (unixpath); + return GNUNET_SYSERR; + } + resi = i; + if (NULL != unixpath) + resi++; + saddrs = GNUNET_malloc ((resi + 1) * sizeof(struct sockaddr *)); + saddrlens = GNUNET_malloc ((resi + 1) * sizeof(socklen_t)); + i = 0; + if (NULL != unixpath) + { + add_unixpath (saddrs, saddrlens, unixpath, abstract); + i++; + } + next = res; + while (NULL != (pos = next)) + { + next = pos->ai_next; + if ((disablev6) && (AF_INET6 == pos->ai_family)) + continue; + if ((IPPROTO_TCP != pos->ai_protocol) && (0 != pos->ai_protocol)) + continue; /* not TCP */ + if ((SOCK_STREAM != pos->ai_socktype) && (0 != pos->ai_socktype)) + continue; /* huh? */ + LOG (GNUNET_ERROR_TYPE_DEBUG, + "Service `%s' will bind to `%s'\n", + service_name, + GNUNET_a2s (pos->ai_addr, pos->ai_addrlen)); + if (AF_INET == pos->ai_family) + { + GNUNET_assert (sizeof(struct sockaddr_in) == pos->ai_addrlen); + saddrlens[i] = pos->ai_addrlen; + saddrs[i] = GNUNET_malloc (saddrlens[i]); + GNUNET_memcpy (saddrs[i], pos->ai_addr, saddrlens[i]); + ((struct sockaddr_in *) saddrs[i])->sin_port = htons (port); + } + else + { + GNUNET_assert (AF_INET6 == pos->ai_family); + GNUNET_assert (sizeof(struct sockaddr_in6) == pos->ai_addrlen); + saddrlens[i] = pos->ai_addrlen; + saddrs[i] = GNUNET_malloc (saddrlens[i]); + GNUNET_memcpy (saddrs[i], pos->ai_addr, saddrlens[i]); + ((struct sockaddr_in6 *) saddrs[i])->sin6_port = htons (port); + } + i++; + } + GNUNET_free (hostname); + freeaddrinfo (res); + resi = i; + } + else + { + /* will bind against everything, just set port */ + if (disablev6) + { + /* V4-only */ + resi = 1; if (NULL != unixpath) resi++; - saddrs = GNUNET_malloc((resi + 1) * sizeof(struct sockaddr *)); - saddrlens = GNUNET_malloc((resi + 1) * sizeof(socklen_t)); i = 0; + saddrs = GNUNET_malloc ((resi + 1) * sizeof(struct sockaddr *)); + saddrlens = GNUNET_malloc ((resi + 1) * sizeof(socklen_t)); if (NULL != unixpath) - { - add_unixpath(saddrs, saddrlens, unixpath, abstract); - i++; - } - next = res; - while (NULL != (pos = next)) - { - next = pos->ai_next; - if ((disablev6) && (AF_INET6 == pos->ai_family)) - continue; - if ((IPPROTO_TCP != pos->ai_protocol) && (0 != pos->ai_protocol)) - continue; /* not TCP */ - if ((SOCK_STREAM != pos->ai_socktype) && (0 != pos->ai_socktype)) - continue; /* huh? */ - LOG(GNUNET_ERROR_TYPE_DEBUG, - "Service `%s' will bind to `%s'\n", - service_name, - GNUNET_a2s(pos->ai_addr, pos->ai_addrlen)); - if (AF_INET == pos->ai_family) - { - GNUNET_assert(sizeof(struct sockaddr_in) == pos->ai_addrlen); - saddrlens[i] = pos->ai_addrlen; - saddrs[i] = GNUNET_malloc(saddrlens[i]); - GNUNET_memcpy(saddrs[i], pos->ai_addr, saddrlens[i]); - ((struct sockaddr_in *)saddrs[i])->sin_port = htons(port); - } - else - { - GNUNET_assert(AF_INET6 == pos->ai_family); - GNUNET_assert(sizeof(struct sockaddr_in6) == pos->ai_addrlen); - saddrlens[i] = pos->ai_addrlen; - saddrs[i] = GNUNET_malloc(saddrlens[i]); - GNUNET_memcpy(saddrs[i], pos->ai_addr, saddrlens[i]); - ((struct sockaddr_in6 *)saddrs[i])->sin6_port = htons(port); - } - i++; - } - GNUNET_free(hostname); - freeaddrinfo(res); - resi = i; - } - else - { - /* will bind against everything, just set port */ - if (disablev6) - { - /* V4-only */ - resi = 1; - if (NULL != unixpath) - resi++; - i = 0; - saddrs = GNUNET_malloc((resi + 1) * sizeof(struct sockaddr *)); - saddrlens = GNUNET_malloc((resi + 1) * sizeof(socklen_t)); - if (NULL != unixpath) - { - add_unixpath(saddrs, saddrlens, unixpath, abstract); - i++; - } - saddrlens[i] = sizeof(struct sockaddr_in); - saddrs[i] = GNUNET_malloc(saddrlens[i]); + { + add_unixpath (saddrs, saddrlens, unixpath, abstract); + i++; + } + saddrlens[i] = sizeof(struct sockaddr_in); + saddrs[i] = GNUNET_malloc (saddrlens[i]); #if HAVE_SOCKADDR_IN_SIN_LEN - ((struct sockaddr_in *)saddrs[i])->sin_len = saddrlens[i]; + ((struct sockaddr_in *) saddrs[i])->sin_len = saddrlens[i]; #endif - ((struct sockaddr_in *)saddrs[i])->sin_family = AF_INET; - ((struct sockaddr_in *)saddrs[i])->sin_port = htons(port); - } - else - { - /* dual stack */ - resi = 2; - if (NULL != unixpath) - resi++; - saddrs = GNUNET_malloc((resi + 1) * sizeof(struct sockaddr *)); - saddrlens = GNUNET_malloc((resi + 1) * sizeof(socklen_t)); - i = 0; - if (NULL != unixpath) - { - add_unixpath(saddrs, saddrlens, unixpath, abstract); - i++; - } - saddrlens[i] = sizeof(struct sockaddr_in6); - saddrs[i] = GNUNET_malloc(saddrlens[i]); + ((struct sockaddr_in *) saddrs[i])->sin_family = AF_INET; + ((struct sockaddr_in *) saddrs[i])->sin_port = htons (port); + } + else + { + /* dual stack */ + resi = 2; + if (NULL != unixpath) + resi++; + saddrs = GNUNET_malloc ((resi + 1) * sizeof(struct sockaddr *)); + saddrlens = GNUNET_malloc ((resi + 1) * sizeof(socklen_t)); + i = 0; + if (NULL != unixpath) + { + add_unixpath (saddrs, saddrlens, unixpath, abstract); + i++; + } + saddrlens[i] = sizeof(struct sockaddr_in6); + saddrs[i] = GNUNET_malloc (saddrlens[i]); #if HAVE_SOCKADDR_IN_SIN_LEN - ((struct sockaddr_in6 *)saddrs[i])->sin6_len = saddrlens[0]; + ((struct sockaddr_in6 *) saddrs[i])->sin6_len = saddrlens[0]; #endif - ((struct sockaddr_in6 *)saddrs[i])->sin6_family = AF_INET6; - ((struct sockaddr_in6 *)saddrs[i])->sin6_port = htons(port); - i++; - saddrlens[i] = sizeof(struct sockaddr_in); - saddrs[i] = GNUNET_malloc(saddrlens[i]); + ((struct sockaddr_in6 *) saddrs[i])->sin6_family = AF_INET6; + ((struct sockaddr_in6 *) saddrs[i])->sin6_port = htons (port); + i++; + saddrlens[i] = sizeof(struct sockaddr_in); + saddrs[i] = GNUNET_malloc (saddrlens[i]); #if HAVE_SOCKADDR_IN_SIN_LEN - ((struct sockaddr_in *)saddrs[i])->sin_len = saddrlens[1]; + ((struct sockaddr_in *) saddrs[i])->sin_len = saddrlens[1]; #endif - ((struct sockaddr_in *)saddrs[i])->sin_family = AF_INET; - ((struct sockaddr_in *)saddrs[i])->sin_port = htons(port); - } + ((struct sockaddr_in *) saddrs[i])->sin_family = AF_INET; + ((struct sockaddr_in *) saddrs[i])->sin_port = htons (port); } - GNUNET_free_non_null(unixpath); + } + GNUNET_free_non_null (unixpath); *addrs = saddrs; *addr_lens = saddrlens; return resi; @@ -868,7 +869,7 @@ LEGACY_SERVICE_get_server_addresses( * @return #GNUNET_OK if configuration succeeded */ static int -setup_service(struct LEGACY_SERVICE_Context *sctx) +setup_service (struct LEGACY_SERVICE_Context *sctx) { struct GNUNET_TIME_Relative idleout; int tolerant; @@ -876,91 +877,91 @@ setup_service(struct LEGACY_SERVICE_Context *sctx) unsigned int cnt; int flags; - if (GNUNET_CONFIGURATION_have_value(sctx->cfg, - sctx->service_name, - "TIMEOUT")) + if (GNUNET_CONFIGURATION_have_value (sctx->cfg, + sctx->service_name, + "TIMEOUT")) + { + if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_time (sctx->cfg, + sctx->service_name, + "TIMEOUT", + &idleout)) { - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_time(sctx->cfg, - sctx->service_name, - "TIMEOUT", - &idleout)) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Specified value for `%s' of service `%s' is invalid\n"), - "TIMEOUT", - sctx->service_name); - return GNUNET_SYSERR; - } - sctx->timeout = idleout; + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Specified value for `%s' of service `%s' is invalid\n"), + "TIMEOUT", + sctx->service_name); + return GNUNET_SYSERR; } + sctx->timeout = idleout; + } else sctx->timeout = GNUNET_TIME_UNIT_FOREVER_REL; - if (GNUNET_CONFIGURATION_have_value(sctx->cfg, - sctx->service_name, - "TOLERANT")) + if (GNUNET_CONFIGURATION_have_value (sctx->cfg, + sctx->service_name, + "TOLERANT")) + { + if (GNUNET_SYSERR == + (tolerant = GNUNET_CONFIGURATION_get_value_yesno (sctx->cfg, + sctx->service_name, + "TOLERANT"))) { - if (GNUNET_SYSERR == - (tolerant = GNUNET_CONFIGURATION_get_value_yesno(sctx->cfg, - sctx->service_name, - "TOLERANT"))) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Specified value for `%s' of service `%s' is invalid\n"), - "TOLERANT", - sctx->service_name); - return GNUNET_SYSERR; - } + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Specified value for `%s' of service `%s' is invalid\n"), + "TOLERANT", + sctx->service_name); + return GNUNET_SYSERR; } + } else tolerant = GNUNET_NO; errno = 0; - if ((NULL != (nfds = getenv("LISTEN_FDS"))) && - (1 == sscanf(nfds, "%u", &cnt)) && (cnt > 0) && (cnt < FD_SETSIZE) && + if ((NULL != (nfds = getenv ("LISTEN_FDS"))) && + (1 == sscanf (nfds, "%u", &cnt)) && (cnt > 0) && (cnt < FD_SETSIZE) && (cnt + 4 < FD_SETSIZE)) + { + sctx->lsocks = + GNUNET_malloc (sizeof(struct GNUNET_NETWORK_Handle *) * (cnt + 1)); + while (0 < cnt--) { - sctx->lsocks = - GNUNET_malloc(sizeof(struct GNUNET_NETWORK_Handle *) * (cnt + 1)); - while (0 < cnt--) - { - flags = fcntl(3 + cnt, F_GETFD); - if ((flags < 0) || (0 != (flags & FD_CLOEXEC)) || - (NULL == - (sctx->lsocks[cnt] = GNUNET_NETWORK_socket_box_native(3 + cnt)))) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _( - "Could not access pre-bound socket %u, will try to bind myself\n"), - (unsigned int)3 + cnt); - cnt++; - while (sctx->lsocks[cnt] != NULL) - GNUNET_break(0 == GNUNET_NETWORK_socket_close(sctx->lsocks[cnt++])); - GNUNET_free(sctx->lsocks); - sctx->lsocks = NULL; - break; - } - } - unsetenv("LISTEN_FDS"); + flags = fcntl (3 + cnt, F_GETFD); + if ((flags < 0) || (0 != (flags & FD_CLOEXEC)) || + (NULL == + (sctx->lsocks[cnt] = GNUNET_NETWORK_socket_box_native (3 + cnt)))) + { + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ( + "Could not access pre-bound socket %u, will try to bind myself\n"), + (unsigned int) 3 + cnt); + cnt++; + while (sctx->lsocks[cnt] != NULL) + GNUNET_break (0 == GNUNET_NETWORK_socket_close (sctx->lsocks[cnt++])); + GNUNET_free (sctx->lsocks); + sctx->lsocks = NULL; + break; + } } + unsetenv ("LISTEN_FDS"); + } if ((NULL == sctx->lsocks) && - (GNUNET_SYSERR == LEGACY_SERVICE_get_server_addresses(sctx->service_name, - sctx->cfg, - &sctx->addrs, - &sctx->addrlens))) + (GNUNET_SYSERR == LEGACY_SERVICE_get_server_addresses (sctx->service_name, + sctx->cfg, + &sctx->addrs, + &sctx->addrlens))) return GNUNET_SYSERR; sctx->require_found = tolerant ? GNUNET_NO : GNUNET_YES; - sctx->match_uid = GNUNET_CONFIGURATION_get_value_yesno(sctx->cfg, - sctx->service_name, - "UNIX_MATCH_UID"); - sctx->match_gid = GNUNET_CONFIGURATION_get_value_yesno(sctx->cfg, - sctx->service_name, - "UNIX_MATCH_GID"); - process_acl4(&sctx->v4_denied, sctx, "REJECT_FROM"); - process_acl4(&sctx->v4_allowed, sctx, "ACCEPT_FROM"); - process_acl6(&sctx->v6_denied, sctx, "REJECT_FROM6"); - process_acl6(&sctx->v6_allowed, sctx, "ACCEPT_FROM6"); + sctx->match_uid = GNUNET_CONFIGURATION_get_value_yesno (sctx->cfg, + sctx->service_name, + "UNIX_MATCH_UID"); + sctx->match_gid = GNUNET_CONFIGURATION_get_value_yesno (sctx->cfg, + sctx->service_name, + "UNIX_MATCH_GID"); + process_acl4 (&sctx->v4_denied, sctx, "REJECT_FROM"); + process_acl4 (&sctx->v4_allowed, sctx, "ACCEPT_FROM"); + process_acl6 (&sctx->v6_denied, sctx, "REJECT_FROM6"); + process_acl6 (&sctx->v6_allowed, sctx, "ACCEPT_FROM6"); return GNUNET_OK; } @@ -974,14 +975,14 @@ setup_service(struct LEGACY_SERVICE_Context *sctx) * @return value of the 'USERNAME' option */ static char * -get_user_name(struct LEGACY_SERVICE_Context *sctx) +get_user_name (struct LEGACY_SERVICE_Context *sctx) { char *un; - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename(sctx->cfg, - sctx->service_name, - "USERNAME", - &un)) + if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (sctx->cfg, + sctx->service_name, + "USERNAME", + &un)) return NULL; return un; } @@ -995,7 +996,7 @@ get_user_name(struct LEGACY_SERVICE_Context *sctx) * @return #GNUNET_OK on success (including no work to be done) */ static int -write_pid_file(struct LEGACY_SERVICE_Context *sctx, pid_t pid) +write_pid_file (struct LEGACY_SERVICE_Context *sctx, pid_t pid) { FILE *pidfd; char *pif; @@ -1003,46 +1004,46 @@ write_pid_file(struct LEGACY_SERVICE_Context *sctx, pid_t pid) char *rdir; int len; - if (NULL == (pif = get_pid_file_name(sctx))) + if (NULL == (pif = get_pid_file_name (sctx))) return GNUNET_OK; /* no file desired */ - user = get_user_name(sctx); - rdir = GNUNET_strdup(pif); - len = strlen(rdir); + user = get_user_name (sctx); + rdir = GNUNET_strdup (pif); + len = strlen (rdir); while ((len > 0) && (rdir[len] != DIR_SEPARATOR)) len--; rdir[len] = '\0'; - if (0 != access(rdir, F_OK)) - { - /* we get to create a directory -- and claim it - * as ours! */ - (void)GNUNET_DISK_directory_create(rdir); - if ((NULL != user) && (0 < strlen(user))) - GNUNET_DISK_file_change_owner(rdir, user); - } - if (0 != access(rdir, W_OK | X_OK)) - { - LOG_STRERROR_FILE(GNUNET_ERROR_TYPE_ERROR, "access", rdir); - GNUNET_free(rdir); - GNUNET_free_non_null(user); - GNUNET_free(pif); - return GNUNET_SYSERR; - } - GNUNET_free(rdir); - pidfd = fopen(pif, "w"); + if (0 != access (rdir, F_OK)) + { + /* we get to create a directory -- and claim it + * as ours! */ + (void) GNUNET_DISK_directory_create (rdir); + if ((NULL != user) && (0 < strlen (user))) + GNUNET_DISK_file_change_owner (rdir, user); + } + if (0 != access (rdir, W_OK | X_OK)) + { + LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "access", rdir); + GNUNET_free (rdir); + GNUNET_free_non_null (user); + GNUNET_free (pif); + return GNUNET_SYSERR; + } + GNUNET_free (rdir); + pidfd = fopen (pif, "w"); if (NULL == pidfd) - { - LOG_STRERROR_FILE(GNUNET_ERROR_TYPE_ERROR, "fopen", pif); - GNUNET_free(pif); - GNUNET_free_non_null(user); - return GNUNET_SYSERR; - } - if (0 > fprintf(pidfd, "%u", pid)) - LOG_STRERROR_FILE(GNUNET_ERROR_TYPE_WARNING, "fprintf", pif); - GNUNET_break(0 == fclose(pidfd)); - if ((NULL != user) && (0 < strlen(user))) - GNUNET_DISK_file_change_owner(pif, user); - GNUNET_free_non_null(user); - GNUNET_free(pif); + { + LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "fopen", pif); + GNUNET_free (pif); + GNUNET_free_non_null (user); + return GNUNET_SYSERR; + } + if (0 > fprintf (pidfd, "%u", pid)) + LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING, "fprintf", pif); + GNUNET_break (0 == fclose (pidfd)); + if ((NULL != user) && (0 < strlen (user))) + GNUNET_DISK_file_change_owner (pif, user); + GNUNET_free_non_null (user); + GNUNET_free (pif); return GNUNET_OK; } @@ -1053,16 +1054,16 @@ write_pid_file(struct LEGACY_SERVICE_Context *sctx, pid_t pid) * @param cls the `struct LEGACY_SERVICE_Context` */ static void -shutdown_task(void *cls) +shutdown_task (void *cls) { struct LEGACY_SERVICE_Context *service = cls; struct GNUNET_SERVER_Handle *server = service->server; service->shutdown_task = NULL; if (0 != (service->options & LEGACY_SERVICE_OPTION_SOFT_SHUTDOWN)) - GNUNET_SERVER_stop_listening(server); + GNUNET_SERVER_stop_listening (server); else - GNUNET_SERVER_destroy(server); + GNUNET_SERVER_destroy (server); } @@ -1072,79 +1073,79 @@ shutdown_task(void *cls) * @param cls service context */ static void -service_task(void *cls) +service_task (void *cls) { struct LEGACY_SERVICE_Context *sctx = cls; unsigned int i; - GNUNET_RESOLVER_connect(sctx->cfg); + GNUNET_RESOLVER_connect (sctx->cfg); if (NULL != sctx->lsocks) - sctx->server = GNUNET_SERVER_create_with_sockets(&check_access, - sctx, - sctx->lsocks, - sctx->timeout, - sctx->require_found); + sctx->server = GNUNET_SERVER_create_with_sockets (&check_access, + sctx, + sctx->lsocks, + sctx->timeout, + sctx->require_found); else - sctx->server = GNUNET_SERVER_create(&check_access, - sctx, - sctx->addrs, - sctx->addrlens, - sctx->timeout, - sctx->require_found); + sctx->server = GNUNET_SERVER_create (&check_access, + sctx, + sctx->addrs, + sctx->addrlens, + sctx->timeout, + sctx->require_found); if (NULL == sctx->server) - { - if (NULL != sctx->addrs) - for (i = 0; NULL != sctx->addrs[i]; i++) - LOG(GNUNET_ERROR_TYPE_INFO, - _("Failed to start `%s' at `%s'\n"), - sctx->service_name, - GNUNET_a2s(sctx->addrs[i], sctx->addrlens[i])); - sctx->ret = GNUNET_SYSERR; - return; - } + { + if (NULL != sctx->addrs) + for (i = 0; NULL != sctx->addrs[i]; i++) + LOG (GNUNET_ERROR_TYPE_INFO, + _ ("Failed to start `%s' at `%s'\n"), + sctx->service_name, + GNUNET_a2s (sctx->addrs[i], sctx->addrlens[i])); + sctx->ret = GNUNET_SYSERR; + return; + } if (NULL != sctx->addrs) for (i = 0; NULL != sctx->addrs[i]; i++) if ((AF_UNIX == sctx->addrs[i]->sa_family) && - ('\0' != ((const struct sockaddr_un *)sctx->addrs[i])->sun_path[0])) - GNUNET_DISK_fix_permissions(((const struct sockaddr_un *) - sctx->addrs[i]) - ->sun_path, - sctx->match_uid, - sctx->match_gid); + ('\0' != ((const struct sockaddr_un *) sctx->addrs[i])->sun_path[0])) + GNUNET_DISK_fix_permissions (((const struct sockaddr_un *) + sctx->addrs[i]) + ->sun_path, + sctx->match_uid, + sctx->match_gid); if (0 == (sctx->options & LEGACY_SERVICE_OPTION_MANUAL_SHUTDOWN)) - { - /* install a task that will kill the server - * process if the scheduler ever gets a shutdown signal */ - sctx->shutdown_task = GNUNET_SCHEDULER_add_shutdown(&shutdown_task, sctx); - } - sctx->my_handlers = GNUNET_malloc(sizeof(defhandlers)); - GNUNET_memcpy(sctx->my_handlers, defhandlers, sizeof(defhandlers)); + { + /* install a task that will kill the server + * process if the scheduler ever gets a shutdown signal */ + sctx->shutdown_task = GNUNET_SCHEDULER_add_shutdown (&shutdown_task, sctx); + } + sctx->my_handlers = GNUNET_malloc (sizeof(defhandlers)); + GNUNET_memcpy (sctx->my_handlers, defhandlers, sizeof(defhandlers)); i = 0; while (NULL != sctx->my_handlers[i].callback) sctx->my_handlers[i++].callback_cls = sctx; - GNUNET_SERVER_add_handlers(sctx->server, sctx->my_handlers); + GNUNET_SERVER_add_handlers (sctx->server, sctx->my_handlers); if (-1 != sctx->ready_confirm_fd) - { - GNUNET_break(1 == write(sctx->ready_confirm_fd, ".", 1)); - GNUNET_break(0 == close(sctx->ready_confirm_fd)); - sctx->ready_confirm_fd = -1; - write_pid_file(sctx, getpid()); - } + { + GNUNET_break (1 == write (sctx->ready_confirm_fd, ".", 1)); + GNUNET_break (0 == close (sctx->ready_confirm_fd)); + sctx->ready_confirm_fd = -1; + write_pid_file (sctx, getpid ()); + } if (NULL != sctx->addrs) + { + i = 0; + while (NULL != sctx->addrs[i]) { - i = 0; - while (NULL != sctx->addrs[i]) - { - LOG(GNUNET_ERROR_TYPE_INFO, - _("Service `%s' runs at %s\n"), - sctx->service_name, - GNUNET_a2s(sctx->addrs[i], sctx->addrlens[i])); - i++; - } + LOG (GNUNET_ERROR_TYPE_INFO, + _ ("Service `%s' runs at %s\n"), + sctx->service_name, + GNUNET_a2s (sctx->addrs[i], sctx->addrlens[i])); + i++; } - sctx->task(sctx->task_cls, sctx->server, sctx->cfg); + } + sctx->task (sctx->task_cls, sctx->server, sctx->cfg); } @@ -1155,73 +1156,73 @@ service_task(void *cls) * @return #GNUNET_OK on success, #GNUNET_SYSERR on error */ static int -detach_terminal(struct LEGACY_SERVICE_Context *sctx) +detach_terminal (struct LEGACY_SERVICE_Context *sctx) { pid_t pid; int nullfd; int filedes[2]; - if (0 != pipe(filedes)) - { - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "pipe"); - return GNUNET_SYSERR; - } - pid = fork(); + if (0 != pipe (filedes)) + { + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "pipe"); + return GNUNET_SYSERR; + } + pid = fork (); if (pid < 0) - { - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "fork"); - return GNUNET_SYSERR; - } + { + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "fork"); + return GNUNET_SYSERR; + } if (0 != pid) + { + /* Parent */ + char c; + + GNUNET_break (0 == close (filedes[1])); + c = 'X'; + if (1 != read (filedes[0], &c, sizeof(char))) + LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING, "read"); + fflush (stdout); + switch (c) { - /* Parent */ - char c; - - GNUNET_break(0 == close(filedes[1])); - c = 'X'; - if (1 != read(filedes[0], &c, sizeof(char))) - LOG_STRERROR(GNUNET_ERROR_TYPE_WARNING, "read"); - fflush(stdout); - switch (c) - { - case '.': - exit(0); - - case 'I': - LOG(GNUNET_ERROR_TYPE_INFO, - _("Service process failed to initialize\n")); - break; - - case 'S': - LOG(GNUNET_ERROR_TYPE_INFO, - _("Service process could not initialize server function\n")); - break; - - case 'X': - LOG(GNUNET_ERROR_TYPE_INFO, - _("Service process failed to report status\n")); - break; - } - exit(1); /* child reported error */ + case '.': + exit (0); + + case 'I': + LOG (GNUNET_ERROR_TYPE_INFO, + _ ("Service process failed to initialize\n")); + break; + + case 'S': + LOG (GNUNET_ERROR_TYPE_INFO, + _ ("Service process could not initialize server function\n")); + break; + + case 'X': + LOG (GNUNET_ERROR_TYPE_INFO, + _ ("Service process failed to report status\n")); + break; } - GNUNET_break(0 == close(0)); - GNUNET_break(0 == close(1)); - GNUNET_break(0 == close(filedes[0])); - nullfd = open("/dev/null", O_RDWR | O_APPEND); + exit (1); /* child reported error */ + } + GNUNET_break (0 == close (0)); + GNUNET_break (0 == close (1)); + GNUNET_break (0 == close (filedes[0])); + nullfd = open ("/dev/null", O_RDWR | O_APPEND); if (nullfd < 0) return GNUNET_SYSERR; /* set stdin/stdout to /dev/null */ - if ((dup2(nullfd, 0) < 0) || (dup2(nullfd, 1) < 0)) - { - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "dup2"); - (void)close(nullfd); - return GNUNET_SYSERR; - } - (void)close(nullfd); + if ((dup2 (nullfd, 0) < 0) || (dup2 (nullfd, 1) < 0)) + { + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "dup2"); + (void) close (nullfd); + return GNUNET_SYSERR; + } + (void) close (nullfd); /* Detach from controlling terminal */ - pid = setsid(); + pid = setsid (); if (-1 == pid) - LOG_STRERROR(GNUNET_ERROR_TYPE_ERROR, "setsid"); + LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "setsid"); sctx->ready_confirm_fd = filedes[1]; return GNUNET_OK; @@ -1235,45 +1236,45 @@ detach_terminal(struct LEGACY_SERVICE_Context *sctx) * @return #GNUNET_OK on success, #GNUNET_SYSERR on error */ static int -set_user_id(struct LEGACY_SERVICE_Context *sctx) +set_user_id (struct LEGACY_SERVICE_Context *sctx) { char *user; - if (NULL == (user = get_user_name(sctx))) + if (NULL == (user = get_user_name (sctx))) return GNUNET_OK; /* keep */ struct passwd *pws; errno = 0; - pws = getpwnam(user); + pws = getpwnam (user); if (NULL == pws) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Cannot obtain information about user `%s': %s\n"), - user, - errno == 0 ? _("No such user") : strerror(errno)); - GNUNET_free(user); - return GNUNET_SYSERR; - } - if ((0 != setgid(pws->pw_gid)) || (0 != setegid(pws->pw_gid)) || + { + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Cannot obtain information about user `%s': %s\n"), + user, + errno == 0 ? _ ("No such user") : strerror (errno)); + GNUNET_free (user); + return GNUNET_SYSERR; + } + if ((0 != setgid (pws->pw_gid)) || (0 != setegid (pws->pw_gid)) || #if HAVE_INITGROUPS - (0 != initgroups(user, pws->pw_gid)) || + (0 != initgroups (user, pws->pw_gid)) || #endif - (0 != setuid(pws->pw_uid)) || (0 != seteuid(pws->pw_uid))) + (0 != setuid (pws->pw_uid)) || (0 != seteuid (pws->pw_uid))) + { + if ((0 != setregid (pws->pw_gid, pws->pw_gid)) || + (0 != setreuid (pws->pw_uid, pws->pw_uid))) { - if ((0 != setregid(pws->pw_gid, pws->pw_gid)) || - (0 != setreuid(pws->pw_uid, pws->pw_uid))) - { - LOG(GNUNET_ERROR_TYPE_ERROR, - _("Cannot change user/group to `%s': %s\n"), - user, - strerror(errno)); - GNUNET_free(user); - return GNUNET_SYSERR; - } + LOG (GNUNET_ERROR_TYPE_ERROR, + _ ("Cannot change user/group to `%s': %s\n"), + user, + strerror (errno)); + GNUNET_free (user); + return GNUNET_SYSERR; } + } - GNUNET_free(user); + GNUNET_free (user); return GNUNET_OK; } @@ -1284,15 +1285,15 @@ set_user_id(struct LEGACY_SERVICE_Context *sctx) * @param sctx service context */ static void -pid_file_delete(struct LEGACY_SERVICE_Context *sctx) +pid_file_delete (struct LEGACY_SERVICE_Context *sctx) { - char *pif = get_pid_file_name(sctx); + char *pif = get_pid_file_name (sctx); if (NULL == pif) return; /* no PID file */ - if (0 != unlink(pif)) - LOG_STRERROR_FILE(GNUNET_ERROR_TYPE_WARNING, "unlink", pif); - GNUNET_free(pif); + if (0 != unlink (pif)) + LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING, "unlink", pif); + GNUNET_free (pif); } @@ -1310,19 +1311,19 @@ pid_file_delete(struct LEGACY_SERVICE_Context *sctx) * if we shutdown nicely */ int -LEGACY_SERVICE_run(int argc, - char *const *argv, - const char *service_name, - enum LEGACY_SERVICE_Options options, - LEGACY_SERVICE_Main task, - void *task_cls) +LEGACY_SERVICE_run (int argc, + char *const *argv, + const char *service_name, + enum LEGACY_SERVICE_Options options, + LEGACY_SERVICE_Main task, + void *task_cls) { #define HANDLE_ERROR \ do \ - { \ - GNUNET_break(0); \ - goto shutdown; \ - } while (0) + { \ + GNUNET_break (0); \ + goto shutdown; \ + } while (0) int err; int ret; @@ -1340,32 +1341,32 @@ LEGACY_SERVICE_run(int argc, const char *xdg; struct GNUNET_GETOPT_CommandLineOption service_options[] = - { GNUNET_GETOPT_option_cfgfile(&opt_cfg_fn), - GNUNET_GETOPT_option_flag('d', - "daemonize", - gettext_noop( - "do daemonize (detach from terminal)"), - &do_daemonize), - GNUNET_GETOPT_option_help(NULL), - GNUNET_GETOPT_option_loglevel(&loglev), - GNUNET_GETOPT_option_logfile(&logfile), - GNUNET_GETOPT_option_version(PACKAGE_VERSION " " VCS_VERSION), + { GNUNET_GETOPT_option_cfgfile (&opt_cfg_fn), + GNUNET_GETOPT_option_flag ('d', + "daemonize", + gettext_noop ( + "do daemonize (detach from terminal)"), + &do_daemonize), + GNUNET_GETOPT_option_help (NULL), + GNUNET_GETOPT_option_loglevel (&loglev), + GNUNET_GETOPT_option_logfile (&logfile), + GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION), GNUNET_GETOPT_OPTION_END }; err = 1; do_daemonize = 0; logfile = NULL; loglev = NULL; opt_cfg_fn = NULL; - xdg = getenv("XDG_CONFIG_HOME"); + xdg = getenv ("XDG_CONFIG_HOME"); if (NULL != xdg) - GNUNET_asprintf(&cfg_fn, - "%s%s%s", - xdg, - DIR_SEPARATOR_STR, - GNUNET_OS_project_data_get()->config_file); + GNUNET_asprintf (&cfg_fn, + "%s%s%s", + xdg, + DIR_SEPARATOR_STR, + GNUNET_OS_project_data_get ()->config_file); else - cfg_fn = GNUNET_strdup(GNUNET_OS_project_data_get()->user_config_file); - memset(&sctx, 0, sizeof(sctx)); + cfg_fn = GNUNET_strdup (GNUNET_OS_project_data_get ()->user_config_file); + memset (&sctx, 0, sizeof(sctx)); sctx.options = options; sctx.ready_confirm_fd = -1; sctx.ret = GNUNET_OK; @@ -1373,117 +1374,117 @@ LEGACY_SERVICE_run(int argc, sctx.task = task; sctx.task_cls = task_cls; sctx.service_name = service_name; - sctx.cfg = cfg = GNUNET_CONFIGURATION_create(); + sctx.cfg = cfg = GNUNET_CONFIGURATION_create (); /* setup subsystems */ - ret = GNUNET_GETOPT_run(service_name, service_options, argc, argv); + ret = GNUNET_GETOPT_run (service_name, service_options, argc, argv); if (GNUNET_SYSERR == ret) goto shutdown; if (GNUNET_NO == ret) - { - err = 0; - goto shutdown; - } - if (GNUNET_OK != GNUNET_log_setup(service_name, loglev, logfile)) + { + err = 0; + goto shutdown; + } + if (GNUNET_OK != GNUNET_log_setup (service_name, loglev, logfile)) HANDLE_ERROR; if (NULL == opt_cfg_fn) - opt_cfg_fn = GNUNET_strdup(cfg_fn); - if (GNUNET_YES == GNUNET_DISK_file_test(opt_cfg_fn)) + opt_cfg_fn = GNUNET_strdup (cfg_fn); + if (GNUNET_YES == GNUNET_DISK_file_test (opt_cfg_fn)) + { + if (GNUNET_SYSERR == GNUNET_CONFIGURATION_load (cfg, opt_cfg_fn)) { - if (GNUNET_SYSERR == GNUNET_CONFIGURATION_load(cfg, opt_cfg_fn)) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, - _("Malformed configuration file `%s', exit ...\n"), - opt_cfg_fn); - goto shutdown; - } + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _ ("Malformed configuration file `%s', exit ...\n"), + opt_cfg_fn); + goto shutdown; } + } else + { + if (GNUNET_SYSERR == GNUNET_CONFIGURATION_load (cfg, NULL)) { - if (GNUNET_SYSERR == GNUNET_CONFIGURATION_load(cfg, NULL)) - { - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, - _("Malformed configuration, exit ...\n")); - goto shutdown; - } - if (0 != strcmp(opt_cfg_fn, cfg_fn)) - GNUNET_log(GNUNET_ERROR_TYPE_ERROR, - _("Could not access configuration file `%s'\n"), - opt_cfg_fn); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _ ("Malformed configuration, exit ...\n")); + goto shutdown; } - if (GNUNET_OK != setup_service(&sctx)) + if (0 != strcmp (opt_cfg_fn, cfg_fn)) + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _ ("Could not access configuration file `%s'\n"), + opt_cfg_fn); + } + if (GNUNET_OK != setup_service (&sctx)) goto shutdown; - if ((1 == do_daemonize) && (GNUNET_OK != detach_terminal(&sctx))) + if ((1 == do_daemonize) && (GNUNET_OK != detach_terminal (&sctx))) HANDLE_ERROR; - if (GNUNET_OK != set_user_id(&sctx)) + if (GNUNET_OK != set_user_id (&sctx)) goto shutdown; - LOG(GNUNET_ERROR_TYPE_DEBUG, - "Service `%s' runs with configuration from `%s'\n", - service_name, - opt_cfg_fn); - if ((GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(sctx.cfg, - "TESTING", - "SKEW_OFFSET", - &skew_offset)) && - (GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(sctx.cfg, - "TESTING", - "SKEW_VARIANCE", - &skew_variance))) - { - clock_offset = skew_offset - skew_variance; - GNUNET_TIME_set_offset(clock_offset); - LOG(GNUNET_ERROR_TYPE_DEBUG, "Skewing clock by %dll ms\n", clock_offset); - } + LOG (GNUNET_ERROR_TYPE_DEBUG, + "Service `%s' runs with configuration from `%s'\n", + service_name, + opt_cfg_fn); + if ((GNUNET_OK == GNUNET_CONFIGURATION_get_value_number (sctx.cfg, + "TESTING", + "SKEW_OFFSET", + &skew_offset)) && + (GNUNET_OK == GNUNET_CONFIGURATION_get_value_number (sctx.cfg, + "TESTING", + "SKEW_VARIANCE", + &skew_variance))) + { + clock_offset = skew_offset - skew_variance; + GNUNET_TIME_set_offset (clock_offset); + LOG (GNUNET_ERROR_TYPE_DEBUG, "Skewing clock by %dll ms\n", clock_offset); + } /* actually run service */ err = 0; - GNUNET_SCHEDULER_run(&service_task, &sctx); + GNUNET_SCHEDULER_run (&service_task, &sctx); /* shutdown */ if ((1 == do_daemonize) && (NULL != sctx.server)) - pid_file_delete(&sctx); - GNUNET_free_non_null(sctx.my_handlers); + pid_file_delete (&sctx); + GNUNET_free_non_null (sctx.my_handlers); shutdown: if (-1 != sctx.ready_confirm_fd) - { - if (1 != write(sctx.ready_confirm_fd, err ? "I" : "S", 1)) - LOG_STRERROR(GNUNET_ERROR_TYPE_WARNING, "write"); - GNUNET_break(0 == close(sctx.ready_confirm_fd)); - } + { + if (1 != write (sctx.ready_confirm_fd, err ? "I" : "S", 1)) + LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING, "write"); + GNUNET_break (0 == close (sctx.ready_confirm_fd)); + } #if HAVE_MALLINFO { char *counter; - if ((GNUNET_YES == GNUNET_CONFIGURATION_have_value(sctx.cfg, - service_name, - "GAUGER_HEAP")) && - (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string(sctx.cfg, - service_name, - "GAUGER_HEAP", - &counter))) - { - struct mallinfo mi; + if ((GNUNET_YES == GNUNET_CONFIGURATION_have_value (sctx.cfg, + service_name, + "GAUGER_HEAP")) && + (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (sctx.cfg, + service_name, + "GAUGER_HEAP", + &counter))) + { + struct mallinfo mi; - mi = mallinfo(); - GAUGER(service_name, counter, mi.usmblks, "blocks"); - GNUNET_free(counter); - } + mi = mallinfo (); + GAUGER (service_name, counter, mi.usmblks, "blocks"); + GNUNET_free (counter); + } } #endif - GNUNET_CONFIGURATION_destroy(cfg); + GNUNET_CONFIGURATION_destroy (cfg); i = 0; if (NULL != sctx.addrs) while (NULL != sctx.addrs[i]) - GNUNET_free(sctx.addrs[i++]); - GNUNET_free_non_null(sctx.addrs); - GNUNET_free_non_null(sctx.addrlens); - GNUNET_free_non_null(logfile); - GNUNET_free_non_null(loglev); - GNUNET_free(cfg_fn); - GNUNET_free_non_null(opt_cfg_fn); - GNUNET_free_non_null(sctx.v4_denied); - GNUNET_free_non_null(sctx.v6_denied); - GNUNET_free_non_null(sctx.v4_allowed); - GNUNET_free_non_null(sctx.v6_allowed); + GNUNET_free (sctx.addrs[i++]); + GNUNET_free_non_null (sctx.addrs); + GNUNET_free_non_null (sctx.addrlens); + GNUNET_free_non_null (logfile); + GNUNET_free_non_null (loglev); + GNUNET_free (cfg_fn); + GNUNET_free_non_null (opt_cfg_fn); + GNUNET_free_non_null (sctx.v4_denied); + GNUNET_free_non_null (sctx.v6_denied); + GNUNET_free_non_null (sctx.v4_allowed); + GNUNET_free_non_null (sctx.v6_allowed); return err ? GNUNET_SYSERR : sctx.ret; } @@ -1499,14 +1500,14 @@ shutdown: * @return NULL on error, service handle */ struct LEGACY_SERVICE_Context * -LEGACY_SERVICE_start(const char *service_name, - const struct GNUNET_CONFIGURATION_Handle *cfg, - enum LEGACY_SERVICE_Options options) +LEGACY_SERVICE_start (const char *service_name, + const struct GNUNET_CONFIGURATION_Handle *cfg, + enum LEGACY_SERVICE_Options options) { int i; struct LEGACY_SERVICE_Context *sctx; - sctx = GNUNET_new(struct LEGACY_SERVICE_Context); + sctx = GNUNET_new (struct LEGACY_SERVICE_Context); sctx->ready_confirm_fd = -1; /* no daemonizing */ sctx->ret = GNUNET_OK; sctx->timeout = GNUNET_TIME_UNIT_FOREVER_REL; @@ -1515,47 +1516,47 @@ LEGACY_SERVICE_start(const char *service_name, sctx->options = options; /* setup subsystems */ - if (GNUNET_OK != setup_service(sctx)) - { - LEGACY_SERVICE_stop(sctx); - return NULL; - } + if (GNUNET_OK != setup_service (sctx)) + { + LEGACY_SERVICE_stop (sctx); + return NULL; + } if (NULL != sctx->lsocks) - sctx->server = GNUNET_SERVER_create_with_sockets(&check_access, - sctx, - sctx->lsocks, - sctx->timeout, - sctx->require_found); + sctx->server = GNUNET_SERVER_create_with_sockets (&check_access, + sctx, + sctx->lsocks, + sctx->timeout, + sctx->require_found); else - sctx->server = GNUNET_SERVER_create(&check_access, - sctx, - sctx->addrs, - sctx->addrlens, - sctx->timeout, - sctx->require_found); + sctx->server = GNUNET_SERVER_create (&check_access, + sctx, + sctx->addrs, + sctx->addrlens, + sctx->timeout, + sctx->require_found); if (NULL == sctx->server) - { - LEGACY_SERVICE_stop(sctx); - return NULL; - } + { + LEGACY_SERVICE_stop (sctx); + return NULL; + } if (NULL != sctx->addrs) for (i = 0; NULL != sctx->addrs[i]; i++) if ((AF_UNIX == sctx->addrs[i]->sa_family) && - ('\0' != ((const struct sockaddr_un *)sctx->addrs[i])->sun_path[0])) - GNUNET_DISK_fix_permissions(((const struct sockaddr_un *) - sctx->addrs[i]) - ->sun_path, - sctx->match_uid, - sctx->match_gid); - - sctx->my_handlers = GNUNET_malloc(sizeof(defhandlers)); - GNUNET_memcpy(sctx->my_handlers, defhandlers, sizeof(defhandlers)); + ('\0' != ((const struct sockaddr_un *) sctx->addrs[i])->sun_path[0])) + GNUNET_DISK_fix_permissions (((const struct sockaddr_un *) + sctx->addrs[i]) + ->sun_path, + sctx->match_uid, + sctx->match_gid); + + sctx->my_handlers = GNUNET_malloc (sizeof(defhandlers)); + GNUNET_memcpy (sctx->my_handlers, defhandlers, sizeof(defhandlers)); i = 0; while ((sctx->my_handlers[i].callback != NULL)) sctx->my_handlers[i++].callback_cls = sctx; - GNUNET_SERVER_add_handlers(sctx->server, sctx->my_handlers); + GNUNET_SERVER_add_handlers (sctx->server, sctx->my_handlers); return sctx; } @@ -1568,7 +1569,7 @@ LEGACY_SERVICE_start(const char *service_name, * @return handle to the server for this service, NULL if there is none */ struct GNUNET_SERVER_Handle * -LEGACY_SERVICE_get_server(struct LEGACY_SERVICE_Context *ctx) +LEGACY_SERVICE_get_server (struct LEGACY_SERVICE_Context *ctx) { return ctx->server; } @@ -1582,7 +1583,7 @@ LEGACY_SERVICE_get_server(struct LEGACY_SERVICE_Context *ctx) * array of listen sockets. */ struct GNUNET_NETWORK_Handle *const * -LEGACY_SERVICE_get_listen_sockets(struct LEGACY_SERVICE_Context *ctx) +LEGACY_SERVICE_get_listen_sockets (struct LEGACY_SERVICE_Context *ctx) { return ctx->lsocks; } @@ -1594,7 +1595,7 @@ LEGACY_SERVICE_get_listen_sockets(struct LEGACY_SERVICE_Context *ctx) * @param sctx the service context returned from the start function */ void -LEGACY_SERVICE_stop(struct LEGACY_SERVICE_Context *sctx) +LEGACY_SERVICE_stop (struct LEGACY_SERVICE_Context *sctx) { unsigned int i; @@ -1602,43 +1603,43 @@ LEGACY_SERVICE_stop(struct LEGACY_SERVICE_Context *sctx) { char *counter; - if ((GNUNET_YES == GNUNET_CONFIGURATION_have_value(sctx->cfg, - sctx->service_name, - "GAUGER_HEAP")) && - (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string(sctx->cfg, - sctx->service_name, - "GAUGER_HEAP", - &counter))) - { - struct mallinfo mi; + if ((GNUNET_YES == GNUNET_CONFIGURATION_have_value (sctx->cfg, + sctx->service_name, + "GAUGER_HEAP")) && + (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (sctx->cfg, + sctx->service_name, + "GAUGER_HEAP", + &counter))) + { + struct mallinfo mi; - mi = mallinfo(); - GAUGER(sctx->service_name, counter, mi.usmblks, "blocks"); - GNUNET_free(counter); - } + mi = mallinfo (); + GAUGER (sctx->service_name, counter, mi.usmblks, "blocks"); + GNUNET_free (counter); + } } #endif if (NULL != sctx->shutdown_task) - { - GNUNET_SCHEDULER_cancel(sctx->shutdown_task); - sctx->shutdown_task = NULL; - } + { + GNUNET_SCHEDULER_cancel (sctx->shutdown_task); + sctx->shutdown_task = NULL; + } if (NULL != sctx->server) - GNUNET_SERVER_destroy(sctx->server); - GNUNET_free_non_null(sctx->my_handlers); + GNUNET_SERVER_destroy (sctx->server); + GNUNET_free_non_null (sctx->my_handlers); if (NULL != sctx->addrs) - { - i = 0; - while (NULL != sctx->addrs[i]) - GNUNET_free(sctx->addrs[i++]); - GNUNET_free(sctx->addrs); - } - GNUNET_free_non_null(sctx->addrlens); - GNUNET_free_non_null(sctx->v4_denied); - GNUNET_free_non_null(sctx->v6_denied); - GNUNET_free_non_null(sctx->v4_allowed); - GNUNET_free_non_null(sctx->v6_allowed); - GNUNET_free(sctx); + { + i = 0; + while (NULL != sctx->addrs[i]) + GNUNET_free (sctx->addrs[i++]); + GNUNET_free (sctx->addrs); + } + GNUNET_free_non_null (sctx->addrlens); + GNUNET_free_non_null (sctx->v4_denied); + GNUNET_free_non_null (sctx->v6_denied); + GNUNET_free_non_null (sctx->v4_allowed); + GNUNET_free_non_null (sctx->v6_allowed); + GNUNET_free (sctx); } -- cgit v1.2.3