#include "class.h"
#include "client.h"
#include "common.h"
-#include "irc_string.h"
-#include "sprintf_irc.h"
+#include "match.h"
#include "ircd.h"
#include "hostmask.h"
#include "numeric.h"
#include "s_conf.h"
#include "s_newconf.h"
-#include "s_log.h"
+#include "logger.h"
#include "send.h"
#include "hash.h"
#include "s_serv.h"
if(already_placed_kline(source_p, user, host, tkline_time))
return 0;
- set_time();
+ rb_set_time();
current_date = smalldate();
aconf = make_conf();
aconf->status = CONF_KILL;
apply_kline(struct Client *source_p, struct ConfItem *aconf,
const char *reason, const char *oper_reason, const char *current_date)
{
- add_conf_by_address(aconf->host, CONF_KILL, aconf->user, aconf);
+ add_conf_by_address(aconf->host, CONF_KILL, aconf->user, NULL, aconf);
write_confitem(KLINE_TYPE, source_p, aconf->user, aconf->host,
reason, oper_reason, current_date, 0);
}
apply_tkline(struct Client *source_p, struct ConfItem *aconf,
const char *reason, const char *oper_reason, const char *current_date, int tkline_time)
{
- aconf->hold = CurrentTime + tkline_time;
+ aconf->hold = rb_current_time() + tkline_time;
add_temp_kline(aconf);
/* no oper reason.. */
{
*(hostp++) = '\0'; /* short and squat */
if(*userhost)
- strlcpy(luser, userhost, USERLEN + 1); /* here is my user */
+ rb_strlcpy(luser, userhost, USERLEN + 1); /* here is my user */
else
strcpy(luser, "*");
if(*hostp)
- strlcpy(lhost, hostp, HOSTLEN + 1); /* here is my host */
+ rb_strlcpy(lhost, hostp, HOSTLEN + 1); /* here is my host */
else
strcpy(lhost, "*");
}
* its a nick, which support was removed for.
*/
if(strchr(userhost, '.') == NULL && strchr(userhost, ':') == NULL)
+ {
+ sendto_one_notice(source_p, ":K-Line must be a user@host or host");
return 0;
+ }
luser[0] = '*'; /* no @ found, assume its *@somehost */
luser[1] = '\0';
- strlcpy(lhost, userhost, HOSTLEN + 1);
+ rb_strlcpy(lhost, userhost, HOSTLEN + 1);
}
return 1;
static int
valid_user_host(struct Client *source_p, const char *luser, const char *lhost)
{
- /* # is invalid, as is '!' (n!u@h kline) */
- if(strchr(lhost, '#') || strchr(luser, '#') || strchr(luser, '!'))
+ /* # is invalid, as are '!' (n!u@h kline) and '@' (u@@h kline) */
+ if(strchr(lhost, '#') || strchr(luser, '#') || strchr(luser, '!') ||
+ strchr(lhost, '@'))
{
sendto_one_notice(source_p, ":Invalid K-Line");
return 0;
already_placed_kline(struct Client *source_p, const char *luser, const char *lhost, int tkline)
{
const char *reason, *p;
- struct irc_sockaddr_storage iphost, *piphost;
+ struct rb_sockaddr_storage iphost, *piphost;
struct ConfItem *aconf;
int t, bits;
bits = 0;
if((t = parse_netmask(lhost, (struct sockaddr *)&iphost, &bits)) != HM_HOST)
{
-#ifdef IPV6
+#ifdef RB_IPV6
if(t == HM_IPV6)
t = AF_INET6;
else
else
piphost = NULL;
- aconf = find_conf_by_address(lhost, NULL, NULL, (struct sockaddr *)piphost, CONF_KILL, t, luser);
+ aconf = find_conf_by_address(lhost, NULL, NULL, (struct sockaddr *)piphost, CONF_KILL, t, luser, NULL);
if (aconf != NULL)
{
/* The above was really a lookup of a single IP,