projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed fail from NurPech
[srvx.git]
/
src
/
chanserv.c
diff --git
a/src/chanserv.c
b/src/chanserv.c
index 3ddfaf6874822d50451a596628451b53c73dcef1..a2f6175f5ef619b936f9064435ffcda8f9daba31 100644
(file)
--- a/
src/chanserv.c
+++ b/
src/chanserv.c
@@
-141,7
+141,7
@@
#define KEY_EXPIRES "expires"
#define KEY_TRIGGERED "triggered"
#define KEY_EXPIRES "expires"
#define KEY_TRIGGERED "triggered"
-#define CHANNEL_DEFAULT_FLAGS (CHANNEL_
OFFCHANNEL | CHANNEL_
UNREVIEWED)
+#define CHANNEL_DEFAULT_FLAGS (CHANNEL_UNREVIEWED)
#define CHANNEL_PRESERVED_FLAGS (CHANNEL_UNREVIEWED)
#define CHANNEL_DEFAULT_OPTIONS "lmoooanpcnat"
#define CHANNEL_PRESERVED_FLAGS (CHANNEL_UNREVIEWED)
#define CHANNEL_DEFAULT_OPTIONS "lmoooanpcnat"
@@
-523,6
+523,9
@@
static const struct message_entry msgtab[] = {
{ NULL, NULL }
};
{ NULL, NULL }
};
+#define CSMSG_ALERT_REGISTERED "%s registered to %s by %s."
+#define CSMSG_ALERT_UNREGISTERED "%s %s"
+
/* eject_user and unban_user flags */
#define ACTION_KICK 0x0001
#define ACTION_BAN 0x0002
/* eject_user and unban_user flags */
#define ACTION_KICK 0x0001
#define ACTION_BAN 0x0002
@@
-548,6
+551,9
@@
static const struct message_entry msgtab[] = {
DECLARE_LIST(dnrList, struct do_not_register *);
DEFINE_LIST(dnrList, struct do_not_register *)
DECLARE_LIST(dnrList, struct do_not_register *);
DEFINE_LIST(dnrList, struct do_not_register *)
+#define chanserv_notice(target, format...) send_message(target , chanserv , ## format)
+#define chanserv_oper_message(format...) do { if(chanserv_conf.oper_channel) send_channel_message(chanserv_conf.oper_channel , chanserv , ## format); } while(0)
+
static int eject_user(struct userNode *user, struct chanNode *channel, unsigned int argc, char *argv[], struct svccmd *cmd, int action);
struct userNode *chanserv;
static int eject_user(struct userNode *user, struct chanNode *channel, unsigned int argc, char *argv[], struct svccmd *cmd, int action);
struct userNode *chanserv;
@@
-601,6
+607,8
@@
static struct
const char *new_channel_authed;
const char *new_channel_unauthed;
const char *new_channel_msg;
const char *new_channel_authed;
const char *new_channel_unauthed;
const char *new_channel_msg;
+
+ struct chanNode *oper_channel;
} chanserv_conf;
struct listData
} chanserv_conf;
struct listData
@@
-1515,12
+1523,12
@@
unregister_channel(struct chanData *channel, const char *reason)
if(channel->expiry)
timeq_del(channel->expiry, chanserv_expire_channel, channel, 0);
channel->channel->channel_info = NULL;
if(channel->expiry)
timeq_del(channel->expiry, chanserv_expire_channel, channel, 0);
channel->channel->channel_info = NULL;
-
- dict_delete(channel->notes);
sprintf(msgbuf, "%s %s", channel->channel->name, reason);
sprintf(msgbuf, "%s %s", channel->channel->name, reason);
+ dict_delete(channel->notes);
if(!IsSuspended(channel))
DelChannelUser(chanserv, channel->channel, msgbuf, 0);
if(!IsSuspended(channel))
DelChannelUser(chanserv, channel->channel, msgbuf, 0);
- global_message(MESSAGE_RECIPIENT_OPERS | MESSAGE_RECIPIENT_HELPERS, msgbuf);
+
+ chanserv_oper_message(CSMSG_ALERT_UNREGISTERED, channel->channel->name, reason);
UnlockChannel(channel->channel);
free(channel);
registered_channels--;
UnlockChannel(channel->channel);
free(channel);
registered_channels--;
@@
-2160,7
+2168,6
@@
static CHANSERV_FUNC(cmd_register)
struct handle_info *handle;
struct chanData *cData;
struct modeNode *mn;
struct handle_info *handle;
struct chanData *cData;
struct modeNode *mn;
- char reason[MAXLEN];
char *chan_name;
unsigned int new_channel, force=0;
struct do_not_register *dnr;
char *chan_name;
unsigned int new_channel, force=0;
struct do_not_register *dnr;
@@
-2271,8
+2278,7
@@
static CHANSERV_FUNC(cmd_register)
else
reply("CSMSG_REG_SUCCESS", channel->name);
else
reply("CSMSG_REG_SUCCESS", channel->name);
- sprintf(reason, "%s registered to %s by %s.", channel->name, handle->handle, user->handle_info->handle);
- global_message(MESSAGE_RECIPIENT_OPERS | MESSAGE_RECIPIENT_HELPERS, reason);
+ chanserv_oper_message(CSMSG_ALERT_REGISTERED, channel->name, handle->handle, user->handle_info->handle);
return 1;
}
return 1;
}
@@
-7980,6
+7986,16
@@
chanserv_conf_read(void)
chanserv_conf.old_ban_names = strlist;
str = database_get_data(conf_node, "off_channel", RECDB_QSTRING);
off_channel = str ? atoi(str) : 0;
chanserv_conf.old_ban_names = strlist;
str = database_get_data(conf_node, "off_channel", RECDB_QSTRING);
off_channel = str ? atoi(str) : 0;
+
+ str = database_get_data(conf_node, "oper_channel", RECDB_QSTRING);
+ if(str)
+ {
+ chanserv_conf.oper_channel = AddChannel(str, now, "+tinms", NULL);
+ }
+ else
+ {
+ chanserv_conf.oper_channel = NULL;
+ }
}
static void
}
static void