diff --git a/irc/unreal/Makefile b/irc/unreal/Makefile index 4c890f7887f0..b181aaeccca1 100644 --- a/irc/unreal/Makefile +++ b/irc/unreal/Makefile @@ -1,103 +1,106 @@ PORTNAME= unreal -DISTVERSION= 6.1.1.1 -PORTREVISION= 1 +DISTVERSION= 6.1.8.1 CATEGORIES= irc MASTER_SITES= https://www.unrealircd.org/downloads/ DISTNAME= ${PORTNAME}ircd-${PORTVERSION} MAINTAINER= tanawts@gmail.com COMMENT= Unreal - the next generation ircd WWW= https://www.unrealircd.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libcares.so:dns/c-ares \ libpcre2-8.so:devel/pcre2 \ libargon2.so:security/libargon2 \ libsodium.so:security/libsodium \ libjansson.so:devel/jansson \ libmaxminddb.so:net/libmaxminddb RUN_DEPENDS= ${LOCALBASE}/bin/geoipupdate:net/geoipupdate -USES= pkgconfig cpe gmake localbase ssl -MODULESDIR= ${PREFIX}/lib/${PORTNAME} -MODULESSUBDIR= chanmodes extbans rpc usermodes -CONFIGDIR= ${PREFIX}/etc/${PORTNAME} -RUNDIR= /var/run/ircd -LOGDIR= /var/log/ircd -CACHEDIR= /var/cache/ircd -_TMPDIR= /tmp +USES= cpe gmake localbase pkgconfig ssl +CPE_VENDOR= unrealircd +CPE_PRODUCT= unrealircd EXTRACT_AFTER_ARGS= --exclude extras/*.tar.gz HAS_CONFIGURE= yes USE_RC_SUBR= unrealircd USERS= ircd GROUPS= ircd -CPE_VENDOR= unrealircd -CPE_PRODUCT= unrealircd -SUB_LIST+= RUNDIR=${RUNDIR} -SUB_LIST+= USERS=${USERS} -SUB_LIST+= GROUPS=${GROUPS} +MODULESDIR= ${PREFIX}/lib/${PORTNAME} +MODULESSUBDIR= chanmodes extbans rpc usermodes +CONFIGDIR= ${PREFIX}/etc/${PORTNAME} +RUNDIR= /var/run/ircd +LOGDIR= /var/log/ircd +CACHEDIR= /var/cache/ircd +_TMPDIR= /tmp + +SUB_LIST+= RUNDIR=${RUNDIR} \ + USERS=${USERS} \ + GROUPS=${GROUPS} CONFIGURE_ARGS= --with-nick-history=2000 \ - --with-bindir=${LOCALBASE}/bin \ + --with-bindir=${LOCALBASE}/libexec \ --with-scriptdir=${DATADIR} \ --with-confdir=${CONFIGDIR} \ --with-builddir=${WRKSRC} \ --with-modulesdir=${MODULESDIR} \ --with-logdir=${LOGDIR} \ --with-cachedir=${CACHEDIR} \ --with-tmpdir=${_TMPDIR} \ --with-datadir=${DATADIR}/data \ --with-docdir=${DATADIR}/doc \ --with-pidfile=${RUNDIR}/ircd.pid \ --with-controlfile=${RUNDIR}/ircd.ctl \ --with-permissions=0600 \ --with-system-cares \ + --with-system-argon2 \ --enable-dynamic-linking \ --enable-libmaxminddb=yes \ --enable-ssl OPTIONS_DEFINE= DOCS -PORTDOCS= ${DOCS:T} -DOCS= Donation Authors coding-guidelines \ +PORTDOCS= * +DOCS= Authors coding-guidelines \ tao.of.irc translations.txt \ technical/005.txt technical/base64.txt \ technical/serverprotocol.txt do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/src/ircd ${STAGEDIR}${PREFIX}/libexec/ircd + ${INSTALL_PROGRAM} ${WRKSRC}/src/ircd ${STAGEDIR}${PREFIX}/libexec/unrealircd + ${INSTALL_PROGRAM} ${WRKSRC}/src/unrealircdctl ${STAGEDIR}${PREFIX}/libexec/unrealircdctl + ${INSTALL_SCRIPT} ${WRKSRC}/unrealircd ${STAGEDIR}${PREFIX}/sbin/unrealircd ${MKDIR} ${STAGEDIR}${CACHEDIR} ${MKDIR} ${STAGEDIR}${CONFIGDIR} ${MKDIR} ${STAGEDIR}${CONFIGDIR}/aliases ${MKDIR} ${STAGEDIR}${CONFIGDIR}/examples ${MKDIR} ${STAGEDIR}${CONFIGDIR}/help ${MKDIR} ${STAGEDIR}${CONFIGDIR}/tls ${MKDIR} ${STAGEDIR}${LOGDIR} ${MKDIR} ${STAGEDIR}${MODULESDIR} ${MKDIR} ${STAGEDIR}${MODULESDIR}/chanmodes ${MKDIR} ${STAGEDIR}${MODULESDIR}/extbans ${MKDIR} ${STAGEDIR}${MODULESDIR}/rpc ${MKDIR} ${STAGEDIR}${MODULESDIR}/usermodes ${MKDIR} ${STAGEDIR}${RUNDIR} ${TOUCH} ${STAGEDIR}${CONFIGDIR}/ircd.motd.sample ${TOUCH} ${STAGEDIR}${CONFIGDIR}/ircd.rules.sample (cd ${WRKSRC}/doc/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${CONFIGDIR}) ${INSTALL_DATA} ${WRKSRC}/doc/conf/examples/example.conf ${STAGEDIR}${CONFIGDIR}/unrealircd.conf.sample ${INSTALL_LIB} ${WRKSRC}/src/modules/*.so ${STAGEDIR}${MODULESDIR} .for subdir in ${MODULESSUBDIR} ${INSTALL_LIB} ${WRKSRC}/src/modules/${subdir}/*.so ${STAGEDIR}${MODULESDIR}/${subdir}/ .endfor do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for file in ${DOCS} ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${STAGEDIR}${DOCSDIR} .endfor .include diff --git a/irc/unreal/distinfo b/irc/unreal/distinfo index ea31959465d2..a23f69a73a98 100644 --- a/irc/unreal/distinfo +++ b/irc/unreal/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1473082474 -SHA256 (unrealircd-6.1.1.1.tar.gz) = 0c8e4164f499f0f6a72ed6032acb034bd7e9bd10308f556a0d919a00c2eeb334 -SIZE (unrealircd-6.1.1.1.tar.gz) = 10341432 +TIMESTAMP = 1729629794 +SHA256 (unrealircd-6.1.8.1.tar.gz) = f8f7a0b738614a527e2420ca3970bc735c6c5346dfa8dd9e2d5bd2eeaf992e93 +SIZE (unrealircd-6.1.8.1.tar.gz) = 10053933 diff --git a/irc/unreal/files/patch-doc_conf_modules.default.conf b/irc/unreal/files/patch-doc_conf_modules.default.conf index 86cef49700f2..5fe783aa0974 100644 --- a/irc/unreal/files/patch-doc_conf_modules.default.conf +++ b/irc/unreal/files/patch-doc_conf_modules.default.conf @@ -1,16 +1,11 @@ ---- doc/conf/modules.default.conf.orig 2023-09-21 00:26:43 UTC +--- doc/conf/modules.default.conf.orig 2024-10-18 10:45:40 UTC +++ doc/conf/modules.default.conf -@@ -293,13 +293,3 @@ loadmodule "targetfloodprot"; /* set::anti-flood::targ - loadmodule "watch-backend"; /* used by watch and other modules */ - loadmodule "geoip_base"; /* needed for ALL geoip functions */ - loadmodule "websocket_common"; /* helper functions for websocket (internal) */ -- +@@ -299,7 +299,7 @@ loadmodule "websocket_common"; /* helper functions for + loadmodule "spamreport"; /* Spam reporting to a blacklist */ + loadmodule "crule"; /* Rules in spamfilter::rule and deny link::rule */ + -loadmodule "geoip_classic"; --@if module-loaded("geoip_classic") --set { -- geoip-classic { -- ipv4-database "https://www.unrealircd.org/files/geo/classic/GeoIP.dat" { url-refresh 14d; } -- ipv6-database "https://www.unrealircd.org/files/geo/classic/GeoIPv6.dat" { url-refresh 14d; } -- } --} --@endif ++# loadmodule "geoip_classic"; + @if module-loaded("geoip_classic") + set { + geoip-classic { diff --git a/irc/unreal/files/patch-doc_conf_modules.sources.list b/irc/unreal/files/patch-doc_conf_modules.sources.list new file mode 100644 index 000000000000..b0c9ab9f5816 --- /dev/null +++ b/irc/unreal/files/patch-doc_conf_modules.sources.list @@ -0,0 +1,13 @@ +--- doc/conf/modules.sources.list.orig 2024-10-24 06:41:55 UTC ++++ doc/conf/modules.sources.list +@@ -14,7 +14,9 @@ + # as well, then read the rules and procedure at: + # https://www.unrealircd.org/docs/Rules_for_3rd_party_modules_in_unrealircd-contrib + # +-https://modules.unrealircd.org/modules.list ++# disable, FreeBSD ports are not allowed network activity while building ++# (BZ 251357) ++# https://modules.unrealircd.org/modules.list + + # You can add more repositories here. However, do note that all + # URLs MUST start with https:// diff --git a/irc/unreal/files/unrealircd.in b/irc/unreal/files/unrealircd.in index a89a6c3c81ee..d694b7cb0606 100644 --- a/irc/unreal/files/unrealircd.in +++ b/irc/unreal/files/unrealircd.in @@ -1,38 +1,38 @@ #!/bin/sh # PROVIDE: unrealircd # REQUIRE: NETWORKING SERVERS # BEFORE: DAEMON # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable Unreal IRCd: # unrealircd_enable (bool): Set to "NO" by default. # Set it to "YES" to enable Unreal IRCd # . /etc/rc.subr name=unrealircd rcvar=unrealircd_enable load_rc_config $name : ${unrealircd_enable=NO} : ${unrealircd_pidfile="/var/run/ircd/ircd.pid"} : ${unrealircd_user="ircd"} -command=%%PREFIX%%/libexec/ircd +command=%%PREFIX%%/libexec/unrealircd pidfile=%%RUNDIR%%/ircd.pid start_precmd=unreal_prestart required_files="%%PREFIX%%/etc/unreal/unrealircd.conf" unreal_prestart() { if [ ! -d ${pidfile%/*} ]; then install -d -o %%USERS%% -g %%GROUPS%% ${pidfile%/*} install -d -o %%USERS%% -g %%GROUPS%% ${pidfile%/*}/tmp fi } run_rc_command "$1" diff --git a/irc/unreal/pkg-plist b/irc/unreal/pkg-plist index dc9cd2d50550..53593b970587 100644 --- a/irc/unreal/pkg-plist +++ b/irc/unreal/pkg-plist @@ -1,281 +1,292 @@ @owner ircd @group ircd %%ETCDIR%%/aliases/aliases.conf %%ETCDIR%%/aliases/anope.conf %%ETCDIR%%/aliases/atheme.conf %%ETCDIR%%/aliases/auspice.conf %%ETCDIR%%/aliases/cygnus.conf %%ETCDIR%%/aliases/epona.conf %%ETCDIR%%/aliases/generic.conf %%ETCDIR%%/aliases/genericstats.conf %%ETCDIR%%/aliases/ircservices.conf %%ETCDIR%%/aliases/operstats.conf %%ETCDIR%%/badwords.conf @sample %%ETCDIR%%/unrealircd.conf.sample %%ETCDIR%%/dccallow.conf %%ETCDIR%%/examples/example.conf %%ETCDIR%%/examples/example.es.conf %%ETCDIR%%/examples/example.fr.conf +%%ETCDIR%%/examples/example.pt.conf %%ETCDIR%%/examples/example.tr.conf %%ETCDIR%%/help/help.conf %%ETCDIR%%/help/help.de.conf %%ETCDIR%%/help/help.es.conf %%ETCDIR%%/help/help.fr.conf %%ETCDIR%%/help/help.it.conf %%ETCDIR%%/help/help.nl.conf %%ETCDIR%%/help/help.pl.conf %%ETCDIR%%/help/help.ru.conf %%ETCDIR%%/help/help.tr.conf @sample %%ETCDIR%%/ircd.motd.sample @sample %%ETCDIR%%/ircd.rules.sample %%ETCDIR%%/modules.default.conf %%ETCDIR%%/modules.optional.conf %%ETCDIR%%/modules.sources.list %%ETCDIR%%/operclass.default.conf +%%ETCDIR%%/rpc-class.default.conf %%ETCDIR%%/rpc.modules.default.conf %%ETCDIR%%/snomasks.default.conf %%ETCDIR%%/spamfilter.conf %%ETCDIR%%/tls/curl-ca-bundle.crt lib/unreal/account-notify.so lib/unreal/account-tag.so lib/unreal/addmotd.so lib/unreal/addomotd.so lib/unreal/admin.so lib/unreal/antimixedutf8.so lib/unreal/antirandom.so lib/unreal/authprompt.so lib/unreal/away.so lib/unreal/batch.so lib/unreal/blacklist.so lib/unreal/bot-tag.so lib/unreal/botmotd.so lib/unreal/cap.so lib/unreal/certfp.so +lib/unreal/central-api.so +lib/unreal/central-blocklist.so lib/unreal/chanmodes/censor.so lib/unreal/chanmodes/chanadmin.so lib/unreal/chanmodes/chanop.so lib/unreal/chanmodes/chanowner.so lib/unreal/chanmodes/delayjoin.so lib/unreal/chanmodes/floodprot.so lib/unreal/chanmodes/halfop.so lib/unreal/chanmodes/history.so lib/unreal/chanmodes/inviteonly.so lib/unreal/chanmodes/isregistered.so lib/unreal/chanmodes/issecure.so lib/unreal/chanmodes/key.so lib/unreal/chanmodes/limit.so lib/unreal/chanmodes/link.so lib/unreal/chanmodes/moderated.so lib/unreal/chanmodes/nocolor.so lib/unreal/chanmodes/noctcp.so lib/unreal/chanmodes/noexternalmsgs.so lib/unreal/chanmodes/noinvite.so lib/unreal/chanmodes/nokick.so lib/unreal/chanmodes/noknock.so lib/unreal/chanmodes/nonickchange.so lib/unreal/chanmodes/nonotice.so lib/unreal/chanmodes/operonly.so lib/unreal/chanmodes/permanent.so lib/unreal/chanmodes/private.so lib/unreal/chanmodes/regonly.so lib/unreal/chanmodes/regonlyspeak.so lib/unreal/chanmodes/secret.so lib/unreal/chanmodes/secureonly.so lib/unreal/chanmodes/stripcolor.so lib/unreal/chanmodes/topiclimit.so lib/unreal/chanmodes/voice.so lib/unreal/channel-context.so lib/unreal/channeldb.so lib/unreal/charsys.so lib/unreal/chathistory.so lib/unreal/chghost.so lib/unreal/chgident.so lib/unreal/chgname.so lib/unreal/clienttagdeny.so lib/unreal/cloak_md5.so lib/unreal/cloak_none.so lib/unreal/cloak_sha256.so lib/unreal/close.so lib/unreal/connect-flood.so lib/unreal/connect.so lib/unreal/connthrottle.so lib/unreal/creationtime.so +lib/unreal/crule.so lib/unreal/cycle.so lib/unreal/dccallow.so lib/unreal/dccdeny.so lib/unreal/echo-message.so lib/unreal/eos.so lib/unreal/extbans/account.so lib/unreal/extbans/certfp.so lib/unreal/extbans/country.so lib/unreal/extbans/flood.so lib/unreal/extbans/inchannel.so lib/unreal/extbans/join.so lib/unreal/extbans/msgbypass.so lib/unreal/extbans/nickchange.so lib/unreal/extbans/operclass.so lib/unreal/extbans/partmsg.so lib/unreal/extbans/quiet.so lib/unreal/extbans/realname.so lib/unreal/extbans/securitygroup.so lib/unreal/extbans/textban.so lib/unreal/extbans/timedban.so +lib/unreal/extbans/asn.so +lib/unreal/extbans/inherit.so lib/unreal/extended-monitor.so lib/unreal/extjwt.so lib/unreal/geoip-tag.so lib/unreal/geoip_base.so lib/unreal/geoip_csv.so lib/unreal/geoip_maxmind.so lib/unreal/globops.so lib/unreal/help.so lib/unreal/hideserver.so lib/unreal/history.so lib/unreal/history_backend_mem.so lib/unreal/history_backend_null.so lib/unreal/ident_lookup.so lib/unreal/invite.so lib/unreal/ircops.so lib/unreal/ison.so lib/unreal/issued-by-tag.so lib/unreal/join.so lib/unreal/jointhrottle.so lib/unreal/json-log-tag.so lib/unreal/jumpserver.so lib/unreal/kick.so lib/unreal/kill.so lib/unreal/knock.so lib/unreal/labeled-response.so lib/unreal/lag.so lib/unreal/link-security.so lib/unreal/links.so lib/unreal/list.so lib/unreal/locops.so lib/unreal/lusers.so lib/unreal/map.so lib/unreal/max-unknown-connections-per-ip.so lib/unreal/md.so lib/unreal/message-ids.so lib/unreal/message-tags.so lib/unreal/message.so lib/unreal/mkpasswd.so lib/unreal/mode.so lib/unreal/monitor.so lib/unreal/motd.so lib/unreal/names.so lib/unreal/netinfo.so lib/unreal/nick.so lib/unreal/nocodes.so +lib/unreal/no-implicit-names.so lib/unreal/oper.so lib/unreal/operinfo.so lib/unreal/opermotd.so lib/unreal/part.so lib/unreal/pass.so lib/unreal/pingpong.so lib/unreal/plaintext-policy.so lib/unreal/protoctl.so lib/unreal/quit.so lib/unreal/real-quit-reason.so lib/unreal/reply-tag.so lib/unreal/reputation.so lib/unreal/require-module.so lib/unreal/restrict-commands.so lib/unreal/rmtkl.so lib/unreal/rpc/channel.so lib/unreal/rpc/log.so lib/unreal/rpc/name_ban.so lib/unreal/rpc/rpc.so lib/unreal/rpc/server.so lib/unreal/rpc/server_ban.so lib/unreal/rpc/server_ban_exception.so lib/unreal/rpc/spamfilter.so lib/unreal/rpc/stats.so lib/unreal/rpc/user.so lib/unreal/rpc/whowas.so lib/unreal/rules.so lib/unreal/sajoin.so lib/unreal/samode.so lib/unreal/sapart.so lib/unreal/sasl.so lib/unreal/sdesc.so lib/unreal/sendsno.so lib/unreal/sendumode.so lib/unreal/server-time.so lib/unreal/server.so lib/unreal/sethost.so lib/unreal/setident.so lib/unreal/setname.so lib/unreal/silence.so lib/unreal/sinfo.so lib/unreal/sjoin.so lib/unreal/slog.so +lib/unreal/spamreport.so lib/unreal/sqline.so lib/unreal/squit.so lib/unreal/sreply.so lib/unreal/staff.so lib/unreal/standard-replies.so lib/unreal/starttls.so lib/unreal/stats.so lib/unreal/sts.so lib/unreal/svsjoin.so lib/unreal/svskill.so lib/unreal/svslogin.so lib/unreal/svslusers.so lib/unreal/svsmode.so lib/unreal/svsmotd.so lib/unreal/svsnick.so lib/unreal/svsnline.so lib/unreal/svsnolag.so lib/unreal/svsnoop.so lib/unreal/svso.so lib/unreal/svspart.so lib/unreal/svssilence.so lib/unreal/svssno.so lib/unreal/svswatch.so lib/unreal/swhois.so lib/unreal/targetfloodprot.so lib/unreal/time.so lib/unreal/tkl.so lib/unreal/tkldb.so lib/unreal/tline.so lib/unreal/tls_antidos.so lib/unreal/tls_cipher.so lib/unreal/topic.so lib/unreal/trace.so lib/unreal/tsctl.so lib/unreal/typing-indicator.so lib/unreal/umode2.so lib/unreal/unreal_server_compat.so lib/unreal/unsqline.so lib/unreal/user.so lib/unreal/userhost-tag.so lib/unreal/userhost.so lib/unreal/userip-tag.so lib/unreal/userip.so lib/unreal/usermodes/bot.so lib/unreal/usermodes/censor.so lib/unreal/usermodes/noctcp.so lib/unreal/usermodes/nokick.so lib/unreal/usermodes/privacy.so lib/unreal/usermodes/privdeaf.so lib/unreal/usermodes/regonlymsg.so lib/unreal/usermodes/secureonlymsg.so lib/unreal/usermodes/servicebot.so lib/unreal/usermodes/showwhois.so lib/unreal/usermodes/wallops.so lib/unreal/vhost.so lib/unreal/watch-backend.so lib/unreal/watch.so lib/unreal/webirc.so lib/unreal/webredir.so lib/unreal/webserver.so lib/unreal/websocket.so lib/unreal/websocket_common.so lib/unreal/who_old.so lib/unreal/whois.so lib/unreal/whowas.so lib/unreal/whowasdb.so lib/unreal/whox.so -libexec/ircd +libexec/unrealircd +libexec/unrealircdctl +sbin/unrealircd @dir /var/cache/ircd @dir /var/log/ircd @dir /var/run/ircd