On Fri, Jan 06, 2023 at 01:22:23PM +0000, Stuart Henderson wrote:
> On 2023/01/06 14:02, Michael wrote:
> > Hi ports@,
> > 
> > a few people have asked me off list to enable IDENT support for ngircd. 
> > As this is not something everybody will need I added a FLAVOR "ident" 
> > for this.
> 
> Seems that ident support is disabled by default and you need to enable it
> in config; if that's the case then I would recommend just building with
> it enabled anyway, it's not a big dependency, and adding flavours means
> extra work when testing updates.
> 
> (If that's not the case, then please add a note to pkg/DESCR describing
> the flavour).
> [...] 

Hi Sturart,

Thanks for the feedback.

>From ngircd.conf(5):

 Ident (boolean)
        If ngIRCd is compiled with IDENT support this can be used to
        disable IDENT lookups at run time.  Users identified using IDENT
        are registered without the "~" character prepended to their user
        name.  Default: yes.

So ident is enabled by default if compiled in. Updated patch below.


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ngircd/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- Makefile    8 Nov 2022 11:16:58 -0000       1.23
+++ Makefile    6 Jan 2023 13:37:33 -0000
@@ -1,7 +1,7 @@
 COMMENT =      lightweight irc server
 
 DISTNAME =     ngircd-26.1
-REVISION =     0
+REVISION =     1
 
 CATEGORIES =   net
 
@@ -15,8 +15,11 @@ PERMIT_PACKAGE =     Yes
 # use pledge()
 WANTLIB =      c crypto iconv ssl z
 
+FLAVORS =      ident
+FLAVOR ?=
+
 MASTER_SITES = https://ngircd.barton.de/pub/ngircd/ \
-               https://ngircd.mirror.3rz.org/pub/ngircd/ \
+               https://ngircd.mirror.3rz.de/pub/ngircd/ \
                https://ngircd.sourceforge.io/pub/ngircd/
 
 LIB_DEPENDS =  converters/libiconv
@@ -29,5 +32,11 @@ CONFIGURE_STYLE = gnu
 CONFIGURE_ARGS += --with-iconv=${LOCALBASE} \
                  --with-openssl \
                  --enable-ipv6
+
+.if ${FLAVOR:Mident}
+LIB_DEPENDS += security/libident
+WANTLIB +=     ident
+CONFIGURE_ARGS += --with-ident=${LOCALBASE}
+.endif
 
 .include <bsd.port.mk>
Index: patches/patch-doc_Makefile_in
===================================================================
RCS file: /cvs/ports/net/ngircd/patches/patch-doc_Makefile_in,v
retrieving revision 1.7
diff -u -p -r1.7 patch-doc_Makefile_in
--- patches/patch-doc_Makefile_in       11 Mar 2022 19:46:30 -0000      1.7
+++ patches/patch-doc_Makefile_in       6 Jan 2023 13:37:33 -0000
@@ -1,7 +1,7 @@
 Index: doc/Makefile.in
 --- doc/Makefile.in.orig
 +++ doc/Makefile.in
-@@ -648,16 +648,13 @@ maintainer-clean-local:
+@@ -617,16 +617,13 @@ maintainer-clean-local:
  all: $(generated_docs)
  
  install-data-hook: $(static_docs) $(toplevel_docs) $(generated_docs)
Index: patches/patch-src_ngircd_ngircd_c
===================================================================
RCS file: /cvs/ports/net/ngircd/patches/patch-src_ngircd_ngircd_c,v
retrieving revision 1.7
diff -u -p -r1.7 patch-src_ngircd_ngircd_c
--- patches/patch-src_ngircd_ngircd_c   11 Mar 2022 19:46:30 -0000      1.7
+++ patches/patch-src_ngircd_ngircd_c   6 Jan 2023 13:37:33 -0000
@@ -1,7 +1,15 @@
 Index: src/ngircd/ngircd.c
 --- src/ngircd/ngircd.c.orig
 +++ src/ngircd/ngircd.c
-@@ -261,6 +261,16 @@ main(int argc, const char *argv[])
+@@ -30,6 +30,7 @@
+ #include <fcntl.h>
+ #include <pwd.h>
+ #include <grp.h>
++#include <err.h>
+ 
+ #if defined(DEBUG) && defined(HAVE_MTRACE)
+ #include <mcheck.h>
+@@ -261,6 +262,16 @@ main(int argc, const char *argv[])
                        exit(1);
                }
  
@@ -18,7 +26,7 @@ Index: src/ngircd/ngircd.c
                if (!io_library_init(CONNECTION_POOL)) {
                        Log(LOG_ALERT,
                            "Fatal: Could not initialize IO routines: %s",
-@@ -563,7 +573,7 @@ Setup_FDStreams(int fd)
+@@ -563,7 +574,7 @@ Setup_FDStreams(int fd)
  #if !defined(SINGLE_USER_OS)
  
  /**
@@ -27,7 +35,7 @@ Index: src/ngircd/ngircd.c
   *
   * @param uid User ID
   * @param gid Group ID
-@@ -587,7 +597,7 @@ NGIRCd_getNobodyID(uid_t *uid, gid_t *gid )
+@@ -587,7 +598,7 @@ NGIRCd_getNobodyID(uid_t *uid, gid_t *gid )
        }
  #endif
  
@@ -36,7 +44,7 @@ Index: src/ngircd/ngircd.c
        if (!pwd)
                return false;
  
-@@ -703,11 +713,11 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
+@@ -703,11 +714,11 @@ NGIRCd_Init(bool NGIRCd_NoDaemon)
        if (Conf_UID == 0) {
                pwd = getpwuid(0);
                Log(LOG_INFO,
Index: patches/patch-src_ngircd_proc_c
===================================================================
RCS file: /cvs/ports/net/ngircd/patches/patch-src_ngircd_proc_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_ngircd_proc_c
--- patches/patch-src_ngircd_proc_c     11 Mar 2022 19:46:30 -0000      1.2
+++ patches/patch-src_ngircd_proc_c     6 Jan 2023 13:37:33 -0000
@@ -1,7 +1,15 @@
 Index: src/ngircd/proc.c
 --- src/ngircd/proc.c.orig
 +++ src/ngircd/proc.c
-@@ -76,6 +76,9 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc
+@@ -24,6 +24,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <time.h>
++#include <err.h>
+ 
+ #include "log.h"
+ #include "io.h"
+@@ -76,6 +77,9 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc
                return -1;
        case 0:
                /* New child process: */
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/net/ngircd/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR   29 Sep 2012 12:32:01 -0000      1.1.1.1
+++ pkg/DESCR   6 Jan 2023 13:37:33 -0000
@@ -3,3 +3,6 @@ server for small or private networks, de
 Public License (GPL). It is simple to configure, can cope with
 dynamic IP addresses, and supports IPv6 as well as SSL. It is written
 from scratch and not based on the original IRCd.
+
+Flavors:
+ident - Enable IDENT support.

Reply via email to