aboutsummaryrefslogtreecommitdiff
path: root/src/util/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/service.c')
-rw-r--r--src/util/service.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/util/service.c b/src/util/service.c
index cf9703235..8d72a749a 100644
--- a/src/util/service.c
+++ b/src/util/service.c
@@ -620,34 +620,26 @@ check_access (void *cls, const struct sockaddr *addr, socklen_t addrlen)
620 const struct sockaddr_in *i4; 620 const struct sockaddr_in *i4;
621 const struct sockaddr_in6 *i6; 621 const struct sockaddr_in6 *i6;
622 int ret; 622 int ret;
623 char buf[INET6_ADDRSTRLEN];
624 uint16_t port;
625 623
626 switch (addr->sa_family) 624 switch (addr->sa_family)
627 { 625 {
628 case AF_INET: 626 case AF_INET:
629 GNUNET_assert (addrlen == sizeof (struct sockaddr_in)); 627 GNUNET_assert (addrlen == sizeof (struct sockaddr_in));
630 i4 = (const struct sockaddr_in *) addr; 628 i4 = (const struct sockaddr_in *) addr;
631 port = ntohs (i4->sin_port);
632 ret = ((sctx->v4_allowed == NULL) || 629 ret = ((sctx->v4_allowed == NULL) ||
633 (check_ipv4_listed (sctx->v4_allowed, 630 (check_ipv4_listed (sctx->v4_allowed,
634 &i4->sin_addr))) 631 &i4->sin_addr)))
635 && ((sctx->v4_denied == NULL) || 632 && ((sctx->v4_denied == NULL) ||
636 (!check_ipv4_listed (sctx->v4_denied, &i4->sin_addr))); 633 (!check_ipv4_listed (sctx->v4_denied, &i4->sin_addr)));
637 if (ret != GNUNET_OK)
638 inet_ntop (AF_INET, &i4->sin_addr, buf, sizeof (buf));
639 break; 634 break;
640 case AF_INET6: 635 case AF_INET6:
641 GNUNET_assert (addrlen == sizeof (struct sockaddr_in6)); 636 GNUNET_assert (addrlen == sizeof (struct sockaddr_in6));
642 i6 = (const struct sockaddr_in6 *) addr; 637 i6 = (const struct sockaddr_in6 *) addr;
643 port = ntohs (i6->sin6_port);
644 ret = ((sctx->v6_allowed == NULL) || 638 ret = ((sctx->v6_allowed == NULL) ||
645 (check_ipv6_listed (sctx->v6_allowed, 639 (check_ipv6_listed (sctx->v6_allowed,
646 &i6->sin6_addr))) 640 &i6->sin6_addr)))
647 && ((sctx->v6_denied == NULL) || 641 && ((sctx->v6_denied == NULL) ||
648 (!check_ipv6_listed (sctx->v6_denied, &i6->sin6_addr))); 642 (!check_ipv6_listed (sctx->v6_denied, &i6->sin6_addr)));
649 if (ret != GNUNET_OK)
650 inet_ntop (AF_INET6, &i6->sin6_addr, buf, sizeof (buf));
651 break; 643 break;
652 default: 644 default:
653 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 645 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -657,8 +649,8 @@ check_access (void *cls, const struct sockaddr *addr, socklen_t addrlen)
657 if (ret != GNUNET_OK) 649 if (ret != GNUNET_OK)
658 { 650 {
659 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 651 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
660 _("Access from `%s:%u' denied to service `%s'\n"), 652 _("Access from `%s' denied to service `%s'\n"),
661 buf, port, sctx->serviceName); 653 GNUNET_a2s(addr, addrlen), sctx->serviceName);
662 } 654 }
663 return ret; 655 return ret;
664} 656}