From nobody Thu Sep 28 15:52:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxHzx6NNVz4tyNb; Thu, 28 Sep 2023 15:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RxHzx2m2sz4KKg; Thu, 28 Sep 2023 15:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695916349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8VnVPiYKa15UewwDN9lVhfGC3U4CUOJBccFiBC4Q6xg=; b=WnPgjwQJwd/PzYTpYIxHZaocrIKoFUw0JL23fbCsvdZ+2L/EH/lWXQDEe/xJTenqm+PUI1 pSdEECKKglcUKvEpwQIiNWzfpzWuojXhJ+s1kreczs1AYhkqpuGIm27ftecOG/HJl5kO3t GUxHDlaK+iLLqbUCtOcg9Rhi4A7YBsBx1wTUhhpU3KaeBhMAuERkexhtH85tJLg27TyUXo /vONb7BEYLcpZZRiLV5S7zTYQSvYfAD7L/o/cUc8pVtAwvo3oZfXqm4Kd3kkVfOeV32DYK PFLr0DnYX/sBbVZJwNUAnXJV+SMVrrOk7NZWD+ivUjHm3LgsUQ4CwIjsKu6HKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695916349; a=rsa-sha256; cv=none; b=s7M1S54e674xdGgvoiAu5Gu9sS9B4DfjS3YEvv35TFD8BlSALcaal7rVOIZPttwWIhadxR 37InO0lshMGAeF849eEQjuVc8Pq+zbHFqe31a38sRxbPabUh7+B1ml+JiIBClvE1cRuJTO A9Lqy9X5Fo8iEUAn2xTmp3IyrMhx1/cx3YBBYteJuDJZxOA10mAhQbD9vzeZH+zAh0DCki W52poPvw88T1UNXveBNtZXty0C/labwzHLMBppuLRHz7QCaMug/CuHvGEQkDvOUFZz3YZ5 na8oDbKOjoS9R6YTtROg34DAoOJmxqiZjCiJFy/1wPrFuJHw549S6LtPiXH0pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695916349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8VnVPiYKa15UewwDN9lVhfGC3U4CUOJBccFiBC4Q6xg=; b=ai+IzKpv/nyd1MLg1c3rGo+8bGOw3vGW9RHCcYvKgdNbgeHEvF+h1AqhXCgsjnxgwUnIKt Ax9OqEETnkX2ATS1SjT2O/rtIc0Yld7HsoCe13QFTcDM/jzNXfNw5pIVpjtMbAuq3om/YX QHI5N6CG0JQi68IZjHmagxdrKahrdh7sFq7hYItQeXsKEU63JpYAvK0+pNVIU+QHR4GdRW S5kmsFPzroxGyzNG70sApRQuDUAePXJ7/ZOPgUcU909Ps2o+lsWX5ovuC8HB+h+VWbJGjK l6f/tJGEpYqqePNrc85tHJ+ZPfOhuIAH9J8TzMqrl3TqgetodU3NCB20irKFNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxHzx1t4zzD8t; Thu, 28 Sep 2023 15:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38SFqTrs021815; Thu, 28 Sep 2023 15:52:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SFqTn2021812; Thu, 28 Sep 2023 15:52:29 GMT (envelope-from git) Date: Thu, 28 Sep 2023 15:52:29 GMT Message-Id: <202309281552.38SFqTn2021812@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b772f1ce14a0 - main - syslogd: Clean up allowedpeer structure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b772f1ce14a0b3de6c3e9aa72e8b83696c782a3d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b772f1ce14a0b3de6c3e9aa72e8b83696c782a3d commit b772f1ce14a0b3de6c3e9aa72e8b83696c782a3d Author: Jake Freeland AuthorDate: 2023-09-01 02:49:53 +0000 Commit: Mark Johnston CommitDate: 2023-09-28 15:51:53 +0000 syslogd: Clean up allowedpeer structure * Use boolean values in validate() and struct allowedpeer. * Remove useless peer count loop. Reviewed by: markj, emaste MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41365 --- usr.sbin/syslogd/syslogd.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index c03acf301fd8..02c125f36f91 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -175,6 +175,7 @@ static const char include_ext[] = ".conf"; (((d)->s6_addr32[2] ^ (a)->s6_addr32[2]) & (m)->s6_addr32[2]) == 0 && \ (((d)->s6_addr32[3] ^ (a)->s6_addr32[3]) & (m)->s6_addr32[3]) == 0 ) #endif + /* * List of peers and sockets that can't be bound until * flags have been parsed. @@ -337,11 +338,10 @@ static TAILQ_HEAD(, deadq_entry) deadq_head = #define DQ_TIMO_INIT 2 /* - * Struct to hold records of network addresses that are allowed to log - * to us. + * Network addresses that are allowed to log to us. */ struct allowedpeer { - int isnumeric; + bool isnumeric; u_short port; union { struct { @@ -357,7 +357,6 @@ struct allowedpeer { }; static STAILQ_HEAD(, allowedpeer) aphead = STAILQ_HEAD_INITIALIZER(aphead); - /* * Intervals at which we flush out "message repeated" messages, * in seconds after previous message is logged. After each flush, @@ -458,7 +457,7 @@ static int p_open(const char *, pid_t *); static void reapchild(int); static const char *ttymsg_check(struct iovec *, int, char *, int); static void usage(void); -static int validate(struct sockaddr *, const char *); +static bool validate(struct sockaddr *, const char *); static void unmapped(struct sockaddr *); static void wallmsg(struct filed *, struct iovec *, const int iovlen); static int waitdaemon(int); @@ -3391,7 +3390,7 @@ allowaddr(char *s __unused) .ai_flags = AI_PASSIVE | AI_NUMERICHOST }; if (getaddrinfo(s, NULL, &hints, &res) == 0) { - ap->isnumeric = 1; + ap->isnumeric = true; memcpy(&ap->a_addr, res->ai_addr, res->ai_addrlen); ap->a_mask = (struct sockaddr_storage){ .ss_family = res->ai_family, @@ -3452,7 +3451,7 @@ allowaddr(char *s __unused) freeaddrinfo(res); } else { /* arg `s' is domain name */ - ap->isnumeric = 0; + ap->isnumeric = false; ap->a_name = s; if (cp1) *cp1 = '/'; @@ -3495,7 +3494,7 @@ err: /* * Validate that the remote peer has permission to log to us. */ -static int +static bool validate(struct sockaddr *sa, const char *hname) { int i; @@ -3509,15 +3508,10 @@ validate(struct sockaddr *sa, const char *hname) #endif struct addrinfo hints, *res; u_short sport; - int num = 0; - STAILQ_FOREACH(ap, &aphead, next) { - num++; - } - dprintf("# of validation rule: %d\n", num); - if (num == 0) - /* traditional behaviour, allow everything */ - return (1); + /* traditional behaviour, allow everything */ + if (STAILQ_EMPTY(&aphead)) + return (true); (void)strlcpy(name, hname, sizeof(name)); hints = (struct addrinfo){ @@ -3533,7 +3527,7 @@ validate(struct sockaddr *sa, const char *hname) } if (getnameinfo(sa, sa->sa_len, ip, sizeof(ip), port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV) != 0) - return (0); /* for safety, should not occur */ + return (false); /* for safety, should not occur */ dprintf("validate: dgram from IP %s, port %s, name %s;\n", ip, port, name); sport = atoi(port); @@ -3593,9 +3587,9 @@ validate(struct sockaddr *sa, const char *hname) } } dprintf("accepted in rule %d.\n", i); - return (1); /* hooray! */ + return (true); /* hooray! */ } - return (0); + return (false); } /*