Hello,

Here's a patch for i2pd:

- upgrading the port to the latest release, which brings several small 
improvements (changelog: https://github.com/PurpleI2P/i2pd/releases/tag/2.51.0)

- building it without debug symbols. It's not clear why i2pd is built by 
default with debug symbols, but it's not useful for most users and results in 
bigger binaries.

- adding login.conf bits and changing README as proposed initially by Klemens 
Nanni and then discussed on this list: 
https://marc.info/?t=170613762600002&r=1&w=2 


With the attached patch, the port builds and runs fine, and tests are passing.

I'm positive that i2pd works fine with openfiles-cur=4096, openfiles-max=4096 
and kern.maxfiles=8192, unless it is used as a floodfill.

Best regards.
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/i2pd/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile	13 Jan 2024 16:21:39 -0000	1.22
+++ Makefile	8 Apr 2024 09:40:43 -0000
@@ -2,7 +2,7 @@ COMMENT =	client for the I2P anonymous n
 
 GH_ACCOUNT =	PurpleI2P
 GH_PROJECT =	i2pd
-GH_TAGNAME =	2.50.2
+GH_TAGNAME =	2.51.0
 
 CATEGORIES =	net
 HOMEPAGE =	https://i2pd.website
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/i2pd/distinfo,v
retrieving revision 1.17
diff -u -p -r1.17 distinfo
--- distinfo	13 Jan 2024 16:21:39 -0000	1.17
+++ distinfo	8 Apr 2024 09:40:43 -0000
@@ -1,2 +1,2 @@
-SHA256 (i2pd-2.50.2.tar.gz) = ri7Ecyw4/acbS0jOg2JN2LLgUIPyyUoD0gyvthb2PKU=
-SIZE (i2pd-2.50.2.tar.gz) = 663010
+SHA256 (i2pd-2.51.0.tar.gz) = 1+T+LFw8AKkRXwYbeXvj0vyBuyW+3bIKY2risMkSzjE=
+SIZE (i2pd-2.51.0.tar.gz) = 670699
Index: patches/patch-nodebug
===================================================================
RCS file: patches/patch-nodebug
diff -N patches/patch-nodebug
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-nodebug	8 Apr 2024 09:40:43 -0000
@@ -0,0 +1,12 @@
+Index: Makefile
+--- Makefile.orig
++++ Makefile
+@@ -32,7 +32,7 @@
+ USE_AESNI       := $(or $(USE_AESNI),yes)
+ USE_STATIC      := $(or $(USE_STATIC),no)
+ USE_UPNP        := $(or $(USE_UPNP),no)
+-DEBUG           := $(or $(DEBUG),yes)
++DEBUG           := $(or $(DEBUG),no)
+ 
+ # for debugging purposes only, when commit hash needed in trunk builds in i2pd version string
+ USE_GIT_VERSION := $(or $(USE_GIT_VERSION),no)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/PLIST,v
retrieving revision 1.12
diff -u -p -r1.12 PLIST
--- pkg/PLIST	20 Dec 2023 22:19:44 -0000	1.12
+++ pkg/PLIST	8 Apr 2024 09:40:43 -0000
@@ -50,6 +50,7 @@ include/i2pd/SSU2.h
 include/i2pd/SSU2Session.h
 include/i2pd/Signature.h
 include/i2pd/Siphash.h
+include/i2pd/Socks5.h
 include/i2pd/Streaming.h
 include/i2pd/Tag.h
 include/i2pd/Timestamp.h
@@ -131,6 +132,12 @@ share/examples/i2pd/certificates/reseed/
 @sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/acetone_at_mail.i2p.crt 
 @owner
 @group
+share/examples/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
+@owner _i2pd
+@group _i2pd
+@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
+@owner
+@group
 share/examples/i2pd/certificates/reseed/arnavbhatt288_at_mail.i2p.crt
 @owner _i2pd
 @group _i2pd
@@ -191,12 +198,6 @@ share/examples/i2pd/certificates/reseed/
 @sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/ls_at_mail.i2p.crt
 @owner
 @group
-share/examples/i2pd/certificates/reseed/null_at_i2pmail.org.crt
-@owner _i2pd
-@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/null_at_i2pmail.org.crt
-@owner
-@group
 share/examples/i2pd/certificates/reseed/orignal_at_mail.i2p.crt
 @owner _i2pd
 @group _i2pd
@@ -215,12 +216,6 @@ share/examples/i2pd/certificates/reseed/
 @sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/rambler_at_mail.i2p.crt
 @owner
 @group
-share/examples/i2pd/certificates/reseed/reheatedburger_at_protonmail.com.crt
-@owner _i2pd
-@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/reheatedburger_at_protonmail.com.crt
-@owner
-@group
 share/examples/i2pd/certificates/reseed/reseed_at_diva.exchange.crt
 @owner _i2pd
 @group _i2pd
@@ -237,3 +232,7 @@ share/examples/i2pd/tunnels.conf
 @owner _i2pd
 @group _i2pd
 @sample ${SYSCONFDIR}/i2pd/tunnels.conf
+@owner
+@group
+share/examples/login.conf.d/i2pd
+@sample ${SYSCONFDIR}/login.conf.d/i2pd
Index: pkg/README
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/README,v
retrieving revision 1.3
diff -u -p -r1.3 README
--- pkg/README	8 Nov 2022 12:41:42 -0000	1.3
+++ pkg/README	8 Apr 2024 09:40:43 -0000
@@ -5,20 +5,22 @@
 Resource Limits: File Descriptors
 =================================
 
-By default, the i2pd process runs in the login(1) class of "daemon".
-The default limits on file descriptors are insufficient to run i2pd; instead you
-should put the _i2pd user and process in their own login(1) class with tuned
-resources.
-You should also raise the system-wide maxfiles limit.
+${PKGSTEM} needs to open a lot of file descriptors.
 
-1. Configure i2pd login class in the login.conf(5) file:
+For a regular node, you should raise the system-wide maxfiles limit to
+8192:
 
-        i2pd:\
-                :openfiles-cur=8192:\
-                :openfiles-max=8192:\
-                :tc=daemon:
-
-2. Adjust kern.maxfiles, if needed:
+	# sysctl kern.maxfiles=8192
+	# echo "kern.maxfiles=8192" >> /etc/sysctl.conf
 
+If you intend to run a floodfill, you should raise this limit even more:
+ 
 	# sysctl kern.maxfiles=16000
 	# echo "kern.maxfiles=16000" >> /etc/sysctl.conf
+
+and also edit /etc/login.conf.d/i2pd:
+
+	i2pd:\
+		:openfiles-cur=8192:\
+		:openfiles-max=8192:\
+		:tc=daemon:
Index: pkg/i2pd.login
===================================================================
RCS file: pkg/i2pd.login
diff -N pkg/i2pd.login
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/i2pd.login	8 Apr 2024 09:40:43 -0000
@@ -0,0 +1,4 @@
+i2pd:\
+        :openfiles-cur=4096:\
+        :openfiles-max=4096:\
+        :tc=daemon:

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to