diff --git a/net-dns/djbdns/Manifest b/net-dns/djbdns/Manifest index 64f722e2e2fe..f1709e764b6e 100644 --- a/net-dns/djbdns/Manifest +++ b/net-dns/djbdns/Manifest @@ -1,3 +1,4 @@ DIST djbdns-1.05-man.tar.gz 17170 BLAKE2B 2fef7e1be8a427b2c426c2af58bf4c22795e64d03e0f605ca333e38f187ff65b333e88a7cea0e8a9ec867b446b5ca34a5c97dd24ae18b28ee4c747f2fd1f1608 SHA512 98af7bd9033a2205fbbc0f23b7eab45b9756f6ceff5199a62952e19c89c9fe3c03495cb6f8621d388f883c40650309a1509095417df3f54af21a71350c4aa183 DIST djbdns-1.05-test32.diff.xz 31096 BLAKE2B 0bd6948ba3930f7d6e657f91ff76b1101fa7bb8f3da6849344c2230622fce6c15354e632a9140fefafee5986b522fb85c77c70ac64821d280043d1cd3564be2a SHA512 ed5ea46e3346841a8e8b6a77756c1dba53dab5636f73cf495bf1a182c393bef83d6035f6af26fb903baa75ee689db4abae222b6f85a7e245eb59f9c805163774 DIST djbdns-1.05.tar.gz 85648 BLAKE2B 51918fcc8944e64e72709636ee7d56975a138a2806e22c019fa836770de3a338bb8f682216b89c09d6b2861c2423e60e28dc60639f5a86aca2040e1788e4cf5c SHA512 20f066402801d7bec183cb710a5bc51e41f1410024741e5803e26f68f2c13567e48eba793f233dfab903459c3335bc169e24b99d66a4c64e617e1f0779732fa9 +DIST djbdns-gentoo-1.tar.bz2 19812 BLAKE2B a5640bf0d075a0ab2f34693e6f424a0195b24ec6bb9a895e719d8d2b31434dd59834b3a1d0a32cda22fe2189e0fd08433e1c2fcd187c64158c99b07c4ebd050b SHA512 df72737085dad76290dfbe26ea4341c03b645916371eefdeb05dde4d65ea3f262aafead1ddf1b2a5692bc0d1d84d8204d81c9c6b61dc706065e5fa9c3159bd20 diff --git a/net-dns/djbdns/djbdns-1.05-r41.ebuild b/net-dns/djbdns/djbdns-1.05-r42.ebuild similarity index 70% rename from net-dns/djbdns/djbdns-1.05-r41.ebuild rename to net-dns/djbdns/djbdns-1.05-r42.ebuild index ae6c9bd03066..ac6affc54c42 100644 --- a/net-dns/djbdns/djbdns-1.05-r41.ebuild +++ b/net-dns/djbdns/djbdns-1.05-r42.ebuild @@ -7,9 +7,11 @@ inherit flag-o-matic readme.gentoo-r1 toolchain-funcs DESCRIPTION="Collection of DNS client/server software" HOMEPAGE="https://cr.yp.to/djbdns.html" IPV6_PATCH="test32" +GENTOO_PATCH="1" SRC_URI="https://cr.yp.to/djbdns/${P}.tar.gz https://smarden.org/pape/djb/manpages/${P}-man.tar.gz + https://downloads.uls.co.za/gentoo/djbdns/djbdns-gentoo-${GENTOO_PATCH}.tar.bz2 ipv6? ( https://www.fefe.de/dns/${P}-${IPV6_PATCH}.diff.xz )" LICENSE="public-domain" @@ -35,41 +37,19 @@ src_unpack() { } PATCHES=( - "${FILESDIR}/dnsroots.patch" - "${FILESDIR}/dnstracesort.patch" - "${FILESDIR}/string_length_255.patch" - "${FILESDIR}/srv_record_support.patch" - "${FILESDIR}/increase-cname-recustion-depth.patch" - "${FILESDIR}/CVE2009-0858_0001-check-response-domain-name-length.patch" - "${FILESDIR}/CVE2012-1191_0001-ghost-domain-attack.patch" - "${FILESDIR}/AR-and-RANLIB-support.patch" - "${FILESDIR}/tinydns-softlimit.patch" - "${FILESDIR}/${PN}-dnscache-configurable-truncate-manpages.patch" + "${WORKDIR}/djbdns-gentoo-${GENTOO_PATCH}/base" ) src_prepare() { if use ipv6; then - PATCHES=(${PATCHES[@]} + PATCHES+=( # The big ipv6 patch. "${WORKDIR}/${P}-${IPV6_PATCH}.diff" - # Fix CVE2008-4392 (ipv6) - "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries-ipv6-test32.patch" - "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records-ipv6-test29.patch" - "${FILESDIR}/${PN}-dnscache-configurable-truncate-size-v6.patch" - "${FILESDIR}/${PN}-udp-overflow-response-buffer-truncate-v6.patch" - "${FILESDIR}/${PN}-gcc15-v6.patch" + "${WORKDIR}/djbdns-gentoo-${GENTOO_PATCH}/ipv6" ) else - PATCHES=(${PATCHES[@]} - "${FILESDIR}/implicit-declarations-nov6.patch" - # Fix CVE2008-4392 (no ipv6) - "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries-r1.patch" - "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records.patch" - # Later versions of the ipv6 patch include this - "${FILESDIR}/${PV}-errno-r1.patch" - "${FILESDIR}/${PN}-dnscache-configurable-truncate-size-nov6.patch" - "${FILESDIR}/${PN}-udp-overflow-response-buffer-truncate-nov6.patch" - "${FILESDIR}/${PN}-gcc15-nov6.patch" + PATCHES+=( + "${WORKDIR}/djbdns-gentoo-${GENTOO_PATCH}/nov6" ) fi diff --git a/net-dns/djbdns/files/djbdns-gcc15-nov6.patch b/net-dns/djbdns/files/djbdns-gcc15-nov6.patch deleted file mode 100644 index 8152c9a46b17..000000000000 --- a/net-dns/djbdns/files/djbdns-gcc15-nov6.patch +++ /dev/null @@ -1,1102 +0,0 @@ -Patches for gcc15. - -Signed-off-by: André Malo -Reference: https://bugs.gentoo.org/945469 -diff '--color=auto' -Nur djbdns-1.05~/alloc.c djbdns-1.05/alloc.c ---- djbdns-1.05~/alloc.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc.c 2025-12-02 22:43:49.677462093 +0100 -@@ -10,8 +10,7 @@ - #define space ((char *) realspace) - static unsigned int avail = SPACE; /* multiple of ALIGNMENT; 0<=avail<=SPACE */ - --/*@null@*//*@out@*/char *alloc(n) --unsigned int n; -+/*@null@*//*@out@*/void *alloc(size_t n) - { - char *x; - n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */ -@@ -21,9 +20,9 @@ - return x; - } - --void alloc_free(x) --char *x; -+void alloc_free(void *x_) - { -+ char *x = x_; - if (x >= space) - if (x < space + SPACE) - return; /* XXX: assuming that pointers are flat */ -diff '--color=auto' -Nur djbdns-1.05~/alloc.h djbdns-1.05/alloc.h ---- djbdns-1.05~/alloc.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc.h 2025-12-02 22:43:49.677666536 +0100 -@@ -1,8 +1,10 @@ -+#include -+ - #ifndef ALLOC_H - #define ALLOC_H - --extern /*@null@*//*@out@*/char *alloc(); --extern void alloc_free(); --extern int alloc_re(); -+extern /*@null@*//*@out@*/void *alloc(size_t); -+extern void alloc_free(void *); -+extern int alloc_re(void *, size_t, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/alloc_re.c djbdns-1.05/alloc_re.c ---- djbdns-1.05~/alloc_re.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc_re.c 2025-12-02 22:43:49.677764806 +0100 -@@ -1,11 +1,9 @@ - #include "alloc.h" - #include "byte.h" - --int alloc_re(x,m,n) --char **x; --unsigned int m; --unsigned int n; -+int alloc_re(void *x_, size_t m, size_t n) - { -+ char **x = x_; - char *y; - - y = alloc(n); -diff '--color=auto' -Nur djbdns-1.05~/auto-str.c djbdns-1.05/auto-str.c ---- djbdns-1.05~/auto-str.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/auto-str.c 2025-12-02 22:43:49.677856118 +0100 -@@ -4,6 +4,7 @@ - char bspace[256]; - buffer b = BUFFER_INIT(buffer_unixwrite,1,bspace,sizeof bspace); - -+#define puts puts_ - void puts(const char *s) - { - if (buffer_puts(&b,s) == -1) _exit(111); -diff '--color=auto' -Nur djbdns-1.05~/axfr-get.c djbdns-1.05/axfr-get.c ---- djbdns-1.05~/axfr-get.c 2025-12-02 22:43:37.114107512 +0100 -+++ djbdns-1.05/axfr-get.c 2025-12-02 22:43:49.677982306 +0100 -@@ -360,7 +360,7 @@ - - fd = open_trunc(fntmp); - if (fd == -1) die_write(); -- buffer_init(&b,buffer_unixwrite,fd,bspace,sizeof bspace); -+ buffer_init(&b,(buffer_op)buffer_unixwrite,fd,bspace,sizeof bspace); - - if (!stralloc_copyb(&packet,"\0\0\0\0\0\1\0\0\0\0\0\0",12)) die_generate(); - if (!stralloc_catb(&packet,zone,zonelen)) die_generate(); -diff '--color=auto' -Nur djbdns-1.05~/buffer.c djbdns-1.05/buffer.c ---- djbdns-1.05~/buffer.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer.c 2025-12-02 22:43:49.678114373 +0100 -@@ -1,6 +1,6 @@ - #include "buffer.h" - --void buffer_init(buffer *s,int (*op)(),int fd,char *buf,unsigned int len) -+void buffer_init(buffer *s, buffer_op op, int fd, char *buf, size_t len) - { - s->x = buf; - s->fd = fd; -diff '--color=auto' -Nur djbdns-1.05~/buffer_get.c djbdns-1.05/buffer_get.c ---- djbdns-1.05~/buffer_get.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_get.c 2025-12-02 22:43:49.678243357 +0100 -@@ -2,7 +2,7 @@ - #include "byte.h" - #include "error.h" - --static int oneread(int (*op)(),int fd,char *buf,unsigned int len) -+static ssize_t oneread(buffer_op op, int fd, char *buf, size_t len) - { - int r; - -@@ -13,7 +13,7 @@ - } - } - --static int getthis(buffer *s,char *buf,unsigned int len) -+static ssize_t getthis(buffer *s, char *buf, size_t len) - { - if (len > s->p) len = s->p; - s->p -= len; -@@ -22,9 +22,9 @@ - return len; - } - --int buffer_feed(buffer *s) -+ssize_t buffer_feed(buffer *s) - { -- int r; -+ ssize_t r; - - if (s->p) return s->p; - r = oneread(s->op,s->fd,s->x,s->n); -@@ -35,9 +35,9 @@ - return r; - } - --int buffer_bget(buffer *s,char *buf,unsigned int len) -+ssize_t buffer_bget(buffer *s, char *buf, size_t len) - { -- int r; -+ ssize_t r; - - if (s->p > 0) return getthis(s,buf,len); - if (s->n <= len) return oneread(s->op,s->fd,buf,s->n); -@@ -45,9 +45,9 @@ - return getthis(s,buf,len); - } - --int buffer_get(buffer *s,char *buf,unsigned int len) -+ssize_t buffer_get(buffer *s, char *buf, size_t len) - { -- int r; -+ ssize_t r; - - if (s->p > 0) return getthis(s,buf,len); - if (s->n <= len) return oneread(s->op,s->fd,buf,len); -@@ -60,7 +60,7 @@ - return s->x + s->n; - } - --void buffer_seek(buffer *s,unsigned int len) -+void buffer_seek(buffer *s, size_t len) - { - s->n += len; - s->p -= len; -diff '--color=auto' -Nur djbdns-1.05~/buffer.h djbdns-1.05/buffer.h ---- djbdns-1.05~/buffer.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer.h 2025-12-02 22:43:49.678364797 +0100 -@@ -1,27 +1,31 @@ -+#include -+#include -+ - #ifndef BUFFER_H - #define BUFFER_H - -+typedef ssize_t (*buffer_op)(int, void *, size_t); - typedef struct buffer { - char *x; -- unsigned int p; -- unsigned int n; -+ size_t p; -+ size_t n; - int fd; -- int (*op)(); -+ buffer_op op; - } buffer; - --#define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), (op) } -+#define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), ((buffer_op)(op)) } - #define BUFFER_INSIZE 8192 - #define BUFFER_OUTSIZE 8192 - --extern void buffer_init(buffer *,int (*)(),int,char *,unsigned int); -+extern void buffer_init(buffer *, buffer_op, int, char *, size_t); - - extern int buffer_flush(buffer *); --extern int buffer_put(buffer *,const char *,unsigned int); --extern int buffer_putalign(buffer *,const char *,unsigned int); --extern int buffer_putflush(buffer *,const char *,unsigned int); --extern int buffer_puts(buffer *,const char *); --extern int buffer_putsalign(buffer *,const char *); --extern int buffer_putsflush(buffer *,const char *); -+extern int buffer_put(buffer *, const char *, size_t); -+extern int buffer_putalign(buffer *,const char *, size_t); -+extern int buffer_putflush(buffer *,const char *, size_t); -+extern int buffer_puts(buffer *, const char *); -+extern int buffer_putsalign(buffer *, const char *); -+extern int buffer_putsflush(buffer *, const char *); - - #define buffer_PUTC(s,c) \ - ( ((s)->n != (s)->p) \ -@@ -29,12 +33,12 @@ - : buffer_put((s),&(c),1) \ - ) - --extern int buffer_get(buffer *,char *,unsigned int); --extern int buffer_bget(buffer *,char *,unsigned int); --extern int buffer_feed(buffer *); -+extern ssize_t buffer_get(buffer *, char *, size_t); -+extern ssize_t buffer_bget(buffer *, char *, size_t); -+extern ssize_t buffer_feed(buffer *); - - extern char *buffer_peek(buffer *); --extern void buffer_seek(buffer *,unsigned int); -+extern void buffer_seek(buffer *, size_t); - - #define buffer_PEEK(s) ( (s)->x + (s)->n ) - #define buffer_SEEK(s,len) ( ( (s)->p -= (len) ) , ( (s)->n += (len) ) ) -@@ -47,8 +51,8 @@ - - extern int buffer_copy(buffer *,buffer *); - --extern int buffer_unixread(int,char *,unsigned int); --extern int buffer_unixwrite(int,const char *,unsigned int); -+extern ssize_t buffer_unixread(int, void *, size_t); -+extern ssize_t buffer_unixwrite(int, const void *, size_t); - - extern buffer *buffer_0; - extern buffer *buffer_0small; -diff '--color=auto' -Nur djbdns-1.05~/buffer_put.c djbdns-1.05/buffer_put.c ---- djbdns-1.05~/buffer_put.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_put.c 2025-12-02 22:43:49.678490334 +0100 -@@ -3,12 +3,12 @@ - #include "byte.h" - #include "error.h" - --static int allwrite(int (*op)(),int fd,const char *buf,unsigned int len) -+static int allwrite(buffer_op op, int fd, const char *buf, size_t len) - { -- int w; -+ ssize_t w; - - while (len) { -- w = op(fd,buf,len); -+ w = op(fd,(char *)buf,len); - if (w == -1) { - if (errno == error_intr) continue; - return -1; /* note that some data may have been written */ -@@ -22,7 +22,7 @@ - - int buffer_flush(buffer *s) - { -- int p; -+ size_t p; - - p = s->p; - if (!p) return 0; -@@ -30,9 +30,9 @@ - return allwrite(s->op,s->fd,s->x,p); - } - --int buffer_putalign(buffer *s,const char *buf,unsigned int len) -+int buffer_putalign(buffer *s, const char *buf, size_t len) - { -- unsigned int n; -+ size_t n; - - while (len > (n = s->n - s->p)) { - byte_copy(s->x + s->p,n,buf); s->p += n; buf += n; len -= n; -@@ -44,9 +44,9 @@ - return 0; - } - --int buffer_put(buffer *s,const char *buf,unsigned int len) -+int buffer_put(buffer *s, const char *buf, size_t len) - { -- unsigned int n; -+ size_t n; - - n = s->n; - if (len > n - s->p) { -@@ -66,23 +66,23 @@ - return 0; - } - --int buffer_putflush(buffer *s,const char *buf,unsigned int len) -+int buffer_putflush(buffer *s, const char *buf, size_t len) - { - if (buffer_flush(s) == -1) return -1; - return allwrite(s->op,s->fd,buf,len); - } - --int buffer_putsalign(buffer *s,const char *buf) -+int buffer_putsalign(buffer *s, const char *buf) - { - return buffer_putalign(s,buf,str_len(buf)); - } - --int buffer_puts(buffer *s,const char *buf) -+int buffer_puts(buffer *s, const char *buf) - { - return buffer_put(s,buf,str_len(buf)); - } - --int buffer_putsflush(buffer *s,const char *buf) -+int buffer_putsflush(buffer *s, const char *buf) - { - return buffer_putflush(s,buf,str_len(buf)); - } -diff '--color=auto' -Nur djbdns-1.05~/buffer_read.c djbdns-1.05/buffer_read.c ---- djbdns-1.05~/buffer_read.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_read.c 2025-12-02 22:43:49.678576265 +0100 -@@ -1,7 +1,7 @@ - #include - #include "buffer.h" - --int buffer_unixread(int fd,char *buf,unsigned int len) -+ssize_t buffer_unixread(int fd, void *buf, size_t len) - { -- return read(fd,buf,len); -+ return read(fd,(char *)buf,len); - } -diff '--color=auto' -Nur djbdns-1.05~/buffer_write.c djbdns-1.05/buffer_write.c ---- djbdns-1.05~/buffer_write.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_write.c 2025-12-02 22:43:49.678662799 +0100 -@@ -1,7 +1,7 @@ - #include - #include "buffer.h" - --int buffer_unixwrite(int fd,const char *buf,unsigned int len) -+ssize_t buffer_unixwrite(int fd, const void *buf, size_t len) - { -- return write(fd,buf,len); -+ return write(fd,(const char *)buf,len); - } -diff '--color=auto' -Nur djbdns-1.05~/byte_chr.c djbdns-1.05/byte_chr.c ---- djbdns-1.05~/byte_chr.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_chr.c 2025-12-02 22:43:49.678749499 +0100 -@@ -1,12 +1,9 @@ - #include "byte.h" - --unsigned int byte_chr(s,n,c) --char *s; --register unsigned int n; --int c; -+unsigned int byte_chr(const char *s, register size_t n, int c) - { - register char ch; -- register char *t; -+ register const char *t; - - ch = c; - t = s; -diff '--color=auto' -Nur djbdns-1.05~/byte_copy.c djbdns-1.05/byte_copy.c ---- djbdns-1.05~/byte_copy.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_copy.c 2025-12-02 22:43:49.678836184 +0100 -@@ -1,10 +1,10 @@ - #include "byte.h" - --void byte_copy(to,n,from) --register char *to; --register unsigned int n; --register char *from; -+void byte_copy(void *to_, register size_t n, const void *from_) - { -+ register char *to = to_; -+ register const char *from = from_; -+ - for (;;) { - if (!n) return; *to++ = *from++; --n; - if (!n) return; *to++ = *from++; --n; -diff '--color=auto' -Nur djbdns-1.05~/byte_cr.c djbdns-1.05/byte_cr.c ---- djbdns-1.05~/byte_cr.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_cr.c 2025-12-02 22:43:49.678921918 +0100 -@@ -1,10 +1,10 @@ - #include "byte.h" - --void byte_copyr(to,n,from) --register char *to; --register unsigned int n; --register char *from; -+void byte_copyr(void *to_, register size_t n, const void *from_) - { -+ register char *to = to_; -+ register const char *from = from_; -+ - to += n; - from += n; - for (;;) { -diff '--color=auto' -Nur djbdns-1.05~/byte_diff.c djbdns-1.05/byte_diff.c ---- djbdns-1.05~/byte_diff.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_diff.c 2025-12-02 22:43:49.679006562 +0100 -@@ -1,9 +1,6 @@ - #include "byte.h" - --int byte_diff(s,n,t) --register char *s; --register unsigned int n; --register char *t; -+int byte_diff(register const unsigned char *s, register size_t n, register const unsigned char *t) - { - for (;;) { - if (!n) return 0; if (*s != *t) break; ++s; ++t; --n; -diff '--color=auto' -Nur djbdns-1.05~/byte.h djbdns-1.05/byte.h ---- djbdns-1.05~/byte.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte.h 2025-12-02 22:43:49.679094828 +0100 -@@ -1,12 +1,13 @@ -+#include -+ - #ifndef BYTE_H - #define BYTE_H - --extern unsigned int byte_chr(); --extern unsigned int byte_rchr(); --extern void byte_copy(); --extern void byte_copyr(); --extern int byte_diff(); --extern void byte_zero(); -+extern unsigned int byte_chr(const char *, register size_t, int); -+extern void byte_copy(void *, register size_t, const void *); -+extern void byte_copyr(void *, register size_t, const void *); -+extern int byte_diff(register const unsigned char *, register size_t, register const unsigned char *); -+extern void byte_zero(void *, register size_t); - - #define byte_equal(s,n,t) (!byte_diff((s),(n),(t))) - -diff '--color=auto' -Nur djbdns-1.05~/byte_zero.c djbdns-1.05/byte_zero.c ---- djbdns-1.05~/byte_zero.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_zero.c 2025-12-02 22:43:49.679184094 +0100 -@@ -1,9 +1,8 @@ - #include "byte.h" - --void byte_zero(s,n) --char *s; --register unsigned int n; -+void byte_zero(void *s_, register size_t n) - { -+ char *s = s_; - for (;;) { - if (!n) break; *s++ = 0; --n; - if (!n) break; *s++ = 0; --n; -diff '--color=auto' -Nur djbdns-1.05~/cdb_make.c djbdns-1.05/cdb_make.c ---- djbdns-1.05~/cdb_make.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/cdb_make.c 2025-12-02 22:43:49.679283267 +0100 -@@ -14,7 +14,7 @@ - c->numentries = 0; - c->fd = fd; - c->pos = sizeof c->final; -- buffer_init(&c->b,buffer_unixwrite,fd,c->bspace,sizeof c->bspace); -+ buffer_init(&c->b,(buffer_op)buffer_unixwrite,fd,c->bspace,sizeof c->bspace); - return seek_set(fd,c->pos); - } - -diff '--color=auto' -Nur djbdns-1.05~/dnscache.c djbdns-1.05/dnscache.c ---- djbdns-1.05~/dnscache.c 2025-12-02 22:43:37.146897195 +0100 -+++ djbdns-1.05/dnscache.c 2025-12-02 22:43:49.679393606 +0100 -@@ -52,7 +52,7 @@ - static char buf[1024]; - uint64 numqueries = 0; - --static unsigned int truncate_len = 512; -+static unsigned long truncate_len = 512; - - static int udp53; - -@@ -414,7 +414,7 @@ - socket_tryreservein(udp53,131072); - - byte_zero(seed,sizeof seed); -- read(0,seed,sizeof seed); -+ (void)read(0,seed,sizeof seed); - dns_random_init(seed); - close(0); - -diff '--color=auto' -Nur djbdns-1.05~/exit.h djbdns-1.05/exit.h ---- djbdns-1.05~/exit.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/exit.h 2025-12-02 22:43:49.679506642 +0100 -@@ -1,6 +1,6 @@ - #ifndef EXIT_H - #define EXIT_H - --extern void _exit(); -+#include - - #endif -diff '--color=auto' -Nur djbdns-1.05~/FILES djbdns-1.05/FILES ---- djbdns-1.05~/FILES 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/FILES 2025-12-02 22:43:49.679599711 +0100 -@@ -225,7 +225,6 @@ - trydrent.c - trylsock.c - trypoll.c --tryshsgr.c - trysysel.c - tryulong32.c - tryulong64.c -diff '--color=auto' -Nur djbdns-1.05~/generic-conf.c djbdns-1.05/generic-conf.c ---- djbdns-1.05~/generic-conf.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/generic-conf.c 2025-12-02 22:43:49.679685284 +0100 -@@ -43,7 +43,7 @@ - fn = s; - fd = open_trunc(fn); - if (fd == -1) fail(); -- buffer_init(&ss,buffer_unixwrite,fd,buf,sizeof buf); -+ buffer_init(&ss,(buffer_op)buffer_unixwrite,fd,buf,sizeof buf); - } - - void outs(const char *s) -diff '--color=auto' -Nur djbdns-1.05~/hasshsgr.h1 djbdns-1.05/hasshsgr.h1 ---- djbdns-1.05~/hasshsgr.h1 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/hasshsgr.h1 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --/* sysdep: -shortsetgroups */ -diff '--color=auto' -Nur djbdns-1.05~/hasshsgr.h2 djbdns-1.05/hasshsgr.h2 ---- djbdns-1.05~/hasshsgr.h2 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/hasshsgr.h2 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --/* sysdep: +shortsetgroups */ --#define HASSHORTSETGROUPS 1 -diff '--color=auto' -Nur djbdns-1.05~/hier.c djbdns-1.05/hier.c ---- djbdns-1.05~/hier.c 2025-12-02 22:43:37.135670301 +0100 -+++ djbdns-1.05/hier.c 2025-12-02 22:43:49.679872041 +0100 -@@ -1,9 +1,11 @@ -+#include -+#include - #include "auto_home.h" - - /* implemented in install.c and/or instcheck.c */ --void c(char*, char*, char*, int, int, int); --void h(char*, int, int, int); --void d(char*, char*, int, int, int); -+void c(const char*, const char*, const char*, uid_t, gid_t, mode_t); -+void h(const char*, uid_t, gid_t, mode_t); -+void d(const char*, const char*, uid_t, gid_t, mode_t); - - - void hier() -diff '--color=auto' -Nur djbdns-1.05~/install.c djbdns-1.05/install.c ---- djbdns-1.05~/install.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/install.c 2025-12-02 22:43:49.680010735 +0100 -@@ -13,11 +13,7 @@ - - int fdsourcedir = -1; - --void h(home,uid,gid,mode) --char *home; --int uid; --int gid; --int mode; -+void h(const char *home, uid_t uid, gid_t gid, mode_t mode) - { - if (mkdir(home,0700) == -1) - if (errno != error_exist) -@@ -28,12 +24,7 @@ - strerr_die4sys(111,FATAL,"unable to chmod ",home,": "); - } - --void d(home,subdir,uid,gid,mode) --char *home; --char *subdir; --int uid; --int gid; --int mode; -+void d(const char *home, const char *subdir, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); -@@ -51,13 +42,7 @@ - buffer ssin; - buffer ssout; - --void c(home,subdir,file,uid,gid,mode) --char *home; --char *subdir; --char *file; --int uid; --int gid; --int mode; -+void c(const char *home, const char *subdir, const char *file, uid_t uid, gid_t gid, mode_t mode) - { - int fdin; - int fdout; -@@ -78,7 +63,7 @@ - fdout = open_trunc(file); - if (fdout == -1) - strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": "); -- buffer_init(&ssout,buffer_unixwrite,fdout,outbuf,sizeof outbuf); -+ buffer_init(&ssout,(buffer_op)buffer_unixwrite,fdout,outbuf,sizeof outbuf); - - switch(buffer_copy(&ssout,&ssin)) { - case -2: -@@ -101,14 +86,7 @@ - strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": "); - } - --void z(home,subdir,file,len,uid,gid,mode) --char *home; --char *subdir; --char *file; --int len; --int uid; --int gid; --int mode; -+void z(const char *home, const char *subdir, const char *file, int len, uid_t uid, gid_t gid, mode_t mode) - { - int fdout; - -@@ -120,7 +98,7 @@ - fdout = open_trunc(file); - if (fdout == -1) - strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": "); -- buffer_init(&ssout,buffer_unixwrite,fdout,outbuf,sizeof outbuf); -+ buffer_init(&ssout,(buffer_op)buffer_unixwrite,fdout,outbuf,sizeof outbuf); - - while (len-- > 0) - if (buffer_put(&ssout,"",1) == -1) -@@ -139,7 +117,7 @@ - strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": "); - } - --int main() -+int main(void) - { - fdsourcedir = open_read("."); - if (fdsourcedir == -1) -diff '--color=auto' -Nur djbdns-1.05~/instcheck.c djbdns-1.05/instcheck.c ---- djbdns-1.05~/instcheck.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/instcheck.c 2025-12-02 22:43:49.680136082 +0100 -@@ -10,15 +10,7 @@ - #define FATAL "instcheck: fatal: " - #define WARNING "instcheck: warning: " - --void perm(prefix1,prefix2,prefix3,file,type,uid,gid,mode) --char *prefix1; --char *prefix2; --char *prefix3; --char *file; --int type; --int uid; --int gid; --int mode; -+void perm(const char *prefix1, const char *prefix2, const char *prefix3, const char *file, mode_t type, uid_t uid, gid_t gid, mode_t mode) - { - struct stat st; - -@@ -40,46 +32,26 @@ - strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong type",0); - } - --void h(home,uid,gid,mode) --char *home; --int uid; --int gid; --int mode; -+void h(const char *home, uid_t uid, gid_t gid, mode_t mode) - { - perm("","","",home,S_IFDIR,uid,gid,mode); - } - --void d(home,subdir,uid,gid,mode) --char *home; --char *subdir; --int uid; --int gid; --int mode; -+void d(const char *home, const char *subdir, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",subdir,S_IFDIR,uid,gid,mode); - } - --void p(home,fifo,uid,gid,mode) --char *home; --char *fifo; --int uid; --int gid; --int mode; -+void p(const char *home, const char *fifo, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",fifo,S_IFIFO,uid,gid,mode); - } - --void c(home,subdir,file,uid,gid,mode) --char *home; --char *subdir; --char *file; --int uid; --int gid; --int mode; -+void c(const char *home, const char *subdir, const char *file, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); -@@ -88,20 +60,15 @@ - perm(".../",subdir,"/",file,S_IFREG,uid,gid,mode); - } - --void z(home,file,len,uid,gid,mode) --char *home; --char *file; --int len; --int uid; --int gid; --int mode; -+void z(const char *home, const char *file, int len, uid_t uid, gid_t gid, mode_t mode) - { -+ (void)len; /* unused */ - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",file,S_IFREG,uid,gid,mode); - } - --int main() -+int main(void) - { - hier(); - _exit(0); -diff '--color=auto' -Nur djbdns-1.05~/Makefile djbdns-1.05/Makefile ---- djbdns-1.05~/Makefile 2025-12-02 22:43:37.154337056 +0100 -+++ djbdns-1.05/Makefile 2025-12-02 22:43:49.680312281 +0100 -@@ -510,12 +510,6 @@ - *) cat hasdevtcp.h1 ;; \ - esac ) > hasdevtcp.h - --hasshsgr.h: \ --choose compile load tryshsgr.c hasshsgr.h1 hasshsgr.h2 chkshsgr \ --warn-shsgr -- ./chkshsgr || ( cat warn-shsgr; exit 1 ) -- ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h -- - hier.o: \ - compile hier.c auto_home.h - ./compile hier.c -@@ -682,7 +676,7 @@ - dnstrace dnstracesort cachetest utime rts - - prot.o: \ --compile prot.c hasshsgr.h prot.h -+compile prot.c prot.h - ./compile prot.c - - qlog.o: \ -diff '--color=auto' -Nur djbdns-1.05~/prot.c djbdns-1.05/prot.c ---- djbdns-1.05~/prot.c 2025-12-02 22:43:37.135711312 +0100 -+++ djbdns-1.05/prot.c 2025-12-02 22:43:49.680484591 +0100 -@@ -1,21 +1,13 @@ - #include --#include --#include "hasshsgr.h" - #include "prot.h" - --int prot_gid(int gid) -+int prot_gid(gid_t gid) - { --#ifdef HASSHORTSETGROUPS -- short x[2]; -- x[0] = gid; x[1] = 73; /* catch errors */ -- if (setgroups(1,x) == -1) return -1; --#else - if (setgroups(1,&gid) == -1) return -1; --#endif - return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ - } - --int prot_uid(int uid) -+int prot_uid(uid_t uid) - { - return setuid(uid); - } -diff '--color=auto' -Nur djbdns-1.05~/prot.h djbdns-1.05/prot.h ---- djbdns-1.05~/prot.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/prot.h 2025-12-02 22:43:49.680566680 +0100 -@@ -1,7 +1,9 @@ - #ifndef PROT_H - #define PROT_H - --extern int prot_gid(int); --extern int prot_uid(int); -+#include -+ -+extern int prot_gid(gid_t); -+extern int prot_uid(uid_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/scan.h djbdns-1.05/scan.h ---- djbdns-1.05~/scan.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/scan.h 2025-12-02 22:43:49.680657322 +0100 -@@ -1,28 +1,9 @@ -+#include -+ - #ifndef SCAN_H - #define SCAN_H - --extern unsigned int scan_uint(const char *,unsigned int *); --extern unsigned int scan_xint(const char *,unsigned int *); --extern unsigned int scan_nbbint(const char *,unsigned int,unsigned int,unsigned int,unsigned int *); --extern unsigned int scan_ushort(const char *,unsigned short *); --extern unsigned int scan_xshort(const char *,unsigned short *); --extern unsigned int scan_nbbshort(const char *,unsigned int,unsigned int,unsigned int,unsigned short *); --extern unsigned int scan_ulong(const char *,unsigned long *); --extern unsigned int scan_xlong(const char *,unsigned long *); --extern unsigned int scan_nbblong(const char *,unsigned int,unsigned int,unsigned int,unsigned long *); -- --extern unsigned int scan_plusminus(const char *,int *); --extern unsigned int scan_0x(const char *,unsigned int *); -- --extern unsigned int scan_whitenskip(const char *,unsigned int); --extern unsigned int scan_nonwhitenskip(const char *,unsigned int); --extern unsigned int scan_charsetnskip(const char *,const char *,unsigned int); --extern unsigned int scan_noncharsetnskip(const char *,const char *,unsigned int); -- --extern unsigned int scan_strncmp(const char *,const char *,unsigned int); --extern unsigned int scan_memcmp(const char *,const char *,unsigned int); -- --extern unsigned int scan_long(const char *,long *); --extern unsigned int scan_8long(const char *,unsigned long *); -+extern size_t scan_ulong(const char *,unsigned long *); -+extern size_t scan_xlong(const char *,unsigned long *); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/scan_ulong.c djbdns-1.05/scan_ulong.c ---- djbdns-1.05~/scan_ulong.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/scan_ulong.c 2025-12-02 22:43:49.680737768 +0100 -@@ -1,8 +1,8 @@ - #include "scan.h" - --unsigned int scan_ulong(register const char *s,register unsigned long *u) -+size_t scan_ulong(register const char *s,register unsigned long *u) - { -- register unsigned int pos = 0; -+ register size_t pos = 0; - register unsigned long result = 0; - register unsigned long c; - while ((c = (unsigned long) (unsigned char) (s[pos] - '0')) < 10) { -diff '--color=auto' -Nur djbdns-1.05~/select.h2 djbdns-1.05/select.h2 ---- djbdns-1.05~/select.h2 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/select.h2 2025-12-02 22:43:49.680813138 +0100 -@@ -6,6 +6,5 @@ - #include - #include - #include --extern int select(); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/server.c djbdns-1.05/server.c ---- djbdns-1.05~/server.c 2025-12-02 22:43:37.146971624 +0100 -+++ djbdns-1.05/server.c 2025-12-02 22:43:49.680899783 +0100 -@@ -84,7 +84,7 @@ - { - char *x; - int udp53; -- unsigned int truncate_len = 512; -+ unsigned long truncate_len = 512; - - x = env_get("IP"); - if (!x) -diff '--color=auto' -Nur djbdns-1.05~/socket_conn.c djbdns-1.05/socket_conn.c ---- djbdns-1.05~/socket_conn.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/socket_conn.c 2025-12-02 22:43:49.680984062 +0100 -@@ -26,7 +26,7 @@ - - dummy = sizeof sa; - if (getpeername(s,(struct sockaddr *) &sa,&dummy) == -1) { -- read(s,&ch,1); /* sets errno */ -+ (void)read(s,&ch,1); /* sets errno */ - return 0; - } - return 1; -diff '--color=auto' -Nur djbdns-1.05~/timeoutread.c djbdns-1.05/timeoutread.c ---- djbdns-1.05~/timeoutread.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutread.c 2025-12-02 22:43:49.681061544 +0100 -@@ -3,7 +3,7 @@ - #include "iopause.h" - #include "timeoutread.h" - --int timeoutread(int t,int fd,char *buf,int len) -+ssize_t timeoutread(int t,int fd,char *buf,size_t len) - { - struct taia now; - struct taia deadline; -diff '--color=auto' -Nur djbdns-1.05~/timeoutread.h djbdns-1.05/timeoutread.h ---- djbdns-1.05~/timeoutread.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutread.h 2025-12-02 22:43:49.681137596 +0100 -@@ -1,6 +1,6 @@ - #ifndef TIMEOUTREAD_H - #define TIMEOUTREAD_H - --extern int timeoutread(); -+extern ssize_t timeoutread(int, int, char *, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/timeoutwrite.c djbdns-1.05/timeoutwrite.c ---- djbdns-1.05~/timeoutwrite.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutwrite.c 2025-12-02 22:43:49.681224643 +0100 -@@ -3,7 +3,7 @@ - #include "iopause.h" - #include "timeoutwrite.h" - --int timeoutwrite(int t,int fd,char *buf,int len) -+ssize_t timeoutwrite(int t, int fd, const char *buf, size_t len) - { - struct taia now; - struct taia deadline; -diff '--color=auto' -Nur djbdns-1.05~/timeoutwrite.h djbdns-1.05/timeoutwrite.h ---- djbdns-1.05~/timeoutwrite.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutwrite.h 2025-12-02 22:43:49.681300449 +0100 -@@ -1,6 +1,6 @@ - #ifndef TIMEOUTWRITE_H - #define TIMEOUTWRITE_H - --extern int timeoutwrite(); -+extern ssize_t timeoutwrite(int, int, const char *, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/tinydns-data.c djbdns-1.05/tinydns-data.c ---- djbdns-1.05~/tinydns-data.c 2025-12-02 22:43:37.114329011 +0100 -+++ djbdns-1.05/tinydns-data.c 2025-12-02 22:43:49.681438800 +0100 -@@ -181,18 +181,26 @@ - strerr_die4x(111,FATAL,"unable to parse data line ",strnum,why); - } - -+static unsigned int scan_u32(const char *s,uint32 *u) { -+ unsigned long l; -+ unsigned int r=scan_ulong(s,&l); -+ if ((uint32)l != l) return 0; -+ if (r) *u=l; -+ return r; -+} -+ - int main() - { - int fddata; -- int i; -- int j; -+ unsigned int i; -+ unsigned int j; - int k; - char ch; - unsigned long ttl; - char ttd[8]; - char loc[2]; -- unsigned long u; -- char ip[4]; -+ uint32 u; -+ unsigned char ip[4]; - char type[2]; - char soa[20]; - char buf[4]; -@@ -252,19 +260,19 @@ - if (!dns_domain_fromdot(&d1,f[0].s,f[0].len)) nomem(); - - if (!stralloc_0(&f[3])) nomem(); -- if (!scan_ulong(f[3].s,&u)) uint32_unpack_big(defaultsoa,&u); -+ if (!scan_u32(f[3].s,&u)) uint32_unpack_big(defaultsoa,&u); - uint32_pack_big(soa,u); - if (!stralloc_0(&f[4])) nomem(); -- if (!scan_ulong(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,&u); -+ if (!scan_u32(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,&u); - uint32_pack_big(soa + 4,u); - if (!stralloc_0(&f[5])) nomem(); -- if (!scan_ulong(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,&u); -+ if (!scan_u32(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,&u); - uint32_pack_big(soa + 8,u); - if (!stralloc_0(&f[6])) nomem(); -- if (!scan_ulong(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,&u); -+ if (!scan_u32(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,&u); - uint32_pack_big(soa + 12,u); - if (!stralloc_0(&f[7])) nomem(); -- if (!scan_ulong(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,&u); -+ if (!scan_u32(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,&u); - uint32_pack_big(soa + 16,u); - - if (!stralloc_0(&f[8])) nomem(); -@@ -311,7 +319,7 @@ - - if (ip4_scan(f[1].s,ip)) { - rr_start(DNS_T_A,ttl,ttd,loc); -- rr_add(ip,4); -+ rr_add((const char*)ip,4); - rr_finish(d2); - } - -@@ -328,7 +336,7 @@ - - if (ip4_scan(f[1].s,ip)) { - rr_start(DNS_T_A,ttl,ttd,loc); -- rr_add(ip,4); -+ rr_add((const char*)ip,4); - rr_finish(d1); - - if (line.s[0] == '=') { -@@ -356,7 +364,7 @@ - if (!dns_domain_fromdot(&d2,f[2].s,f[2].len)) nomem(); - - if (!stralloc_0(&f[3])) nomem(); -- if (!scan_ulong(f[3].s,&u)) u = 0; -+ if (!scan_u32(f[3].s,&u)) u = 0; - - rr_start(DNS_T_MX,ttl,ttd,loc); - uint16_pack_big(buf,u); -@@ -366,7 +374,7 @@ - - if (ip4_scan(f[1].s,ip)) { - rr_start(DNS_T_A,ttl,ttd,loc); -- rr_add(ip,4); -+ rr_add((const char*)ip,4); - rr_finish(d2); - } - break; -@@ -387,13 +395,13 @@ - if (!dns_domain_fromdot(&d2,f[2].s,f[2].len)) nomem(); - - if (!stralloc_0(&f[4])) nomem(); -- if (!scan_ulong(f[4].s,&u)) u = 0; -+ if (!scan_u32(f[4].s,&u)) u = 0; - uint16_pack_big(srv,u); - if (!stralloc_0(&f[5])) nomem(); -- if (!scan_ulong(f[5].s,&u)) u = 0; -+ if (!scan_u32(f[5].s,&u)) u = 0; - uint16_pack_big(srv + 2,u); - if (!stralloc_0(&f[3])) nomem(); -- if (!scan_ulong(f[3].s,&u)) nomem(); -+ if (!scan_u32(f[3].s,&u)) nomem(); - uint16_pack_big(srv + 4,u); - - rr_start(DNS_T_SRV,ttl,ttd,loc); -@@ -455,7 +463,7 @@ - locparse(&f[5],loc); - - if (!stralloc_0(&f[1])) nomem(); -- scan_ulong(f[1].s,&u); -+ scan_u32(f[1].s,&u); - uint16_pack_big(type,u); - if (byte_equal(type,2,DNS_T_AXFR)) - syntaxerror(": type AXFR prohibited"); -diff '--color=auto' -Nur djbdns-1.05~/tinydns-edit.c djbdns-1.05/tinydns-edit.c ---- djbdns-1.05~/tinydns-edit.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/tinydns-edit.c 2025-12-02 22:43:49.681607275 +0100 -@@ -116,7 +116,7 @@ - fdnew = open_trunc(fnnew); - if (fdnew == -1) die_write(); - if (fchmod(fdnew,st.st_mode & 0644) == -1) die_write(); -- buffer_init(&bnew,buffer_unixwrite,fdnew,bnewspace,sizeof bnewspace); -+ buffer_init(&bnew,(buffer_op)buffer_unixwrite,fdnew,bnewspace,sizeof bnewspace); - - switch(mode) { - case '.': case '&': -diff '--color=auto' -Nur djbdns-1.05~/tryshsgr.c djbdns-1.05/tryshsgr.c ---- djbdns-1.05~/tryshsgr.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/tryshsgr.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --int main() --{ -- short x[4]; -- -- x[0] = x[1] = 1; -- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); -- -- if (getgroups(1,x) == -1) _exit(1); -- if (x[1] != 1) _exit(1); -- x[1] = 2; -- if (getgroups(1,x) == -1) _exit(1); -- if (x[1] != 2) _exit(1); -- _exit(0); --} -diff '--color=auto' -Nur djbdns-1.05~/utime.c djbdns-1.05/utime.c ---- djbdns-1.05~/utime.c 2025-12-02 22:43:37.135798404 +0100 -+++ djbdns-1.05/utime.c 2025-12-02 22:44:19.625306556 +0100 -@@ -8,10 +8,11 @@ - - char *ustr; - unsigned long u; --time_t ut[2]; -+struct utimbuf ut; - - int main(int argc,char **argv) - { -+ (void)argc; /* unused */ - fn = argv[1]; - if (!fn) _exit(100); - -@@ -19,7 +20,7 @@ - if (!ustr) _exit(100); - scan_ulong(ustr,&u); - -- ut[0] = ut[1] = u; -- if (utime(fn,ut) == -1) _exit(111); -+ ut.actime = ut.modtime = u; -+ if (utime(fn,&ut) == -1) _exit(111); - _exit(0); - } diff --git a/net-dns/djbdns/files/djbdns-gcc15-v6.patch b/net-dns/djbdns/files/djbdns-gcc15-v6.patch deleted file mode 100644 index b9bdfca761f6..000000000000 --- a/net-dns/djbdns/files/djbdns-gcc15-v6.patch +++ /dev/null @@ -1,939 +0,0 @@ -Patches for gcc15. - -Signed-off-by: André Malo -Reference: https://bugs.gentoo.org/945469 -diff '--color=auto' -Nur djbdns-1.05~/alloc.c djbdns-1.05/alloc.c ---- djbdns-1.05~/alloc.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc.c 2025-12-02 21:10:22.041056713 +0100 -@@ -10,8 +10,7 @@ - #define space ((char *) realspace) - static unsigned int avail = SPACE; /* multiple of ALIGNMENT; 0<=avail<=SPACE */ - --/*@null@*//*@out@*/char *alloc(n) --unsigned int n; -+/*@null@*//*@out@*/void *alloc(size_t n) - { - char *x; - n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */ -@@ -21,9 +20,9 @@ - return x; - } - --void alloc_free(x) --char *x; -+void alloc_free(void *x_) - { -+ char *x = x_; - if (x >= space) - if (x < space + SPACE) - return; /* XXX: assuming that pointers are flat */ -diff '--color=auto' -Nur djbdns-1.05~/alloc.h djbdns-1.05/alloc.h ---- djbdns-1.05~/alloc.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc.h 2025-12-02 21:10:22.041311337 +0100 -@@ -1,8 +1,10 @@ -+#include -+ - #ifndef ALLOC_H - #define ALLOC_H - --extern /*@null@*//*@out@*/char *alloc(); --extern void alloc_free(); --extern int alloc_re(); -+extern /*@null@*//*@out@*/void *alloc(size_t); -+extern void alloc_free(void *); -+extern int alloc_re(void *, size_t, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/alloc_re.c djbdns-1.05/alloc_re.c ---- djbdns-1.05~/alloc_re.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/alloc_re.c 2025-12-02 21:10:22.041427910 +0100 -@@ -1,11 +1,9 @@ - #include "alloc.h" - #include "byte.h" - --int alloc_re(x,m,n) --char **x; --unsigned int m; --unsigned int n; -+int alloc_re(void *x_, size_t m, size_t n) - { -+ char **x = x_; - char *y; - - y = alloc(n); -diff '--color=auto' -Nur djbdns-1.05~/axfr-get.c djbdns-1.05/axfr-get.c ---- djbdns-1.05~/axfr-get.c 2025-12-02 21:09:06.740092187 +0100 -+++ djbdns-1.05/axfr-get.c 2025-12-02 21:10:22.041581599 +0100 -@@ -371,7 +371,7 @@ - - fd = open_trunc(fntmp); - if (fd == -1) die_write(); -- buffer_init(&b,buffer_unixwrite,fd,bspace,sizeof bspace); -+ buffer_init(&b,(buffer_op)buffer_unixwrite,fd,bspace,sizeof bspace); - - if (!stralloc_copyb(&packet,"\0\0\0\0\0\1\0\0\0\0\0\0",12)) die_generate(); - if (!stralloc_catb(&packet,zone,zonelen)) die_generate(); -diff '--color=auto' -Nur djbdns-1.05~/buffer.c djbdns-1.05/buffer.c ---- djbdns-1.05~/buffer.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer.c 2025-12-02 21:10:22.041723489 +0100 -@@ -1,6 +1,6 @@ - #include "buffer.h" - --void buffer_init(buffer *s,int (*op)(),int fd,char *buf,unsigned int len) -+void buffer_init(buffer *s, buffer_op op, int fd, char *buf, size_t len) - { - s->x = buf; - s->fd = fd; -diff '--color=auto' -Nur djbdns-1.05~/buffer_get.c djbdns-1.05/buffer_get.c ---- djbdns-1.05~/buffer_get.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_get.c 2025-12-02 21:10:22.041859592 +0100 -@@ -2,7 +2,7 @@ - #include "byte.h" - #include "error.h" - --static int oneread(int (*op)(),int fd,char *buf,unsigned int len) -+static ssize_t oneread(buffer_op op, int fd, char *buf, size_t len) - { - int r; - -@@ -13,7 +13,7 @@ - } - } - --static int getthis(buffer *s,char *buf,unsigned int len) -+static ssize_t getthis(buffer *s, char *buf, size_t len) - { - if (len > s->p) len = s->p; - s->p -= len; -@@ -22,9 +22,9 @@ - return len; - } - --int buffer_feed(buffer *s) -+ssize_t buffer_feed(buffer *s) - { -- int r; -+ ssize_t r; - - if (s->p) return s->p; - r = oneread(s->op,s->fd,s->x,s->n); -@@ -35,9 +35,9 @@ - return r; - } - --int buffer_bget(buffer *s,char *buf,unsigned int len) -+ssize_t buffer_bget(buffer *s, char *buf, size_t len) - { -- int r; -+ ssize_t r; - - if (s->p > 0) return getthis(s,buf,len); - if (s->n <= len) return oneread(s->op,s->fd,buf,s->n); -@@ -45,9 +45,9 @@ - return getthis(s,buf,len); - } - --int buffer_get(buffer *s,char *buf,unsigned int len) -+ssize_t buffer_get(buffer *s, char *buf, size_t len) - { -- int r; -+ ssize_t r; - - if (s->p > 0) return getthis(s,buf,len); - if (s->n <= len) return oneread(s->op,s->fd,buf,len); -@@ -60,7 +60,7 @@ - return s->x + s->n; - } - --void buffer_seek(buffer *s,unsigned int len) -+void buffer_seek(buffer *s, size_t len) - { - s->n += len; - s->p -= len; -diff '--color=auto' -Nur djbdns-1.05~/buffer.h djbdns-1.05/buffer.h ---- djbdns-1.05~/buffer.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer.h 2025-12-02 21:10:22.041998667 +0100 -@@ -1,27 +1,31 @@ -+#include -+#include -+ - #ifndef BUFFER_H - #define BUFFER_H - -+typedef ssize_t (*buffer_op)(int, void *, size_t); - typedef struct buffer { - char *x; -- unsigned int p; -- unsigned int n; -+ size_t p; -+ size_t n; - int fd; -- int (*op)(); -+ buffer_op op; - } buffer; - --#define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), (op) } -+#define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), ((buffer_op)(op)) } - #define BUFFER_INSIZE 8192 - #define BUFFER_OUTSIZE 8192 - --extern void buffer_init(buffer *,int (*)(),int,char *,unsigned int); -+extern void buffer_init(buffer *, buffer_op, int, char *, size_t); - - extern int buffer_flush(buffer *); --extern int buffer_put(buffer *,const char *,unsigned int); --extern int buffer_putalign(buffer *,const char *,unsigned int); --extern int buffer_putflush(buffer *,const char *,unsigned int); --extern int buffer_puts(buffer *,const char *); --extern int buffer_putsalign(buffer *,const char *); --extern int buffer_putsflush(buffer *,const char *); -+extern int buffer_put(buffer *, const char *, size_t); -+extern int buffer_putalign(buffer *,const char *, size_t); -+extern int buffer_putflush(buffer *,const char *, size_t); -+extern int buffer_puts(buffer *, const char *); -+extern int buffer_putsalign(buffer *, const char *); -+extern int buffer_putsflush(buffer *, const char *); - - #define buffer_PUTC(s,c) \ - ( ((s)->n != (s)->p) \ -@@ -29,12 +33,12 @@ - : buffer_put((s),&(c),1) \ - ) - --extern int buffer_get(buffer *,char *,unsigned int); --extern int buffer_bget(buffer *,char *,unsigned int); --extern int buffer_feed(buffer *); -+extern ssize_t buffer_get(buffer *, char *, size_t); -+extern ssize_t buffer_bget(buffer *, char *, size_t); -+extern ssize_t buffer_feed(buffer *); - - extern char *buffer_peek(buffer *); --extern void buffer_seek(buffer *,unsigned int); -+extern void buffer_seek(buffer *, size_t); - - #define buffer_PEEK(s) ( (s)->x + (s)->n ) - #define buffer_SEEK(s,len) ( ( (s)->p -= (len) ) , ( (s)->n += (len) ) ) -@@ -47,8 +51,8 @@ - - extern int buffer_copy(buffer *,buffer *); - --extern int buffer_unixread(int,char *,unsigned int); --extern int buffer_unixwrite(int,const char *,unsigned int); -+extern ssize_t buffer_unixread(int, void *, size_t); -+extern ssize_t buffer_unixwrite(int, const void *, size_t); - - extern buffer *buffer_0; - extern buffer *buffer_0small; -diff '--color=auto' -Nur djbdns-1.05~/buffer_put.c djbdns-1.05/buffer_put.c ---- djbdns-1.05~/buffer_put.c 2025-12-02 21:09:06.740392048 +0100 -+++ djbdns-1.05/buffer_put.c 2025-12-02 21:10:22.042140686 +0100 -@@ -3,12 +3,12 @@ - #include "byte.h" - #include "error.h" - --static int allwrite(int (*op)(),int fd,const char *buf,unsigned int len) -+static int allwrite(buffer_op op, int fd, const char *buf, size_t len) - { -- int w; -+ ssize_t w; - - while (len) { -- w = op(fd,buf,len); -+ w = op(fd,(char *)buf,len); - if (w == -1) { - if (errno == error_intr) continue; - return -1; /* note that some data may have been written */ -@@ -22,7 +22,7 @@ - - int buffer_flush(buffer *s) - { -- int p; -+ size_t p; - - p = s->p; - if (!p) return 0; -@@ -30,9 +30,9 @@ - return allwrite(s->op,s->fd,s->x,p); - } - --int buffer_putalign(buffer *s,const char *buf,unsigned int len) -+int buffer_putalign(buffer *s, const char *buf, size_t len) - { -- unsigned int n; -+ size_t n; - - while (len > (n = s->n - s->p)) { - byte_copy(s->x + s->p,n,buf); s->p += n; buf += n; len -= n; -@@ -44,9 +44,9 @@ - return 0; - } - --int buffer_put(buffer *s,const char *buf,unsigned int len) -+int buffer_put(buffer *s, const char *buf, size_t len) - { -- unsigned int n; -+ size_t n; - - n = s->n; - if (len > n - s->p) { -@@ -66,23 +66,23 @@ - return 0; - } - --int buffer_putflush(buffer *s,const char *buf,unsigned int len) -+int buffer_putflush(buffer *s, const char *buf, size_t len) - { - if (buffer_flush(s) == -1) return -1; - return allwrite(s->op,s->fd,buf,len); - } - --int buffer_putsalign(buffer *s,const char *buf) -+int buffer_putsalign(buffer *s, const char *buf) - { - return buffer_putalign(s,buf,str_len(buf)); - } - --int buffer_puts(buffer *s,const char *buf) -+int buffer_puts(buffer *s, const char *buf) - { - return buffer_put(s,buf,str_len(buf)); - } - --int buffer_putsflush(buffer *s,const char *buf) -+int buffer_putsflush(buffer *s, const char *buf) - { - return buffer_putflush(s,buf,str_len(buf)); - } -diff '--color=auto' -Nur djbdns-1.05~/buffer_read.c djbdns-1.05/buffer_read.c ---- djbdns-1.05~/buffer_read.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_read.c 2025-12-02 21:10:22.042249620 +0100 -@@ -1,7 +1,7 @@ - #include - #include "buffer.h" - --int buffer_unixread(int fd,char *buf,unsigned int len) -+ssize_t buffer_unixread(int fd, void *buf, size_t len) - { -- return read(fd,buf,len); -+ return read(fd,(char *)buf,len); - } -diff '--color=auto' -Nur djbdns-1.05~/buffer_write.c djbdns-1.05/buffer_write.c ---- djbdns-1.05~/buffer_write.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/buffer_write.c 2025-12-02 21:10:22.042357153 +0100 -@@ -1,7 +1,7 @@ - #include - #include "buffer.h" - --int buffer_unixwrite(int fd,const char *buf,unsigned int len) -+ssize_t buffer_unixwrite(int fd, const void *buf, size_t len) - { -- return write(fd,buf,len); -+ return write(fd,(const char *)buf,len); - } -diff '--color=auto' -Nur djbdns-1.05~/byte_chr.c djbdns-1.05/byte_chr.c ---- djbdns-1.05~/byte_chr.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_chr.c 2025-12-02 21:10:22.042455234 +0100 -@@ -1,12 +1,9 @@ - #include "byte.h" - --unsigned int byte_chr(s,n,c) --char *s; --register unsigned int n; --int c; -+unsigned int byte_chr(const char *s, register size_t n, int c) - { - register char ch; -- register char *t; -+ register const char *t; - - ch = c; - t = s; -diff '--color=auto' -Nur djbdns-1.05~/byte_copy.c djbdns-1.05/byte_copy.c ---- djbdns-1.05~/byte_copy.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_copy.c 2025-12-02 21:10:22.042559151 +0100 -@@ -1,10 +1,10 @@ - #include "byte.h" - --void byte_copy(to,n,from) --register char *to; --register unsigned int n; --register char *from; -+void byte_copy(void *to_, register size_t n, const void *from_) - { -+ register char *to = to_; -+ register const char *from = from_; -+ - for (;;) { - if (!n) return; *to++ = *from++; --n; - if (!n) return; *to++ = *from++; --n; -diff '--color=auto' -Nur djbdns-1.05~/byte_cr.c djbdns-1.05/byte_cr.c ---- djbdns-1.05~/byte_cr.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_cr.c 2025-12-02 21:10:22.042658751 +0100 -@@ -1,10 +1,10 @@ - #include "byte.h" - --void byte_copyr(to,n,from) --register char *to; --register unsigned int n; --register char *from; -+void byte_copyr(void *to_, register size_t n, const void *from_) - { -+ register char *to = to_; -+ register const char *from = from_; -+ - to += n; - from += n; - for (;;) { -diff '--color=auto' -Nur djbdns-1.05~/byte_diff.c djbdns-1.05/byte_diff.c ---- djbdns-1.05~/byte_diff.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_diff.c 2025-12-02 21:10:22.042754495 +0100 -@@ -1,9 +1,6 @@ - #include "byte.h" - --int byte_diff(s,n,t) --register char *s; --register unsigned int n; --register char *t; -+int byte_diff(register const unsigned char *s, register size_t n, register const unsigned char *t) - { - for (;;) { - if (!n) return 0; if (*s != *t) break; ++s; ++t; --n; -diff '--color=auto' -Nur djbdns-1.05~/byte.h djbdns-1.05/byte.h ---- djbdns-1.05~/byte.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte.h 2025-12-02 21:10:22.042849665 +0100 -@@ -1,12 +1,13 @@ -+#include -+ - #ifndef BYTE_H - #define BYTE_H - --extern unsigned int byte_chr(); --extern unsigned int byte_rchr(); --extern void byte_copy(); --extern void byte_copyr(); --extern int byte_diff(); --extern void byte_zero(); -+extern unsigned int byte_chr(const char *, register size_t, int); -+extern void byte_copy(void *, register size_t, const void *); -+extern void byte_copyr(void *, register size_t, const void *); -+extern int byte_diff(register const unsigned char *, register size_t, register const unsigned char *); -+extern void byte_zero(void *, register size_t); - - #define byte_equal(s,n,t) (!byte_diff((s),(n),(t))) - -diff '--color=auto' -Nur djbdns-1.05~/byte_zero.c djbdns-1.05/byte_zero.c ---- djbdns-1.05~/byte_zero.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/byte_zero.c 2025-12-02 21:10:22.042940277 +0100 -@@ -1,9 +1,8 @@ - #include "byte.h" - --void byte_zero(s,n) --char *s; --register unsigned int n; -+void byte_zero(void *s_, register size_t n) - { -+ char *s = s_; - for (;;) { - if (!n) break; *s++ = 0; --n; - if (!n) break; *s++ = 0; --n; -diff '--color=auto' -Nur djbdns-1.05~/cdb_make.c djbdns-1.05/cdb_make.c ---- djbdns-1.05~/cdb_make.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/cdb_make.c 2025-12-02 21:10:22.043043560 +0100 -@@ -14,7 +14,7 @@ - c->numentries = 0; - c->fd = fd; - c->pos = sizeof c->final; -- buffer_init(&c->b,buffer_unixwrite,fd,c->bspace,sizeof c->bspace); -+ buffer_init(&c->b,(buffer_op)buffer_unixwrite,fd,c->bspace,sizeof c->bspace); - return seek_set(fd,c->pos); - } - -diff '--color=auto' -Nur djbdns-1.05~/dnscache.c djbdns-1.05/dnscache.c ---- djbdns-1.05~/dnscache.c 2025-12-02 21:09:06.755741260 +0100 -+++ djbdns-1.05/dnscache.c 2025-12-02 21:10:22.043064395 +0100 -@@ -58,7 +58,7 @@ - static char buf[1024]; - uint64 numqueries = 0; - --static unsigned int truncate_len = 512; -+static unsigned long truncate_len = 512; - - static int udp53; - -@@ -433,7 +433,7 @@ - socket_tryreservein(udp53,131072); - - byte_zero(seed,sizeof seed); -- read(0,seed,sizeof seed); -+ (void)read(0,seed,sizeof seed); - dns_random_init(seed); - close(0); - -diff '--color=auto' -Nur djbdns-1.05~/FILES djbdns-1.05/FILES ---- djbdns-1.05~/FILES 2025-12-02 21:09:06.739371861 +0100 -+++ djbdns-1.05/FILES 2025-12-02 21:10:37.403618043 +0100 -@@ -168,7 +168,6 @@ - readclose.c - readclose.h - scan.h --scan_0x.c - scan_ulong.c - seek.h - seek_set.c -@@ -230,7 +229,6 @@ - trydrent.c - trylsock.c - trypoll.c --tryshsgr.c - trysysel.c - tryulong32.c - tryulong64.c -diff '--color=auto' -Nur djbdns-1.05~/generic-conf.c djbdns-1.05/generic-conf.c ---- djbdns-1.05~/generic-conf.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/generic-conf.c 2025-12-02 21:10:22.043421352 +0100 -@@ -43,7 +43,7 @@ - fn = s; - fd = open_trunc(fn); - if (fd == -1) fail(); -- buffer_init(&ss,buffer_unixwrite,fd,buf,sizeof buf); -+ buffer_init(&ss,(buffer_op)buffer_unixwrite,fd,buf,sizeof buf); - } - - void outs(const char *s) -diff '--color=auto' -Nur djbdns-1.05~/hasshsgr.h1 djbdns-1.05/hasshsgr.h1 ---- djbdns-1.05~/hasshsgr.h1 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/hasshsgr.h1 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --/* sysdep: -shortsetgroups */ -diff '--color=auto' -Nur djbdns-1.05~/hasshsgr.h2 djbdns-1.05/hasshsgr.h2 ---- djbdns-1.05~/hasshsgr.h2 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/hasshsgr.h2 1970-01-01 01:00:00.000000000 +0100 -@@ -1,2 +0,0 @@ --/* sysdep: +shortsetgroups */ --#define HASSHORTSETGROUPS 1 -diff '--color=auto' -Nur djbdns-1.05~/install.c djbdns-1.05/install.c ---- djbdns-1.05~/install.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/install.c 2025-12-02 21:10:22.043668394 +0100 -@@ -13,11 +13,7 @@ - - int fdsourcedir = -1; - --void h(home,uid,gid,mode) --char *home; --int uid; --int gid; --int mode; -+void h(char *home, int uid, int gid, int mode) - { - if (mkdir(home,0700) == -1) - if (errno != error_exist) -@@ -28,12 +24,7 @@ - strerr_die4sys(111,FATAL,"unable to chmod ",home,": "); - } - --void d(home,subdir,uid,gid,mode) --char *home; --char *subdir; --int uid; --int gid; --int mode; -+void d(char *home, char *subdir, int uid, int gid, int mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); -@@ -51,13 +42,7 @@ - buffer ssin; - buffer ssout; - --void c(home,subdir,file,uid,gid,mode) --char *home; --char *subdir; --char *file; --int uid; --int gid; --int mode; -+void c(char *home, char *subdir, char *file, int uid, int gid, int mode) - { - int fdin; - int fdout; -@@ -78,7 +63,7 @@ - fdout = open_trunc(file); - if (fdout == -1) - strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": "); -- buffer_init(&ssout,buffer_unixwrite,fdout,outbuf,sizeof outbuf); -+ buffer_init(&ssout,(buffer_op)buffer_unixwrite,fdout,outbuf,sizeof outbuf); - - switch(buffer_copy(&ssout,&ssin)) { - case -2: -@@ -101,14 +86,7 @@ - strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": "); - } - --void z(home,subdir,file,len,uid,gid,mode) --char *home; --char *subdir; --char *file; --int len; --int uid; --int gid; --int mode; -+void z(char *home, char *subdir, char *file, int len, int uid, int gid, int mode) - { - int fdout; - -@@ -120,7 +98,7 @@ - fdout = open_trunc(file); - if (fdout == -1) - strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": "); -- buffer_init(&ssout,buffer_unixwrite,fdout,outbuf,sizeof outbuf); -+ buffer_init(&ssout,(buffer_op)buffer_unixwrite,fdout,outbuf,sizeof outbuf); - - while (len-- > 0) - if (buffer_put(&ssout,"",1) == -1) -@@ -139,7 +117,7 @@ - strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": "); - } - --int main() -+int main(void) - { - fdsourcedir = open_read("."); - if (fdsourcedir == -1) -diff '--color=auto' -Nur djbdns-1.05~/instcheck.c djbdns-1.05/instcheck.c ---- djbdns-1.05~/instcheck.c 2025-12-02 21:09:06.743944191 +0100 -+++ djbdns-1.05/instcheck.c 2025-12-02 21:12:11.953941543 +0100 -@@ -10,15 +10,7 @@ - #define FATAL "instcheck: fatal: " - #define WARNING "instcheck: warning: " - --void perm(prefix1,prefix2,prefix3,file,type,uid,gid,mode) --char *prefix1; --char *prefix2; --char *prefix3; --char *file; --mode_t type; --uid_t uid; --gid_t gid; --mode_t mode; -+void perm(char *prefix1, char *prefix2, char *prefix3, char *file, mode_t type, uid_t uid, gid_t gid, mode_t mode) - { - struct stat st; - -@@ -40,46 +32,26 @@ - strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong type",0); - } - --void h(home,uid,gid,mode) --char *home; --int uid; --int gid; --int mode; -+void h(char *home, uid_t uid, gid_t gid, mode_t mode) - { - perm("","","",home,S_IFDIR,uid,gid,mode); - } - --void d(home,subdir,uid,gid,mode) --char *home; --char *subdir; --int uid; --int gid; --int mode; -+void d(char *home, char *subdir, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",subdir,S_IFDIR,uid,gid,mode); - } - --void p(home,fifo,uid,gid,mode) --char *home; --char *fifo; --int uid; --int gid; --int mode; -+void p(char *home, char *fifo, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",fifo,S_IFIFO,uid,gid,mode); - } - --void c(home,subdir,file,uid,gid,mode) --char *home; --char *subdir; --char *file; --int uid; --int gid; --int mode; -+void c(char *home, char *subdir, char *file, uid_t uid, gid_t gid, mode_t mode) - { - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); -@@ -88,21 +60,15 @@ - perm(".../",subdir,"/",file,S_IFREG,uid,gid,mode); - } - --void z(home,file,len,uid,gid,mode) --char *home; --char *file; --int len; --int uid; --int gid; --int mode; -+void z(char *home, char *file, int len, uid_t uid, gid_t gid, mode_t mode) - { -- (void)len; // unused -+ (void)len; /* unused */ - if (chdir(home) == -1) - strerr_die4sys(111,FATAL,"unable to switch to ",home,": "); - perm("",home,"/",file,S_IFREG,uid,gid,mode); - } - --int main() -+int main(void) - { - hier(); - _exit(0); -diff '--color=auto' -Nur djbdns-1.05~/Makefile djbdns-1.05/Makefile ---- djbdns-1.05~/Makefile 2025-12-02 21:09:06.762721750 +0100 -+++ djbdns-1.05/Makefile 2025-12-02 21:10:22.043999095 +0100 -@@ -565,12 +565,6 @@ - *) cat hasdevtcp.h1 ;; \ - esac ) > hasdevtcp.h - --hasshsgr.h: \ --choose compile load tryshsgr.c hasshsgr.h1 hasshsgr.h2 chkshsgr \ --warn-shsgr -- ./chkshsgr || ( cat warn-shsgr; exit 1 ) -- ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h -- - hier.o: \ - compile hier.c auto_home.h - ./compile hier.c -@@ -744,7 +738,7 @@ - dnstrace dnstracesort cachetest utime rts dnsip6 dnsip6q - - prot.o: \ --compile prot.c hasshsgr.h prot.h -+compile prot.c prot.h - ./compile prot.c - - qlog.o: \ -diff '--color=auto' -Nur djbdns-1.05~/prot.c djbdns-1.05/prot.c ---- djbdns-1.05~/prot.c 2025-12-02 21:09:06.745062267 +0100 -+++ djbdns-1.05/prot.c 2025-12-02 21:10:22.044207564 +0100 -@@ -1,4 +1,3 @@ --#include "hasshsgr.h" - #include "prot.h" - - #include -@@ -7,13 +6,7 @@ - - int prot_gid(gid_t gid) - { --#ifdef HASSHORTSETGROUPS -- short x[2]; -- x[0] = gid; x[1] = 73; /* catch errors */ -- if (setgroups(1,x) == -1) return -1; --#else - if (setgroups(1,&gid) == -1) return -1; --#endif - return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ - } - -diff '--color=auto' -Nur djbdns-1.05~/scan.h djbdns-1.05/scan.h ---- djbdns-1.05~/scan.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/scan.h 2025-12-02 21:10:22.044311724 +0100 -@@ -1,28 +1,9 @@ -+#include -+ - #ifndef SCAN_H - #define SCAN_H - --extern unsigned int scan_uint(const char *,unsigned int *); --extern unsigned int scan_xint(const char *,unsigned int *); --extern unsigned int scan_nbbint(const char *,unsigned int,unsigned int,unsigned int,unsigned int *); --extern unsigned int scan_ushort(const char *,unsigned short *); --extern unsigned int scan_xshort(const char *,unsigned short *); --extern unsigned int scan_nbbshort(const char *,unsigned int,unsigned int,unsigned int,unsigned short *); --extern unsigned int scan_ulong(const char *,unsigned long *); --extern unsigned int scan_xlong(const char *,unsigned long *); --extern unsigned int scan_nbblong(const char *,unsigned int,unsigned int,unsigned int,unsigned long *); -- --extern unsigned int scan_plusminus(const char *,int *); --extern unsigned int scan_0x(const char *,unsigned int *); -- --extern unsigned int scan_whitenskip(const char *,unsigned int); --extern unsigned int scan_nonwhitenskip(const char *,unsigned int); --extern unsigned int scan_charsetnskip(const char *,const char *,unsigned int); --extern unsigned int scan_noncharsetnskip(const char *,const char *,unsigned int); -- --extern unsigned int scan_strncmp(const char *,const char *,unsigned int); --extern unsigned int scan_memcmp(const char *,const char *,unsigned int); -- --extern unsigned int scan_long(const char *,long *); --extern unsigned int scan_8long(const char *,unsigned long *); -+extern size_t scan_ulong(const char *,unsigned long *); -+extern size_t scan_xlong(const char *,unsigned long *); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/scan_ulong.c djbdns-1.05/scan_ulong.c ---- djbdns-1.05~/scan_ulong.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/scan_ulong.c 2025-12-02 21:10:22.044402229 +0100 -@@ -1,8 +1,8 @@ - #include "scan.h" - --unsigned int scan_ulong(register const char *s,register unsigned long *u) -+size_t scan_ulong(register const char *s,register unsigned long *u) - { -- register unsigned int pos = 0; -+ register size_t pos = 0; - register unsigned long result = 0; - register unsigned long c; - while ((c = (unsigned long) (unsigned char) (s[pos] - '0')) < 10) { -diff '--color=auto' -Nur djbdns-1.05~/scan_xlong.c djbdns-1.05/scan_xlong.c ---- djbdns-1.05~/scan_xlong.c 2025-12-02 21:09:06.746043204 +0100 -+++ djbdns-1.05/scan_xlong.c 2025-12-02 21:10:22.044489688 +0100 -@@ -10,7 +10,7 @@ - return -1; - } - --unsigned int scan_xlong(const char *src,unsigned long *dest) { -+size_t scan_xlong(const char *src,unsigned long *dest) { - register const char *tmp=src; - register int l=0; - register unsigned char c; -diff '--color=auto' -Nur djbdns-1.05~/select.h2 djbdns-1.05/select.h2 ---- djbdns-1.05~/select.h2 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/select.h2 2025-12-02 21:10:22.044575920 +0100 -@@ -6,6 +6,5 @@ - #include - #include - #include --extern int select(); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/server.c djbdns-1.05/server.c ---- djbdns-1.05~/server.c 2025-12-02 21:09:06.755861157 +0100 -+++ djbdns-1.05/server.c 2025-12-02 21:10:22.044682282 +0100 -@@ -95,7 +95,7 @@ - int *udp53; - unsigned int off; - unsigned int cnt; -- unsigned int truncate_len = 512; -+ unsigned long truncate_len = 512; - iopause_fd *iop; - - x = env_get("IP"); -diff '--color=auto' -Nur djbdns-1.05~/TARGETS djbdns-1.05/TARGETS ---- djbdns-1.05~/TARGETS 2025-12-02 21:09:06.739901550 +0100 -+++ djbdns-1.05/TARGETS 2025-12-02 21:10:22.044796408 +0100 -@@ -218,7 +218,6 @@ - it - setup - check --scan_0x.o - fmt_xlong.o - ip6_scan.o - ip6_fmt.o -diff '--color=auto' -Nur djbdns-1.05~/timeoutread.c djbdns-1.05/timeoutread.c ---- djbdns-1.05~/timeoutread.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutread.c 2025-12-02 21:10:22.044885544 +0100 -@@ -3,7 +3,7 @@ - #include "iopause.h" - #include "timeoutread.h" - --int timeoutread(int t,int fd,char *buf,int len) -+ssize_t timeoutread(int t,int fd,char *buf,size_t len) - { - struct taia now; - struct taia deadline; -diff '--color=auto' -Nur djbdns-1.05~/timeoutread.h djbdns-1.05/timeoutread.h ---- djbdns-1.05~/timeoutread.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutread.h 2025-12-02 21:10:22.044971349 +0100 -@@ -1,6 +1,6 @@ - #ifndef TIMEOUTREAD_H - #define TIMEOUTREAD_H - --extern int timeoutread(); -+extern ssize_t timeoutread(int, int, char *, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/timeoutwrite.c djbdns-1.05/timeoutwrite.c ---- djbdns-1.05~/timeoutwrite.c 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutwrite.c 2025-12-02 21:10:22.045059788 +0100 -@@ -3,7 +3,7 @@ - #include "iopause.h" - #include "timeoutwrite.h" - --int timeoutwrite(int t,int fd,char *buf,int len) -+ssize_t timeoutwrite(int t, int fd, const char *buf, size_t len) - { - struct taia now; - struct taia deadline; -diff '--color=auto' -Nur djbdns-1.05~/timeoutwrite.h djbdns-1.05/timeoutwrite.h ---- djbdns-1.05~/timeoutwrite.h 2001-02-11 22:11:45.000000000 +0100 -+++ djbdns-1.05/timeoutwrite.h 2025-12-02 21:10:22.045145217 +0100 -@@ -1,6 +1,6 @@ - #ifndef TIMEOUTWRITE_H - #define TIMEOUTWRITE_H - --extern int timeoutwrite(); -+extern ssize_t timeoutwrite(int, int, const char *, size_t); - - #endif -diff '--color=auto' -Nur djbdns-1.05~/tinydns-data.c djbdns-1.05/tinydns-data.c ---- djbdns-1.05~/tinydns-data.c 2025-12-02 21:09:06.747461059 +0100 -+++ djbdns-1.05/tinydns-data.c 2025-12-02 21:10:22.045281915 +0100 -@@ -432,13 +432,13 @@ - if (!dns_domain_fromdot(&d2,f[2].s,f[2].len)) nomem(); - - if (!stralloc_0(&f[4])) nomem(); -- if (!scan_ulong(f[4].s,&u)) u = 0; -+ if (!scan_u32(f[4].s,&u)) u = 0; - uint16_pack_big(srv,u); - if (!stralloc_0(&f[5])) nomem(); -- if (!scan_ulong(f[5].s,&u)) u = 0; -+ if (!scan_u32(f[5].s,&u)) u = 0; - uint16_pack_big(srv + 2,u); - if (!stralloc_0(&f[3])) nomem(); -- if (!scan_ulong(f[3].s,&u)) nomem(); -+ if (!scan_u32(f[3].s,&u)) nomem(); - uint16_pack_big(srv + 4,u); - - rr_start(DNS_T_SRV,ttl,ttd,loc); -diff '--color=auto' -Nur djbdns-1.05~/tinydns-edit.c djbdns-1.05/tinydns-edit.c ---- djbdns-1.05~/tinydns-edit.c 2025-12-02 21:09:06.747563376 +0100 -+++ djbdns-1.05/tinydns-edit.c 2025-12-02 21:10:22.045429088 +0100 -@@ -129,7 +129,7 @@ - fdnew = open_trunc(fnnew); - if (fdnew == -1) die_write(); - if (fchmod(fdnew,st.st_mode & 0644) == -1) die_write(); -- buffer_init(&bnew,buffer_unixwrite,fdnew,bnewspace,sizeof bnewspace); -+ buffer_init(&bnew,(buffer_op)buffer_unixwrite,fdnew,bnewspace,sizeof bnewspace); - - switch(mode) { - case '.': case '&': -diff '--color=auto' -Nur djbdns-1.05~/tryshsgr.c djbdns-1.05/tryshsgr.c ---- djbdns-1.05~/tryshsgr.c 2025-12-02 21:09:06.747843586 +0100 -+++ djbdns-1.05/tryshsgr.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,18 +0,0 @@ --#include --#include --#include -- --int main() --{ -- gid_t x[4]; -- -- x[0] = x[1] = 1; -- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); -- -- if (getgroups(1,x) == -1) _exit(1); -- if (x[1] != 1) _exit(1); -- x[1] = 2; -- if (getgroups(1,x) == -1) _exit(1); -- if (x[1] != 2) _exit(1); -- _exit(0); --}