2 Commits

40 changed files with 738 additions and 742 deletions

6
.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
*.o
ircd/chkconf
ircd/crypt/mkpasswd
ircd/ircd
ircd/version.c

View File

@@ -73,7 +73,7 @@ CFLAGS= -g -I$(INCLUDEDIR) -O
#
# WARNING: if you are making ircd SUID or SGID, check config.h to make sure
# you are not defining CMDLINE_CONFIG
IRCDMODE = 4711
IRCDMODE = 0755
# IRCDDIR must be the same as DPATH in include/config.h
#
@@ -82,7 +82,7 @@ IRCDDIR=/usr/local/lib/ircd
SHELL=/bin/sh
SUBDIRS=common ircd
BINDIR=$(IRCDDIR)
MANDIR=/usr/local/man
MANDIR=$(IRCDDIR)/man
INSTALL=/usr/bin/install
MAKE=make 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
@@ -104,7 +104,11 @@ build:
@for i in $(SUBDIRS); do \
echo "Building $$i";\
cd $$i;\
${MAKE} build; cd ..;\
${MAKE} build;\
if [ $$? -ne 0 ]; then\
break;\
fi;\
cd ..;\
done
clean:

View File

@@ -29,11 +29,6 @@ Computing Center and Jarkko Oikarinen";
#include "h.h"
#include <signal.h>
extern int errno; /* ...seems that errno.h doesn't define this everywhere */
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__bsdi__)
extern char *sys_errlist[];
#endif
extern char *last_dead_comment;
#ifdef DEBUGMODE

View File

@@ -45,10 +45,12 @@ static int calls = 0;
*/
static int _match(mask, name)
char *mask, *name;
const char *mask;
const char *name;
{
Reg1 u_char *m = (u_char *)mask, *n = (u_char *)name;
char *ma = mask, *na = name;
const char *ma = mask;
const char *na = name;
int wild = 0, q = 0;
while (1)
@@ -112,15 +114,13 @@ char *mask, *name;
/*
* External interfaces to the above matching routine.
*/
int match(ma, na)
char *ma, *na;
int match(const char *ma, const char *na)
{
calls = 0;
return _match(ma, na);
}
int matches(ma, na)
char *ma,*na;
int matches(const char *ma, const char *na)
{
int r;
@@ -166,51 +166,6 @@ char *pattern;
}
/*
** Case insensitive comparison of two NULL terminated strings.
**
** returns 0, if s1 equal to s2
** <0, if s1 lexicographically less than s2
** >0, if s1 lexicographically greater than s2
*/
int mycmp(s1, s2)
const char *s1;
const char *s2;
{
Reg1 const unsigned char *str1 = (const unsigned char *)s1;
Reg2 const unsigned char *str2 = (const unsigned char *)s2;
Reg3 int res;
while ((res = toupper(*str1) - toupper(*str2)) == 0)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return (res);
}
int myncmp(str1, str2, n)
const char *str1;
const char *str2;
int n;
{
Reg1 const unsigned char *s1 = (const unsigned char *)str1;
Reg2 const unsigned char *s2 = (const unsigned char *)str2;
Reg3 int res;
while ((res = toupper(*s1) - toupper(*s2)) == 0)
{
s1++; s2++; n--;
if (n == 0 || (*s1 == '\0' && *s2 == '\0'))
return 0;
}
return (res);
}
unsigned char tolowertab[] =
{ 0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,

View File

@@ -92,7 +92,7 @@ int *count;
if (!MyClient(c2ptr)) /* implies mine and a user */
continue;
if ((!host || !match(host, c2ptr->user->host)) &&
mycmp(user, c2ptr->user->username) == 0)
strcasecmp(user, c2ptr->user->username) == 0)
{
(*count)++;
res = c2ptr;
@@ -135,7 +135,7 @@ char *mask;
if (!IsServer(acptr) && !IsMe(acptr))
continue;
if (!match(mask, acptr->name))
break; continue;
break;
}
return acptr;
}
@@ -310,7 +310,7 @@ struct Message *mptr;
if (s)
*s++ = '\0';
for (; mptr->cmd; mptr++)
if (mycmp(mptr->cmd, ch) == 0)
if (strcasecmp(mptr->cmd, ch) == 0)
break;
if (!mptr->cmd)
@@ -394,8 +394,11 @@ struct Message *mptr;
}
}
para[++i] = NULL;
if (mptr == NULL)
if (mptr == NULL) {
numeric = (*ch - '0') * 100 + (*(ch + 1) - '0') * 10
+ (*(ch + 2) - '0');
return (do_numeric(numeric, cptr, from, i, para));
}
mptr->count++;
if (!IsRegistered(cptr) && (
/* patch to avoid server flooding from unregistered connects : --dl */

144
common/send.c Normal file → Executable file
View File

@@ -36,6 +36,7 @@ Computing Center and Jarkko Oikarinen";
#include "sys.h"
#include "h.h"
#include <stdio.h>
#include <string.h>
static char sendbuf[2048];
static void sendbufto_one PROTO((aClient *));
@@ -163,21 +164,15 @@ aClient *to;
** send message to single client
*/
#ifdef USE_VARARGS
void sendto_one(to, pattern, va_alist)
aClient *to;
char *pattern;
va_dcl
void sendto_one(aClient *to, char *pattern, ...)
{
va_list vl;
va_start(vl);
vsendto_one(to, pattern, vl);
va_start(vl, pattern);
vsendto_one(to, pattern, &vl);
va_end(vl);
}
void vsendto_one(to, pattern, vl)
aClient *to;
char *pattern;
va_list vl;
void vsendto_one(aClient *to, char *pattern, const va_list *cvlp)
{
#else
void sendto_one(to, pattern, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)
@@ -187,6 +182,8 @@ char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10, *p11;
#endif
#ifdef USE_VARARGS
va_list vl;
va_copy(vl, *cvlp);
(void)vsprintf(sendbuf, pattern, vl);
#else
(void)sprintf(sendbuf, pattern, p1, p2, p3, p4, p5, p6,
@@ -287,11 +284,7 @@ aChannel *chptr;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
# else
void sendto_channel_butone(one, from, chptr, pattern, va_alist)
aClient *one, *from;
aChannel *chptr;
char *pattern;
va_dcl
void sendto_channel_butone(aClient *one, aClient *from, aChannel *chptr, char *pattern, ...)
{
va_list vl;
# endif
@@ -300,7 +293,7 @@ va_dcl
Reg3 int i;
# ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
# endif
for (i = 0; i < MAXCONNECTIONS; i++)
sentalong[i] = 0;
@@ -314,7 +307,7 @@ va_dcl
if (MyConnect(acptr) && IsRegisteredUser(acptr))
{
# ifdef USE_VARARGS
vsendto_prefix_one(acptr, from, pattern, vl);
vsendto_prefix_one(acptr, from, pattern, &vl);
# else
sendto_prefix_one(acptr, from, pattern, p1, p2,
p3, p4, p5, p6, p7, p8);
@@ -328,7 +321,7 @@ va_dcl
if (sentalong[i] == 0)
{
# ifdef USE_VARARGS
vsendto_prefix_one(acptr, from, pattern, vl);
vsendto_prefix_one(acptr, from, pattern, &vl);
# else
sendto_prefix_one(acptr, from, pattern,
p1, p2, p3, p4,
@@ -356,17 +349,14 @@ aClient *one;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
# else
void sendto_serv_butone(one, pattern, va_alist)
aClient *one;
char *pattern;
va_dcl
void sendto_serv_butone(aClient *one, char *pattern, ...)
{
va_list vl;
# endif
Reg1 Dlink *lp;
# ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
(void)vsprintf(sendbuf, pattern, vl);
va_end(vl);
# else
@@ -395,10 +385,7 @@ aClient *user;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
# else
void sendto_common_channels(user, pattern, va_alist)
aClient *user;
char *pattern;
va_dcl
void sendto_common_channels(aClient *user, char *pattern, ...)
{
va_list vl;
# endif
@@ -407,7 +394,7 @@ va_dcl
Reg3 Link *lp;
# ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
# endif
for (i = 0; i <= highest_fd; i++)
@@ -420,7 +407,7 @@ va_dcl
IsMember(cptr, lp->value.chptr))
{
# ifdef USE_VARARGS
vsendto_prefix_one(cptr, user, pattern, vl);
vsendto_prefix_one(cptr, user, pattern, &vl);
# else
sendto_prefix_one(cptr, user, pattern,
p1, p2, p3, p4,
@@ -431,7 +418,7 @@ va_dcl
}
if (MyConnect(user))
# ifdef USE_VARARGS
vsendto_prefix_one(user, user, pattern, vl);
vsendto_prefix_one(user, user, pattern, &vl);
va_end(vl);
# else
sendto_prefix_one(user, user, pattern, p1, p2, p3, p4,
@@ -455,22 +442,20 @@ aClient *from;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
#else
void sendto_channel_butserv(chptr, from, pattern, va_alist)
aChannel *chptr;
aClient *from;
char *pattern;
va_dcl
void sendto_channel_butserv(aChannel *chptr, aClient *from, char *pattern, ...)
{
va_list vl;
#endif
Reg1 Link *lp;
Reg2 aClient *acptr;
va_start(vl, pattern);
#ifdef USE_VARARGS
for (va_start(vl), lp = chptr->members; lp; lp = lp->next)
for (lp = chptr->members; lp; lp = lp->next)
if (MyConnect(acptr = lp->value.cptr) &&
!(lp->flags & CHFL_ZOMBIE))
vsendto_prefix_one(acptr, from, pattern, vl);
vsendto_prefix_one(acptr, from, pattern, &vl);
va_end(vl);
#else
for (lp = chptr->members; lp; lp = lp->next)
@@ -520,11 +505,7 @@ aClient *from;
char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9;
{
#else
void sendto_match_servs(chptr, from, format, va_alist)
aChannel *chptr;
aClient *from;
char *format;
va_dcl
void sendto_match_servs(aChannel *chptr, aClient *from, char *format, ...)
{
va_list vl;
#endif
@@ -533,13 +514,13 @@ va_dcl
char *mask;
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, format);
#endif
if (chptr)
{
if (*chptr->chname == '&')
return;
if (mask = (char *)rindex(chptr->chname, ':'))
if ((mask = (char *)rindex(chptr->chname, ':')))
mask++;
}
else
@@ -576,11 +557,7 @@ int what;
char *mask, *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
#else
void sendto_match_butone(one, from, mask, what, pattern, va_alist)
aClient *one, *from;
int what;
char *mask, *pattern;
va_dcl
void sendto_match_butone(aClient *one, aClient *from, char *mask, int what, char *pattern, ...)
{
va_list vl;
#endif
@@ -588,7 +565,7 @@ va_dcl
Reg2 aClient *cptr, *acptr;
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
#endif
for (i = 0; i <= highest_fd; i++)
{
@@ -615,7 +592,7 @@ va_dcl
match_it(cptr, mask, what)))
continue;
#ifdef USE_VARARGS
vsendto_prefix_one(cptr, from, pattern, vl);
vsendto_prefix_one(cptr, from, pattern, &vl);
}
va_end(vl);
#else
@@ -639,10 +616,7 @@ aClient *one, *from;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
#else
void sendto_all_butone(one, from, pattern, va_alist)
aClient *one, *from;
char *pattern;
va_dcl
void sendto_all_butone(aClient *one, aClient *from, char *pattern, ...)
{
va_list vl;
#endif
@@ -650,9 +624,10 @@ va_dcl
Reg2 aClient *cptr;
#ifdef USE_VARARGS
for (va_start(vl), i = 0; i <= highest_fd; i++)
va_start(vl, pattern);
for (i = 0; i <= highest_fd; i++)
if ((cptr = local[i]) && !IsMe(cptr) && one != cptr)
vsendto_prefix_one(cptr, from, pattern, vl);
vsendto_prefix_one(cptr, from, pattern, &vl);
va_end(vl);
#else
for (i = 0; i <= highest_fd; i++)
@@ -676,10 +651,7 @@ aClient *one;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7;
{
#else
void sendto_lops_butone(one, pattern, va_alist)
aClient *one;
char *pattern;
va_dcl
void sendto_lops_butone(aClient *one, char *pattern, ...)
{
va_list vl;
#endif
@@ -689,7 +661,7 @@ va_dcl
(void)sprintf(nbuf, ":%s NOTICE %%s :*** Notice -- ", me.name);
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
(void)vsprintf(nbuf + strlen(nbuf), pattern, vl);
va_end(vl);
#else
@@ -719,9 +691,7 @@ void sendto_ops(pattern, p1, p2, p3, p4, p5, p6, p7)
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7;
{
#else
void sendto_ops(pattern, va_alist)
char *pattern;
va_dcl
void sendto_ops(char *pattern, ...)
{
va_list vl;
#endif
@@ -731,7 +701,7 @@ va_dcl
char *fmt_target;
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
#endif
(void)sprintf(fmt, ":%s NOTICE ", me.name);
@@ -745,7 +715,7 @@ va_dcl
strcat(fmt_target, " :*** Notice -- ");
strcat(fmt_target, pattern);
#ifdef USE_VARARGS
vsendto_one(cptr, fmt, vl);
vsendto_one(cptr, fmt, &vl);
#else
sendto_one(cptr, fmt, p1, p2, p3, p4, p5, p6, p7);
#endif
@@ -758,7 +728,7 @@ va_dcl
strcat(fmt, " :*** Notice -- ");
strcat(fmt, pattern);
# ifdef USE_VARARGS
vsendto_one(cptr, fmt, vl);
vsendto_one(cptr, fmt, &vl);
# else
sendto_one(cptr, fmt, cptr->name, p1, p2, p3, p4, p5, p6, p7);
# endif
@@ -784,10 +754,7 @@ aClient *one, *from;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
{
#else
void sendto_ops_butone(one, from, pattern, va_alist)
aClient *one, *from;
char *pattern;
va_dcl
void sendto_ops_butone(aClient *one, aClient *from, char *pattern, ...)
{
va_list vl;
#endif
@@ -795,7 +762,7 @@ va_dcl
Reg2 aClient *cptr;
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
#endif
for (i=0; i <= highest_fd; i++)
sentalong[i] = 0;
@@ -810,7 +777,7 @@ va_dcl
continue; /* ...was the one I should skip */
sentalong[i] = 1;
# ifdef USE_VARARGS
vsendto_prefix_one(cptr->from, from, pattern, vl);
vsendto_prefix_one(cptr->from, from, pattern, &vl);
}
va_end(vl);
# else
@@ -829,23 +796,16 @@ va_dcl
* -avalon
*/
#ifdef USE_VARARGS
void sendto_prefix_one(to, from, pattern, va_alist)
Reg1 aClient *to;
Reg2 aClient *from;
char *pattern;
va_dcl
void sendto_prefix_one(aClient *to, aClient *from, char *pattern, ...)
{
va_list vl;
va_start(vl);
vsendto_prefix_one(to, from, pattern, vl);
va_start(vl, pattern);
vsendto_prefix_one(to, from, pattern, &vl);
va_end(vl);
}
void vsendto_prefix_one(to, from, pattern, vl)
Reg1 aClient *to;
Reg2 aClient *from;
char *pattern;
va_list vl;
void vsendto_prefix_one(register aClient *to, register aClient *from,
char *pattern, const va_list *cvlp)
{
#else
void sendto_prefix_one(to, from, pattern, p1, p2, p3, p4, p5, p6, p7, p8)
@@ -860,12 +820,14 @@ char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
int flag = 0;
#ifdef USE_VARARGS
va_list vl;
va_copy(vl, *cvlp);
par = va_arg(vl, char *);
#else
par = p1;
#endif
if (to && from && MyClient(to) && IsPerson(from) &&
!mycmp(par, from->name))
!strcasecmp(par, from->name))
{
user = from->user;
(void)strcpy(sender, from->name);
@@ -918,9 +880,7 @@ void sendto_realops(pattern, p1, p2, p3, p4, p5, p6, p7)
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7;
{
#else
void sendto_realops(pattern, va_alist)
char *pattern;
va_dcl
void sendto_realops(char *pattern, ...)
{
va_list vl;
#endif
@@ -930,7 +890,7 @@ va_dcl
Reg3 char *fmt_target;
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
#endif
(void)sprintf(fmt, ":%s NOTICE ", me.name);
@@ -943,7 +903,7 @@ va_dcl
strcat(fmt_target, " :*** Notice -- ");
strcat(fmt_target, pattern);
#ifdef USE_VARARGS
vsendto_one(cptr, fmt, vl);
vsendto_one(cptr, fmt, &vl);
#else
sendto_one(cptr, fmt, p1, p2, p3, p4, p5, p6, p7);
#endif

View File

@@ -30,6 +30,7 @@ static char sccsid[] = "@(#)support.c 2.21 4/13/94 1990, 1991 Armin Gruner;\
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "h.h"
extern int errno; /* ...seems that errno.h doesn't define this everywhere */
extern void outofmemory();
@@ -187,7 +188,8 @@ void *tz; /* Unused */
#if defined(DEBUGMODE)
void dumpcore(msg, p1, p2, p3, p4, p5, p6, p7, p8, p9)
char *msg, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9;
char *msg;
void *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9;
{
static time_t lastd = 0;
static int dumps = 0;
@@ -218,8 +220,8 @@ char *msg, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9;
(void)rename("core", corename);
Debug((DEBUG_FATAL, "Dumped core : core.%d", p));
sendto_ops("Dumped core : core.%d", p);
Debug((DEBUG_FATAL, msg, p1, p2, p3, p4, p5, p6, p7, p8, p9));
sendto_ops(msg, p1, p2, p3, p4, p5, p6, p7, p8, p9);
Debug((DEBUG_FATAL, msg, (char*)p1, (char*)p2, (char*)p3, (char*)p4, (char*)p5, (char*)p6, (char*)p7, (char*)p8, (char*)p9));
sendto_ops(msg, (char*)p1, (char*)p2, (char*)p3, (char*)p4, (char*)p5, (char*)p6, (char*)p7, (char*)p8, (char*)p9);
(void)s_die();
}
@@ -301,11 +303,12 @@ size_t y;
return ret + SZ_CHST;
}
void MyFree(x)
char *x;
void MyFree(x_)
void *x_;
{
size_t i;
char *j;
char *x = x_;
u_char k[4];
register int l;
register char **s;

View File

@@ -56,9 +56,6 @@ void free();
#include MALLOCH
#endif
extern int matches PROTO((char *, char *));
extern int mycmp PROTO((const char *, const char *));
extern int myncmp PROTO((const char *, const char *, int));
#ifdef NEED_STRTOK
extern char *strtok PROTO((char *, char *));
#endif
@@ -67,6 +64,10 @@ extern char *strtoken PROTO((char **, char *, char *));
#endif
#ifdef NEED_INET_ADDR
extern unsigned long inet_addr PROTO((char *));
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
#if defined(NEED_INET_NTOA) || defined(NEED_INET_NETOF)

View File

@@ -69,9 +69,12 @@
** Define this to prevent mixed case userids that clonebots use.
** It is strongly advised to define this, unless you have a known reason
** not to.
* In fact, I do. It's fucking 2017 and mixed case is no longer any kind of
* indicator on compromised hosts.
*/
#define DISALLOW_MIXED_CASE
#undef DISALLOW_MIXED_CASE
/*
** The mixed case patch can optionally notify opers when an invalid uid
@@ -200,8 +203,8 @@
* FNAME_USERLOG just logs user connections, FNAME_OPERLOG logs every
* successful use of /oper. These are either full paths or files within DPATH.
*/
#define FNAME_USERLOG "/usr/local/lib/ircd/users" /* */
/* #define FNAME_OPERLOG "/usr/local/lib/ircd/opers" /* */
/* #define FNAME_USERLOG "/usr/local/lib/ircd/users" */
/* #define FNAME_OPERLOG "/usr/local/lib/ircd/opers" */
/* CHROOTDIR
*
@@ -554,7 +557,7 @@
* support NOSPOOF will have to type /QUOTE PING <bignumber> before
* registration.
*/
#define CONNECTTIMEOUT 90 /* Recommended value: 90 */
#define CONNECTTIMEOUT 10 /* Recommended value: 90 */
/*
* Max time from the nickname change that still causes KILL
@@ -615,11 +618,11 @@
#endif
#ifdef DEBUGMODE
extern void debug();
extern void debug(int level, char *form, ...);
# define Debug(x) debug x
# define LOGFILE LPATH
#else
# define Debug(x) ;
# define Debug(x) do { } while(0);
# if VMS
# define LOGFILE "NLA0:"
# else

View File

@@ -70,8 +70,9 @@ extern int find_restrict PROTO((aClient *));
extern int rehash PROTO((aClient *, aClient *, int));
extern int initconf PROTO((int));
extern char *MyMalloc PROTO((int)), *MyRealloc PROTO((char *, int));
extern char *debugmode, *configfile, *sbrk0;
extern char *MyMalloc PROTO((size_t)), *MyRealloc PROTO((char *, size_t));
extern char *debugmode, *configfile;
extern void *sbrk0;
extern char *getfield PROTO((char *));
extern void get_sockhost PROTO((aClient *, char *));
extern char *rpl_str PROTO((int)), *err_str PROTO((int));
@@ -118,34 +119,22 @@ extern void end_ping PROTO((aClient *));
extern void cancel_ping PROTO((aClient *, aClient *));
extern void send_queued PROTO((aClient *));
/*VARARGS2*/
extern void sendto_one();
extern void sendto_one(aClient *to, char *pattern, ...);
extern void vsendto_one();
/*VARARGS4*/
extern void sendto_channel_butone();
/*VARARGS2*/
extern void sendto_serv_butone();
/*VARARGS2*/
extern void sendto_common_channels();
/*VARARGS3*/
extern void sendto_channel_butserv();
/*VARARGS3*/
extern void sendto_match_servs();
/*VARARGS5*/
extern void sendto_match_butone();
/*VARARGS3*/
extern void sendto_all_butone();
/*VARARGS1*/
extern void sendto_ops();
/*VARARGS2*/
extern void sendto_lops_butone();
/*VARARGS3*/
extern void sendto_ops_butone();
/*VARARGS3*/
extern void sendto_prefix_one();
extern void sendto_channel_butone(aClient *one, aClient *from, aChannel *chptr, char *pattern, ...);
extern void sendto_serv_butone(aClient *one, char *pattern, ...);
extern void sendto_common_channels(aClient *user, char *pattern, ...);
extern void sendto_channel_butserv(aChannel *chptr, aClient *from, char *pattern, ...);
extern void sendto_match_servs(aChannel *chptr, aClient *from, char *format, ...);
extern void sendto_match_butone(aClient *one, aClient *from, char *mask, int what, char *pattern, ...);
extern void sendto_all_butone(aClient *one, aClient *from, char *pattern, ...);
extern void sendto_ops(char *pattern, ...);
extern void sendto_lops_butone(aClient *one, char *pattern, ...);
extern void sendto_ops_butone(aClient *one, aClient *from, char *pattern, ...);
extern void sendto_prefix_one(aClient *to, aClient *from, char *pattern, ...);
extern void vsendto_prefix_one();
/*VARARGS4*/
extern int exit_client_msg();
extern void sendto_realops(char *pattern, ...);
extern int exit_client_msg(aClient *cptr, aClient *bcptr, aClient *sptr, char *pattern, ...);
extern int writecalls, writeb[];
extern int deliver_it PROTO((aClient *, char *, int));
@@ -229,14 +218,28 @@ extern void off_history PROTO((aClient *));
extern int dopacket PROTO((aClient *, char *, int));
/*VARARGS2*/
extern void debug();
extern void debug PROTO((int level, char *form, ...));
#if defined(DEBUGMODE)
extern void send_usage PROTO((aClient *, char *));
extern void send_listinfo PROTO((aClient *, char *));
extern void count_memory PROTO((aClient *, char *));
extern void MyFree(void *x);
extern void dumpcore();
#endif
extern void count_memory PROTO((aClient *, char *));
char *crule_parse PROTO((char *));
int crule_eval PROTO((char *));
void crule_free PROTO((char **));
extern char *collapse PROTO((char *pattern));
extern int match PROTO((const char *ma, const char *na));
extern int matches PROTO((const char *ma, const char *na));
extern void read_ping PROTO((aClient *cptr));
extern void send_ping PROTO((aClient *cptr));
extern int ping_server PROTO((aClient *cptr, struct hostent *hp));
extern void delist_conf PROTO((aConfItem *aconf));
extern u_long cres_mem PROTO((aClient *sptr));
extern int hash_nick_name PROTO((char *nname));
extern VOIDSIG s_die();
extern unsigned long ircrandom(void);

View File

@@ -28,6 +28,7 @@
#define __u_l unsigned long
#endif
#if 0
#ifdef __STDC__
extern __u_l inet_addr(char *);
extern char *inet_ntoa(char *);
@@ -48,3 +49,4 @@ extern __u_l inet_lnaof();
extern __u_l inet_netof();
#endif
#undef __u_l
#endif

View File

@@ -42,7 +42,7 @@
#define QUERY 0x0 /* standard query */
#define IQUERY 0x1 /* inverse query */
#define STATUS 0x2 /* nameserver status query */
/*#define xxx 0x3 /* 0x3 reserved */
/*#define xxx 0x3 0x3 reserved */
/* non standard */
#define UPDATEA 0x9 /* add resource record */
#define UPDATED 0xa /* delete a specific resource record */
@@ -246,3 +246,6 @@ extern u_long _getlong();
(cp)[0] = l >> 8; \
(cp) += sizeof(u_long); \
}
int res_init();

View File

@@ -75,4 +75,7 @@ struct state {
extern struct state _res;
extern char *p_cdname(), *p_rr(), *p_type(), *p_class(), *p_time();
extern int dn_comp(char *exp_dn, char *comp_dn, int length, char **dnptrs, char **lastdnptr);
extern void putshort(u_short s, char *msgp);
extern void putlong(u_long l, char *msgp);

30
include/setup.h Normal file
View File

@@ -0,0 +1,30 @@
#ifndef __setup_include__
#define __setup_include__
/* Fuck your build system and everything about it.
* Just edit this file instead of letting Config be dumb.
*/
#undef PARAMH
#define UNISTDH
#define STDLIBH
#define STDDEFH
#undef SYSSYSLOGH
#define NOINDEX
#undef NEED_STRERROR
#define NEED_STRTOKEN
#undef NEED_STRTOK
#undef NEED_INET_ADDR
#undef NEED_INET_NTOA
#undef NEED_INET_NETOF
/* This one doesn't even do anything?! */
#define GETTIMEOFDAY
/* If set, lrand48() is used over gettimeofday... And Config seems to make
* gettimeofday the *preferred* option.
* wat
*/
#undef LRAND48
#define MALLOCH <stdlib.h>
#define NBLOCK_POSIX
#define POSIX_SIGNALS
#undef TIMES_2
#define GETRUSAGE_2
#endif

View File

@@ -37,23 +37,8 @@
#include <stdlib.h>
#endif
#ifdef STRINGSH
#include <strings.h>
#else
# ifdef STRINGH
#include <string.h>
# endif
#endif
#define strcasecmp mycmp
#define strncasecmp myncmp
#ifdef NOINDEX
#define index strchr
#define rindex strrchr
/*
extern char *index PROTO((char *, char));
extern char *rindex PROTO((char *, char));
*/
#endif
#ifdef AIX
#include <sys/select.h>
@@ -108,7 +93,7 @@ typedef unsigned int u_int;
#endif
#ifdef USE_VARARGS
#include <varargs.h>
#include <stdarg.h>
#endif
#endif /* __sys_include__ */

View File

@@ -75,7 +75,7 @@ LINTFLAGS=-hba
# are not part of your system libraries. In all cases you should try your
# system libraries before these.
#
#RES=res_init.o res_comp.o res_mkquery.o
RES=res_init.o res_comp.o res_mkquery.o
COMMONOBJS=../common/bsd.o ../common/dbuf.o ../common/packet.o \
../common/send.o ../common/match.o ../common/parse.o \
@@ -92,7 +92,6 @@ COMMONSRC=$(COMMONOBJS:%.o=%.c)
MAKE = make 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
'LDFLAGS=${LDFLAGS}' 'IRCDMODE=${IRCDMODE}'
all: build
build: ircd chkconf
@@ -100,7 +99,7 @@ build: ircd chkconf
ircd: $(OBJS) ../include/patchlevel.h
$(SHELL) version.c.SH
$(CC) $(CFLAGS) -c version.c
$(CC) $(CFLAGS) $(OBJS) version.o $(LDFLAGS) $(IRCDLIBS) -o ircd
$(CC) $(CFLAGS) $(OBJS) version.o $(LDFLAGS) -lcrypt $(IRCDLIBS) -o ircd
chmod $(IRCDMODE) ircd
chkconf: ../include/struct.h ../include/config.h ../include/sys.h \

View File

@@ -204,7 +204,7 @@ char *banid;
!match(banid, ban->value.ban.banstr))
return -1;
}
else if (!mycmp(ban->value.ban.banstr, banid))
else if (!strcasecmp(ban->value.ban.banstr, banid))
return -1;
}
@@ -235,7 +235,7 @@ char *banid;
if (!banid)
return -1;
for (ban = &(chptr->banlist); *ban; ban = &((*ban)->next))
if (mycmp(banid, (*ban)->value.ban.banstr)==0)
if (strcasecmp(banid, (*ban)->value.ban.banstr)==0)
{
tmp = *ban;
*ban = tmp->next;
@@ -489,6 +489,27 @@ aChannel *chptr;
return;
}
static inline int DoesOp(modebuf)
char *modebuf;
{
modebuf--; /* Is it possible that a mode starts with o and not +o ? */
while (*++modebuf) if (*modebuf=='o' || *modebuf=='v') return(1);
return 0;
}
static void sendmodeto_one(cptr, from, name, mode, param, creationtime)
Reg2 aClient *cptr;
char *from,*name,*mode,*param;
time_t creationtime;
{
if (IsServer(cptr) && DoesOp(mode) && creationtime)
sendto_one(cptr,":%s MODE %s %s %s %lu",
from, name, mode, param, creationtime);
else
sendto_one(cptr,":%s MODE %s %s %s",
from, name, mode, param);
}
static int send_mode_list(cptr, chname, creationtime, top, mask, flag)
aClient *cptr;
Link *top;
@@ -679,27 +700,6 @@ char *parv[];
return 0;
}
int DoesOp(modebuf)
char *modebuf;
{
modebuf--; /* Is it possible that a mode starts with o and not +o ? */
while (*++modebuf) if (*modebuf=='o' || *modebuf=='v') return(1);
return 0;
}
int sendmodeto_one(cptr, from, name, mode, param, creationtime)
Reg2 aClient *cptr;
char *from,*name,*mode,*param;
time_t creationtime;
{
if (IsServer(cptr) && DoesOp(mode) && creationtime)
sendto_one(cptr,":%s MODE %s %s %s %lu",
from, name, mode, param, creationtime);
else
sendto_one(cptr,":%s MODE %s %s %s",
from, name, mode, param);
}
char *pretty_mask(mask)
char *mask;
{ Reg1 char *cp;
@@ -739,7 +739,7 @@ char *parv[], *mbuf, *pbuf;
Link *member, *tmp = NULL;
u_int whatt = MODE_ADD, bwhatt = 0;
int limitset = 0, chasing = 0, bounce;
int nusers, new, len, blen, keychange = 0, opcnt = 0, banlsent = 0;
int nusers = 0, new, len, blen, keychange = 0, opcnt = 0, banlsent = 0;
int doesdeop = 0, doesop = 0, hacknotice = 0, change, gotts = 0;
char fm = '\0';
aClient *who;
@@ -888,7 +888,7 @@ char *parv[], *mbuf, *pbuf;
}
else if (whatt == MODE_DEL)
{
if (mycmp(mode->key, *parv) == 0 ||
if (strcasecmp(mode->key, *parv) == 0 ||
IsServer(cptr))
{
lp = &chops[opcnt++];
@@ -968,7 +968,7 @@ char *parv[], *mbuf, *pbuf;
break;
case 'i' : /* falls through for default case */
if (whatt == MODE_DEL)
while (lp = chptr->invites)
while ((lp = chptr->invites))
del_invite(lp->value.cptr, chptr);
default:
for (ip = flags; *ip; ip += 2)
@@ -1128,7 +1128,7 @@ char *parv[], *mbuf, *pbuf;
Reg1 int i = 0;
Reg2 char c;
char *user, *host;
u_int prev_whatt;
u_int prev_whatt = 0;
for (; i < opcnt; i++)
{
@@ -1136,7 +1136,7 @@ char *parv[], *mbuf, *pbuf;
/*
* make sure we have correct mode change sign
*/
if (whatt != (lp->flags & (MODE_ADD|MODE_DEL)))
if (whatt != (lp->flags & (MODE_ADD|MODE_DEL))) {
if (lp->flags & MODE_ADD)
{
*mbuf++ = '+';
@@ -1149,6 +1149,7 @@ char *parv[], *mbuf, *pbuf;
prev_whatt = whatt;
whatt = MODE_DEL;
}
}
len = strlen(pbuf);
/*
* get c as the mode char and tmp as a pointer to
@@ -1185,6 +1186,8 @@ char *parv[], *mbuf, *pbuf;
*cp = '\0';
cp = numeric;
break;
default:
return -1;
}
if (len + strlen(cp) + 12 > (size_t) MODEBUFLEN)
@@ -1195,7 +1198,7 @@ char *parv[], *mbuf, *pbuf;
if (strlen(cp) > (size_t) KEYLEN)
*(cp+KEYLEN) = '\0';
if ((whatt == MODE_ADD && (*mode->key=='\0' ||
mycmp(mode->key,cp)!=0)) ||
strcasecmp(mode->key,cp)!=0)) ||
(whatt == MODE_DEL && (*mode->key!='\0')))
{ if (bounce)
{ if (*mode->key=='\0')
@@ -1326,10 +1329,10 @@ char *parv[], *mbuf, *pbuf;
* effect.
*/
if (*badop!=2 &&
((whatt & MODE_ADD) &&
!add_banid(sptr, chptr, cp) ||
(whatt & MODE_DEL) &&
!del_banid(chptr, cp)))
(((whatt & MODE_ADD) &&
!add_banid(sptr, chptr, cp)) ||
((whatt & MODE_DEL) &&
!del_banid(chptr, cp))))
{
*mbuf++ = c;
(void)strcat(pbuf, cp);
@@ -1734,8 +1737,9 @@ char *parv[];
if (!zombie)
{ if (!MyConnect(sptr)) flags = CHFL_DEOPPED;
if (sptr->flags & FLAGS_TS8) flags|=CHFL_SERVOPOK; }
if (!chptr ||
(MyConnect(sptr) && (i = can_join(sptr, chptr, keys))))
if (!chptr)
continue;
if ((MyConnect(sptr) && (i = can_join(sptr, chptr, keys))))
/* only a variable change key->keys, just because it's better */
{
/* we have the error str in s_err.c, so USE it! -Kev */
@@ -1963,8 +1967,8 @@ char *parv[];
parv[0], user, chptr->chname);
continue;
}
if ((lp=find_user_link(chptr->members, who)) &&
!(lp->flags & CHFL_ZOMBIE) || IsServer(sptr))
if (((lp=find_user_link(chptr->members, who)) &&
!(lp->flags & CHFL_ZOMBIE)) || IsServer(sptr))
{
if (who->from!=cptr &&
((lp2 && (lp2->flags & CHFL_DEOPPED)) ||
@@ -2263,7 +2267,7 @@ char *parv[];
defparc = 1;
defparv[defparc++] = t = strtok(s, " ");
while (t && defparc < MAXPARA) {
if (t = strtok(NULL, " "))
if ((t = strtok(NULL, " ")))
defparv[defparc++] = t;
}
}
@@ -2409,6 +2413,7 @@ char *parv[];
{
if (max_users > min_users + 1 && max_time > min_time &&
max_topic_time > min_topic_time) /* Sanity check */
{
for (chptr = channel; chptr; chptr = chptr->nextch)
{
if (!sptr->user ||
@@ -2426,6 +2431,7 @@ char *parv[];
chptr->users,
ShowChannel(sptr, chptr)?chptr->topic:"");
}
}
sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, parv[0]);
return 0;
}
@@ -2581,7 +2587,7 @@ char *parv[];
aChannel *ch3ptr;
int showflag = 0, secret = 0;
if (!IsPerson(c2ptr) || sptr!=c2ptr && IsInvisible(c2ptr))
if (!IsPerson(c2ptr) || (sptr!=c2ptr && IsInvisible(c2ptr)))
continue;
lp = c2ptr->user->channel;
/*

View File

@@ -47,6 +47,7 @@ static char sccsid[] = "@(#)chkconf.c 1.9 1/30/94 (C) 1993 Darren Reed";
** but i see h.h isn't included for some reason.. so they're here */
char *crule_parse PROTO((char *rule));
void crule_free PROTO((char **elem));
int dgets PROTO((int, char *, int));
#undef free
#define MyMalloc(x) malloc(x)
@@ -62,7 +63,7 @@ static char *configfile = CONFIGFILE;
static char nullfield[] = "";
static char maxsendq[12];
main(argc, argv)
int main(argc, argv)
int argc;
char *argv[];
{
@@ -171,10 +172,10 @@ int opt;
aconf->passwd = (char *)NULL;
aconf->name = (char *)NULL;
aconf->class = (aClass *)NULL;
if (tmp = (char *)index(line, '\n'))
if ((tmp = (char *)index(line, '\n')))
*tmp = 0;
else while(dgets(fd, c, sizeof(c) - 1))
if (tmp = (char *)index(c, '\n'))
if ((tmp = (char *)index(c, '\n')))
{
*tmp = 0;
break;
@@ -207,7 +208,7 @@ int opt;
if (!*(tmp+1))
break;
else
for (s = tmp; *s = *++s; )
for (s = tmp; (*s = *(s+1)); ++s)
;
tmp++;
}
@@ -690,7 +691,7 @@ aConfItem *top;
{
if (aconf->status & CONF_CONNECT_SERVER)
otype = CONF_NOCONNECT_SERVER;
else if (aconf->status & CONF_NOCONNECT_SERVER)
else/* if (aconf->status & CONF_NOCONNECT_SERVER)*/
otype = CONF_CONNECT_SERVER;
for (bconf = top; bconf; bconf = bconf->next)
@@ -698,8 +699,8 @@ aConfItem *top;
if (bconf == aconf || !(bconf->status & otype))
continue;
if (bconf->class == aconf->class &&
!mycmp(bconf->name, aconf->name) &&
!mycmp(bconf->host, aconf->host))
!strcasecmp(bconf->name, aconf->name) &&
!strcasecmp(bconf->host, aconf->host))
{
aconf->status |= CONF_MATCH;
bconf->status |= CONF_MATCH;
@@ -713,7 +714,7 @@ aConfItem *top;
if ((bconf == aconf) ||
!(bconf->status & CONF_SERVER_MASK))
continue;
if (!mycmp(bconf->name, aconf->name))
if (!strcasecmp(bconf->name, aconf->name))
{
aconf->status |= CONF_MATCH;
break;
@@ -746,7 +747,7 @@ u_int status;
return '-';
}
outofmemory()
void outofmemory()
{
(void)write(2, "Out of memory\n", 14);
exit(-1);

View File

@@ -46,7 +46,7 @@ extern aClient *client, *local[];
#include <string.h>
#define BadPtr(x) (!(x) || (*(x) == '\0'))
#define DupString(x,y) do{x=(char *)MyMalloc(strlen(y)+1);(void)strcpy(x,y);}while(0)
#define mycmp strcasecmp
#define strcasecmp strcasecmp
#endif
#ifndef PROTO
@@ -164,6 +164,8 @@ void *crulearg[];
return (1);
}
return (0);
#else
return 1;
#endif
}
@@ -185,6 +187,8 @@ void *crulearg[];
return (1);
}
return (0);
#else
return 1;
#endif
}
@@ -207,6 +211,8 @@ void *crulearg[];
return (1);
}
return (0);
#else
return 1;
#endif
}
@@ -226,6 +232,8 @@ void *crulearg[];
return (1);
}
return (0);
#else
return 1;
#endif
}
@@ -373,16 +381,20 @@ char *rule;
crule_treeptr ruleroot = NULL;
int errcode = CR_NOERR;
if ((errcode = crule_gettoken (&next_tok, &ruleptr)) == CR_NOERR)
if ((errcode = crule_gettoken (&next_tok, &ruleptr)) == CR_NOERR) {
if ((errcode = crule_parseorexpr (&ruleroot, &next_tok,
&ruleptr)) == CR_NOERR)
if (ruleroot != NULL)
&ruleptr)) == CR_NOERR) {
if (ruleroot != NULL) {
if (next_tok == CR_END)
return ((char *) ruleroot);
else
errcode = CR_UNEXPCTTOK;
else
}
else {
errcode = CR_EXPCTOR;
}
}
}
if (ruleroot != NULL)
crule_free ((char **) &ruleroot);
#if !defined(CR_DEBUG) && !defined(CR_CHKCONF)
@@ -583,7 +595,7 @@ char **ruleptr;
{
for (funcnum = 0; ; funcnum++)
{
if (mycmp (crule_funclist[funcnum].name, funcname) == 0)
if (strcasecmp (crule_funclist[funcnum].name, funcname) == 0)
break;
if (crule_funclist[funcnum].name[0] == '\0')
return (CR_UNKNWFUNC);
@@ -653,7 +665,7 @@ char **ruleptr;
#if !defined(CR_DEBUG) && !defined(CR_CHKCONF)
(void) collapse (currarg);
#endif
if (!BadPtr (currarg))
/*if (!BadPtr (currarg)) -- always true */
{
DupString (argelemp, currarg);
argrootp->arg[argrootp->numargs++] = (void *) argelemp;

View File

@@ -19,13 +19,13 @@
#
# Change this to the path of your local ircd.conf file
#
IRCDCONF = /home/407/avalon/ircd.conf
IRCDCONF = /usr/local/lib/ircd/ircd.conf
all: mkpasswd
crypt: install
mkpasswd: mkpasswd.c
cc -O mkpasswd.c -o mkpasswd
cc -O0 -g mkpasswd.c -o mkpasswd -lcrypt
install:
crypter ${IRCDCONF}

View File

@@ -3,9 +3,14 @@
* You can use this code as long as my name stays with it.
*/
#define _XOPEN_SOURCE 500
#include <errno.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
extern char *getpass();
@@ -16,6 +21,7 @@ char *argv[];
static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
char salt[3];
char * plaintext;
char *key;
int i;
if (argc < 2) {
@@ -28,13 +34,20 @@ char *argv[];
salt[0] = argv[1][0];
salt[1] = argv[1][1];
salt[2] = '\0';
if ((strchr(saltChars, salt[0]) == NULL) || (strchr(saltChars, salt[1]) == NULL))
if ((strchr(saltChars, salt[0]) == NULL) || (strchr(saltChars, salt[1]) == NULL)) {
fprintf(stderr, "illegal salt %s\n", salt), exit(1);
return 1;
}
}
plaintext = getpass("plaintext: ");
printf("%s\n", crypt(plaintext, salt));
key = crypt(plaintext, salt);
if (key == NULL) {
fprintf(stderr, "unable to crypt: %s\n", strerror(errno));
return 1;
}
printf("%s\n", key);
return 0;
}

View File

@@ -282,7 +282,7 @@ aClient *cptr;
if (IsPing(tmp))
continue;
#ifdef TESTNET
if (mycmp(name, tmp->name) == 0)
if (strcasecmp(name, tmp->name) == 0)
{
if (tmp_fnd)
sendto_ops("*** DEBUG ERROR *** : Found %s TWICE !",
@@ -294,7 +294,7 @@ aClient *cptr;
}
}
#else
if (mycmp(name, tmp->name) == 0)
if (strcasecmp(name, tmp->name) == 0)
goto c_move_to_top;
#endif
}
@@ -355,8 +355,8 @@ aClient *cptr;
* Got the bucket, now search the chain.
*/
for (tmp = (aClient *)tmp3->list; tmp; prv = tmp, tmp = tmp->hnext)
if (mycmp(name, tmp->name) == 0 && tmp->user &&
mycmp(serv, tmp->user->server->name) == 0)
if (strcasecmp(name, tmp->name) == 0 && tmp->user &&
strcasecmp(serv, tmp->user->server->name) == 0)
goto c_move_to_top;
#ifdef DEBUGMODE
@@ -410,7 +410,7 @@ aClient *cptr;
{
if (!IsServer(tmp) && !IsMe(tmp))
continue;
if (mycmp(server, tmp->name) == 0)
if (strcasecmp(server, tmp->name) == 0)
goto s_move_to_top;
}
t = ((char *)server + strlen(server));
@@ -476,7 +476,7 @@ aChannel *chptr;
tmp3 = &channelTable[hashv];
for (tmp = (aChannel *)tmp3->list; tmp; prv = tmp, tmp = tmp->hnextch)
if (mycmp(name, tmp->chname) == 0)
if (strcasecmp(name, tmp->chname) == 0)
goto c_move_to_top;
#ifdef DEBUGMODE
chmiss++;

View File

@@ -52,7 +52,7 @@ char *configfile = CONFIGFILE; /* Server configuration file */
int debuglevel = -1; /* Server debug level */
int bootopt = 0; /* Server boot option flags */
char *debugmode = ""; /* -"- -"- -"- */
char *sbrk0; /* initial sbrk(0) */
void *sbrk0; /* initial sbrk(0) */
int dorehash = 0;
static char *dpath = DPATH;
@@ -434,7 +434,7 @@ char *argv[];
struct rlimit corelim;
#endif
sbrk0 = (char *)sbrk((size_t)0);
sbrk0 = sbrk(0);
uid = getuid();
euid = geteuid();
now = time(NULL);
@@ -482,7 +482,7 @@ char *argv[];
char *p = argv[0]+1;
int flag = *p++;
if (flag == '\0' || *p == '\0')
if (flag == '\0' || *p == '\0') {
if (argc > 1 && argv[1][0] != '-')
{
p = *++argv;
@@ -490,6 +490,7 @@ char *argv[];
}
else
p = "";
}
switch (flag)
{
@@ -797,8 +798,8 @@ static void open_debugfile()
local[2] = cptr;
(void)strcpy(cptr->sockhost, me.sockhost);
(void)printf("isatty = %d ttyname = %#x\n",
isatty(2), (u_int)ttyname(2));
(void)printf("isatty = %d ttyname = 0x%p\n",
isatty(2), ttyname(2));
if (!(bootopt & BOOT_TTY)) /* leave debugging output on fd 2 */
{
(void)truncate(LOGFILE, 0);

View File

@@ -312,13 +312,14 @@ Link *find_user_link(lp, ptr)
Reg1 Link *lp;
Reg2 aClient *ptr;
{
if (ptr)
if (ptr) {
while (lp)
{
if (lp->value.cptr == ptr)
return (lp);
lp = lp->next;
}
}
return NULL;
}

View File

@@ -81,10 +81,10 @@
#define FLAGS_NEWNICK_DISPLAYED (1<<30)
#define DupNewString(x,y) if (!StrEq(x,y)) { MyFree(x); DupString(x,y); }
#define MyEq(x,y) (!myncmp(x,y,strlen(x)))
#undef mycmp
#define mycmp mystrcasecmp /* mycmp sux, making note use double cpu */
#define Usermycmp(x,y) mycmp(x,y)
#define MyEq(x,y) (!strncasecmp(x,y,strlen(x)))
#undef strcasecmp
#define strcasecmp mystrcasecmp /* strcasecmp sux, making note use double cpu */
#define Userstrcasecmp(x,y) strcasecmp(x,y)
#define Key(sptr) KeyFlags(sptr,-1)
#define Message(msgclient) get_msg(msgclient, 'm')
#define IsOperHere(sptr) (IsOper(sptr) && MyConnect(sptr))
@@ -375,7 +375,7 @@ aMsgClient *msgclient;
msg = Message(msgclient);
while (*msg == '%') {
msg++; c = split_string(msg, 1, 1);
if (!mycmp(c, nick)) {
if (!strcasecmp(c, nick)) {
strcpy(buf, "*");
return buf;
}
@@ -407,7 +407,7 @@ char *name;
while ((s = (b+t) >> 1) != b) {
msgclient = ToNameList[s];
tname = (msgclient->flags & FLAGS_SORT_BY_TONAME) ? 1 : 0;
if (mycmp(tname ? msgclient->toname : msgclient->tonick, name) < 0)
if (strcasecmp(tname ? msgclient->toname : msgclient->tonick, name) < 0)
b = s; else t = s;
}
return t;
@@ -423,7 +423,7 @@ char *name;
while ((s = (b+t) >> 1) != b) {
msgclient = ToNameList[s];
tname = (msgclient->flags & FLAGS_SORT_BY_TONAME) ? 1 : 0;
if (mycmp(tname ? msgclient->toname : msgclient->tonick, name) > 0)
if (strcasecmp(tname ? msgclient->toname : msgclient->tonick, name) > 0)
t = s; else b = s;
}
return b;
@@ -436,7 +436,7 @@ char *fromname;
if (!t) return 0;
while ((s = (b+t) >> 1) != b)
if (mycmp(FromNameList[s]->fromname,fromname)<0) b = s; else t = s;
if (strcasecmp(FromNameList[s]->fromname,fromname)<0) b = s; else t = s;
return t;
}
@@ -447,7 +447,7 @@ char *fromname;
if (!t) return 0;
while ((s = (b+t) >> 1) != b)
if (mycmp(FromNameList[s]->fromname,fromname)>0) t = s; else b = s;
if (strcasecmp(FromNameList[s]->fromname,fromname)>0) t = s; else b = s;
return b;
}
@@ -550,10 +550,10 @@ long32 flags;
last = last_fnl_indexnode(fromname);
if (!(n = first)) n = 1;
index_p = FromNameList+n;
while (n <= last && mycmp(msgclient->fromhost,(*index_p)->fromhost)>0) {
while (n <= last && strcasecmp(msgclient->fromhost,(*index_p)->fromhost)>0) {
index_p++;n++;
}
while (n <= last && mycmp(msgclient->fromnick,(*index_p)->fromnick)>=0){
while (n <= last && strcasecmp(msgclient->fromnick,(*index_p)->fromnick)>=0){
index_p++;n++;
}
index_p = FromNameList+fromname_index;
@@ -772,7 +772,7 @@ char *host1,*host2;
if (numeric_host(host1) != numeric_host(host2)) return 0;
strcpy(buf,local_host(host1));
if (!mycmp(buf,local_host(host2))) return 1;
if (!strcasecmp(buf,local_host(host2))) return 1;
return 0;
}
@@ -866,8 +866,8 @@ int id;
|| msgclient->flags & FLAGS_DENY
|| !matches(msgclient->toname, UserName(sptr))
&& !matches(msgclient->tohost, sptr->user->host))
|| !Usermycmp(UserName(sptr),msgclient->fromname))
&& (chn || !mycmp(sptr->name, msgclient->fromnick)
|| !Userstrcasecmp(UserName(sptr),msgclient->fromname))
&& (chn || !strcasecmp(sptr->name, msgclient->fromnick)
|| wild_fromnick(sptr->name, msgclient))
&& (!time_l || msgclient->time >= time_l
&& msgclient->time < time_l+SECONDS_DAY)
@@ -1393,14 +1393,14 @@ aChannel *sptr_chn;
if (!(msgclient->flags & FLAGS_FROM_REG)) qptr = 0;
else for (qptr = client; qptr; qptr = qptr->next)
if (qptr->user && !strcmp(UserName(qptr),msgclient->fromname)
&& (!mycmp(qptr->name,msgclient->fromnick)
&& (!strcasecmp(qptr->name,msgclient->fromnick)
|| wild_fromnick(qptr->name, msgclient))
&& host_check(qptr->user->host,msgclient->fromhost))
break;
if (!qptr) msgclient->flags &= ~FLAGS_FROM_REG;
}
if (!mycmp(nick, msgclient->tonick)
|| !mycmp(nick, get_msg(msgclient, 'n'))) right_tonick = 1;
if (!strcasecmp(nick, msgclient->tonick)
|| !strcasecmp(nick, get_msg(msgclient, 'n'))) right_tonick = 1;
if (!sptr->user->channel && !IsInvisible(sptr)) secret = 0;
if (secret && !IsInvisible(sptr))
for (link = sptr->user->channel; link; link = link->next)
@@ -1452,11 +1452,11 @@ aChannel *sptr_chn;
if (fmsgclient->flags & FLAGS_DISPLAY_IF_DEST_REGISTER
&& now < fmsgclient->timeout
&& fmsgclient != msgclient
&& (!mycmp(mode == 'g' ? qptr_nick : qptr->name,
&& (!strcasecmp(mode == 'g' ? qptr_nick : qptr->name,
fmsgclient->fromnick)
|| wild_fromnick(mode == 'g' ? qptr_nick :qptr->name,
fmsgclient))
&& !Usermycmp(UserName(qptr), fmsgclient->fromname)
&& !Userstrcasecmp(UserName(qptr), fmsgclient->fromname)
&& host_check(qptr->user->host, fmsgclient->fromhost)
&& !matches(fmsgclient->tonick, nick)
&& !matches(fmsgclient->toname, UserName(sptr))
@@ -1586,7 +1586,7 @@ aChannel *sptr_chn;
qptr->name, nick, buf,
"signs off", message);
} else {
if (mycmp(nick, newnick)
if (strcasecmp(nick, newnick)
&& !(msgclient->flags & FLAGS_NO_NICKCHANGE_SPY))
sendto_one(qptr,
"NOTICE %s :### %s (%s) %s <%s> %s",
@@ -1626,11 +1626,11 @@ aChannel *sptr_chn;
while (last && t <= last) {
if (ToNameList[t]->timeout > now &&
ToNameList[t]->flags & FLAGS_SERVER_GENERATED &&
!Usermycmp(ToNameList[t]->toname, msgclient->fromname) &&
!mycmp(ToNameList[t]->tohost,
!Userstrcasecmp(ToNameList[t]->toname, msgclient->fromname) &&
!strcasecmp(ToNameList[t]->tohost,
local_host(msgclient->fromhost))) {
t1++;
if (!mycmp(Message(ToNameList[t]),mbuf)) {
if (!strcasecmp(Message(ToNameList[t]),mbuf)) {
t1 = -1; break;
}
}
@@ -1685,13 +1685,13 @@ while (send && qptr != sptr &&
last = last_tnl_indexnode(UserName(sptr));
while (last && t <= last) {
if (ToNameList[t]->flags & FLAGS_SERVER_GENERATED_DESTINATION
&& (!mycmp(ToNameList[t]->fromnick,msgclient->fromnick)
&& (!strcasecmp(ToNameList[t]->fromnick,msgclient->fromnick)
|| wild_fromnick(ToNameList[t]->fromnick, msgclient))
&& !Usermycmp(ToNameList[t]->fromname,msgclient->fromname)
&& !Userstrcasecmp(ToNameList[t]->fromname,msgclient->fromname)
&& host_check(ToNameList[t]->fromhost,msgclient->fromhost)
&& (!(msgclient->flags & FLAGS_REGISTER_NEWNICK)
|| !mycmp(ToNameList[t]->tonick,nick))
&& !Usermycmp(ToNameList[t]->toname,UserName(sptr))
|| !strcasecmp(ToNameList[t]->tonick,nick))
&& !Userstrcasecmp(ToNameList[t]->toname,UserName(sptr))
&& host_check(ToNameList[t]->tohost,sptr->user->host)) {
send = 0; break;
}
@@ -1753,7 +1753,7 @@ char mode;
if (!host_check(msgclient->fromhost, sptr->user->host)) {
t++; continue;
}
if (!mycmp(qptr_nick, msgclient->fromnick)
if (!strcasecmp(qptr_nick, msgclient->fromnick)
|| wild_fromnick(qptr_nick, msgclient)) {
if (msgclient->flags & FLAGS_DISPLAY_IF_DEST_REGISTER)
update_spymsg(msgclient);
@@ -1810,7 +1810,7 @@ char mode;
&& !matches(msgclient->tohost, sptr->user->host)
&& (mode != 's' && mode != 'g'
|| (wild_fromnick(qptr_nick, msgclient)
|| !mycmp(qptr_nick, msgclient->fromnick))
|| !strcasecmp(qptr_nick, msgclient->fromnick))
&& host_check(msgclient->fromhost,
qptr->user->host))) {
message = check_flags(aptr, sptr, qptr, tonick, newnick,
@@ -1943,8 +1943,8 @@ char *param;
long32 gflags = 0;
name = split_string(param, 2, 1);
if (!mycmp(name, "CHANNEL")) channel = 1;
else if (!mycmp(name, "DENY")) deny = 1;
if (!strcasecmp(name, "CHANNEL")) channel = 1;
else if (!strcasecmp(name, "DENY")) deny = 1;
else return;
strncpyzt(toserver, split_string(param, 1, 1), BUF_LEN-1);
strncpyzt(password_s, split_string(param, 3, 1), BUF_LEN-1);
@@ -1960,7 +1960,7 @@ char *param;
if (channel && (!index(toserver, '.') || strlen(message) < 10 ||
!note_headchannel(tonick))) return;
if (!mycmp(me.name, sptr->name)
if (!strcasecmp(me.name, sptr->name)
|| !xrm_distribute_privs(fromname, fromhost)) goto just_distribute;
#ifdef EPATH
@@ -1988,9 +1988,9 @@ char *param;
if (now < msgclient->timeout
&& (!channel || msgclient->flags & FLAGS_CHANNEL)
&& (!deny || msgclient->flags & FLAGS_DENY)
&& !mycmp(msgclient->tonick, tonick)
&& (channel || !mycmp(msgclient->toname, toname))
&& (channel || !mycmp(msgclient->tohost, tohost))) {
&& !strcasecmp(msgclient->tonick, tonick)
&& (channel || !strcasecmp(msgclient->toname, toname))
&& (channel || !strcasecmp(msgclient->tohost, tohost))) {
index_p = WildCardList; break;
}
t++;
@@ -2009,14 +2009,14 @@ char *param;
/* If new request isn't equal, but matches old, remove old */
if (!matches(toname, msgclient->toname)
&& !matches(tohost, msgclient->tohost)
&& (mycmp(toname, msgclient->toname)
|| mycmp(tohost, msgclient->tohost))) msgclient->timeout = 0;
&& (strcasecmp(toname, msgclient->toname)
|| strcasecmp(tohost, msgclient->tohost))) msgclient->timeout = 0;
/* If old request matches new... */
else if (!matches(msgclient->toname, toname)
&& !matches(msgclient->tohost, tohost)) {
if (root_call &&
(!strcmp(password, msgclient->passwd)
|| !mycmp(fromname, msgclient->fromname)
|| !strcasecmp(fromname, msgclient->fromname)
&& host_check(fromhost, msgclient->fromhost)
|| !*msgclient->passwd
|| !msgclient->passwd[1])) root_access = 1;
@@ -2224,9 +2224,9 @@ char *message;
long32 gflags = 0;
char buf[MSG_LEN], *c;
if ((!mycmp(sptr->name, msgclient->fromnick)
if ((!strcasecmp(sptr->name, msgclient->fromnick)
|| wild_fromnick(sptr->name, msgclient))
&& !Usermycmp(UserName(sptr),msgclient->fromname)
&& !Userstrcasecmp(UserName(sptr),msgclient->fromname)
&& host_check(sptr->user->host, msgclient->fromhost)) return;
sprintf(buf,"%s (%s@%s) %s for %s@%s", sptr->name, UserName(sptr),
@@ -2249,7 +2249,7 @@ char *arg, *passwd, *flag_s, *id_s, *name, *time_s;
time_t flags = 0, time_l;
char dibuf[40], tonick[BUF_LEN], toname[BUF_LEN], tohost[BUF_LEN];
if (!mycmp(arg,"XRM")) xrm = 1;
if (!strcasecmp(arg,"XRM")) xrm = 1;
if (xrm && (!IsOper(sptr) ||
!xrm_distribute_privs(sptr->user->username,
sptr->user->host))) {
@@ -2377,12 +2377,12 @@ char *arg, *value;
aMsgClient *msgclient;
if (*arg) {
if (!mycmp(arg,"MSM")) setvar(sptr,&note_msm,0,value); else
if (!mycmp(arg,"MSW")) setvar(sptr,&note_msw,3,value); else
if (!mycmp(arg,"MUM")) setvar(sptr,&note_mum,6,value); else
if (!mycmp(arg,"MUW")) setvar(sptr,&note_muw,9,value); else
if (!mycmp(arg,"MST")) setvar(sptr,&note_mst,12,value); else
if (!mycmp(arg,"MSF")) setvar(sptr,&note_msf,15,value); else
if (!strcasecmp(arg,"MSM")) setvar(sptr,&note_msm,0,value); else
if (!strcasecmp(arg,"MSW")) setvar(sptr,&note_msw,3,value); else
if (!strcasecmp(arg,"MUM")) setvar(sptr,&note_mum,6,value); else
if (!strcasecmp(arg,"MUW")) setvar(sptr,&note_muw,9,value); else
if (!strcasecmp(arg,"MST")) setvar(sptr,&note_mst,12,value); else
if (!strcasecmp(arg,"MSF")) setvar(sptr,&note_msf,15,value); else
if (MyEq(arg,"USED")) {
while (last && t <= last) {
msgclient = FromNameList[t];
@@ -2399,11 +2399,11 @@ char *arg, *value;
fromhost = msgclient->fromhost;
fromname = msgclient->fromname;
fromnick = msgclient->fromnick;
} else if (Usermycmp(msgclient->fromname,fromname)) {
} else if (Userstrcasecmp(msgclient->fromname,fromname)) {
nicks++;names++;
fromname = msgclient->fromname;
fromnick = msgclient->fromnick;
} else if (mycmp(msgclient->fromnick,fromnick)) {
} else if (strcasecmp(msgclient->fromnick,fromnick)) {
nicks++;
fromnick = msgclient->fromnick;
}
@@ -2436,7 +2436,7 @@ char *arg, *value;
"H-header: ",flag_destination);
sendto_one(sptr,"NOTICE %s :### %s",sptr->name,buf);
}
} else if (!mycmp(arg,"RESET")) {
} else if (!strcasecmp(arg,"RESET")) {
if (!IsOperHere(sptr))
sendto_one(sptr,"NOTICE %s :### %s",sptr->name,
"Wrong button - try another next time...");
@@ -2562,7 +2562,7 @@ char mode, *name;
int ret = 0, only_users = 0, only_head = 0;
if (mode == 'l' && (MyEq("tail", name) || !*name)) only_users = 1;
if (mode == 'l' && (MyEq("head", name) || !mycmp(name, "."))) {
if (mode == 'l' && (MyEq("head", name) || !strcasecmp(name, "."))) {
only_head = 1; name = wildcard;
}
if (!only_users) ret = check_channel(sptr, mode, name, "", "");
@@ -2638,8 +2638,8 @@ char *passwd, *flag_s, *timeout_s, *name, *message;
while (last && t <= last) {
msgclient = FromNameList[t];
if (now > msgclient->timeout) { t++; continue; }
if (!mycmp(sptr->name, msgclient->fromnick)
&& !Usermycmp(UserName(sptr), msgclient->fromname)
if (!strcasecmp(sptr->name, msgclient->fromnick)
&& !Userstrcasecmp(UserName(sptr), msgclient->fromname)
&& host_check(sptr->user->host, msgclient->fromhost)
&& StrEq(msgclient->tonick, tonick)
&& StrEq(msgclient->toname, toname)
@@ -2655,7 +2655,7 @@ char *passwd, *flag_s, *timeout_s, *name, *message;
if (!join && !(flags & FLAGS_WASOPER) && !Key(sptr)) {
t = first;
while (last && t <= last) {
if (!Usermycmp(UserName(sptr),FromNameList[t]->fromname)) {
if (!Userstrcasecmp(UserName(sptr),FromNameList[t]->fromname)) {
if (host_check(sptr->user->host,FromNameList[t]->fromhost)) {
sent++;
if (wildcards(FromNameList[t]->tonick)
@@ -2766,8 +2766,8 @@ char *passwd, *flag_s, *timeout_s, *name, *message;
strncat(buf, message, msg_len); strcat(flag_s, "-RS");
while (fromname_index && t <= fromname_index) {
msgclient = FromNameList[t];
if (!Usermycmp(UserName(sptr), msgclient->fromname)
&& (!mycmp(sptr->name, msgclient->fromnick)
if (!Userstrcasecmp(UserName(sptr), msgclient->fromname)
&& (!strcasecmp(sptr->name, msgclient->fromnick)
|| wild_fromnick(sptr->name, msgclient)
&& host_check(sptr->user->host,msgclient->fromhost))) {
t++; continue;
@@ -2781,10 +2781,10 @@ char *passwd, *flag_s, *timeout_s, *name, *message;
&& !matches(msgclient->tohost, sptr->user->host)
&& (!matches(toname, msgclient->tonick)
|| matches(toname, tonick)
&& !mycmp(msgclient->tonick, tonick))
&& !strcasecmp(msgclient->tonick, tonick))
&& (!*Message(msgclient)
|| !matches(Message(msgclient), message))
|| !mycmp(tonick, "admin.users"))
|| !strcasecmp(tonick, "admin.users"))
&& !matches(tohost, msgclient->fromhost)
&& !(msgclient->flags & FLAGS_KEY_TO_OPEN_OPER_LOCKS)) {
c = wild_fromnick(msgclient->fromnick, msgclient);
@@ -3013,13 +3013,13 @@ char *arg, *name, *time_s, *delete;
&& (!matches(fromnick,msgclient->fromnick))
&& (!matches(fromname,msgclient->fromname))
&& (!matches(fromhost,msgclient->fromhost))
&& (!*delete || !mycmp(delete,"RM")
|| !mycmp(delete,"RMBF") &&
&& (!*delete || !strcasecmp(delete,"RM")
|| !strcasecmp(delete,"RMBF") &&
(msgclient->flags & FLAGS_RETURN_CORRECT_DESTINATION ||
msgclient->flags & FLAGS_FIND_CORRECT_DEST_SEND_ONCE))) {
if (*delete || !next_msgclient
|| mycmp(next_msgclient->fromnick,msgclient->fromnick)
|| mycmp(next_msgclient->fromname,msgclient->fromname)
|| strcasecmp(next_msgclient->fromnick,msgclient->fromnick)
|| strcasecmp(next_msgclient->fromname,msgclient->fromname)
|| !(host_check(next_msgclient->fromhost,
msgclient->fromhost))) {
sendto_one(sptr,"NOTICE %s :### %s[%d] %s (%s@%s) @%s",
@@ -3044,8 +3044,8 @@ char *arg, *name, *time_s, *delete;
while (last && t <= last) {
msgclient = FromNameList[t];
if (now > msgclient->timeout) { t++; continue; }
if (!Usermycmp(UserName(sptr),msgclient->fromname)
&& (!nick || !mycmp(sptr->name,msgclient->fromnick))) {
if (!Userstrcasecmp(UserName(sptr),msgclient->fromname)
&& (!nick || !strcasecmp(sptr->name,msgclient->fromnick))) {
if (host_check(sptr->user->host,msgclient->fromhost)) {
if (!count)
sendto_one(sptr,"NOTICE %s :### Queued %s from host %s",
@@ -3349,10 +3349,10 @@ char *parv[];
if (parc < 2 || BadPtr(parv[1])) name = empty;
else name = strtoken(&p, parv[1], ",");
if (!mycmp(name, "all") || !note_channel(cptr, sptr, 'c', "*" ))
if (!strcasecmp(name, "all") || !note_channel(cptr, sptr, 'c', "*" ))
return n_list(cptr, sptr, parc, parv);
note_channel(cptr, sptr, 'l', name);
if (!mycmp(name, "help"))
if (!strcasecmp(name, "help"))
sendto_one(sptr,
"NOTICE %s :*** /list #first_characters_in_chn %s",
sptr->name, "or /list . (opermade) or /list (usermade)");
@@ -3393,7 +3393,7 @@ char *parv[];
return -1;
}
param = parv[1];
if (parc > 1 && !myncmp(param,"service ",8)) {
if (parc > 1 && !strncasecmp(param,"service ",8)) {
if (!IsOperHere(sptr)) {
sendto_one(sptr,"NOTICE %s :### %s",sptr->name,
"Beyond your power poor soul...");
@@ -3422,7 +3422,7 @@ char *parv[];
}
else for (acptr = client; acptr; acptr = acptr->next)
if (IsServer(acptr) && acptr != cptr
&& !mycmp(c, acptr->name)) {
&& !strcasecmp(c, acptr->name)) {
sendto_one(acptr,
":%s NOTE %s", sptr->name, param);
break;
@@ -3497,11 +3497,11 @@ char *parv[];
if (MyEq(option,"VERSION")) sendto_one(sptr,"NOTICE %s :Running version %s",
sptr->name, VERSION);
else if (remote < 0
&& mycmp(option, "NEWS")
&& mycmp(option, "XRM")
&& mycmp(option, "FLAG")
&& mycmp(option, "DENY")
&& mycmp(option, "XLS")) return 0; else
&& strcasecmp(option, "NEWS")
&& strcasecmp(option, "XRM")
&& strcasecmp(option, "FLAG")
&& strcasecmp(option, "DENY")
&& strcasecmp(option, "XLS")) return 0; else
if (alias_send(sptr,option, &flags, &msg, &timeout) || MyEq(option,"USER")) {
if (!*buf1) {
if (MyEq(option,"SPY")) check_messages(sptr, sptr, sptr->name, 'g');
@@ -3513,7 +3513,7 @@ char *parv[];
name = buf1;if (!*name) name = wildcard;
if (name_len_error(sptr, name)) return 0;
if (!timeout || !*timeout) timeout = default_timeout;
if (mycmp(option, "NEWS") || !msg) {
if (strcasecmp(option, "NEWS") || !msg) {
msg_send(sptr, silent, passwd, flags, timeout, name, msg);
} else msg_news(sptr, silent, passwd, flags,
timeout == default_timeout ? deft : timeout,
@@ -3545,7 +3545,7 @@ char *parv[];
if (name_len_error(sptr, name)) return 0;
note_channel(cptr, sptr, 'l', name);
} else
if (!mycmp(option,"RM") || !mycmp(option,"XRM")) {
if (!strcasecmp(option,"RM") || !strcasecmp(option,"XRM")) {
if (!*buf1 && !id && !*flags) {
sendto_one(sptr,
"NOTICE %s :#?# Please specify at least one argument",

View File

@@ -248,7 +248,7 @@ time_t timeout_query_list()
{
r2ptr = rptr->next;
tout = rptr->sentat + rptr->timeout;
if (now >= tout)
if (now >= tout) {
if (--rptr->retries <= 0)
{
#ifdef DEBUG
@@ -289,6 +289,7 @@ time_t timeout_query_list()
rptr->cinfo.value.cptr));
#endif
}
}
if (!next || tout < next)
next = tout;
}
@@ -674,9 +675,10 @@ char *lp;
static char buf[sizeof(HEADER) + MAXPACKET];
Reg1 HEADER *hptr;
Reg2 ResRQ *rptr = NULL;
aCache *cp;
aCache *cp = NULL;
struct sockaddr_in sin;
int rc, a, len = sizeof(sin), max;
socklen_t len = sizeof(sin);
int rc, a, max;
(void)alarm((unsigned)4);
rc = recvfrom(resfd, buf, sizeof(buf), 0, (struct sockaddr *)&sin,
@@ -964,7 +966,7 @@ aCache *cachep;
if (addrcount >= MAXALIASES - 1)
break;
for (j = 0, t = cp->he.h_name; t; t = cp->he.h_aliases[j++])
if (!mycmp(t, s))
if (!strcasecmp(t, s))
break;
if (!t)
{
@@ -1048,7 +1050,7 @@ char *name;
for (; cp; cp = cp->hname_next)
for (i = 0, s = cp->he.h_name; s; s = cp->he.h_aliases[i++])
if (mycmp(s, name) == 0)
if (strcasecmp(s, name) == 0)
{
cainfo.ca_na_hits++;
update_list(NULL, cp);
@@ -1066,7 +1068,7 @@ char *name;
if (hashv == hash_name(cp->he.h_name))
continue;
for (i = 0, s = cp->he.h_aliases[i]; s && i < MAXALIASES; i++)
if (!mycmp(name, s)) {
if (!strcasecmp(name, s)) {
cainfo.ca_na_hits++;
update_list(NULL, cp);
return cp;

View File

@@ -25,7 +25,7 @@ static char sccsid[] = "@(#)res_comp.c 6.18 (Berkeley) 6/27/90";
#include <stdio.h>
#include "nameser.h"
static dn_find();
static int dn_find();
/*
* Expand compressed domain name 'comp_dn' to full domain name.
@@ -34,7 +34,7 @@ static dn_find();
* 'exp_dn' is a pointer to a buffer of size 'length' for the result.
* Return size of compressed name or -1 if there was an error.
*/
dn_expand(msg, eomorig, comp_dn, exp_dn, length)
int dn_expand(msg, eomorig, comp_dn, exp_dn, length)
u_char *msg, *eomorig, *comp_dn, *exp_dn;
int length;
{
@@ -49,7 +49,7 @@ dn_expand(msg, eomorig, comp_dn, exp_dn, length)
/*
* fetch next label in domain name
*/
while (n = *cp++) {
while ((n = *cp++)) {
/*
* Check for indirection
*/
@@ -113,15 +113,15 @@ dn_expand(msg, eomorig, comp_dn, exp_dn, length)
* If 'dnptr' is NULL, we don't try to compress names. If 'lastdnptr'
* is NULL, we don't update the list.
*/
dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
u_char *exp_dn, *comp_dn;
int dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
char *exp_dn, *comp_dn;
int length;
u_char **dnptrs, **lastdnptr;
char **dnptrs, **lastdnptr;
{
register u_char *cp, *dn;
register char *cp, *dn, *eob;
register int c, l;
u_char **cpp, **lpp, *sp, *eob;
u_char *msg;
char **cpp = NULL, **lpp = NULL, *sp;
char *msg;
dn = exp_dn;
cp = comp_dn;
@@ -191,7 +191,7 @@ dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
/*
* Skip over a compressed domain name. Return the size or -1.
*/
dn_skipname(comp_dn, eom)
int dn_skipname(comp_dn, eom)
u_char *comp_dn, *eom;
{
register u_char *cp;
@@ -222,7 +222,7 @@ dn_skipname(comp_dn, eom)
* dnptrs is the pointer to the first name on the list,
* not the pointer to the start of the message.
*/
static
static int
dn_find(exp_dn, msg, dnptrs, lastdnptr)
u_char *exp_dn, *msg;
u_char **dnptrs, **lastdnptr;
@@ -234,7 +234,7 @@ dn_find(exp_dn, msg, dnptrs, lastdnptr)
for (cpp = dnptrs; cpp < lastdnptr; cpp++) {
dn = exp_dn;
sp = cp = *cpp;
while (n = *cp++) {
while ((n = *cp++)) {
/*
* check for indirection
*/
@@ -308,18 +308,18 @@ _getlong(msgp)
}
putshort(s, msgp)
void putshort(s, msgp)
register u_short s;
register u_char *msgp;
register char *msgp;
{
msgp[1] = s;
msgp[0] = s >> 8;
}
putlong(l, msgp)
void putlong(l, msgp)
register u_long l;
register u_char *msgp;
register char *msgp;
{
msgp[3] = l;

View File

@@ -34,12 +34,7 @@ static char sccsid[] = "@(#)res_init.c 6.14.1 (Berkeley) 6/27/90";
* Resolver state default settings
*/
struct state _res = {
RES_TIMEOUT, /* retransmition time interval */
4, /* number of times to retransmit */
RES_DEFAULT, /* options flags */
1, /* number of name servers */
};
struct state _res;
/*
* Set up default settings. If the configuration file exist, the values
@@ -51,7 +46,7 @@ struct state _res = {
*
* Return 0 if completes successfully, -1 on error
*/
res_init()
int res_init()
{
register FILE *fp;
register char *cp, *dp, **pp;
@@ -64,6 +59,10 @@ res_init()
int haveenv = 0;
int havesearch = 0;
_res.retrans = RES_TIMEOUT;
_res.retry = 4;
_res.options = RES_DEFAULT;
_res.nscount = 1;
_res.nsaddr.sin_addr.s_addr = INADDR_ANY;
_res.nsaddr.sin_family = AF_INET;
_res.nsaddr.sin_port = htons(NAMESERVER_PORT);

View File

@@ -33,7 +33,7 @@ static char sccsid[] = "@(#)res_mkquery.c 6.12 (Berkeley) 6/1/90";
* Form all types of queries.
* Returns the size of the result or -1.
*/
res_mkquery(op, dname, class, type, data, datalen, newrr, buf, buflen)
int res_mkquery(op, dname, class, type, data, datalen, newrr, buf, buflen)
int op; /* opcode of query */
char *dname; /* domain name */
int class, type; /* class and type of query */

View File

@@ -27,6 +27,7 @@ static char sccsid[] = "@(#)s_auth.c 1.18 4/18/94 (C) 1992 Darren Reed";
#include "res.h"
#include "numeric.h"
#include "patchlevel.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/file.h>
#include <sys/ioctl.h>
@@ -146,7 +147,7 @@ aClient *cptr;
{
struct sockaddr_in us, them;
char authbuf[32];
int ulen, tlen;
socklen_t ulen, tlen;
Debug((DEBUG_NOTICE,"write_authports(%x) fd %d authfd %d stat %d",
cptr, cptr->fd, cptr->authfd, cptr->status));
@@ -154,9 +155,11 @@ aClient *cptr;
if (getsockname(cptr->fd, (struct sockaddr *)&us, &ulen) ||
getpeername(cptr->fd, (struct sockaddr *)&them, &tlen))
{
Debug((DEBUG_NOTICE, "auth get{sock,peer}name error for %s: ",
get_client_name(cptr, TRUE), strerror(errno)));
#ifdef USE_SYSLOG
syslog(LOG_ERR, "auth get{sock,peer}name error for %s:%m",
get_client_name(cptr, TRUE));
syslog(LOG_ERR, "auth get{sock,peer}name error for %s: ",
get_client_name(cptr, TRUE), strerror(errno));
#endif
goto authsenderr;
}
@@ -218,7 +221,7 @@ Reg1 aClient *cptr;
cptr->lasttime = now;
if ((len > 0) && (cptr->count != (sizeof(cptr->buffer) - 1)) &&
(sscanf(cptr->buffer, "%hd , %hd : USERID : %*[^:]: %10s",
(sscanf(cptr->buffer, "%hu , %hu : USERID : %*[^:]: %10s",
&remp, &locp, ruser) == 3))
{
s = rindex(cptr->buffer, ':');

View File

@@ -48,6 +48,7 @@ Computing Center and Jarkko Oikarinen";
#include <sys/socket.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#if defined(SOL20)
#include <sys/filio.h>
#endif
@@ -172,7 +173,8 @@ aClient *cptr;
{
Reg1 int errtmp = errno; /* debug may change 'errno' */
Reg2 char *host;
int err, len = sizeof(err);
int err;
socklen_t len = sizeof(err);
extern char *strerror();
host = (cptr) ? get_client_name(cptr, FALSE) : "";
@@ -211,7 +213,8 @@ char *name;
int port;
{
static struct sockaddr_in server;
int ad[4], len = sizeof(server), opt;
socklen_t len = sizeof(server);
int ad[4], opt;
char ipname[20];
#ifdef VIRTUAL_HOST
struct hostent *hep;
@@ -512,7 +515,7 @@ void init_sys()
# endif
{
(void)fprintf(stderr,"ircd fd table too big\n");
(void)fprintf(stderr,"Hard Limit: %d IRC max: %d\n",
(void)fprintf(stderr,"Hard Limit: %lu IRC max: %d\n",
limit.rlim_max, MAXCONNECTIONS);
(void)fprintf(stderr,"Fix MAXCONNECTIONS\n");
exit(-1);
@@ -521,7 +524,7 @@ void init_sys()
limit.rlim_cur = limit.rlim_max; /* make soft limit the max */
if (setrlimit(RLIMIT_FD_MAX, &limit) == -1)
{
(void)fprintf(stderr,"error setting max fd's to %d\n",
(void)fprintf(stderr,"error setting max fd's to %lu\n",
limit.rlim_cur);
exit(-1);
}
@@ -630,7 +633,7 @@ Reg1 aClient *cptr;
Reg2 char *sockn;
{
struct sockaddr_in sk;
int len = sizeof(struct sockaddr_in);
socklen_t len = sizeof(struct sockaddr_in);
#ifdef UNIXPORT
if (IsUnixSocket(cptr))
@@ -1148,7 +1151,7 @@ static void set_sock_opts(fd, cptr)
int fd;
aClient *cptr;
{
int opt;
socklen_t opt;
#ifdef SO_REUSEADDR
opt = 1;
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (OPT_TYPE *)&opt, sizeof(opt)) < 0)
@@ -1194,7 +1197,7 @@ aClient *cptr;
else if (opt > 0 && opt != sizeof(readbuf) / 8)
{
for (*readbuf = '\0'; opt > 0; opt--, s+= 3)
(void)sprintf(s, "%02.2x:", *t++);
(void)sprintf(s, "%02x:", *t++);
*s = '\0';
sendto_ops("Connection %s using IP opts: (%s)",
get_client_name(cptr, TRUE), readbuf);
@@ -1209,7 +1212,8 @@ aClient *cptr;
int get_sockerr(cptr)
aClient *cptr;
{
int errtmp = errno, err = 0, len = sizeof(err);
int errtmp = errno, err = 0;
socklen_t len = sizeof(err);
#ifdef SO_ERROR
if (cptr->fd >= 0)
if (!getsockopt(cptr->fd, SOL_SOCKET, SO_ERROR, (OPT_TYPE *)&err, &len))
@@ -1287,7 +1291,7 @@ int fd;
{
Reg1 char *s, *t;
struct sockaddr_in addr;
int len = sizeof(struct sockaddr_in);
socklen_t len = sizeof(struct sockaddr_in);
if (getpeername(fd, (struct sockaddr *) &addr, &len) == -1)
{
@@ -2389,10 +2393,10 @@ int len;
** later for making the right one is used
** for connecting to other hosts.
*/
if (!mycmp(me.name, tmp))
if (!strcasecmp(me.name, tmp))
break;
}
if (mycmp(me.name, tmp))
if (strcasecmp(me.name, tmp))
strncpyzt(name, hp->h_name, len);
else
strncpyzt(name, tmp, len);
@@ -2473,7 +2477,8 @@ static void polludp()
{
Reg1 char *s;
struct sockaddr_in from;
int n, fromlen = sizeof(from);
socklen_t fromlen = sizeof(from);
int n;
static time_t last = 0;
static int cnt = 0, mlen = 0;
@@ -2579,7 +2584,7 @@ static void do_dns_async()
if (hp)
{
bcopy(hp->h_addr, (char *)&cptr->ip, sizeof(struct in_addr));
if (ping_server(cptr, NULL, hp) == -1)
if (ping_server(cptr, hp) == -1)
end_ping(cptr);
}
else

View File

@@ -327,7 +327,7 @@ int statmask;
}
else if ((tmp->status & statmask) && !IsIllegal(tmp) &&
(tmp->status & (CONF_SERVER_MASK|CONF_HUB)) &&
tmp->name && !mycmp(tmp->name, name))
tmp->name && !strcasecmp(tmp->name, name))
{
if (!attach_conf(cptr, tmp) && !first)
first = tmp;
@@ -362,7 +362,7 @@ int statmask;
}
else if ((tmp->status & statmask) && !IsIllegal(tmp) &&
(tmp->status & CONF_SERVER_MASK) &&
(tmp->host && mycmp(tmp->host, host) == 0))
(tmp->host && strcasecmp(tmp->host, host) == 0))
{
if (!attach_conf(cptr, tmp) && !first)
first = tmp;
@@ -386,7 +386,7 @@ int statmask;
for (tmp = conf; tmp; tmp = tmp->next)
{
if (!(tmp->status & statmask) || !tmp->name || !tmp->host ||
mycmp(tmp->name, name))
strcasecmp(tmp->name, name))
continue;
/*
** Accept if the *real* hostname (usually sockecthost)
@@ -443,7 +443,7 @@ int statmask;
tmp = lp->value.aconf;
if ((tmp->status & statmask) &&
(((tmp->status & (CONF_SERVER_MASK|CONF_HUB)) &&
tmp->name && !mycmp(tmp->name, name)) ||
tmp->name && !strcasecmp(tmp->name, name)) ||
((tmp->status & (CONF_SERVER_MASK|CONF_HUB)) == 0 &&
tmp->name && !match(tmp->name, name))))
return tmp;
@@ -527,20 +527,20 @@ u_int mask;
if ((BadPtr(bconf->host) && !BadPtr(aconf->host)) ||
(BadPtr(aconf->host) && !BadPtr(bconf->host)))
continue;
if (!BadPtr(bconf->host) && mycmp(bconf->host, aconf->host))
if (!BadPtr(bconf->host) && strcasecmp(bconf->host, aconf->host))
continue;
if ((BadPtr(bconf->passwd) && !BadPtr(aconf->passwd)) ||
(BadPtr(aconf->passwd) && !BadPtr(bconf->passwd)))
continue;
if (!BadPtr(bconf->passwd) && mycmp(bconf->passwd, "ONE") &&
mycmp(bconf->passwd, aconf->passwd))
if (!BadPtr(bconf->passwd) && strcasecmp(bconf->passwd, "ONE") &&
strcasecmp(bconf->passwd, aconf->passwd))
continue;
if ((BadPtr(bconf->name) && !BadPtr(aconf->name)) ||
(BadPtr(aconf->name) && !BadPtr(bconf->name)))
continue;
if (!BadPtr(bconf->name) && mycmp(bconf->name, aconf->name))
if (!BadPtr(bconf->name) && strcasecmp(bconf->name, aconf->name))
continue;
break;
}
@@ -650,7 +650,7 @@ int sig;
(void)attach_confs(acptr, acptr->name,
CONF_HUB|CONF_LEAF|CONF_UWORLD);
}
if (found_g = find_kill(acptr))
if ((found_g = find_kill(acptr)))
{
sendto_ops(found_g == -2 ? "G-line active for %s" :
"K-line active for %s",
@@ -781,7 +781,7 @@ int opt;
if (!*(tmp+1))
break;
else
for (s = tmp; *s = *(s+1); s++)
for (s = tmp; (*s = *(s+1)); s++)
;
}
else if (*tmp == '#')
@@ -941,7 +941,7 @@ int opt;
{
aConfItem *bconf;
if (bconf = find_conf_entry(aconf, aconf->status))
if ((bconf = find_conf_entry(aconf, aconf->status)))
{
delist_conf(bconf);
bconf->status &= ~CONF_ILLEGAL;
@@ -1146,7 +1146,7 @@ aClient *cptr;
if ((tmp->status == CONF_KILL) && tmp->host && tmp->name &&
(match(tmp->host, host) == 0) &&
(!name || match(tmp->name, name) == 0) &&
(!tmp->port || (tmp->port == cptr->acpt->port)))
(!tmp->port || (tmp->port == cptr->acpt->port))) {
/* can short-circuit evaluation - not taking chances
cos check_time_interval destroys tmp->passwd
- Mmmm
@@ -1157,6 +1157,7 @@ aClient *cptr;
break;
else if (check_time_interval(tmp->passwd, reply))
break;
}
if (reply[0])
@@ -1318,7 +1319,6 @@ char *parv, *filename;
char line[80];
Reg1 char *tmp;
struct stat sb;
struct tm *tm;
/*
* stop NFS hangs...most systems should be able to open a file in
@@ -1336,7 +1336,6 @@ char *parv, *filename;
return 0;
}
(void)fstat(fd, &sb);
tm = localtime((time_t *)&sb.st_mtime); /* NetBSD needs cast */
(void)dgets(-1, NULL, 0); /* make sure buffer is at empty pos */
while (dgets(fd, line, sizeof(line)-1) > 0)
{

View File

@@ -167,19 +167,17 @@ char *form, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10;
{
int err = errno;
#else
void debug(level, form, va_alist)
int level;
char *form;
va_dcl
void debug(int level, char *form, ...)
{
va_list vl;
int err = errno;
va_start(vl);
va_start(vl, form);
#endif
if ((debuglevel >= 0) && (level <= debuglevel))
{
fprintf(stderr, "[%ld] ", clock());
#ifndef USE_VARARGS
(void)sprintf(debugbuf, form,
p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
@@ -227,7 +225,7 @@ char *nick;
if (getrusage(RUSAGE_SELF, &rus) == -1)
{
#if !defined(__FreeBSD__) && !defined(__NetBSD__)
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__linux__)
extern char *sys_errlist[];
#endif
sendto_one(cptr,":%s NOTICE %s :Getruseage error: %s.",
@@ -468,8 +466,8 @@ char *nick;
sendto_one(cptr, ":%s %d %s :Total: ww %d ch %d cl %d co %d db %d",
me.name, RPL_STATSDEBUG, nick, totww, totch, totcl, com, db);
sendto_one(cptr, ":%s %d %s :TOTAL: %d sbrk(0)-etext: %u",
sendto_one(cptr, ":%s %d %s :TOTAL: %d sbrk(0)-etext: %td",
me.name, RPL_STATSDEBUG, nick, tot,
(u_int)sbrk((size_t)0)-(u_int)sbrk0);
((unsigned char *)sbrk(0))-(unsigned char *)sbrk0);
return;
}

View File

@@ -34,261 +34,261 @@ static char numbuff[512];
static char numbers[] = "0123456789";
static Numeric local_replies[] = {
/* 000 */ 0, (char *)NULL,
/* 001 */ RPL_WELCOME, ":Welcome to the Internet Relay Network %s",
/* 002 */ RPL_YOURHOST, ":Your host is %s, running version %s",
/* 003 */ RPL_CREATED, ":This server was created %s",
/* 004 */ RPL_MYINFO, "%s %s dioswk biklmnopstv",
/* 005 */ RPL_MAP, ":%s%s",
/* 006 */ RPL_MAPMORE, ":%s%s --> *more*",
/* 007 */ RPL_MAPEND, ":End of /MAP",
0, (char *)NULL
{/* 000 */ 0, (char *)NULL},
{/* 001 */ RPL_WELCOME, ":Welcome to the Internet Relay Network %s"},
{/* 002 */ RPL_YOURHOST, ":Your host is %s, running version %s"},
{/* 003 */ RPL_CREATED, ":This server was created %s"},
{/* 004 */ RPL_MYINFO, "%s %s dioswk biklmnopstv"},
{/* 005 */ RPL_MAP, ":%s%s"},
{/* 006 */ RPL_MAPMORE, ":%s%s --> *more*"},
{/* 007 */ RPL_MAPEND, ":End of /MAP"},
{ 0, (char *)NULL}
};
static Numeric numeric_errors[] = {
/* 401 */ ERR_NOSUCHNICK, "%s :No such nick/channel",
/* 402 */ ERR_NOSUCHSERVER, "%s :No such server",
/* 402 */ ERR_NOSUCHCHANNEL, "%s :No such channel",
/* 402 */ ERR_CANNOTSENDTOCHAN, "%s :Cannot send to channel",
/* 402 */ ERR_TOOMANYCHANNELS, "%s :You have joined too many channels",
/* 402 */ ERR_WASNOSUCHNICK, "%s :There was no such nickname",
/* 402 */ ERR_TOOMANYTARGETS,
"%s :Duplicate recipients. No message delivered",
/* 402 */ ERR_NOSUCHSERVICE, (char *)NULL,
/* 402 */ ERR_NOORIGIN, ":No origin specified",
0, (char *)NULL,
/* 411 */ ERR_NORECIPIENT, ":No recipient given (%s)",
/* 411 */ ERR_NOTEXTTOSEND, ":No text to send",
/* 411 */ ERR_NOTOPLEVEL, "%s :No toplevel domain specified",
/* 411 */ ERR_WILDTOPLEVEL, "%s :Wildcard in toplevel Domain",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 421 */ ERR_UNKNOWNCOMMAND, "%s :Unknown command",
/* 422 */ ERR_NOMOTD, ":MOTD File is missing",
/* 422 */ ERR_NOADMININFO,
"%s :No administrative info available",
/* 422 */ ERR_FILEERROR, ":File error doing %s on %s",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 431 */ ERR_NONICKNAMEGIVEN, ":No nickname given",
/* 432 */ ERR_ERRONEUSNICKNAME, "%s :Erroneus Nickname",
/* 433 */ ERR_NICKNAMEINUSE, "%s :Nickname is already in use.",
/* 434 */ ERR_SERVICENAMEINUSE, (char *)NULL,
/* 435 */ ERR_SERVICECONFUSED, (char *)NULL,
/* 436 */ ERR_NICKCOLLISION, "%s :Nickname collision KILL",
/* 437 */ ERR_BANNICKCHANGE,
"%s :Cannot change nickname while banned on channel",
/* 438 */ ERR_NICKTOOFAST, "%s :Nick change too fast. Please wait %d seconds.",
0, (char *)NULL, 0, (char *)NULL,
/* 441 */ ERR_USERNOTINCHANNEL, "%s %s :They aren't on that channel",
/* 442 */ ERR_NOTONCHANNEL, "%s :You're not on that channel",
/* 443 */ ERR_USERONCHANNEL, "%s %s :is already on channel",
/* 444 */ ERR_NOLOGIN, "%s :User not logged in",
{/* 401 */ ERR_NOSUCHNICK, "%s :No such nick/channel"},
{/* 402 */ ERR_NOSUCHSERVER, "%s :No such server"},
{/* 402 */ ERR_NOSUCHCHANNEL, "%s :No such channel"},
{/* 402 */ ERR_CANNOTSENDTOCHAN, "%s :Cannot send to channel"},
{/* 402 */ ERR_TOOMANYCHANNELS, "%s :You have joined too many channels"},
{/* 402 */ ERR_WASNOSUCHNICK, "%s :There was no such nickname"},
{/* 402 */ ERR_TOOMANYTARGETS,
"%s :Duplicate recipients. No message delivered"},
{/* 402 */ ERR_NOSUCHSERVICE, (char *)NULL},
{/* 402 */ ERR_NOORIGIN, ":No origin specified"},
{ 0, (char *)NULL},
{/* 411 */ ERR_NORECIPIENT, ":No recipient given (%s)"},
{/* 411 */ ERR_NOTEXTTOSEND, ":No text to send"},
{/* 411 */ ERR_NOTOPLEVEL, "%s :No toplevel domain specified"},
{/* 411 */ ERR_WILDTOPLEVEL, "%s :Wildcard in toplevel Domain"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 421 */ ERR_UNKNOWNCOMMAND, "%s :Unknown command"},
{/* 422 */ ERR_NOMOTD, ":MOTD File is missing"},
{/* 422 */ ERR_NOADMININFO,
"%s :No administrative info available"},
{/* 422 */ ERR_FILEERROR, ":File error doing %s on %s"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 431 */ ERR_NONICKNAMEGIVEN, ":No nickname given"},
{/* 432 */ ERR_ERRONEUSNICKNAME, "%s :Erroneus Nickname"},
{/* 433 */ ERR_NICKNAMEINUSE, "%s :Nickname is already in use."},
{/* 434 */ ERR_SERVICENAMEINUSE, (char *)NULL},
{/* 435 */ ERR_SERVICECONFUSED, (char *)NULL},
{/* 436 */ ERR_NICKCOLLISION, "%s :Nickname collision KILL"},
{/* 437 */ ERR_BANNICKCHANGE,
"%s :Cannot change nickname while banned on channel"},
{/* 438 */ ERR_NICKTOOFAST, "%s :Nick change too fast. Please wait %d seconds."},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 441 */ ERR_USERNOTINCHANNEL, "%s %s :They aren't on that channel"},
{/* 442 */ ERR_NOTONCHANNEL, "%s :You're not on that channel"},
{/* 443 */ ERR_USERONCHANNEL, "%s %s :is already on channel"},
{/* 444 */ ERR_NOLOGIN, "%s :User not logged in"},
#ifndef ENABLE_SUMMON
/* 445 */ ERR_SUMMONDISABLED, ":SUMMON has been disabled",
{/* 445 */ ERR_SUMMONDISABLED, ":SUMMON has been disabled"},
#else
0, (char *)NULL,
{ 0, (char *)NULL},
#endif
#ifndef ENABLE_USERS
/* 446 */ ERR_USERSDISABLED, ":USERS has been disabled",
{/* 446 */ ERR_USERSDISABLED, ":USERS has been disabled"},
#else
0, (char *)NULL,
{ 0, (char *)NULL},
#endif
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 451 */ ERR_NOTREGISTERED, ":You have not registered",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 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, ":Password Incorrect",
/* 465 */ ERR_YOUREBANNEDCREEP, ":You are banned from this server",
/* 466 */ ERR_YOUWILLBEBANNED, (char *)NULL,
/* 467 */ ERR_KEYSET, "%s :Channel key already set",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 471 */ ERR_CHANNELISFULL, "%s :Cannot join channel (+l)",
/* 472 */ ERR_UNKNOWNMODE , "%c :is unknown mode char to me",
/* 473 */ ERR_INVITEONLYCHAN, "%s :Cannot join channel (+i)",
/* 474 */ ERR_BANNEDFROMCHAN, "%s :Cannot join channel (+b)",
/* 475 */ ERR_BADCHANNELKEY, "%s :Cannot join channel (+k)",
/* 476 */ ERR_BADCHANMASK, "%s :Bad Channel Mask",
0, (char *)NULL,
/* 478 */ ERR_BANLISTFULL, "%s %s :Channel ban/ignore list is full",
0, (char *)NULL, 0, (char *)NULL,
/* 481 */ ERR_NOPRIVILEGES,
":Permission Denied- You're not an IRC operator",
/* 482 */ ERR_CHANOPRIVSNEEDED, "%s :You're not channel operator",
/* 483 */ ERR_CANTKILLSERVER, ":You cant kill a server!",
/* 484 */ ERR_ISCHANSERVICE, "%s %s :Cannot kick or deop channel service",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 491 */ ERR_NOOPERHOST, ":No O-lines for your host",
/* 492 */ ERR_NOSERVICEHOST, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL,
/* 501 */ ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag",
/* 502 */ ERR_USERSDONTMATCH, ":Cant change mode for other users",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL,
/* 511 */ ERR_SILELISTFULL, "%s :Your silence list is full",
/* 512 */ ERR_NOSUCHGLINE, "%s@%s :No such gline",
/* 513 */ ERR_BADPING, (char*)NULL
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 451 */ ERR_NOTREGISTERED, ":You have not registered"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 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, ":Password Incorrect"},
{/* 465 */ ERR_YOUREBANNEDCREEP, ":You are banned from this server"},
{/* 466 */ ERR_YOUWILLBEBANNED, (char *)NULL},
{/* 467 */ ERR_KEYSET, "%s :Channel key already set"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 471 */ ERR_CHANNELISFULL, "%s :Cannot join channel (+l)"},
{/* 472 */ ERR_UNKNOWNMODE , "%c :is unknown mode char to me"},
{/* 473 */ ERR_INVITEONLYCHAN, "%s :Cannot join channel (+i)"},
{/* 474 */ ERR_BANNEDFROMCHAN, "%s :Cannot join channel (+b)"},
{/* 475 */ ERR_BADCHANNELKEY, "%s :Cannot join channel (+k)"},
{/* 476 */ ERR_BADCHANMASK, "%s :Bad Channel Mask"},
{ 0, (char *)NULL},
{/* 478 */ ERR_BANLISTFULL, "%s %s :Channel ban/ignore list is full"},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 481 */ ERR_NOPRIVILEGES,
":Permission Denied- You're not an IRC operator"},
{/* 482 */ ERR_CHANOPRIVSNEEDED, "%s :You're not channel operator"},
{/* 483 */ ERR_CANTKILLSERVER, ":You cant kill a server!"},
{/* 484 */ ERR_ISCHANSERVICE, "%s %s :Cannot kick or deop channel service"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 491 */ ERR_NOOPERHOST, ":No O-lines for your host"},
{/* 492 */ ERR_NOSERVICEHOST, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 501 */ ERR_UMODEUNKNOWNFLAG, ":Unknown MODE flag"},
{/* 502 */ ERR_USERSDONTMATCH, ":Cant change mode for other users"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 511 */ ERR_SILELISTFULL, "%s :Your silence list is full"},
{/* 512 */ ERR_NOSUCHGLINE, "%s@%s :No such gline"},
{/* 513 */ ERR_BADPING, (char*)NULL}
};
static Numeric numeric_replies[] = {
/* 300 */ RPL_NONE, (char *)NULL,
/* 301 */ RPL_AWAY, "%s :%s",
/* 302 */ RPL_USERHOST, ":",
/* 303 */ RPL_ISON, ":",
/* 304 */ RPL_TEXT, (char *)NULL,
/* 305 */ RPL_UNAWAY, ":You are no longer marked as being away",
/* 306 */ RPL_NOWAWAY, ":You have been marked as being away",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 311 */ RPL_WHOISUSER, "%s %s %s * :%s",
/* 312 */ RPL_WHOISSERVER, "%s %s :%s",
/* 313 */ RPL_WHOISOPERATOR, "%s :is an IRC Operator",
/* 314 */ RPL_WHOWASUSER, "%s %s %s * :%s",
/* 315 */ RPL_ENDOFWHO, "%s :End of /WHO list.",
/* 316 */ RPL_WHOISCHANOP, (char *)NULL,
/* 317 */ RPL_WHOISIDLE, "%s %ld %ld :seconds idle, signon time",
/* 318 */ RPL_ENDOFWHOIS, "%s :End of /WHOIS list.",
/* 319 */ RPL_WHOISCHANNELS, "%s :%s",
0, (char *)NULL,
/* 321 */ RPL_LISTSTART, "Channel :Users Name",
/* 322 */ RPL_LIST, "%s %d :%s",
/* 323 */ RPL_LISTEND, ":End of /LIST",
/* 324 */ RPL_CHANNELMODEIS, "%s %s %s",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 329 */ RPL_CREATIONTIME, "%s %lu",
0, (char *)NULL,
/* 331 */ RPL_NOTOPIC, "%s :No topic is set.",
/* 332 */ RPL_TOPIC, "%s :%s",
/* 333 */ RPL_TOPICWHOTIME, "%s %s %lu",
/* 334 */ RPL_LISTUSAGE, ":%s",
0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 341 */ RPL_INVITING, "%s %s",
/* 342 */ RPL_SUMMONING, "%s :User summoned to irc",
0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 351 */ RPL_VERSION, "%s.%s %s :%s",
/* 352 */ RPL_WHOREPLY, "%s %s %s %s %s %s :%d %s",
/* 353 */ RPL_NAMREPLY, "%s",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 361 */ RPL_KILLDONE, (char *)NULL,
/* 362 */ RPL_CLOSING, "%s :Closed. Status = %d",
/* 363 */ RPL_CLOSEEND, "%d: Connections Closed",
/* 364 */ RPL_LINKS, "%s %s :%d P%u %s",
/* 365 */ RPL_ENDOFLINKS, "%s :End of /LINKS list.",
/* 366 */ RPL_ENDOFNAMES, "%s :End of /NAMES list.",
/* 367 */ RPL_BANLIST, "%s %s %s %lu",
/* 368 */ RPL_ENDOFBANLIST, "%s :End of Channel Ban List",
/* 369 */ RPL_ENDOFWHOWAS, "%s :End of WHOWAS",
0, (char *)NULL,
/* 371 */ RPL_INFO, ":%s",
/* 372 */ RPL_MOTD, ":- %s",
/* 373 */ RPL_INFOSTART, ":Server INFO",
/* 374 */ RPL_ENDOFINFO, ":End of /INFO list.",
/* 375 */ RPL_MOTDSTART, ":- %s Message of the Day - ",
/* 376 */ RPL_ENDOFMOTD, ":End of /MOTD command.",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 381 */ RPL_YOUREOPER, ":You are now an IRC Operator",
/* 382 */ RPL_REHASHING, "%s :Rehashing",
/* 383 */ RPL_YOURESERVICE, (char *)NULL,
/* 384 */ RPL_MYPORTIS, "%d :Port to local server is\r\n",
/* 385 */ RPL_NOTOPERANYMORE, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL,
/* 391 */ RPL_TIME, "%s %lu %ld :%s",
{/* 300 */ RPL_NONE, (char *)NULL},
{/* 301 */ RPL_AWAY, "%s :%s"},
{/* 302 */ RPL_USERHOST, ":"},
{/* 303 */ RPL_ISON, ":"},
{/* 304 */ RPL_TEXT, (char *)NULL},
{/* 305 */ RPL_UNAWAY, ":You are no longer marked as being away"},
{/* 306 */ RPL_NOWAWAY, ":You have been marked as being away"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 311 */ RPL_WHOISUSER, "%s %s %s * :%s"},
{/* 312 */ RPL_WHOISSERVER, "%s %s :%s"},
{/* 313 */ RPL_WHOISOPERATOR, "%s :is an IRC Operator"},
{/* 314 */ RPL_WHOWASUSER, "%s %s %s * :%s"},
{/* 315 */ RPL_ENDOFWHO, "%s :End of /WHO list."},
{/* 316 */ RPL_WHOISCHANOP, (char *)NULL},
{/* 317 */ RPL_WHOISIDLE, "%s %ld %ld :seconds idle, signon time"},
{/* 318 */ RPL_ENDOFWHOIS, "%s :End of /WHOIS list."},
{/* 319 */ RPL_WHOISCHANNELS, "%s :%s"},
{ 0, (char *)NULL},
{/* 321 */ RPL_LISTSTART, "Channel :Users Name"},
{/* 322 */ RPL_LIST, "%s %d :%s"},
{/* 323 */ RPL_LISTEND, ":End of /LIST"},
{/* 324 */ RPL_CHANNELMODEIS, "%s %s %s"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 329 */ RPL_CREATIONTIME, "%s %lu"},
{ 0, (char *)NULL},
{/* 331 */ RPL_NOTOPIC, "%s :No topic is set."},
{/* 332 */ RPL_TOPIC, "%s :%s"},
{/* 333 */ RPL_TOPICWHOTIME, "%s %s %lu"},
{/* 334 */ RPL_LISTUSAGE, ":%s"},
{ 0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 341 */ RPL_INVITING, "%s %s"},
{/* 342 */ RPL_SUMMONING, "%s :User summoned to irc"},
{ 0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 351 */ RPL_VERSION, "%s.%s %s :%s"},
{/* 352 */ RPL_WHOREPLY, "%s %s %s %s %s %s :%d %s"},
{/* 353 */ RPL_NAMREPLY, "%s"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 361 */ RPL_KILLDONE, (char *)NULL},
{/* 362 */ RPL_CLOSING, "%s :Closed. Status = %d"},
{/* 363 */ RPL_CLOSEEND, "%d: Connections Closed"},
{/* 364 */ RPL_LINKS, "%s %s :%d P%u %s"},
{/* 365 */ RPL_ENDOFLINKS, "%s :End of /LINKS list."},
{/* 366 */ RPL_ENDOFNAMES, "%s :End of /NAMES list."},
{/* 367 */ RPL_BANLIST, "%s %s %s %lu"},
{/* 368 */ RPL_ENDOFBANLIST, "%s :End of Channel Ban List"},
{/* 369 */ RPL_ENDOFWHOWAS, "%s :End of WHOWAS"},
{ 0, (char *)NULL},
{/* 371 */ RPL_INFO, ":%s"},
{/* 372 */ RPL_MOTD, ":- %s"},
{/* 373 */ RPL_INFOSTART, ":Server INFO"},
{/* 374 */ RPL_ENDOFINFO, ":End of /INFO list."},
{/* 375 */ RPL_MOTDSTART, ":- %s Message of the Day - "},
{/* 376 */ RPL_ENDOFMOTD, ":End of /MOTD command."},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 381 */ RPL_YOUREOPER, ":You are now an IRC Operator"},
{/* 382 */ RPL_REHASHING, "%s :Rehashing"},
{/* 383 */ RPL_YOURESERVICE, (char *)NULL},
{/* 384 */ RPL_MYPORTIS, "%d :Port to local server is\r\n"},
{/* 385 */ RPL_NOTOPERANYMORE, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 391 */ RPL_TIME, "%s %lu %ld :%s"},
#ifdef ENABLE_USERS
/* 392 */ RPL_USERSSTART, ":UserID Terminal Host",
/* 393 */ RPL_USERS, ":%-8s %-9s %-8s",
/* 394 */ RPL_ENDOFUSERS, ":End of Users",
/* 395 */ RPL_NOUSERS, ":Nobody logged in.",
{/* 392 */ RPL_USERSSTART, ":UserID Terminal Host"},
{/* 393 */ RPL_USERS, ":%-8s %-9s %-8s"},
{/* 394 */ RPL_ENDOFUSERS, ":End of Users"},
{/* 395 */ RPL_NOUSERS, ":Nobody logged in."},
#else
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
#endif
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 200 */ RPL_TRACELINK, "Link %s%s %s %s",
/* 201 */ RPL_TRACECONNECTING, "Try. %d %s",
/* 202 */ RPL_TRACEHANDSHAKE, "H.S. %d %s",
/* 203 */ RPL_TRACEUNKNOWN, "???? %d %s",
/* 204 */ RPL_TRACEOPERATOR, "Oper %d %s %ld",
/* 205 */ RPL_TRACEUSER, "User %d %s %ld",
/* 206 */ RPL_TRACESERVER, "Serv %d %dS %dC %s %s!%s@%s %ld",
/* 207 */ RPL_TRACESERVICE, "Service %d %s",
/* 208 */ RPL_TRACENEWTYPE, "<newtype> 0 %s",
/* 209 */ RPL_TRACECLASS, "Class %d %d",
0, (char *)NULL,
/* 211 */ RPL_STATSLINKINFO, (char *)NULL,
/* 212 */ RPL_STATSCOMMANDS, "%s %u %u",
/* 213 */ RPL_STATSCLINE, "%c %s * %s %d %d",
/* 214 */ RPL_STATSNLINE, "%c %s * %s %d %d",
/* 215 */ RPL_STATSILINE, "%c %s * %s %d %d",
/* 216 */ RPL_STATSKLINE, "%c %s %s %s %d %d",
/* 217 */ RPL_STATSQLINE, "%c %s * %s %d %d",
/* 218 */ RPL_STATSYLINE, "%c %d %d %d %d %ld",
/* 219 */ RPL_ENDOFSTATS, "%c :End of /STATS report",
0, (char *)NULL,
/* 221 */ RPL_UMODEIS, "%s",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 231 */ RPL_SERVICEINFO, (char *)NULL,
/* 232 */ RPL_ENDOFSERVICES, (char *)NULL,
/* 233 */ RPL_SERVICE, (char *)NULL,
/* 234 */ RPL_SERVLIST, (char *)NULL,
/* 235 */ RPL_SERVLISTEND, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL,
/* 241 */ RPL_STATSLLINE, "%c %s * %s %d %d",
/* 242 */ RPL_STATSUPTIME, ":Server Up %d days, %d:%02d:%02d",
/* 243 */ RPL_STATSOLINE, "%c %s * %s %d %d",
/* 244 */ RPL_STATSHLINE, "%c %s * %s %d %d",
/* 245 */ RPL_STATSSLINE, "%c %s * %s %d %d",
/* 246 */ RPL_STATSTLINE, "%c %s %s",
/* 247 */ RPL_STATSGLINE, "%c %s@%s %lu :%s",
/* 248 */ RPL_STATSULINE, "%c %s * %s %d %d",
0, (char *)NULL,
/* 250 */ RPL_STATSCONN,
":Highest connection count: %d (%d clients)",
/* 251 */ RPL_LUSERCLIENT,
":There are %d users and %d invisible on %d servers",
/* 252 */ RPL_LUSEROP, "%d :operator(s) online",
/* 253 */ RPL_LUSERUNKNOWN, "%d :unknown connection(s)",
/* 254 */ RPL_LUSERCHANNELS, "%d :channels formed",
/* 255 */ RPL_LUSERME, ":I have %d clients and %d servers",
/* 256 */ RPL_ADMINME, ":Administrative info about %s",
/* 257 */ RPL_ADMINLOC1, ":%s",
/* 258 */ RPL_ADMINLOC2, ":%s",
/* 259 */ RPL_ADMINEMAIL, ":%s",
0, (char *)NULL,
/* 261 */ RPL_TRACELOG, "File %s %d",
/* 262 */ RPL_TRACEPING, "Ping %s %s",
0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
/* 271 */ RPL_SILELIST, "%s %s",
/* 272 */ RPL_ENDOFSILELIST, ":End of Silence List",
0, (char *)NULL, 0, (char *)NULL,
/* 275 */ RPL_STATSDLINE, "%c %s %s",
0, (char *)NULL, 0, (char *)NULL, 0, (char *)NULL,
0, (char *)NULL,
/* 280 */ RPL_GLIST, "%s@%s %lu %s%s",
/* 281 */ RPL_ENDOFGLIST, ":End of G-line List"
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 200 */ RPL_TRACELINK, "Link %s%s %s %s"},
{/* 201 */ RPL_TRACECONNECTING, "Try. %d %s"},
{/* 202 */ RPL_TRACEHANDSHAKE, "H.S. %d %s"},
{/* 203 */ RPL_TRACEUNKNOWN, "???? %d %s"},
{/* 204 */ RPL_TRACEOPERATOR, "Oper %d %s %ld"},
{/* 205 */ RPL_TRACEUSER, "User %d %s %ld"},
{/* 206 */ RPL_TRACESERVER, "Serv %d %dS %dC %s %s!%s@%s %ld"},
{/* 207 */ RPL_TRACESERVICE, "Service %d %s"},
{/* 208 */ RPL_TRACENEWTYPE, "<newtype> 0 %s"},
{/* 209 */ RPL_TRACECLASS, "Class %d %d"},
{ 0, (char *)NULL},
{/* 211 */ RPL_STATSLINKINFO, (char *)NULL},
{/* 212 */ RPL_STATSCOMMANDS, "%s %u %u"},
{/* 213 */ RPL_STATSCLINE, "%c %s * %s %d %d"},
{/* 214 */ RPL_STATSNLINE, "%c %s * %s %d %d"},
{/* 215 */ RPL_STATSILINE, "%c %s * %s %d %d"},
{/* 216 */ RPL_STATSKLINE, "%c %s %s %s %d %d"},
{/* 217 */ RPL_STATSQLINE, "%c %s * %s %d %d"},
{/* 218 */ RPL_STATSYLINE, "%c %d %d %d %d %ld"},
{/* 219 */ RPL_ENDOFSTATS, "%c :End of /STATS report"},
{ 0, (char *)NULL},
{/* 221 */ RPL_UMODEIS, "%s"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 231 */ RPL_SERVICEINFO, (char *)NULL},
{/* 232 */ RPL_ENDOFSERVICES, (char *)NULL},
{/* 233 */ RPL_SERVICE, (char *)NULL},
{/* 234 */ RPL_SERVLIST, (char *)NULL},
{/* 235 */ RPL_SERVLISTEND, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 241 */ RPL_STATSLLINE, "%c %s * %s %d %d"},
{/* 242 */ RPL_STATSUPTIME, ":Server Up %d days, %d:%02d:%02d"},
{/* 243 */ RPL_STATSOLINE, "%c %s * %s %d %d"},
{/* 244 */ RPL_STATSHLINE, "%c %s * %s %d %d"},
{/* 245 */ RPL_STATSSLINE, "%c %s * %s %d %d"},
{/* 246 */ RPL_STATSTLINE, "%c %s %s"},
{/* 247 */ RPL_STATSGLINE, "%c %s@%s %lu :%s"},
{/* 248 */ RPL_STATSULINE, "%c %s * %s %d %d"},
{ 0, (char *)NULL},
{/* 250 */ RPL_STATSCONN,
":Highest connection count: %d (%d clients)"},
{/* 251 */ RPL_LUSERCLIENT,
":There are %d users and %d invisible on %d servers"},
{/* 252 */ RPL_LUSEROP, "%d :operator(s) online"},
{/* 253 */ RPL_LUSERUNKNOWN, "%d :unknown connection(s)"},
{/* 254 */ RPL_LUSERCHANNELS, "%d :channels formed"},
{/* 255 */ RPL_LUSERME, ":I have %d clients and %d servers"},
{/* 256 */ RPL_ADMINME, ":Administrative info about %s"},
{/* 257 */ RPL_ADMINLOC1, ":%s"},
{/* 258 */ RPL_ADMINLOC2, ":%s"},
{/* 259 */ RPL_ADMINEMAIL, ":%s"},
{ 0, (char *)NULL},
{/* 261 */ RPL_TRACELOG, "File %s %d"},
{/* 262 */ RPL_TRACEPING, "Ping %s %s"},
{ 0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{/* 271 */ RPL_SILELIST, "%s %s"},
{/* 272 */ RPL_ENDOFSILELIST, ":End of Silence List"},
{ 0, (char *)NULL}, {0, (char *)NULL},
{/* 275 */ RPL_STATSDLINE, "%c %s %s"},
{ 0, (char *)NULL}, {0, (char *)NULL}, {0, (char *)NULL},
{ 0, (char *)NULL},
{/* 280 */ RPL_GLIST, "%s@%s %lu %s%s"},
{/* 281 */ RPL_ENDOFGLIST, ":End of G-line List"}
};
char *err_str(numeric)

View File

@@ -220,7 +220,7 @@ int showip;
inetntoa((char *)&sptr->ip));
else
{
if (mycmp(sptr->name, sptr->sockhost))
if (strcasecmp(sptr->name, sptr->sockhost))
(void)sprintf(nbuf, "%s[%s]",
sptr->name, sptr->sockhost);
else
@@ -422,10 +422,10 @@ char *comment; /* Reason for the exit */
{
(void)alarm(0);
(void)sprintf(linebuf,
"%s (%3d:%02d:%02d): %s@%s [%s]\n",
"%s (%3llu:%02llu:%02llu): %s@%s [%s]\n",
myctime(bcptr->firsttime),
on_for / 3600, (on_for % 3600)/60,
on_for % 60,
(unsigned long long)on_for / 3600, ((unsigned long long)on_for % 3600)/60,
(unsigned long long)on_for % 60,
bcptr->user->username, bcptr->user->host,
bcptr->username);
(void)alarm(3);
@@ -530,17 +530,14 @@ aClient *cptr, *bcptr, *sptr;
char *pattern, *p1, *p2, *p3, *p4, *p5, *p6;
{
#else
int exit_client_msg(cptr, bcptr, sptr, pattern, va_alist)
aClient *cptr, *bcptr, *sptr;
char *pattern;
va_dcl
int exit_client_msg(aClient *cptr, aClient *bcptr, aClient *sptr, char *pattern, ...)
{
va_list vl;
#endif
char msgbuf[1024];
#ifdef USE_VARARGS
va_start(vl);
va_start(vl, pattern);
(void)vsprintf(msgbuf, pattern, vl);
va_end(vl);
#else

View File

@@ -43,8 +43,6 @@ static char sccsid[] = "@(#)s_ping.c 1.0 9/21/94 (C) 1994 Carlo Kid";
#define UPINGBUFSIZE 2000 /* Lot bigger then 1024, bit smaller then 2048 */
#define UPINGTIMEOUT 120 /* Timeout waitting for first ping response */
extern u_long inet_addr();
/*
* start_ping
*
@@ -163,9 +161,9 @@ aClient *cptr;
*
*/
void read_ping(cptr)
Reg1 aClient *cptr;
aClient *cptr;
{
int addr_len = sizeof(struct sockaddr_in);
socklen_t addr_len = sizeof(struct sockaddr_in);
struct sockaddr_in remote_addr;
struct timeval tv;
int len;
@@ -211,7 +209,7 @@ Reg1 aClient *cptr;
cptr->since = 2;
cptr->firsttime = tv.tv_sec + cptr->since;
Debug(("read_ping: %d bytes, ti %lu: [%s %s] %u ms",
Debug((DEBUG_DEBUG, "read_ping: %d bytes, ti %lu: [%s %s] %u ms",
len, cptr->since, (char *)cptr->confs,
(char *)cptr->confs + strlen((char *)cptr->confs) + 1, pingtime));
@@ -273,7 +271,7 @@ int parc;
char *parv[];
{
aConfItem *aconf;
int port, fd, opt;
int port = 7007, fd, opt;
if (!IsPrivileged(sptr))
{

View File

@@ -170,7 +170,7 @@ char *parv[];
*/
if ((*server == '*') && IsServer(cptr) &&
(aconf = cptr->serv->nline) &&
!mycmp(server, my_name_for_link(me.name, aconf)))
!strcasecmp(server, my_name_for_link(me.name, aconf)))
{
server = cptr->name;
acptr = cptr;
@@ -291,7 +291,7 @@ char *fmt, *p1, *p2, *p3, *host;
static int a_kills_b_too(a, b)
register aClient *a, *b;
{
for (; b != a && b != &me; b = b->serv->up)
for (; b != a && b != &me; b = b->serv->up);
return (a == b ? 1 : 0);
}
@@ -314,11 +314,11 @@ char *parv[];
Reg2 int i;
Reg3 Link *lp;
char info[REALLEN+1], *inpath, *host, *s;
aClient *acptr, *bcptr, *LHcptr;
aConfItem *aconf, *bconf, *cconf, *lhconf;
aClient *acptr, *bcptr, *LHcptr = NULL;
aConfItem *aconf, *bconf = NULL, *cconf, *lhconf = NULL;
int hop, ret, active_lh_line = 0;
u_short prot;
time_t start_timestamp, timestamp=0, recv_time, ghost=0;
time_t start_timestamp=0, timestamp=0, recv_time, ghost=0;
recv_time = TStime();
info[0] = '\0';
@@ -349,7 +349,7 @@ char *parv[];
Debug((DEBUG_INFO, "Got SERVER %s with timestamp [%s] age %lu (%lu)",
host, parv[4], start_timestamp, me.serv->timestamp));
if (prot>4 &&
(timestamp<780000000 || hop==1 && start_timestamp<780000000))
(timestamp<780000000 || (hop==1 && start_timestamp<780000000)))
{
return exit_client_msg(cptr, sptr, &me,
"Bogus timestamps (%s %s)", parv[3], parv[4]);
@@ -979,13 +979,12 @@ Reg2 aConfItem *aconf, *bconf;
{
Reg3 aClient *acptr;
Reg4 Link *lp;
char *inpath, *host, *s;
char *inpath, *s;
int split, i;
split = (mycmp(cptr->name, cptr->sockhost) &&
split = (strcasecmp(cptr->name, cptr->sockhost) &&
strncasecmp(cptr->info, "JUPE", 4));
inpath = get_client_name(cptr,TRUE);
host = cptr->name;
if (IsUnknown(cptr))
{
@@ -1098,7 +1097,7 @@ Reg2 aConfItem *aconf, *bconf;
acptr->name) == 0)
continue;
split = (MyConnect(acptr) &&
mycmp(acptr->name, acptr->sockhost) &&
strcasecmp(acptr->name, acptr->sockhost) &&
strncasecmp(acptr->info, "JUPE", 4));
if (split && Protocol(cptr)<9)
{
@@ -1432,7 +1431,7 @@ int mask;
port = (int)tmp->port;
/*
* On K line the passwd contents can be
/* displayed on STATS reply. -Vesa
* displayed on STATS reply. -Vesa
*/
if (tmp->status == CONF_KILL)
sendto_one(sptr, rpl_str(p[1]), me.name,
@@ -1477,7 +1476,7 @@ char *parv[];
if (parc > 2)
{
name = parv[2];
if (!mycmp(name, me.name))
if (!strcasecmp(name, me.name))
doall = 2;
else if (matches(name, me.name) == 0)
doall = 1;
@@ -1507,7 +1506,7 @@ char *parv[];
continue;
if (!doall && wilds && matches(name, acptr->name))
continue;
if (!(doall || wilds) && mycmp(name, acptr->name))
if (!(doall || wilds) && strcasecmp(name, acptr->name))
continue;
sendto_one(sptr, Lformat, me.name,
RPL_STATSLINKINFO, parv[0],
@@ -1755,15 +1754,18 @@ char *parv[];
(void)collapse(parv[1]);
for (acptr = client; acptr; acptr = acptr->next)
{
if (parc>1)
if (parc>1) {
if (!IsServer(acptr) && acptr->user)
{
if (match(parv[1], acptr->user->server->name))
continue;
}
else
{
if (match(parv[1], acptr->name))
continue;
}
}
switch (acptr->status)
{
@@ -2074,7 +2076,7 @@ char *parv[];
** parv[1] = new time
** parv[2] = servername
*/
m_settime(cptr, sptr, parc, parv)
int m_settime(cptr, sptr, parc, parv)
aClient *cptr, *sptr;
int parc;
char *parv[];
@@ -2417,8 +2419,8 @@ char *parv[];
for (i = 0; i < MAXCONNECTIONS; i++)
link_s[i] = 0, link_u[i] = 0;
if (doall)
for (acptr = client; acptr; acptr = acptr->next)
if (doall) {
for (acptr = client; acptr; acptr = acptr->next) {
#ifdef SHOW_INVISIBLE_LUSERS
if (IsPerson(acptr))
link_u[acptr->from->fd]++;
@@ -2429,6 +2431,8 @@ char *parv[];
#endif
else if (IsServer(acptr))
link_s[acptr->from->fd]++;
}
}
/* report all direct connections */
@@ -2445,7 +2449,7 @@ char *parv[];
continue;
if (!doall && wilds && matches(tname, acptr->name))
continue;
if (!dow && mycmp(tname, acptr->name))
if (!dow && strcasecmp(tname, acptr->name))
continue;
name = get_client_name(acptr,FALSE);
class = get_client_class(acptr);
@@ -2473,8 +2477,8 @@ char *parv[];
/* Only opers see users if there is a wildcard
* but anyone can see all the opers.
*/
if (IsOper(sptr) &&
(MyClient(sptr) || !(dow && IsInvisible(acptr)))
if ((IsOper(sptr) &&
(MyClient(sptr) || !(dow && IsInvisible(acptr))))
|| !dow || IsAnOper(acptr))
{
if (IsAnOper(acptr))
@@ -2754,7 +2758,7 @@ char *parv[];
continue;
}
if (!mycmp(agline->name, user) && !mycmp(agline->host, host))
if (!strcasecmp(agline->name, user) && !strcasecmp(agline->host, host))
break;
a2gline = agline;
@@ -2934,8 +2938,8 @@ char *parv[];
continue;
}
if ((!match(agline->name, user) || !mycmp(agline->name, user)) &&
(!match(agline->host, host) || !mycmp(agline->host, host)))
if ((!match(agline->name, user) || !strcasecmp(agline->name, user)) &&
(!match(agline->host, host) || !strcasecmp(agline->host, host)))
break;
a2gline = agline;

View File

@@ -269,7 +269,7 @@ char *buffer;
{
for (p2 = NULL, t = strtoken(&p2, cbuf, ","); t;
t = strtoken(&p2, NULL, ","))
if (!mycmp(s, t))
if (!strcasecmp(s, t))
break;
else if (p2)
p2[-1] = ',';
@@ -464,7 +464,8 @@ char *nick, *username;
}
#endif
#ifdef DISALLOW_MIXED_CASE
#if 0
/*#ifdef DISALLOW_MIXED_CASE*/
/* check for mixed case usernames, meaning probably hacked Jon2 3-94
Summary of rules now implemented in this patch: Ensor 11-94
In a mixed-case name, if first char is upper, one more upper may
@@ -632,8 +633,8 @@ char *parv[];
me.name, parv[0]);
return 0;
}
else if (IsServer(sptr) && parc < 7 ||
IsServer(cptr) && parc < 3)
else if ((IsServer(sptr) && parc < 7) ||
(IsServer(cptr) && parc < 3))
{
sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
me.name, parv[0], "NICK");
@@ -775,7 +776,7 @@ char *parv[];
** is concerned (user is changing the case of his/her
** nickname or somesuch)
*/
if (acptr == sptr)
if (acptr == sptr) {
if (strcmp(acptr->name, nick) != 0)
/*
** Allows change of case in his/her nick
@@ -790,6 +791,7 @@ char *parv[];
** version would treat it as nick collision.
*/
return 0; /* NICK Message ignored */
}
/*
** Note: From this point forward it can be assumed that
** acptr != sptr (point to different client structures).
@@ -844,8 +846,8 @@ char *parv[];
** server (e.g. message type ":server NICK new ..." received)
*/
lastnick = atoi(parv[3]);
differ = (mycmp(acptr->user->username, parv[4]) ||
mycmp(acptr->user->host, parv[5]));
differ = (strcasecmp(acptr->user->username, parv[4]) ||
strcasecmp(acptr->user->host, parv[5]));
sendto_ops("Nick collision on %s (%s %d <- %s %d (%s user@host))",
acptr->name, acptr->from->name, acptr->lastnick,
get_client_name(cptr, FALSE), lastnick,
@@ -857,8 +859,8 @@ char *parv[];
** A NICK change has collided (e.g. message type ":old NICK new").
*/
lastnick = atoi(parv[2]);
differ = (mycmp(acptr->user->username, sptr->user->username) ||
mycmp(acptr->user->host, sptr->user->host));
differ = (strcasecmp(acptr->user->username, sptr->user->username) ||
strcasecmp(acptr->user->host, sptr->user->host));
sendto_ops("Nick change collision from %s to %s (%s %d <- %s %d)",
sptr->name, acptr->name, acptr->from->name,
acptr->lastnick, get_client_name(cptr, FALSE), lastnick);
@@ -871,8 +873,8 @@ char *parv[];
** acptr->from != cptr should *always* be true (?).
*/
if (acptr->from != cptr)
{ if (differ && lastnick >= acptr->lastnick ||
!differ && lastnick <= acptr->lastnick)
{ if ((differ && lastnick >= acptr->lastnick) ||
(!differ && lastnick <= acptr->lastnick))
{ if (!IsServer(sptr))
{ ircstp->is_kill++;
sendto_serv_butone(cptr, /* Kill old from outgoing servers */
@@ -949,7 +951,7 @@ nickkilldone:
** on a channel, send note of change to all clients
** on that channel. Propagate notice to other servers.
*/
if (mycmp(parv[0], nick))
if (strcasecmp(parv[0], nick))
sptr->lastnick = (sptr == cptr) ? TStime(): atoi(parv[2]);
if (sptr->user)
{
@@ -1638,7 +1640,7 @@ int parc;
char *parv[];
{
#define UFLAGS (FLAGS_INVISIBLE|FLAGS_WALLOP|FLAGS_SERVNOTICE)
char *username, *host, *server, *realname;
char *username, *host, *realname;
anUser *user;
if (IsServer(cptr))
@@ -1658,7 +1660,6 @@ char *parv[];
username = (parc < 2 || BadPtr(parv[1])) ? "<bad-boy>" : parv[1];
host = (parc < 3 || BadPtr(parv[2])) ? "<nohost>" : parv[2];
server = (parc < 4 || BadPtr(parv[3])) ? "<noserver>" : parv[3];
realname = (parc < 5 || BadPtr(parv[4])) ? "<bad-realname>" : parv[4];
user = make_user(sptr);
@@ -2003,7 +2004,7 @@ char *parv[];
acptr = find_server(origin, NULL);
if (acptr && acptr != sptr)
origin = cptr->name;
if (!BadPtr(destination) && mycmp(destination, me.name) != 0)
if (!BadPtr(destination) && strcasecmp(destination, me.name) != 0)
{
if ((acptr = find_server(destination, NULL)))
sendto_one(acptr,":%s PING %s :%s", parv[0],
@@ -2071,7 +2072,7 @@ char *parv[];
cptr->flags &= ~FLAGS_PINGSENT;
sptr->flags &= ~FLAGS_PINGSENT;
if (!BadPtr(destination) && mycmp(destination, me.name) != 0)
if (!BadPtr(destination) && strcasecmp(destination, me.name) != 0)
{
if ((acptr = find_client(destination, NULL)) ||
(acptr = find_server(destination, NULL)))
@@ -2419,7 +2420,7 @@ char *parv[];
else
for (acptr = client; acptr; acptr = acptr->next)
if (IsServer(acptr) && acptr != cptr
&& !mycmp(nbuf, acptr->name))
&& !strcasecmp(nbuf, acptr->name))
{
sendto_one(acptr, ":%s NOTE :%s",
parv[0], parv[1]);
@@ -2477,16 +2478,17 @@ char *parv[];
if (IsServer(sptr) || sptr != acptr)
{
if (IsServer(cptr))
if (IsServer(cptr)) {
sendto_ops_butone(NULL, &me,
":%s WALLOPS :MODE for User %s From %s!%s",
me.name, parv[1],
get_client_name(cptr, FALSE), sptr->name);
else
} else {
sendto_one(sptr, err_str(ERR_USERSDONTMATCH),
me.name, parv[0]);
return 0;
}
}
if (parc < 3)
{
@@ -2697,7 +2699,7 @@ char *mask;
Reg2 Link *tmp;
for (lp = &(sptr->user->silence); *lp; lp = &((*lp)->next))
if (mycmp(mask, (*lp)->value.cp)==0)
if (strcasecmp(mask, (*lp)->value.cp)==0)
{ tmp = *lp;
*lp = tmp->next;
MyFree(tmp->value.cp);
@@ -2721,7 +2723,7 @@ char *mask;
else
{ if (!matches(lp->value.cp, mask))
return -1; }
else if (!mycmp(lp->value.cp, mask))
else if (!strcasecmp(lp->value.cp, mask))
return -1;
}
lp = make_link();

View File

@@ -89,7 +89,7 @@ aClient *sptr;
char *parv; /* we only get passed the original parv[0] */
{
register struct load_entry *cur_load_entry;
struct load_entry *last;
struct load_entry *last = NULL;
u_long secs = 0, adj_secs, total[3], adj[3];/*[local,client,conn]*/
int i, times[5][3]; /* [min,hour,day,Yest,YYest][local,client,conn] */
char what[3][HOSTLEN + 1];

View File

@@ -87,7 +87,7 @@ time_t timelimit;
timelimit = now-timelimit;
do {
if (!mycmp(nick, wp->ww_nick) && wp->ww_logout >= timelimit)
if (!strcasecmp(nick, wp->ww_nick) && wp->ww_logout >= timelimit)
break;
if (wp == was)
{
@@ -156,7 +156,7 @@ char *parv[];
do {
if (wp < was)
wp = &was[NICKNAMEHISTORYLENGTH - 1];
if (mycmp(nick, wp->ww_nick) == 0)
if (strcasecmp(nick, wp->ww_nick) == 0)
{
up = wp->ww_user;
sendto_one(sptr, rpl_str(RPL_WHOWASUSER),