NetBSD Problem Report #57828
From www@netbsd.org Sun Jan 7 22:27:11 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 6AB1F1A9238
for <gnats-bugs@gnats.NetBSD.org>; Sun, 7 Jan 2024 22:27:11 +0000 (UTC)
Message-Id: <20240107222640.3D5861A9239@mollari.NetBSD.org>
Date: Sun, 7 Jan 2024 22:26:40 +0000 (UTC)
From: alx@kernel.org
Reply-To: alx@kernel.org
To: gnats-bugs@NetBSD.org
Subject: strtoi(3), strtou(3): When both ERANGE and ENOTSUP conditions happen, ERANGE should be more important
X-Send-Pr-Version: www-1.0
>Number: 57828
>Category: lib
>Synopsis: strtoi(3), strtou(3): When both ERANGE and ENOTSUP conditions happen, ERANGE should be more important
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: lib-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jan 07 22:30:01 +0000 2024
>Closed-Date: Fri Aug 23 21:03:31 +0000 2024
>Last-Modified: Fri Aug 23 21:10:01 +0000 2024
>Originator: Alejandro Colomar
>Release: 9.3
>Organization:
Linux man-pages
>Environment:
N/A
>Description:
In strtoi(3) and strtou(3), the conditions for both ERANGE and
ENOTSUP can ahppen at in the same call. Consider the following:
strtoi("42z", &end, 0, 3, 7, &status);
From ERANGE, or ENOTSUP, I argue it should return ERANGE.
- The information about ENOTSUP can be extracted from 'end', as
(*end != '\0'). So if we report ERANGE, a caller can still
check for trailing text easily. However, there's no secondary
way to check ERANGE; if it's shadowed by ENOTSUP, that vital
information is completely lost.
- It is usual to expect trailing text after the number, as
when parsing some formatted text, where numbers are mixed with
other text. On the other hand, out-of-range values should
usually be rejected as invalid input, and also warned about.
If ENOTSUP shadows ERANGE, we're in a bad position.
The following two calls are currently equivalent:
strtoi("7z", &end, 0, 3, 7, &status);
strtoi("42z", &end, 0, 3, 7, &status);
I argue they shouldn't; there should be a way to distinguish them.
Here's a discussion in the shadow mailing list, where I originally reported this bug:
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E>
>How-To-Repeat:
Call strtoi(3) or strtou(3) with a string that overflows or underflows the [min, max] range, *and* contains trailing text.
>Fix:
I've implemented my own strtoi() and strtou(), using GNU C11, which report ERANGE if both ERANGE and ENOTSUP happen:
alx@debian:~/src/shadow/shadow/getlong$ grepc -tfd shadow_strtoi .
./lib/atoi/strtoi.c:intmax_t
shadow_strtoi(const char *str, char **restrict endptr, int base,
intmax_t min, intmax_t max, int *restrict status)
{
return strtoN(str, endptr, base, min, max, status, intmax_t);
}
alx@debian:~/src/shadow/shadow/getlong$ grepc -tfd shadow_strtou .
./lib/atoi/strtoi.c:uintmax_t
shadow_strtou(const char *str, char **restrict endptr, int base,
uintmax_t min, uintmax_t max, int *restrict status)
{
return strtoN(str, endptr, base, min, max, status, uintmax_t);
}
alx@debian:~/src/shadow/shadow/getlong$ grepc strtoN .
./lib/atoi/strtoi.c:#define strtoN(str, endptr, base, min, max, status, TYPE) \
({ \
const char *str_ = str; \
char **endptr_ = endptr; \
int base_ = base; \
TYPE min_ = min; \
TYPE max_ = max; \
int *status_ = status; \
\
int errno_saved_, s_; \
char *e_; \
TYPE n_; \
\
if (endptr_ == NULL) \
endptr_ = &e_; \
if (status_ == NULL) \
status_ = &s_; \
\
if (base_ < 0 || base_ > 36) { \
*status_ = EINVAL; \
n_ = 0; \
\
} else { \
errno_saved_ = errno; \
errno = 0; \
n_ = strtoNmax(TYPE, str_, endptr_, base_); \
\
if (*endptr_ == str_) \
*status_ = ECANCELED; \
else if (errno == ERANGE) \
*status_ = ERANGE; \
else if (n_ < min_ || n_ > max_) \
*status_ = ERANGE; \
else if (**endptr_ != '\0') \
*status_ = ENOTSUP; \
else \
*status_ = 0; \
\
errno = errno_saved_; \
} \
SATURATE(min_, max_, n_); \
})
alx@debian:~/src/shadow/shadow/getlong$ grepc strtoNmax .
./lib/atoi/strtoi.c:#define strtoNmax(TYPE, ...) \
( \
_Generic((TYPE) 0, \
intmax_t: strtoimax, \
uintmax_t: strtoumax \
)(__VA_ARGS__) \
)
alx@debian:~/src/shadow/shadow/getlong$ grepc SATURATE .
./lib/atoi/strtoi.h:#define SATURATE(min, max, n) MAX(min, MIN(max, n))
>Release-Note:
>Audit-Trail:
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: lib/57828: strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important
Date: Tue, 9 Jan 2024 14:30:23 +0100
--oYlthqTVVSHtac1b
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 9 Jan 2024 14:30:23 +0100
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Subject: Re: lib/57828: strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important
On Sun, Jan 07, 2024 at 10:30:01PM +0000, gnats-admin@netbsd.org wrote:
> Thank you very much for your problem report.
> It has the internal identification `lib/57828'.
> The individual assigned to look at your
> report is: lib-bug-people.=20
>=20
> >Category: lib
> >Responsible: lib-bug-people
> >Synopsis: strtoi(3), strtou(3): When both ERANGE and ENOTSUP condi=
tions happen, ERANGE should be more important
> >Arrival-Date: Sun Jan 07 22:30:01 +0000 2024
Hi,
Here's an analysis of the implications that changing strto[iu](3) would
have in the entire NetBSD tree (unless I missed anything):
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZsY=
ZJaG2wn-WLEy@debian%3E>
with a small correction here:
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZs1=
os0iaHxTJffh@debian%3E>
And here's an analysis of the implications that changing strto[iu](3)
would have in the Debian sources (unless I missed anything):
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZ1I=
4s5fT7kyrpN3@debian%3E>
Have a lovely day,
Alex
--=20
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.
--oYlthqTVVSHtac1b
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmWdSm8ACgkQnowa+77/
2zI1LRAAiocN1dgkXgdpX0ziWoBUcl7QPrJ6xPfz7N2MpsF2awktJKkyb2b1AW3v
eG2RaF7qDOmINlZgS5mnQOtfgENdqH+z9G8H4a+RsmXNbfYrvgkKH1RpX++fOUe8
bMkx2c58KWo8g2+T0avDT1Tou28OMCu6/q+/NAPMVi947Mjp0JzP+8bVoTlwGy0U
zY/t4rIVjxt51qvnf0G5n0s5eauetoCyYk7GSDq8gYBgR9MZ/UWp3H2gbQhxMxCz
phz+nXv5TrXoAPYpdzhMUIMeis4WwA9qo+83h/Lx1bWmj15bpLoSZV37t2T/GIOF
dzh+lzMGMA/YlVczLfe9aQhiuNf7Fc7p3wvSOWsd1HILTKqeny8QwrX4MNAA04lC
7IIqGhui4SEw7KEbNNbFGtnNQgIZ4XT9dnCkoF2dPIO2hQ/t7PnTA9WuY+9LpdjQ
lUekBoE/3r4RoNBLSFJrxUJHuoVjnmzsRX8WFnRS5G9Gln4byt4uK6eilO4HigB1
Cj0E0fhDvPaMhZrggIx1UBmCpuRLJo7j1bqtNZdGXaHHgvcWG4QdmNOHsrocuUHS
I0NLmu10ZWkH9v8H7nyLqduNCAxpfvInC9uKeiG3h/GPjpj7WzPs4WBz+sPthZ5G
+Jy9Dah40EBmWHnbCqm4G1LgmpNnPHay5vk/nq7QRDhLpIcX1EE=
=dQm6
-----END PGP SIGNATURE-----
--oYlthqTVVSHtac1b--
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: lib/57828: strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important
Date: Tue, 9 Jan 2024 14:33:06 +0100
--5sGvpjti7fmlimHD
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 9 Jan 2024 14:33:06 +0100
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Subject: Re: lib/57828: strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important
On Sun, Jan 07, 2024 at 10:30:01PM +0000, gnats-admin@netbsd.org wrote:
> Thank you very much for your problem report.
> It has the internal identification `lib/57828'.
> The individual assigned to look at your
> report is: lib-bug-people.=20
>=20
> >Category: lib
> >Responsible: lib-bug-people
> >Synopsis: strtoi(3), strtou(3): When both ERANGE and ENOTSUP condi=
tions happen, ERANGE should be more important
> >Arrival-Date: Sun Jan 07 22:30:01 +0000 2024
Here's an analysis of the implications that changing strto[iu](3) would
have in the entire NetBSD tree (unless I missed anything):
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZsY=
ZJaG2wn-WLEy@debian%3E>
with a small correction here:
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZs1=
os0iaHxTJffh@debian%3E>
And here's an analysis of the implications that changing strto[iu](3)
would have in the Debian sources (unless I missed anything):
<https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E#%3CZZ1I=
4s5fT7kyrpN3@debian%3E>
Have a lovely day,
Alex
--=20
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.
--5sGvpjti7fmlimHD
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmWdSxIACgkQnowa+77/
2zJ4MQ/+JWmjv9gV7axwoMa2mO2Vyrmp6iK9Jj2LrfcCEDQJUSHlFI63xnvMQvh4
Rpi+yvZIPOyS6M5Hq7ref02wRgUHMduyf/Q3M0xCxpGcaVGvhR9N6MHwkJfTI0iK
S9yuK85Z4OWXGoN/ShbY7mt7IULSxvdcnO/kcokKdZE5kNNW1njgUAHuCJzBIlas
qCW862CRfjXv6/5KyA8xpyqFIrhZ4kpxd9AQI3lo6f/5/ZU7Vvs7JF9x2FF/phcg
xE2A1bRrk54ODgNamCvlgvgOgY1H2D0nUhJibl21hUglrMFUae9P7Vq24iuPn7gQ
/ZcgIOf2s1XaJ6jyEu4vza939P6OD3n9kBmH+dquwDM6/QO8UxXbS2RJOQXXrEqh
9Oazu66Zi1JBthT8/dZGkX7BlXZgC61PppYVxk0QP5M8LnP1/yBA4xcmlKfcn0N1
PAdtgcqVl80Hy9Ex4NklqcmwzEnKivaZccgVraEdcPuP9EFufIvFm3wywaRCF6V+
/E7Ng5gvwXSZNQGYJYQP6PZhuBQTF9QpIbcrpJpIKNze79hI27axvfvrrNZcOkDa
mS6HmgRakzh4QFs10Iwu/OXwf+2i3+jiBLcLHEB2cNsJ7AbrkacUpfQlysCSstwz
HIsigEne3VANFKBRyWcVzKsCp+oE+JyqnIlYLnjkAdvr7d+Q9v0=
=SA8c
-----END PGP SIGNATURE-----
--5sGvpjti7fmlimHD--
From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57828 CVS commit: src
Date: Sat, 20 Jan 2024 11:13:39 -0500
Module Name: src
Committed By: christos
Date: Sat Jan 20 16:13:39 UTC 2024
Modified Files:
src/common/lib/libc/stdlib: _strtoi.h
src/lib/libc/stdlib: strtoi.3 strtonum.c strtou.3
Log Message:
PR/57828: Alejandro Colomar: Prioritize test for ERANGE before testing for
fully consuming the string. Adjust strtonum(3) to behave as before. Document
the order of the tests and sync the man pages (I should really autogenerate
one of the two man pages...)
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/stdlib/_strtoi.h
cvs rdiff -u -r1.7 -r1.8 src/lib/libc/stdlib/strtoi.3 \
src/lib/libc/stdlib/strtou.3
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/stdlib/strtonum.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->needs-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Tue, 23 Jul 2024 22:39:45 +0000
State-Changed-Why:
fixed in HEAD, needs pullup-10 and pullup-9, probably
State-Changed-From-To: needs-pullups->pending-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Sun, 18 Aug 2024 01:04:48 +0000
State-Changed-Why:
pullup-9 #1870 https://releng.netbsd.org/cgi-bin/req-9.cgi?show=1870
pullup-10 #792 https://releng.netbsd.org/cgi-bin/req-10.cgi?show=792
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57828 CVS commit: [netbsd-10] src
Date: Fri, 23 Aug 2024 16:15:14 +0000
Module Name: src
Committed By: martin
Date: Fri Aug 23 16:15:14 UTC 2024
Modified Files:
src/common/lib/libc/stdlib [netbsd-10]: _strtoi.h
src/lib/libc/stdlib [netbsd-10]: Makefile.inc strtoi.3 strtonum.c
src/tests/lib/libc/stdlib [netbsd-10]: t_strtoi.c
Removed Files:
src/lib/libc/stdlib [netbsd-10]: strtou.3
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #792):
common/lib/libc/stdlib/_strtoi.h: revision 1.3
lib/libc/stdlib/strtou.3: revision 1.8
lib/libc/stdlib/strtonum.c: revision 1.7
lib/libc/stdlib/Makefile.inc: revision 1.97
lib/libc/stdlib/strtoi.3: revision 1.8
lib/libc/stdlib/strtoi.3: revision 1.9
lib/libc/stdlib/strtou.3: file removal
tests/lib/libc/stdlib/t_strtoi.c: revision 1.3
PR/57828: Alejandro Colomar: Prioritize test for ERANGE before testing for
fully consuming the string. Adjust strtonum(3) to behave as before. Document
the order of the tests and sync the man pages (I should really autogenerate
one of the two man pages...)
generate strtou.3 from strtoi.3, grammar police
Add range tests with trailing characters.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.32.1 src/common/lib/libc/stdlib/_strtoi.h
cvs rdiff -u -r1.95 -r1.95.10.1 src/lib/libc/stdlib/Makefile.inc
cvs rdiff -u -r1.7 -r1.7.16.1 src/lib/libc/stdlib/strtoi.3
cvs rdiff -u -r1.6 -r1.6.10.1 src/lib/libc/stdlib/strtonum.c
cvs rdiff -u -r1.7 -r0 src/lib/libc/stdlib/strtou.3
cvs rdiff -u -r1.2 -r1.2.20.1 src/tests/lib/libc/stdlib/t_strtoi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57828 CVS commit: [netbsd-9] src
Date: Fri, 23 Aug 2024 18:50:16 +0000
Module Name: src
Committed By: martin
Date: Fri Aug 23 18:50:16 UTC 2024
Modified Files:
src/common/lib/libc/stdlib [netbsd-9]: _strtoi.h
src/lib/libc/stdlib [netbsd-9]: Makefile.inc strtoi.3 strtonum.c
src/tests/lib/libc/stdlib [netbsd-9]: t_strtoi.c
Removed Files:
src/lib/libc/stdlib [netbsd-9]: strtou.3
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1870):
common/lib/libc/stdlib/_strtoi.h: revision 1.3
lib/libc/stdlib/strtou.3: revision 1.8
lib/libc/stdlib/strtonum.c: revision 1.7
lib/libc/stdlib/Makefile.inc: revision 1.97
lib/libc/stdlib/strtoi.3: revision 1.8
lib/libc/stdlib/strtoi.3: revision 1.9
lib/libc/stdlib/strtou.3: file removal
tests/lib/libc/stdlib/t_strtoi.c: revision 1.3
PR/57828: Alejandro Colomar: Prioritize test for ERANGE before testing for
fully consuming the string. Adjust strtonum(3) to behave as before. Document
the order of the tests and sync the man pages (I should really autogenerate
one of the two man pages...)
generate strtou.3 from strtoi.3, grammar police
Add range tests with trailing characters.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.20.1 src/common/lib/libc/stdlib/_strtoi.h
cvs rdiff -u -r1.95 -r1.95.2.1 src/lib/libc/stdlib/Makefile.inc
cvs rdiff -u -r1.7 -r1.7.8.1 src/lib/libc/stdlib/strtoi.3
cvs rdiff -u -r1.6 -r1.6.2.1 src/lib/libc/stdlib/strtonum.c
cvs rdiff -u -r1.7 -r0 src/lib/libc/stdlib/strtou.3
cvs rdiff -u -r1.2 -r1.2.12.1 src/tests/lib/libc/stdlib/t_strtoi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Fri, 23 Aug 2024 21:03:31 +0000
State-Changed-Why:
fixed in HEAD, pulled up to 10, pulled up to 9
Thanks for the report!
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Cc: lib-bug-people@netbsd.org, netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org, riastradh@netbsd.org
Subject: Re: lib/57828 (strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important)
Date: Fri, 23 Aug 2024 23:05:36 +0200
--qawohr6gzhfeejid
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
From: Alejandro Colomar <alx@kernel.org>
To: gnats-bugs@netbsd.org
Cc: lib-bug-people@netbsd.org, netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org, riastradh@netbsd.org
Subject: Re: lib/57828 (strtoi(3), strtou(3): When both ERANGE and ENOTSUP
conditions happen, ERANGE should be more important)
References: <pr-lib-57828@gnats.netbsd.org>
<20240107222640.3D5861A9239@mollari.NetBSD.org>
<20240823210331.AEC8B1A9241@mollari.NetBSD.org>
MIME-Version: 1.0
In-Reply-To: <20240823210331.AEC8B1A9241@mollari.NetBSD.org>
On Fri, Aug 23, 2024 at 09:03:31PM GMT, riastradh@NetBSD.org wrote:
> Synopsis: strtoi(3), strtou(3): When both ERANGE and ENOTSUP conditions h=
appen, ERANGE should be more important
>=20
> State-Changed-From-To: pending-pullups->closed
> State-Changed-By: riastradh@NetBSD.org
> State-Changed-When: Fri, 23 Aug 2024 21:03:31 +0000
> State-Changed-Why:
> fixed in HEAD, pulled up to 10, pulled up to 9
>=20
> Thanks for the report!
Thanks for fixing it so quick (in master)! :-)
Have a lovely day!
Alex
--=20
<https://www.alejandro-colomar.es/>
--qawohr6gzhfeejid
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmbI+Z8ACgkQnowa+77/
2zJybhAAqwT/mUWES66aq8qQ//wmlFGL6ER5ClIIQW4wcvHvGbQLBxzKsXUf8P/g
SgzKyGjTf4CpuqRJVtGL3RKEqM5GBAvAlHHt/jdLr8s8vGSAtXZBZ7PNV7ew8Pg4
UqEWU3C+7adp3iYLx1+7ORynuiyzpcBuz05bRfgojpAicyJuvY0Ctjngg7HP304q
SYO8lPxoVeKtdYVceEg/ZlXtKwizyBos1kDKgfEHkdrkO03x6lBG6iM8CO22mguY
sv919yAi2b5Fly2ZeRhu4ulVPyF8+dONX3YM0d9fzwe4aXnb7h2A/lfdb6YzYbzc
+QK/kZjVGFV37yqpIDKBGIAJoqQZAKC7ANq00zbRhCd6I1fw8wxKumGh2xBHY48P
BiUkXkw7xzS9APSn9tzrjsrMF+crNL1ri9nt371HYR28e7xW1sPLHjMVxZDYCh4l
V0614c8jE0T/wo8zNYjFYw7TEOHUDylWwqg02kP/cx2gr7TD8lZBuFXi8gq+R75+
TvyUsItzP22IA1PC++CE+cL94sp+IxQCMWvo/Sizo1mQNyVQRcK63ozURfuvuae4
SU7FNQxpwmBk1LNPA4ZUMa3pei789lYllzulJjZ7KrXsMN3GAOjdmU3Ul5bz60Wi
iDcJ0XMu8ZS8aRk63s7Uk3zlLUB9kb5SIJHwTJW+yBDc5O/PybI=
=CeR1
-----END PGP SIGNATURE-----
--qawohr6gzhfeejid--
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.