#include "blacklist.h"
#include "substitution.h"
#include "chmode.h"
+#include "s_assert.h"
static void report_and_set_user_flags(struct Client *, struct ConfItem *);
void user_welcome(struct Client *source_p);
if((rb_dlink_list_length(&lclient_list) + rb_dlink_list_length(&serv_list)) >
(unsigned long)MaxConnectionCount)
- MaxConnectionCount = rb_dlink_list_length(&lclient_list) +
+ MaxConnectionCount = rb_dlink_list_length(&lclient_list) +
rb_dlink_list_length(&serv_list);
sendto_one_numeric(source_p, RPL_LUSERCLIENT, form_str(RPL_LUSERCLIENT),
(int)rb_dlink_list_length(&global_serv_list));
if(rb_dlink_list_length(&oper_list) > 0)
- sendto_one_numeric(source_p, RPL_LUSEROP,
- form_str(RPL_LUSEROP), rb_dlink_list_length(&oper_list));
+ sendto_one_numeric(source_p, RPL_LUSEROP,
+ form_str(RPL_LUSEROP),
+ (int)rb_dlink_list_length(&oper_list));
if(rb_dlink_list_length(&unknown_list) > 0)
- sendto_one_numeric(source_p, RPL_LUSERUNKNOWN,
+ sendto_one_numeric(source_p, RPL_LUSERUNKNOWN,
form_str(RPL_LUSERUNKNOWN),
(int)rb_dlink_list_length(&unknown_list));
if(rb_dlink_list_length(&global_channel_list) > 0)
- sendto_one_numeric(source_p, RPL_LUSERCHANNELS,
+ sendto_one_numeric(source_p, RPL_LUSERCHANNELS,
form_str(RPL_LUSERCHANNELS),
rb_dlink_list_length(&global_channel_list));
(int)rb_dlink_list_length(&lclient_list),
(int)rb_dlink_list_length(&serv_list));
- sendto_one_numeric(source_p, RPL_LOCALUSERS,
+ sendto_one_numeric(source_p, RPL_LOCALUSERS,
form_str(RPL_LOCALUSERS),
(int)rb_dlink_list_length(&lclient_list),
Count.max_loc,
sendto_one_numeric(source_p, RPL_STATSCONN,
form_str(RPL_STATSCONN),
- MaxConnectionCount, MaxClientCount,
+ MaxConnectionCount, MaxClientCount,
Count.totalrestartcount);
return 0;
rb_strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host));
}
-
+
aconf = source_p->localClient->att_conf;
else
encr = source_p->localClient->passwd;
- if(strcmp(encr, aconf->passwd))
+ if(encr == NULL || strcmp(encr, aconf->passwd))
{
ServerStats.is_ref++;
sendto_one(source_p, form_str(ERR_PASSWDMISMATCH), me.name, source_p->name);
source_p->sockhost, source_p->preClient->dnsbl_listed->host);
else
{
+ sendto_realops_snomask(SNO_REJ, L_NETWIDE,
+ "DNSBL listed: %s!%s@%s{%s} %s (%s)", source_p->name,
+ source_p->username, source_p->host, source_p->sockhost, source_p->info,
+ source_p->preClient->dnsbl_listed->host);
+
rb_dlink_list varlist = { NULL, NULL, 0 };
substitution_append_var(&varlist, "nick", source_p->name);
rb_strlcat(sockhost, source_p->sockhost, sizeof(sockhost));
} else
strcpy(sockhost, source_p->sockhost);
-
+
if (use_euid)
sendto_server(client_p, NULL, CAP_EUID | CAP_TS6, NOCAPS,
":%s EUID %s %d %ld %s %s %s %s %s %s %s :%s",
return 0;
}
-/*
+/*
* valid_hostname - check hostname for validity
*
* Inputs - pointer to user
return YES;
}
-/*
+/*
* valid_username - check username for validity
*
* Inputs - pointer to user
* Output - YES if valid, NO if not
* Side effects - NONE
- *
+ *
* Absolutely always reject any '*' '!' '?' '@' in an user name
* reject any odd control characters names.
* Allow '.' in username to allow for "first.last"
else
{
/* Only decrement the oper counts if an oper to begin with
- * found by Pat Szuta, Perly , perly@xnet.com
+ * found by Pat Szuta, Perly , perly@xnet.com
*/
if(!IsOper(source_p))
*
* inputs -
* output - NONE
- * side effects -
+ * side effects -
*/
void
send_umode_out(struct Client *client_p, struct Client *source_p, int old)
if((target_p != client_p) && (target_p != source_p) && (*buf))
{
sendto_one(target_p, ":%s MODE %s :%s",
- get_id(source_p, target_p),
+ get_id(source_p, target_p),
get_id(source_p, target_p), buf);
}
}
send_umode(client_p, source_p, old, 0, buf);
}
-/*
+/*
* user_welcome
*
* inputs - client pointer to client to welcome
sendto_one_notice(source_p, ":*** Notice -- motd was last changed at %s", user_motd_changed);
sendto_one_notice(source_p, ":*** Notice -- Please read the motd if you haven't read it");
- sendto_one(source_p, form_str(RPL_MOTDSTART),
+ sendto_one(source_p, form_str(RPL_MOTDSTART),
me.name, source_p->name, me.name);
sendto_one(source_p, form_str(RPL_MOTD),
va_list ap;
modeval[0] = '\0';
-
+
if(changed)
{
target_p->tsinfo = newts;
target_p->name, target_p->username,
target_p->host, nick);
- sendto_realops_snomask(SNO_NCHANGE, L_ALL,
- "Nick change: From %s to %s [%s@%s]",
- target_p->name, nick,
- target_p->username, target_p->host);
+ if(MyConnect(target_p))
+ sendto_realops_snomask(SNO_NCHANGE, L_ALL,
+ "Nick change: From %s to %s [%s@%s]",
+ target_p->name, nick,
+ target_p->username, target_p->host);
}
rb_strlcpy(target_p->username, user, sizeof target_p->username);