A new ircd port for irc.freebsd.org.

Submitted by:	Ken Monville <desmo@bandwidth.org>
This commit is contained in:
Jordan K. Hubbard 1998-01-15 06:44:50 +00:00
parent d02d58602d
commit 2059eed7bf
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=9340
9 changed files with 417 additions and 0 deletions

22
irc/ircd-hybrid/Makefile Normal file
View File

@ -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>

1
irc/ircd-hybrid/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (ircd-hybrid-5.tar.gz) = cc7693cba92786931bf057a11182efb4

View File

@ -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",

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
An IRC Server.

View File

@ -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.

View File

@ -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

View File

@ -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