aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--irc/ircd-hybrid/Makefile22
-rw-r--r--irc/ircd-hybrid/distinfo1
-rw-r--r--irc/ircd-hybrid/files/patch-aa112
-rw-r--r--irc/ircd-hybrid/files/patch-ab171
-rw-r--r--irc/ircd-hybrid/files/patch-ac19
-rw-r--r--irc/ircd-hybrid/pkg-comment1
-rw-r--r--irc/ircd-hybrid/pkg-descr6
-rw-r--r--irc/ircd-hybrid/pkg-install79
-rw-r--r--irc/ircd-hybrid/pkg-plist6
9 files changed, 417 insertions, 0 deletions
diff --git a/irc/ircd-hybrid/Makefile b/irc/ircd-hybrid/Makefile
new file mode 100644
index 000000000000..e9223fc24a28
--- /dev/null
+++ b/irc/ircd-hybrid/Makefile
@@ -0,0 +1,22 @@
+# New port collection makefile for: ircd-hybrid
+# Version required: 5
+# Date created: 9 January 1998
+# Whom: desmo@bandwidth.org
+#
+# $Id$
+#
+
+DISTNAME= ircd-hybrid-5
+CATEGORIES= net
+MASTER_SITES= ftp://ftp.vol.com/pub/ircd/
+
+MAINTAINER= desmo@bandwidth.org
+
+GNU_CONFIGURE= yes
+IS_INTERACTIVE= yes
+
+post-install:
+ ${INSTALL_MAN} ${WRKSRC}/doc/ircd.8 ${MANPREFIX}/man/man8
+ /bin/sh ${PKGDIR}/INSTALL
+
+.include <bsd.port.mk>
diff --git a/irc/ircd-hybrid/distinfo b/irc/ircd-hybrid/distinfo
new file mode 100644
index 000000000000..968ac1554b3d
--- /dev/null
+++ b/irc/ircd-hybrid/distinfo
@@ -0,0 +1 @@
+MD5 (ircd-hybrid-5.tar.gz) = cc7693cba92786931bf057a11182efb4
diff --git a/irc/ircd-hybrid/files/patch-aa b/irc/ircd-hybrid/files/patch-aa
new file mode 100644
index 000000000000..1d346f732c42
--- /dev/null
+++ b/irc/ircd-hybrid/files/patch-aa
@@ -0,0 +1,112 @@
+*** include/s_err.h.orig Sat Jan 10 14:45:50 1998
+--- include/s_err.h Sat Jan 10 14:45:34 1998
+***************
+*** 23,31 ****
+ #ifdef CUSTOM_ERR
+ static Numeric local_replies[] = {
+ /* 000 */ 0, (char *)NULL,
+! /* 001 */ RPL_WELCOME, ":Welcome to EFNet IRC - the Internet Relay Chat Network %s",
+ /* 002 */ RPL_YOURHOST, ":Your host is %s, running version %s",
+! /* 003 */ RPL_CREATED, ":This server rose from the ashes %s",
+ /* 004 */ RPL_MYINFO, "%s %s oiwszcrkfydn biklmnopstv",
+ 0, (char *)NULL
+ };
+--- 23,31 ----
+ #ifdef CUSTOM_ERR
+ static Numeric local_replies[] = {
+ /* 000 */ 0, (char *)NULL,
+! /* 001 */ RPL_WELCOME, ":Welcome to BSDNet IRC - the Internet Relay Chat Network %s",
+ /* 002 */ RPL_YOURHOST, ":Your host is %s, running version %s",
+! /* 003 */ RPL_CREATED, ":This server was hatched %s",
+ /* 004 */ RPL_MYINFO, "%s %s oiwszcrkfydn biklmnopstv",
+ 0, (char *)NULL
+ };
+***************
+*** 90,96 ****
+ /* 461 */ ERR_NEEDMOREPARAMS, "%s :Not enough parameters",
+ /* 462 */ ERR_ALREADYREGISTRED, ":You may not reregister",
+ /* 463 */ ERR_NOPERMFORHOST, ":Your host isn't among the privileged.",
+! /* 464 */ ERR_PASSWDMISMATCH, ":BZZZT!! Wrong password, homez. Are you sure you know what you're doing??",
+ /* 465 */ ERR_YOUREBANNEDCREEP, ":You are BANNED from this server- %s",
+ /* 466 */ ERR_YOUWILLBEBANNED, (char *)NULL,
+ /* 467 */ ERR_KEYSET, "%s :Channel key already set. Pay attention.",
+--- 90,96 ----
+ /* 461 */ ERR_NEEDMOREPARAMS, "%s :Not enough parameters",
+ /* 462 */ ERR_ALREADYREGISTRED, ":You may not reregister",
+ /* 463 */ ERR_NOPERMFORHOST, ":Your host isn't among the privileged.",
+! /* 464 */ ERR_PASSWDMISMATCH, ":BZZZT!! Wrong password, dewd. Are you sure you know what you're doing?",
+ /* 465 */ ERR_YOUREBANNEDCREEP, ":You are BANNED from this server- %s",
+ /* 466 */ ERR_YOUWILLBEBANNED, (char *)NULL,
+ /* 467 */ ERR_KEYSET, "%s :Channel key already set. Pay attention.",
+***************
+*** 104,112 ****
+ 0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
+ 0, (char *)NULL,
+ /* 481 */ ERR_NOPRIVILEGES,
+! ":UHHH, I don't THINK so, homez... you ain't got what it takes. (IRC Operator)",
+ /* 482 */ ERR_CHANOPRIVSNEEDED, "%s :You can't do that thing, when you don't have that swing (You're not channel operator)",
+! /* 483 */ ERR_CANTKILLSERVER, ":Don't be an idiot - you can't kill a SERVER, fool.",
+ /* 484 */ 0, (char *)NULL,
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+--- 104,112 ----
+ 0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
+ 0, (char *)NULL,
+ /* 481 */ ERR_NOPRIVILEGES,
+! ":UHHH, I don't THINK so, dewd... you ain't got those mad l33+ sk1llz. (IRC Operator)",
+ /* 482 */ ERR_CHANOPRIVSNEEDED, "%s :You can't do that thing, when you don't have that swing (You're not channel operator)",
+! /* 483 */ ERR_CANTKILLSERVER, ":Don't be an idiot - you can't kill a SERVER.",
+ /* 484 */ 0, (char *)NULL,
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+***************
+*** 124,130 ****
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+! /* 501 */ ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag - you smokin' something?",
+ /* 502 */ ERR_USERSDONTMATCH, ":You can't change user modes for other users, silly - check that nickname again.",
+ /* 503 */ ERR_GHOSTEDCLIENT, ":Message could not be delivered to %s",
+ /* LAST */ ERR_LAST_ERR_MSG, ":Last Error Message",
+--- 124,130 ----
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+ 0, (char *)NULL,
+! /* 501 */ ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag",
+ /* 502 */ ERR_USERSDONTMATCH, ":You can't change user modes for other users, silly - check that nickname again.",
+ /* 503 */ ERR_GHOSTEDCLIENT, ":Message could not be delivered to %s",
+ /* LAST */ ERR_LAST_ERR_MSG, ":Last Error Message",
+***************
+*** 143,149 ****
+ 0, (char *)NULL,
+ /* 311 */ RPL_WHOISUSER, "%s %s %s * :%s",
+ /* 312 */ RPL_WHOISSERVER, "%s %s :%s",
+! /* 313 */ RPL_WHOISOPERATOR, "%s :is an IRC Janitor (IRC Operator)",
+ /* 314 */ RPL_WHOWASUSER, "%s %s %s * :%s",
+ /* 315 */ RPL_ENDOFWHO, "%s :End of /WHO list.",
+ /* 316 */ RPL_WHOISCHANOP, (char *)NULL,
+--- 143,149 ----
+ 0, (char *)NULL,
+ /* 311 */ RPL_WHOISUSER, "%s %s %s * :%s",
+ /* 312 */ RPL_WHOISSERVER, "%s %s :%s",
+! /* 313 */ RPL_WHOISOPERATOR, "%s :really likes to twist and shout -IRC Operator-",
+ /* 314 */ RPL_WHOWASUSER, "%s %s %s * :%s",
+ /* 315 */ RPL_ENDOFWHO, "%s :End of /WHO list.",
+ /* 316 */ RPL_WHOISCHANOP, (char *)NULL,
+***************
+*** 220,226 ****
+ #endif
+ 0, (char *)NULL, 0, (char *)NULL,
+ 0, (char *)NULL,
+! /* 381 */ RPL_YOUREOPER, ":You are now one bad motherfucker - Go /kill someone.",
+ /* 382 */ RPL_REHASHING, "%s :it slices, dices, and even reloads config files! Rehashing config file, mang.",
+ /* 383 */ 0, (char *)NULL,
+ /* 384 */ RPL_MYPORTIS, "%d :Port to local server is\r\n",
+--- 220,226 ----
+ #endif
+ 0, (char *)NULL, 0, (char *)NULL,
+ 0, (char *)NULL,
+! /* 381 */ RPL_YOUREOPER, ":You have the phorce. Use it wisely.",
+ /* 382 */ RPL_REHASHING, "%s :it slices, dices, and even reloads config files! Rehashing config file, mang.",
+ /* 383 */ 0, (char *)NULL,
+ /* 384 */ RPL_MYPORTIS, "%d :Port to local server is\r\n",
diff --git a/irc/ircd-hybrid/files/patch-ab b/irc/ircd-hybrid/files/patch-ab
new file mode 100644
index 000000000000..a664b3e46dcc
--- /dev/null
+++ b/irc/ircd-hybrid/files/patch-ab
@@ -0,0 +1,171 @@
+*** include/config.h.orig Sat Jan 10 14:43:53 1998
+--- include/config.h Sat Jan 10 14:47:44 1998
+***************
+*** 27,34 ****
+ /***************** MAKE SURE THIS IS CORRECT!!!!!!!!! **************/
+ /* ONLY EDIT "HARD_FDLIMIT_" and "INIT_MAXCLIENTS" */
+
+! #define HARD_FDLIMIT_ 1024
+! #define INIT_MAXCLIENTS 800
+
+ /*
+ * This is how many 'buffer connections' we allow...
+--- 27,34 ----
+ /***************** MAKE SURE THIS IS CORRECT!!!!!!!!! **************/
+ /* ONLY EDIT "HARD_FDLIMIT_" and "INIT_MAXCLIENTS" */
+
+! #define HARD_FDLIMIT_ 125
+! #define INIT_MAXCLIENTS 40
+
+ /*
+ * This is how many 'buffer connections' we allow...
+***************
+*** 82,89 ****
+ * -Dianora
+ */
+
+! #define DPATH "/usr/local/ircd/"
+! #define SPATH "/usr/local/ircd/ircd"
+ #define CPATH "ircd.conf"
+ #define KPATH "kline.conf"
+ #define MPATH "ircd.motd"
+--- 82,89 ----
+ * -Dianora
+ */
+
+! #define DPATH "/usr/local/etc/ircd/"
+! #define SPATH "/usr/local/sbin/ircd"
+ #define CPATH "ircd.conf"
+ #define KPATH "kline.conf"
+ #define MPATH "ircd.motd"
+***************
+*** 130,137 ****
+ *
+ * These need to be defined if you want to use SYSLOG logging, too.
+ */
+! #define FNAME_USERLOG "/usr/local/ircd/users" /* */
+! #define FNAME_OPERLOG "/usr/local/ircd/opers" /* */
+
+ /* ANTI_IP_SPOOF - protects against TCP sequence guessing attacks
+ * Define this if you want the server to send a random ping at USER or NICK
+--- 130,137 ----
+ *
+ * These need to be defined if you want to use SYSLOG logging, too.
+ */
+! #define FNAME_USERLOG "/usr/local/etc/ircd/users" /* */
+! #define FNAME_OPERLOG "/usr/local/etc/ircd/opers" /* */
+
+ /* ANTI_IP_SPOOF - protects against TCP sequence guessing attacks
+ * Define this if you want the server to send a random ping at USER or NICK
+***************
+*** 169,175 ****
+ * messages, define this. Otherwise leave it undef'd for plain ole
+ * boring messages.
+ */
+! #undef CUSTOM_ERR
+
+
+ /* FAILED_OPER_NOTICE - send a notice to all opers when someone
+--- 169,175 ----
+ * messages, define this. Otherwise leave it undef'd for plain ole
+ * boring messages.
+ */
+! #define CUSTOM_ERR
+
+
+ /* FAILED_OPER_NOTICE - send a notice to all opers when someone
+***************
+*** 422,428 ****
+ * mode "i" (i == invisible). Invisibility means people dont showup in
+ * WHO or NAMES unless they are on the same channel as you.
+ */
+! #define NO_DEFAULT_INVISIBLE
+
+ /* TS_WARNINGS - warn opers about broken/poorly hacked servers
+ * When defined, +s users are warned of some things that should never
+--- 422,428 ----
+ * mode "i" (i == invisible). Invisibility means people dont showup in
+ * WHO or NAMES unless they are on the same channel as you.
+ */
+! #undef NO_DEFAULT_INVISIBLE
+
+ /* TS_WARNINGS - warn opers about broken/poorly hacked servers
+ * When defined, +s users are warned of some things that should never
+***************
+*** 431,437 ****
+ * This is useful to track down anomalies; undefine it on a mixed TS/nonTS
+ * net or you'll get a lot of warnings!
+ */
+! #define TS_WARNINGS
+
+ /* OPER_KILL OPER_REHASH OPER_RESTART OPER_DIE OPER_REMOTE -
+ * restrict what local global-Opers can do
+--- 431,437 ----
+ * This is useful to track down anomalies; undefine it on a mixed TS/nonTS
+ * net or you'll get a lot of warnings!
+ */
+! #undef TS_WARNINGS
+
+ /* OPER_KILL OPER_REHASH OPER_RESTART OPER_DIE OPER_REMOTE -
+ * restrict what local global-Opers can do
+***************
+*** 530,536 ****
+ * security problem - they can use the "-f" option to read any files
+ * that the 'new' access lets them.
+ */
+! #define CMDLINE_CONFIG
+
+ /* M4_PREPROC - run ircd.conf through m4 preprocessor
+ * To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
+--- 530,536 ----
+ * security problem - they can use the "-f" option to read any files
+ * that the 'new' access lets them.
+ */
+! #undef CMDLINE_CONFIG
+
+ /* M4_PREPROC - run ircd.conf through m4 preprocessor
+ * To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
+***************
+*** 557,567 ****
+ * If you use syslog above, you may want to turn some (none) of the
+ * spurious log messages for KILL,SQUIT,etc off.
+ */
+! #undef SYSLOG_KILL /* log all operator kills to syslog */
+! #undef SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
+ #undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
+ #undef SYSLOG_USERS /* send userlog stuff to syslog */
+! #undef SYSLOG_OPER /* log all users who successfully become an Op */
+
+ /* LOG_FACILITY - facility to use for syslog()
+ * Define the facility you want to use for syslog(). Ask your
+--- 557,567 ----
+ * If you use syslog above, you may want to turn some (none) of the
+ * spurious log messages for KILL,SQUIT,etc off.
+ */
+! #define SYSLOG_KILL /* log all operator kills to syslog */
+! #define SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
+ #undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
+ #undef SYSLOG_USERS /* send userlog stuff to syslog */
+! #define SYSLOG_OPER /* log all users who successfully become an Op */
+
+ /* LOG_FACILITY - facility to use for syslog()
+ * Define the facility you want to use for syslog(). Ask your
+***************
+*** 607,614 ****
+ * define IRC_UID to that UID. This should only be defined if you are running
+ * as root and even then perhaps not.
+ */
+! #define IRC_UID 1001
+! #define IRC_GID 31
+
+ /* CLIENT_FLOOD - client excess flood threshold
+ * this controls the number of bytes the server will allow a client to
+--- 607,614 ----
+ * define IRC_UID to that UID. This should only be defined if you are running
+ * as root and even then perhaps not.
+ */
+! #define IRC_UID 72
+! #define IRC_GID 72
+
+ /* CLIENT_FLOOD - client excess flood threshold
+ * this controls the number of bytes the server will allow a client to
diff --git a/irc/ircd-hybrid/files/patch-ac b/irc/ircd-hybrid/files/patch-ac
new file mode 100644
index 000000000000..4f0ade91e48b
--- /dev/null
+++ b/irc/ircd-hybrid/files/patch-ac
@@ -0,0 +1,19 @@
+*** include/struct.h.orig Sat Jan 10 17:27:35 1998
+--- include/struct.h Sat Jan 10 17:28:28 1998
+***************
+*** 86,92 ****
+ */
+ #define USERLEN 10
+ #define REALLEN 50
+! #define TOPICLEN 90
+ #define CHANNELLEN 200
+ #define PASSWDLEN 20
+ #define KEYLEN 23
+--- 86,92 ----
+ */
+ #define USERLEN 10
+ #define REALLEN 50
+! #define TOPICLEN 250
+ #define CHANNELLEN 200
+ #define PASSWDLEN 20
+ #define KEYLEN 23
diff --git a/irc/ircd-hybrid/pkg-comment b/irc/ircd-hybrid/pkg-comment
new file mode 100644
index 000000000000..886bb7658419
--- /dev/null
+++ b/irc/ircd-hybrid/pkg-comment
@@ -0,0 +1 @@
+An IRC Server.
diff --git a/irc/ircd-hybrid/pkg-descr b/irc/ircd-hybrid/pkg-descr
new file mode 100644
index 000000000000..0f34517b2ddd
--- /dev/null
+++ b/irc/ircd-hybrid/pkg-descr
@@ -0,0 +1,6 @@
+Irc is a functional replacement for and improvement to talk(1). Talk
+is an old, primitive, atrocious, minimalist sort of keyboard/screen
+conversation tool, using a grotesque, machine-dependent protocol.
+Irc does everything talk does, but with a better protocol, allowing
+more than 2 users to talk at once, with access across the aggregate
+Internet, and providing a whole raft of other useful features.
diff --git a/irc/ircd-hybrid/pkg-install b/irc/ircd-hybrid/pkg-install
new file mode 100644
index 000000000000..d237c31c9249
--- /dev/null
+++ b/irc/ircd-hybrid/pkg-install
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" ]; then
+ read -p "${question} [${default}]? " answer
+ fi
+ if [ x${answer} = x ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+yesno() {
+ local dflt question answer
+
+ question=$1
+ dflt=$2
+ while :; do
+ answer=$(ask "${question}" "${dflt}")
+ case "${answer}" in
+ [Yy]*) return 0;;
+ [Nn]*) return 1;;
+ esac
+ echo "Please answer yes or no."
+ done
+}
+
+if which -s pw ; then
+ :
+else
+ cat <<EOF
+
+This system looks like a pre-2.2 version of FreeBSD. I see that it
+is missing the "pw" utility. I need this utility. Please get them
+and install them, and try again. You can get the sources from:
+
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
+
+EOF
+
+ exit 1
+fi
+
+echo ""
+if grep -q "^ircd:" /etc/group; then
+ echo "You already have a group \"ircd\", so I will use it."
+else
+ echo "You need a group \"ircd\"."
+ if which -s pw && yesno "Would you like me to create it" y; then
+ pw groupadd ircd -g 72 || exit
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ if ! grep -q "^ircd:" /etc/passwd; then
+ echo "While you're at it, please create a user \"${user}\" too,"
+ echo "with a default group of \"${group}\"."
+ fi
+ exit 1
+ fi
+fi
+
+if grep -q "^ircd:" /etc/passwd; then
+ echo "You already have a user \"ircd\", so I will use it."
+else
+ echo "You need a user \"ircd\"."
+ if which -s pw && yesno "Would you like me to create it" y; then
+ pw useradd ircd -g ircd -u 72 -h - -d /nonexistent \
+ -s /nonexistent -c "IRC Daemon" || exit
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+fi
+
diff --git a/irc/ircd-hybrid/pkg-plist b/irc/ircd-hybrid/pkg-plist
new file mode 100644
index 000000000000..7fc2ff5e95f4
--- /dev/null
+++ b/irc/ircd-hybrid/pkg-plist
@@ -0,0 +1,6 @@
+sbin/ircd
+man/man8/ircd.8
+etc/ircd/ircd.conf
+etc/ircd/ircd.motd
+etc/ircd/kline.conf
+etc/ircd/opers.txt