diff --git a/Changes b/Changes index 1940227cc..7151bb098 100644 --- a/Changes +++ b/Changes @@ -518,3 +518,5 @@ - Updated ./ircd to also say to look at ircd.log - Fixed a SQLINE synch bug - Added command line option -F to prevent the ircd to fork out +- Fixed the f*cken TKL bug +- Fixed a netsplit bug diff --git a/src/s_kline.c b/src/s_kline.c index 863e97b95..07fe2da08 100644 --- a/src/s_kline.c +++ b/src/s_kline.c @@ -255,7 +255,7 @@ int find_tkline_match(cptr, xx) nowtime = TStime(); chost = cptr->sockhost; - cname = cptr->user->username; + cname = (xx != 2) ? cptr->user->username : NULL; cip = (char *)inet_ntoa(cptr->ip); @@ -267,13 +267,12 @@ int find_tkline_match(cptr, xx) else is_ip = 0; - if (is_ip == 0 ? (!match(lp->hostmask, chost) - && !match(lp->usermask, cname)) : (!match(lp->hostmask, - chost) || !match(lp->hostmask, cip)) - && !match(lp->usermask, cname) && (xx != 2 || !match(lp->usermask, cname))) + if (xx != 2 ? is_ip == 0 ? (!match(lp->hostmask, chost) + && !match(lp->usermask, cname)) : + (!match(lp->hostmask, chost) || !match(lp->hostmask, cip)) + : !match(lp->hostmask, chost)) { - - if ((lp->type & (TKL_KILL)) && (xx != 2)) + if (lp->type & TKL_KILL) { if (lp->type & TKL_GLOBAL) { diff --git a/src/s_misc.c b/src/s_misc.c index c7fb09ff4..5b3d00820 100644 --- a/src/s_misc.c +++ b/src/s_misc.c @@ -521,7 +521,7 @@ int exit_client(cptr, sptr, from, comment) */ if (cptr && !recurse) { - (void)strcat(comment1, sptr->srvptr->name); + (void)strcpy(comment1, sptr->srvptr->name); (void)strcat(comment1, " "); (void)strcat(comment1, sptr->name); }