if(!strcmp(argv[2],"C"))
{
- if((hi = loc_auth(argv[4], argv[5], NULL)))
+ if((hi = loc_auth(NULL, argv[4], argv[5], NULL)))
{
/* Return a AC A */
putsock("%s " P10_ACCOUNT " %s A %s "FMT_TIME_T, self->numeric, server->numeric , argv[3], hi->registered);
}
else if(!strcmp(argv[2],"H")) /* New enhanced (host) version of C */
{
- if((hi = loc_auth(argv[5], argv[6], argv[4] )))
+ if((hi = loc_auth(NULL, argv[5], argv[6], argv[4] )))
+ {
+ /* Return a AC A */
+ putsock("%s " P10_ACCOUNT " %s A %s "FMT_TIME_T, self->numeric, server->numeric , argv[3], hi->registered);
+ }
+ else
+ {
+ /* Return a AC D */
+ putsock("%s " P10_ACCOUNT " %s D %s", self->numeric, server->numeric , argv[3]);
+ }
+ return 1;
+ }
+ else if(!strcmp(argv[2],"S"))
+ {
+ if((hi = loc_auth(argv[5], argv[6], argv[7], argv[4])))
{
/* Return a AC A */
putsock("%s " P10_ACCOUNT " %s A %s "FMT_TIME_T, self->numeric, server->numeric , argv[3], hi->registered);
for (tmp = x3_strtok(&p, argv[i], ","); tmp;
tmp = x3_strtok(&p, NULL, ",")) {
if (!strcmp(tmp, "PRIV_NONE")) {
- clear_privs(user);
+ if (now > user->timestamp+5)
+ clear_privs(user);
break;
} else
client_modify_priv_by_name(user, tmp, what);
}
static void
-parse_cleanup(void)
+parse_cleanup(UNUSED_ARG(void *extra))
{
unsigned int nn;
free(of_list);
}
static void
-remove_unbursted_channel(struct chanNode *cNode) {
+remove_unbursted_channel(struct chanNode *cNode, UNUSED_ARG(void *extra)) {
if (unbursted_channels)
dict_remove(unbursted_channels, cNode->name);
}
memset(notice_funcs, 0, sizeof(privmsg_func_t)*num_notice_funcs);
userList_init(&dead_users);
- reg_del_channel_func(remove_unbursted_channel);
- reg_exit_func(parse_cleanup);
+ reg_del_channel_func(remove_unbursted_channel, NULL);
+ reg_exit_func(parse_cleanup, NULL);
// reg_notice_func(opserv, check_ctcp);
}
tstr = conf_get_data("server/type", RECDB_QSTRING);
type = atoi(tstr);
- if (type > 6) {
+ if (type == 7) {
if (irc_in_addr_is_ipv4(uNode->ip)) {
make_virtip((char*)irc_ntoa(&uNode->ip), (char*)irc_ntoa(&uNode->ip), uNode->cryptip);
make_virthost((char*)irc_ntoa(&uNode->ip), uNode->hostname, uNode->crypthost);