summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormark mark@31f1291d-b8d6-0310-a050-a5561fc1590b <mark mark@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2008-08-16 21:59:02 +0000
committermark mark@31f1291d-b8d6-0310-a050-a5561fc1590b <mark mark@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2008-08-16 21:59:02 +0000
commit932fd333876fcc4c1d9bd8f68fee47a2dd731df1 (patch)
tree6b4dcff0a29fdff75754202f18f2334efae14bb4 /src
parent8955e156a5585a71c232f91893bb48783bf5775d (diff)
BUILD : 1.7.21 (1411) BUGS : 887 NOTES : SGLINE and SQLINE support added for Hybrid
git-svn-id: svn://svn.anope.org/anope/trunk@1411 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1126 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/protocol/hybrid.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/protocol/hybrid.c b/src/protocol/hybrid.c
index 94c4cd475..5ee3cc890 100644
--- a/src/protocol/hybrid.c
+++ b/src/protocol/hybrid.c
@@ -21,7 +21,7 @@ IRCDVar myIrcd[] = {
"+o", /* chanserv mode */
"+o", /* memoserv mode */
NULL, /* hostserv mode */
- "+io", /* operserv mode */
+ "+aio", /* operserv mode */
"+o", /* botserv mode */
"+h", /* helpserv mode */
"+i", /* Dev/Null mode */
@@ -30,7 +30,7 @@ IRCDVar myIrcd[] = {
"+o", /* chanserv alias mode */
"+o", /* memoserv alias mode */
NULL, /* hostserv alias mode */
- "+io", /* operserv alias mode */
+ "+aio", /* operserv alias mode */
"+o", /* botserv alias mode */
"+h", /* helpserv alias mode */
"+i", /* Dev/Null alias mode */
@@ -52,8 +52,8 @@ IRCDVar myIrcd[] = {
NULL, /* Mode on ID for Opers */
NULL, /* Mode on UnReg */
NULL, /* Mode on Nick Change */
- 0, /* Supports SGlines */
- 0, /* Supports SQlines */
+ 1, /* Supports SGlines */
+ 1, /* Supports SQlines */
0, /* Supports SZlines */
1, /* Supports Halfop +h */
3, /* Number of server args */
@@ -654,11 +654,19 @@ void moduleAddIRCDMsgs(void) {
void hybrid_cmd_sqline(char *mask, char *reason)
{
-
+ if (!mask || !reason) {
+ return;
+ }
+
+ send_cmd(ServerName, "RESV * %s :%s", mask, reason);
}
void hybrid_cmd_unsgline(char *mask)
{
-/* Does not support */
+ if (!mask) {
+ return;
+ }
+
+ send_cmd(ServerName, "UNXLINE * %s", mask);
}
void hybrid_cmd_unszline(char *mask)
@@ -682,7 +690,11 @@ void hybrid_cmd_svsadmin(char *server, int set)
void hybrid_cmd_sgline(char *mask, char *reason)
{
- /* does not support */
+ if (!mask || !reason) {
+ return;
+ }
+
+ send_cmd(ServerName, "XLINE * %s 0 :%s", mask, reason);
}
void hybrid_cmd_remove_akill(char *user, char *host)
@@ -709,7 +721,11 @@ void hybrid_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
void hybrid_cmd_unsqline(char *user)
{
- /* Hybrid does not support SQLINEs */
+ if (!user) {
+ return;
+ }
+
+ send_cmd(ServerName, "UNRESV * %s", user);
}
void hybrid_cmd_join(char *user, char *channel, time_t chantime)