#include "hostmask.h"
#include "newconf.h"
#include "hash.h"
-#include "sprintf_irc.h"
#include "irc_dictionary.h"
rb_dlink_list shared_conf_list;
return NULL;
}
-struct oper_flags
-{
- int flag;
- char has;
- char hasnt;
-};
-static struct oper_flags oper_flagtable[] =
-{
- { OPER_KLINE, 'K', 'k' },
- { OPER_XLINE, 'X', 'x' },
- { OPER_RESV, 'Q', 'q' },
- { OPER_GLOBKILL, 'O', 'o' },
- { OPER_LOCKILL, 'C', 'c' },
- { OPER_REMOTE, 'R', 'r' },
- { OPER_UNKLINE, 'U', 'u' },
- { OPER_REHASH, 'H', 'h' },
- { OPER_DIE, 'D', 'd' },
- { OPER_ADMIN, 'A', 'a' },
- { OPER_NICKS, 'N', 'n' },
- { OPER_OPERWALL, 'L', 'l' },
- { OPER_SPY, 'S', 's' },
- { OPER_INVIS, 'P', 'p' },
- { OPER_REMOTEBAN, 'B', 'b' },
- { OPER_MASSNOTICE, 'M', 'm' },
- { 0, '\0', '\0' }
-};
-
-const char *
-get_oper_privs(int flags)
-{
- static char buf[20];
- char *p;
- int i;
-
- p = buf;
-
- for(i = 0; oper_flagtable[i].flag; i++)
- {
- if(flags & oper_flagtable[i].flag)
- *p++ = oper_flagtable[i].has;
- else
- *p++ = oper_flagtable[i].hasnt;
- }
-
- *p = '\0';
-
- return buf;
-}
-
struct server_conf *
make_server_conf(void)
{
}
void
-set_server_conf_autoconn(struct Client *source_p, char *name, int newval)
+set_server_conf_autoconn(struct Client *source_p, const char *name, int newval)
{
struct server_conf *server_p;
sendto_one_notice(source_p, ":Can't find %s", name);
}
+void
+disable_server_conf_autoconn(const char *name)
+{
+ struct server_conf *server_p;
+
+ server_p = find_server_conf(name);
+ if(server_p != NULL && server_p->flags & SERVER_AUTOCONN)
+ {
+ server_p->flags &= ~SERVER_AUTOCONN;
+
+ sendto_realops_snomask(SNO_GENERAL, L_ALL,
+ "Disabling AUTOCONN for %s because of error",
+ name);
+ ilog(L_SERVER, "Disabling AUTOCONN for %s because of error",
+ name);
+ }
+}
+
struct ConfItem *
find_xline(const char *gecos, int counter)
{