X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/7cdb0a09b9ba217d30d6e8c35654dc9cc6e3ae57..b2c208be091670e3c5259eba77187bae6ac6eece:/modules/m_cap.c?ds=inline diff --git a/modules/m_cap.c b/modules/m_cap.c index 4e31f70e..7abfa9fe 100644 --- a/modules/m_cap.c +++ b/modules/m_cap.c @@ -31,10 +31,9 @@ */ #include "stdinc.h" -#include "tools.h" #include "class.h" #include "client.h" -#include "irc_string.h" +#include "match.h" #include "ircd.h" #include "numeric.h" #include "msg.h" @@ -70,7 +69,11 @@ static struct clicap int namelen; } clicap_list[] = { _CLICAP("multi-prefix", CLICAP_MULTI_PREFIX, 0, 0), - _CLICAP("sasl", CLICAP_SASL, 0, 0) + _CLICAP("sasl", CLICAP_SASL, 0, 0), + _CLICAP("account-notify", CLICAP_ACCOUNT_NOTIFY, 0, 0), + _CLICAP("extended-join", CLICAP_EXTENDED_JOIN, 0, 0), + _CLICAP("away-notify", CLICAP_AWAY_NOTIFY, 0, 0), + _CLICAP("tls", CLICAP_TLS, 0, 0), }; #define CLICAP_LIST_LEN (sizeof(clicap_list) / sizeof(struct clicap)) @@ -117,7 +120,7 @@ clicap_find(const char *data, int *negate, int *finished) if(data) { - strlcpy(buf, data, sizeof(buf)); + rb_strlcpy(buf, data, sizeof(buf)); p = buf; } @@ -175,7 +178,7 @@ clicap_generate(struct Client *source_p, const char *subcmd, int flags, int clea char *p; int buflen = 0; int curlen, mlen; - int i; + size_t i; mlen = rb_sprintf(buf, ":%s CAP %s %s", me.name, @@ -320,10 +323,10 @@ cap_end(struct Client *source_p, const char *arg) source_p->flags &= ~FLAGS_CLICAP; - if(source_p->name[0] && source_p->user) + if(source_p->name[0] && source_p->flags & FLAGS_SENTUSER) { char buf[USERLEN+1]; - strlcpy(buf, source_p->username, sizeof(buf)); + rb_strlcpy(buf, source_p->username, sizeof(buf)); register_local_user(source_p, source_p, buf); } }