neozeed ircu2.9.32-linux-hacks.diff
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 */
|
||||
|
||||
102
common/send.c
102
common/send.c
@@ -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,13 +164,10 @@ 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);
|
||||
va_start(vl, pattern);
|
||||
vsendto_one(to, pattern, vl);
|
||||
va_end(vl);
|
||||
}
|
||||
@@ -287,11 +285,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 +294,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;
|
||||
@@ -356,17 +350,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 +386,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 +395,7 @@ va_dcl
|
||||
Reg3 Link *lp;
|
||||
|
||||
# ifdef USE_VARARGS
|
||||
va_start(vl);
|
||||
va_start(vl, pattern);
|
||||
# endif
|
||||
|
||||
for (i = 0; i <= highest_fd; i++)
|
||||
@@ -455,19 +443,17 @@ 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);
|
||||
@@ -520,11 +506,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 +515,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 +558,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 +566,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++)
|
||||
{
|
||||
@@ -639,10 +617,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,7 +625,8 @@ 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);
|
||||
va_end(vl);
|
||||
@@ -676,10 +652,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 +662,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 +692,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 +702,7 @@ va_dcl
|
||||
char *fmt_target;
|
||||
|
||||
#ifdef USE_VARARGS
|
||||
va_start(vl);
|
||||
va_start(vl, pattern);
|
||||
#endif
|
||||
|
||||
(void)sprintf(fmt, ":%s NOTICE ", me.name);
|
||||
@@ -784,10 +755,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 +763,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;
|
||||
@@ -829,14 +797,10 @@ 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);
|
||||
va_start(vl, pattern);
|
||||
vsendto_prefix_one(to, from, pattern, vl);
|
||||
va_end(vl);
|
||||
}
|
||||
@@ -865,7 +829,7 @@ char *pattern, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8;
|
||||
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 +882,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 +892,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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user