#include "chanserv.h"
#include "hash.h"
#include "helpfile.h"
-#include "hosthiding.h"
#include "proto-common.c"
#include "opserv.h"
NickChange(user, argv[1], 1);
} else {
struct server *serv;
- struct userNode *nuser;
char modes[MAXLEN];
/* new nick */
if (argc < 9)
unsplit_string(argv+6, argc-9, modes);
else
strcpy(modes, "+");
- nuser = AddUser(serv, argv[1], argv[4], argv[5], modes, argv[argc-2], argv[argc-1], atoi(argv[3]), argv[argc-3]);
+ AddUser(serv, argv[1], argv[4], argv[5], modes, argv[argc-2], argv[argc-1], atoi(argv[3]), argv[argc-3]);
}
return 1;
}
return res;
}
-/* TODO:
+/* TODO:
* This is a stub that doesn't actually do anything. It should be completed
* so that bans on *!*@markname.* match users as it does in nefarious
*/
const char *tstr;
int type = 4;
struct userNode *target;
- /*
+ /*
* log_module(MAIN_LOG, LOG_ERROR, "DEBUG: mark, user %s, type %s, arg %s", argv[1], argv[2], argv[3]);
*/
} else
target->mark = strdup(argv[3]);
return 1;
-
+
}
else if(!strcasecmp(argv[2], "CVERSION")) {
/* CTCP VERSION mark */
target->sslfp = strdup(sslfp);
+ nickserv_do_autoauth(target);
+
return 1;
}
/* unknown type of mark */
static CMD_FUNC(cmd_topic)
{
struct chanNode *cn;
- time_t chan_ts, topic_ts;
+ time_t topic_ts;
struct userNode *user;
if (argc < 3)
if (argc == 5) { /* Asuka / Topic Bursting IRCu's */
user = GetUserH(origin);
- chan_ts = atoi(argv[2]);
topic_ts = atoi(argv[3]);
} else if (argc >= 6) { /* Nefarious 0.5.0 */
user = GetUserH(strtok(argv[2], "!"));
- chan_ts = atoi(argv[3]);
topic_ts = atoi(argv[4]);
} else { /* Regular IRCu (No Topic Bursting)*/
user = GetUserH(origin);
- chan_ts = cn->timestamp;
topic_ts = now;
}
{
struct privmsg_desc pd;
struct server *srv;
- int nuser = 0;
if (argc != 3)
return 0;
pd.user = GetUserH(origin);
- if(!pd.user)
- nuser = 1;
if (!pd.user || (IsGagged(pd.user) && !IsOper(pd.user))) {
}
else {
{
struct userNode *oldUser, *uNode;
unsigned int ignore_user, dummy;
- char *tstr;
- int type;
if ((strlen(numeric) < 3) || (strlen(numeric) > 5)) {
log_module(MAIN_LOG, LOG_WARNING, "AddUser(%p, %s, ...): numeric %s wrong length!", (void*)uplink, nick, numeric);
safestrncpy(uNode->numeric, numeric, sizeof(uNode->numeric));
irc_p10_pton(&uNode->ip, realip);
- tstr = conf_get_data("server/type", RECDB_QSTRING);
- type = atoi(tstr);
- 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);
- } else if (irc_in_addr_is_ipv6(uNode->ip)) {
- make_ipv6virthost((char*)irc_ntoa(&uNode->ip), uNode->hostname, uNode->crypthost);
- }
- }
-
if (!uNode->crypthost && uNode->cryptip)
snprintf(uNode->crypthost, sizeof(uNode->crypthost), "%s", strdup(uNode->cryptip));
uNode->idle_since = timestamp;