commit:     755301799f2c0fcfcebdb614f6e991ec8fedef38
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  4 15:37:19 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Mar  4 15:39:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75530179

net-dns/djbdns: fix build with -Werror=implicit-function-declaration

The ipv6 patch contains fixes for most of these, so this consists of:

  1. Adding includes to a bunch of files when USE=ipv6 is not set.
  2. Adding an include to our new configurable TRUNCATELEN patches.

Closes: https://bugs.gentoo.org/926050
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 net-dns/djbdns/djbdns-1.05-r39.ebuild              |  1 +
 ...-dnscache-configurable-truncate-size-nov6.patch | 47 ++++++-------
 ...ns-dnscache-configurable-truncate-size-v6.patch |  8 +++
 .../djbdns/files/implicit-declarations-nov6.patch  | 79 ++++++++++++++++++++++
 4 files changed, 109 insertions(+), 26 deletions(-)

diff --git a/net-dns/djbdns/djbdns-1.05-r39.ebuild 
b/net-dns/djbdns/djbdns-1.05-r39.ebuild
index 2801d37b2612..77ba586d70d9 100644
--- a/net-dns/djbdns/djbdns-1.05-r39.ebuild
+++ b/net-dns/djbdns/djbdns-1.05-r39.ebuild
@@ -59,6 +59,7 @@ src_prepare() {
                )
        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"

diff --git 
a/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-nov6.patch 
b/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-nov6.patch
index 9f16531a5441..d855c212d198 100644
--- a/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-nov6.patch
+++ b/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-nov6.patch
@@ -1,22 +1,8 @@
-From: Jaco Kroon <[email protected]>
-Date: Tue, 24 Oct 2023 06:36:10 +0200
-Subject: [PATCH] dnscache: Enable larger truncation
-
-This variation conflicts with the IPv6 patch.
-
-This is a workaround for https://forum.mikrotik.com/viewtopic.php?t=200627
-where Mikrotik doesn't fall back if the UDP response is truncated.
-
-This is done by enabling larger (configurable) than 512 byte responses on UDP
-such that Mikrotik doesn't have a need to revert to TCP.  Since it's impossible
-to truly know the maximum size of a DNS response trivially this is made
-configurable and the upper limit is arbitrarily capped to 16KB.
-
-Signed-off-by: Jaco Kroon <[email protected]>
-diff -bru djbdns-1.05.o/dnscache.c djbdns-1.05/dnscache.c
---- djbdns-1.05.o/dnscache.c   2024-02-23 08:05:00.037623680 +0200
-+++ djbdns-1.05/dnscache.c     2024-02-23 08:18:26.320580927 +0200
-@@ -52,6 +52,7 @@
+diff --git a/dnscache.c b/dnscache.c
+index 8c899a3..8b10571 100644
+--- a/dnscache.c
++++ b/dnscache.c
+@@ -51,6 +51,7 @@ static char myipincoming[4];
  static char buf[1024];
  uint64 numqueries = 0;
  
@@ -24,7 +10,7 @@ diff -bru djbdns-1.05.o/dnscache.c djbdns-1.05/dnscache.c
  
  static int udp53;
  
-@@ -77,7 +78,7 @@
+@@ -77,7 +78,7 @@ void u_respond(int j)
  {
    if (!u[j].active) return;
    response_id(u[j].id);
@@ -33,7 +19,7 @@ diff -bru djbdns-1.05.o/dnscache.c djbdns-1.05/dnscache.c
    socket_send4(udp53,response,response_len,u[j].ip,u[j].port);
    log_querydone(&u[j].active,response_len);
    u[j].active = 0; --uactive;
-@@ -430,6 +431,15 @@
+@@ -431,6 +432,15 @@ int main()
    if (!cache_init(cachesize))
      strerr_die3x(111,FATAL,"not enough memory for cache of size ",x);
  
@@ -49,10 +35,19 @@ diff -bru djbdns-1.05.o/dnscache.c djbdns-1.05/dnscache.c
    if (env_get("HIDETTL"))
      response_hidettl();
    if (env_get("FORWARDONLY"))
-diff -Nbrau djbdns-1.05.o/server.c djbdns-1.05/server.c
---- djbdns-1.05.o/server.c     2001-02-11 23:11:45.000000000 +0200
-+++ djbdns-1.05/server.c       2024-02-23 08:19:40.020855813 +0200
-@@ -83,6 +83,7 @@
+diff --git a/server.c b/server.c
+index e486fe1..63ad11c 100644
+--- a/server.c
++++ b/server.c
+@@ -2,6 +2,7 @@
+ #include "case.h"
+ #include "env.h"
+ #include "buffer.h"
++#include "scan.h"
+ #include "strerr.h"
+ #include "ip4.h"
+ #include "uint16.h"
+@@ -83,6 +84,7 @@ int main()
  {
    char *x;
    int udp53;
@@ -60,7 +55,7 @@ diff -Nbrau djbdns-1.05.o/server.c djbdns-1.05/server.c
  
    x = env_get("IP");
    if (!x)
-@@ -105,11 +106,19 @@
+@@ -105,11 +107,19 @@ int main()
  
    buffer_putsflush(buffer_2,starting);
  

diff --git 
a/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-v6.patch 
b/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-v6.patch
index 291ebe4f5c44..cea01ebd30d1 100644
--- a/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-v6.patch
+++ b/net-dns/djbdns/files/djbdns-dnscache-configurable-truncate-size-v6.patch
@@ -53,6 +53,14 @@ Only in djbdns-1.05/: .dnscache.c.swp
 diff -bru djbdns-1.05.o/server.c djbdns-1.05/server.c
 --- djbdns-1.05.o/server.c     2023-10-20 00:34:15.778688116 +0200
 +++ djbdns-1.05/server.c       2023-10-20 00:43:31.519954643 +0200
+@@ -2,6 +2,7 @@
+ #include "case.h"
+ #include "env.h"
+ #include "buffer.h"
++#include "scan.h"
+ #include "strerr.h"
+ #include "ip4.h"
+ #include "uint16.h"
 @@ -94,6 +94,7 @@
    int *udp53;
    unsigned int off;

diff --git a/net-dns/djbdns/files/implicit-declarations-nov6.patch 
b/net-dns/djbdns/files/implicit-declarations-nov6.patch
new file mode 100644
index 000000000000..8c749b2cec7a
--- /dev/null
+++ b/net-dns/djbdns/files/implicit-declarations-nov6.patch
@@ -0,0 +1,79 @@
+Fix the build with -Werror=implicit-function-declarations
+
+diff --git a/chkshsgr.c b/chkshsgr.c
+index 2b942d8..2d4e5f4 100644
+--- a/chkshsgr.c
++++ b/chkshsgr.c
+@@ -1,3 +1,5 @@
++#include <grp.h>
++#include <unistd.h>
+ #include "exit.h"
+ 
+ int main()
+diff --git a/dnsq.c b/dnsq.c
+index 533e6af..fd9fe78 100644
+--- a/dnsq.c
++++ b/dnsq.c
+@@ -1,3 +1,5 @@
++#include <unistd.h>
++
+ #include "uint16.h"
+ #include "strerr.h"
+ #include "buffer.h"
+diff --git a/dnsqr.c b/dnsqr.c
+index ff8ea6e..01bfe65 100644
+--- a/dnsqr.c
++++ b/dnsqr.c
+@@ -1,3 +1,5 @@
++#include <unistd.h>
++
+ #include "uint16.h"
+ #include "strerr.h"
+ #include "buffer.h"
+diff --git a/hier.c b/hier.c
+index 4aef75b..c7c8766 100644
+--- a/hier.c
++++ b/hier.c
+@@ -1,5 +1,11 @@
+ #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 hier()
+ {
+   c("/","etc","dnsroots.global",-1,-1,0644);
+diff --git a/prot.c b/prot.c
+index 0a8a373..1c56e9c 100644
+--- a/prot.c
++++ b/prot.c
+@@ -1,3 +1,5 @@
++#include <grp.h>
++#include <unistd.h>
+ #include "hasshsgr.h"
+ #include "prot.h"
+ 
+diff --git a/seek_set.c b/seek_set.c
+index d08d4f3..47c61e4 100644
+--- a/seek_set.c
++++ b/seek_set.c
+@@ -1,4 +1,5 @@
+ #include <sys/types.h>
++#include <unistd.h>
+ #include "seek.h"
+ 
+ #define SET 0 /* sigh */
+diff --git a/utime.c b/utime.c
+index 4b7984f..be6c936 100644
+--- a/utime.c
++++ b/utime.c
+@@ -1,5 +1,6 @@
+ #include <sys/types.h>
+ #include <sys/time.h>
++#include <utime.h>
+ #include "scan.h"
+ #include "exit.h"
+ 

Reply via email to