X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fm_squit.c;h=5913cf2eae253cddce07fa9b0a00abd8005e3a18;hb=refs%2Fheads%2Fupstream;hp=b71d28e1b7d61aa2a7809d1caaa431880634b5b7;hpb=cc05a230ac079fa15a2e43e6e68ef7126128cefd;p=ircu2.10.12-pk.git diff --git a/ircd/m_squit.c b/ircd/m_squit.c index b71d28e..5913cf2 100644 --- a/ircd/m_squit.c +++ b/ircd/m_squit.c @@ -28,6 +28,7 @@ #include "hash.h" #include "ircd.h" #include "ircd_chattr.h" +#include "ircd_log.h" #include "ircd_reply.h" #include "ircd_string.h" #include "numeric.h" @@ -38,7 +39,7 @@ #include "s_user.h" #include "send.h" -#include +/* #include -- Now using assert in ircd_log.h */ #include #include #include @@ -60,7 +61,7 @@ int ms_squit(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { const char* server = parv[1]; struct Client *acptr; - time_t timestamp; + time_t timestamp = 0; char *comment = 0; if (parc < 2) @@ -77,26 +78,24 @@ int ms_squit(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) acptr = FindNServer(server); if (!acptr) { - protocol_violation(sptr, "Issued SQUIT for unknown server %s (ignored)", - server); Debug((DEBUG_NOTICE, "Ignoring SQUIT to an unknown server")); return 0; } /* If they are squitting me, we reverse it */ - if (IsMe(acptr)) { + if (IsMe(acptr)) acptr = cptr; /* Bugfix by Prefect */ - } - - timestamp = atoi(parv[2]); + + if (parc > 2) + timestamp = atoi(parv[2]); + else + protocol_violation(cptr, "SQUIT with no timestamp/reason"); /* If atoi(parv[2]) == 0 we must indeed squit ! * It will be our neighbour. */ - if ( timestamp != 0 && timestamp != cli_serv(acptr)->timestamp) { - protocol_violation(sptr, "Issued SQUIT for %C with wrong timestamp %Tu " - "(%Tu) (ignored)", acptr, timestamp, - cli_serv(acptr)->timestamp); + if ( timestamp != 0 && timestamp != cli_serv(acptr)->timestamp) + { Debug((DEBUG_NOTICE, "Ignoring SQUIT with the wrong timestamp")); return 0; } @@ -129,7 +128,7 @@ int mo_squit(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) server = parv[1]; /* - * The following allows wild cards in SQUIT. Only usefull + * The following allows wild cards in SQUIT. Only useful * when the command is issued by an oper. */ for (acptr = GlobalClientList; (acptr = next_client(acptr, server)); @@ -144,7 +143,7 @@ int mo_squit(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) /* * Look for a matching server that is closer, - * that way we won't accidently squit two close + * that way we won't accidentally squit two close * servers like davis.* and davis-r.* when typing * /SQUIT davis* */