projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Attempt to fix SF bug #2568366 (sending JOIN before hitting a target limit).
[ircu2.10.12-pk.git]
/
ircd
/
ircd_relay.c
diff --git
a/ircd/ircd_relay.c
b/ircd/ircd_relay.c
index 5061a4bfefe7e6b31422acf973eca2333edaa59c..b7a751d7cc4a9446100f904c7c7dd2424867fae3 100644
(file)
--- a/
ircd/ircd_relay.c
+++ b/
ircd/ircd_relay.c
@@
-52,6
+52,7
@@
#include "ircd.h"
#include "ircd_chattr.h"
#include "ircd_features.h"
#include "ircd.h"
#include "ircd_chattr.h"
#include "ircd_features.h"
+#include "ircd_log.h"
#include "ircd_reply.h"
#include "ircd_string.h"
#include "match.h"
#include "ircd_reply.h"
#include "ircd_string.h"
#include "match.h"
@@
-63,7
+64,7
@@
#include "s_user.h"
#include "send.h"
#include "s_user.h"
#include "send.h"
-#include <assert.h>
+/* #include <assert.h> -- Now using assert in ircd_log.h */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@
-96,7
+97,7
@@
void relay_channel_message(struct Client* sptr, const char* name, const char* te
/*
* This first: Almost never a server/service
*/
/*
* This first: Almost never a server/service
*/
- if (!client_can_send_to_channel(sptr, chptr,
1
)) {
+ if (!client_can_send_to_channel(sptr, chptr,
0
)) {
send_reply(sptr, ERR_CANNOTSENDTOCHAN, chptr->chname);
return;
}
send_reply(sptr, ERR_CANNOTSENDTOCHAN, chptr->chname);
return;
}
@@
-104,6
+105,7
@@
void relay_channel_message(struct Client* sptr, const char* name, const char* te
check_target_limit(sptr, chptr, chptr->chname, 0))
return;
check_target_limit(sptr, chptr, chptr->chname, 0))
return;
+ RevealDelayedJoinIfNeeded(sptr, chptr);
sendcmdto_channel_butone(sptr, CMD_PRIVATE, chptr, cli_from(sptr),
SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
}
sendcmdto_channel_butone(sptr, CMD_PRIVATE, chptr, cli_from(sptr),
SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
}
@@
-126,13
+128,14
@@
void relay_channel_notice(struct Client* sptr, const char* name, const char* tex
/*
* This first: Almost never a server/service
*/
/*
* This first: Almost never a server/service
*/
- if (!client_can_send_to_channel(sptr, chptr,
1
))
+ if (!client_can_send_to_channel(sptr, chptr,
0
))
return;
if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
check_target_limit(sptr, chptr, chptr->chname, 0))
return;
return;
if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
check_target_limit(sptr, chptr, chptr->chname, 0))
return;
+ RevealDelayedJoinIfNeeded(sptr, chptr);
sendcmdto_channel_butone(sptr, CMD_NOTICE, chptr, cli_from(sptr),
SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
}
sendcmdto_channel_butone(sptr, CMD_NOTICE, chptr, cli_from(sptr),
SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
}