#include "modules.h"
#include "packet.h"
#include "chmode.h"
+#include "ratelimit.h"
static int m_join(struct Client *, struct Client *, int, const char **);
static int ms_join(struct Client *, struct Client *, int, const char **);
if(moduledata.approved != 0)
{
+#ifdef XXX_NOTYET
sendto_one(source_p, form_str(moduledata.approved),
me.name, source_p->name, name);
+#endif
continue;
}
* see extensions/chm_operonly.c for other comments on this
* -- dwr
*/
+#ifdef XXX_NOTYET
if(i != ERR_CUSTOM)
sendto_one(source_p, form_str(i), me.name, source_p->name, name);
-
+#endif
continue;
}
else if(chptr != chptr2)
}
chptr->join_count++;
+ /* credit user for join */
+ credit_client_join(source_p);
+
/* we send the user their join here, because we could have to
* send a mode out next.
*/
time_t newts;
int isnew;
int keep_our_modes = YES;
- int keep_new_modes = YES;
rb_dlink_node *ptr, *next_ptr;
/* special case for join 0 */
keep_our_modes = NO;
chptr->channelts = newts;
}
- else
- keep_new_modes = NO;
/* Lost the TS, other side wins, so remove modes on this side */
if(!keep_our_modes)
banptr = ptr->data;
/* trailing space, and the mode letter itself */
- plen = strlen(banptr->banstr) + 2;
+ plen = strlen(banptr->banstr) +
+ (banptr->forward ? strlen(banptr->forward) + 1 : 0) + 2;
if(count >= MAXMODEPARAMS || (cur_len + plen) > BUFSIZE - 4)
{
*mbuf++ = c;
cur_len += plen;
- pbuf += rb_sprintf(pbuf, "%s ", banptr->banstr);
+ if (banptr->forward)
+ pbuf += rb_sprintf(pbuf, "%s$%s ", banptr->banstr, banptr->forward);
+ else
+ pbuf += rb_sprintf(pbuf, "%s ", banptr->banstr);
count++;
free_ban(banptr);