#include "sys.h" /* FALSE bleah */
#include <assert.h>
+#include <string.h>
static struct Jupe *GlobalJupeList = 0;
*/
if (expire <= 0 || expire > JUPE_MAX_EXPIRE) {
if (!IsServer(cptr) && MyConnect(cptr))
- send_error_to_client(cptr, ERR_BADEXPIRE, expire);
+ send_reply(cptr, ERR_BADEXPIRE, expire);
return 0;
}
expire += CurrentTime; /* convert from lifetime to timestamp */
/* Inform ops and log it */
- sendto_op_mask(SNO_NETWORK, "%s adding %sJUPE for %s, expiring at "
- TIME_T_FMT ": %s",
- IsServer(sptr) ? sptr->name : sptr->user->server->name,
- flags & JUPE_LOCAL ? "local " : "", server,
- expire + TSoffset, reason);
+ sendto_opmask_butone(0, SNO_NETWORK, "%s adding %sJUPE for %s, expiring at "
+ "%Tu: %s", IsServer(sptr) ? sptr->name :
+ sptr->user->server->name,
+ flags & JUPE_LOCAL ? "local " : "", server,
+ expire + TSoffset, reason);
#ifdef JPATH
- if (IsServer(sptr))
- write_log(JPATH, TIME_T_FMT " %s adding %sJUPE for %s, expiring at "
- TIME_T_FMT ": %s\n", TStime(), sptr->name,
- flags & JUPE_LOCAL ? "local " : "", server, expire + TSoffset,
- reason);
- else
- write_log(JPATH, TIME_T_FMT, " %s!%s@%s adding %sJUPE for %s, expiring at "
- TIME_T_FMT ": %s\n", TStime(), sptr->name, sptr->user->username,
- sptr->user->host, flags & JUPE_LOCAL ? "local " : "", server,
- expire + TSoffset, reason);
+ write_log(JPATH, "%Tu %C adding %sJUPE for %s, expiring at %Tu: %s\n",
+ TStime(), sptr, flags & JUPE_LOCAL ? "local " : "", server,
+ expire + TSoffset, reason);
#endif /* JPATH */
/* make the jupe */
return 0; /* was active to begin with */
/* Inform ops and log it */
- sendto_op_mask(SNO_NETWORK, "%s activating JUPE for %s, expiring at "
- TIME_T_FMT ": %s",
- IsServer(sptr) ? sptr->name : sptr->user->server->name,
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
+ sendto_opmask_butone(0, SNO_NETWORK, "%s activating JUPE for %s, expiring "
+ "at %Tu: %s",
+ IsServer(sptr) ? sptr->name : sptr->user->server->name,
+ jupe->ju_server, jupe->ju_expire + TSoffset,
+ jupe->ju_reason);
#ifdef JPATH
- if (IsServer(sptr))
- write_log(JPATH, TIME_T_FMT " %s activating JUPE for %s, expiring at "
- TIME_T_FMT ": %s\n", TStime(), sptr->name, jupe->ju_server,
- jupe->ju_expire + TSoffset, jupe->ju_reason);
- else
- write_log(JPATH, TIME_T_FMT, " %s!%s@%s activating JUPE for %s, "
- "expiring at " TIME_T_FMT ": %s\n", TStime(), sptr->name,
- sptr->user->username, sptr->user->host, jupe->ju_server,
- jupe->ju_expire + TSoffset, jupe->ju_reason);
+ write_log(JPATH, "%Tu %C activating JUPE for %s, expiring at %Tu: %s\n",
+ TStime(), sptr, jupe->ju_server, jupe->ju_expire + TSoffset,
+ jupe->ju_reason);
#endif /* JPATH */
- propagate_jupe(cptr, sptr, jupe);
+ if (!(flags & JUPE_LOCAL)) /* don't propagate local changes */
+ propagate_jupe(cptr, sptr, jupe);
return do_jupe(cptr, sptr, jupe);
}
}
/* Inform ops and log it */
- sendto_op_mask(SNO_NETWORK, "%s %s JUPE for %s, expiring at " TIME_T_FMT
- ": %s",
- IsServer(sptr) ? sptr->name : sptr->user->server->name,
- JupeIsLocal(jupe) ? "removing local" : "deactivating",
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
+ sendto_opmask_butone(0, SNO_NETWORK, "%s %s JUPE for %s, expiring at %Tu: "
+ "%s",
+ IsServer(sptr) ? sptr->name : sptr->user->server->name,
+ JupeIsLocal(jupe) ? "removing local" : "deactivating",
+ jupe->ju_server, jupe->ju_expire + TSoffset,
+ jupe->ju_reason);
#ifdef JPATH
- if (IsServer(sptr))
- write_log(JPATH, TIME_T_FMT " %s %s JUPE for %s, expiring at " TIME_T_FMT
- ": %s\n", TStime(), sptr->name,
- JupeIsLocal(jupe) ? "removing local" : "deactivating",
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
- else
- write_log(JPATH, TIME_T_FMT, " %s!%s@%s %s JUPE for %s, "
- "expiring at " TIME_T_FMT ": %s\n", TStime(), sptr->name,
- sptr->user->username, sptr->user->host,
- JupeIsLocal(jupe) ? "removing local" : "deactivating",
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
+ write_log(JPATH, "%Tu %s %s JUPE for %s, expiring at %Tu: %s\n", TStime(),
+ sptr, JupeIsLocal(jupe) ? "removing local" : "deactivating",
+ jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
#endif /* JPATH */
if (JupeIsLocal(jupe))
jupe_free(jupe);
- else
+ else if (!(flags & JUPE_LOCAL)) /* don't propagate local changes */
propagate_jupe(cptr, sptr, jupe);
return 0;
if (server) {
if (!(jupe = jupe_find(server))) /* no such jupe */
- return send_error_to_client(sptr, ERR_NOSUCHJUPE, server);
+ return send_reply(sptr, ERR_NOSUCHJUPE, server);
/* send jupe information along */
send_reply(sptr, RPL_JUPELIST, jupe->ju_server, jupe->ju_expire + TSoffset,