diff options
-rw-r--r-- | irc/ircd-hybrid/Makefile | 22 | ||||
-rw-r--r-- | irc/ircd-hybrid/distinfo | 1 | ||||
-rw-r--r-- | irc/ircd-hybrid/files/patch-aa | 112 | ||||
-rw-r--r-- | irc/ircd-hybrid/files/patch-ab | 171 | ||||
-rw-r--r-- | irc/ircd-hybrid/files/patch-ac | 19 | ||||
-rw-r--r-- | irc/ircd-hybrid/pkg-comment | 1 | ||||
-rw-r--r-- | irc/ircd-hybrid/pkg-descr | 6 | ||||
-rw-r--r-- | irc/ircd-hybrid/pkg-install | 79 | ||||
-rw-r--r-- | irc/ircd-hybrid/pkg-plist | 6 |
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 |