#
# ChangeLog for ircu2.10.11
#
-# $Id: ChangeLog,v 1.18 2000-03-21 03:48:11 bleep Exp $
+# $Id: ChangeLog,v 1.19 2000-03-22 00:50:12 kev Exp $
#
# Insert new changes at beginning of the change list.
#
#-----------------------------------------------------------------------------
+* Fix misc. jupe bugs that somehow made it into the tree
* Escape /names 0 to mean /names --Maniac
* Don't core when server asks for info --Maniac
* Add Kev's jupe patch --Bleep
#include "ircd_log.h"
#include "ircd_signal.h"
#include "ircd_string.h"
+#include "jupe.h"
#include "list.h"
#include "listener.h"
#include "match.h"
time_t next = 0;
struct ConfClass *cltmp;
struct ConfItem *cconf, *con_conf = NULL;
+ struct Jupe *ajupe;
unsigned int con_class = 0;
connecting = FALSE;
/* Also when already connecting! (update holdtimes) --SRB */
if (!(aconf->status & CONF_SERVER) || aconf->port == 0)
continue;
+
+ /* Also skip juped servers */
+ if ((ajupe = jupe_find(aconf->name)) && JupeIsActive(ajupe))
+ continue;
+
cltmp = aconf->confClass;
/*
* Skip this entry if the use of it is still on hold until
* Check to see if the server is juped; if it is, disallow the connect
*/
if ((ajupe = jupe_find(aconf->name)) && JupeIsActive(ajupe)) {
- sendto_one(sptr, "%s NOTICE %s%s :Connect: Server %s is juped: %s",
+ sendto_one(sptr, ":%s NOTICE %s%s :Connect: Server %s is juped: %s",
me.name, NumNick(sptr), JupeServer(ajupe), JupeReason(ajupe));
return 0;
}
return 0; /* no such server */
if (!IsMe(acptr)) { /* manually propagate, since we don't set it */
- sendto_one(acptr, "%s " TOK_JUPE " %s %s %s %s :%s", NumServ(sptr),
- target, server, parv[3], parv[4], reason);
+ if (IsServer(sptr))
+ sendto_one(acptr, "%s " TOK_JUPE " %s %s %s %s :%s", NumServ(sptr),
+ target, server, parv[3], parv[4], reason);
+ else
+ sendto_one(acptr, "%s%s " TOK_JUPE " %s %s %s %s :%s", NumNick(sptr),
+ target, server, parv[3], parv[4], reason);
return 0;
}
}
sendto_one(acptr, "%s%s " TOK_JUPE " %s %c%s %s " TIME_T_FMT " :%s",
- NumNick(sptr), NumServ(acptr), server, active ? '+' : '-',
+ NumNick(sptr), NumServ(acptr), active ? '+' : '-', server,
parv[3], TStime(), reason);
return 0;
}
local = 1;
+ } else if (!IsOper(sptr)) {
+ sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+ return 0;
}
expire_off = atoi(parv[3]);