X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/4f14b4b7bc07ffb659b8e1cca26e27d6ee0bfad5..b5482c91035029ff8b7c970d8f5b23dcbb885da3:/src/s_user.c diff --git a/src/s_user.c b/src/s_user.c index 2428c85..f8d5e0c 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -39,7 +39,7 @@ #include "numeric.h" #include "s_conf.h" #include "s_newconf.h" -#include "s_log.h" +#include "logger.h" #include "s_serv.h" #include "s_stats.h" #include "scache.h" @@ -94,7 +94,7 @@ int user_modes[256] = { 0, /* W */ 0, /* X */ 0, /* Y */ - 0, /* Z */ + UMODE_SSLCLIENT, /* Z */ /* 0x5B */ 0, 0, 0, 0, 0, 0, /* 0x60 */ UMODE_ADMIN, /* a */ 0, /* b */ @@ -323,7 +323,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char if(IsNeedIdentd(aconf)) { - ServerStats->is_ref++; + ServerStats.is_ref++; sendto_one_notice(source_p, ":*** Notice -- You need to install identd to use this server"); exit_client(client_p, source_p, &me, "Install identd"); return (CLIENT_EXITED); @@ -350,7 +350,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char if(IsNeedSasl(aconf) && !*user->suser) { - ServerStats->is_ref++; + ServerStats.is_ref++; sendto_one_notice(source_p, ":*** Notice -- You need to identify via SASL to use this server"); exit_client(client_p, source_p, &me, "SASL access only"); return (CLIENT_EXITED); @@ -370,7 +370,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char if(strcmp(encr, aconf->passwd)) { - ServerStats->is_ref++; + ServerStats.is_ref++; sendto_one(source_p, form_str(ERR_PASSWDMISMATCH), me.name, source_p->name); exit_client(client_p, source_p, &me, "Bad Password"); return (CLIENT_EXITED); @@ -404,7 +404,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char sendto_realops_snomask(SNO_FULL, L_ALL, "Too many clients, rejecting %s[%s].", source_p->name, source_p->host); - ServerStats->is_ref++; + ServerStats.is_ref++; exit_client(client_p, source_p, &me, "Sorry, server is full - try later"); return (CLIENT_EXITED); } @@ -413,7 +413,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char if(!IsExemptKline(source_p) && (xconf = find_xline(source_p->info, 1)) != NULL) { - ServerStats->is_ref++; + ServerStats.is_ref++; add_reject(source_p, xconf->name, NULL); exit_client(client_p, source_p, &me, "Bad user info"); return CLIENT_EXITED; @@ -435,7 +435,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char substitution_append_var(&varlist, "dnsbl-host", source_p->preClient->dnsbl_listed->host); substitution_append_var(&varlist, "network-name", ServerInfo.network_name); - ServerStats->is_ref++; + ServerStats.is_ref++; sendto_one(source_p, form_str(ERR_YOUREBANNEDCREEP), me.name, source_p->name, @@ -459,7 +459,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char sendto_realops_snomask(SNO_REJ, L_ALL, "Invalid username: %s (%s@%s)", source_p->name, source_p->username, source_p->host); - ServerStats->is_ref++; + ServerStats.is_ref++; sendto_one_notice(source_p, ":*** Your username is invalid. Please make sure that your username contains " "only alphanumeric characters."); rb_sprintf(tmpstr2, "Invalid username [%s]", source_p->username); @@ -522,6 +522,9 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char add_to_id_hash(source_p->id, source_p); } + if (IsSSL(source_p)) + source_p->umodes |= UMODE_SSLCLIENT; + if (source_p->umodes & UMODE_INVISIBLE) Count.invisi++; @@ -1007,6 +1010,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char /* can only be set on burst */ case 'S': + case 'Z': case ' ': case '\n': case '\r': @@ -1369,7 +1373,7 @@ construct_umodebuf(void) void change_nick_user_host(struct Client *target_p, const char *nick, const char *user, - const char *host, int newts, char *format, ...) + const char *host, int newts, const char *format, ...) { rb_dlink_node *ptr; struct Channel *chptr;