]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Shorten filenames of Anope protocol module patchfiles
authorAlexander Barton <alex@barton.de>
Sun, 7 Oct 2012 10:06:11 +0000 (12:06 +0200)
committerAlexander Barton <alex@barton.de>
Sun, 7 Oct 2012 10:06:11 +0000 (12:06 +0200)
Filenames have been too long and couldn't be stored in all tar
archive formats ...

contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope-1.9.patch [deleted file]
contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope.patch [new file with mode: 0644]
contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync-servers.patch [deleted file]
contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync.patch [new file with mode: 0644]
contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope-1.9.patch [deleted file]
contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope.patch [new file with mode: 0644]
contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope-1.9.patch [deleted file]
contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope.patch [new file with mode: 0644]
contrib/Anope/Makefile.am

diff --git a/contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope-1.9.patch b/contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope-1.9.patch
deleted file mode 100644 (file)
index c4ea0e6..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From d8eddbeaadc7d161865b5342d59748b80266533c Mon Sep 17 00:00:00 2001
-From: DukePyrolator <DukePyrolator@anope.org>
-Date: Mon, 22 Aug 2011 14:53:37 +0200
-Subject: [PATCH 03/16] Update ngIRCd protocol module for current Anope 1.9
- GIT
-
----
- modules/protocol/ngircd.cpp |   37 ++++++++++++++++++-------------------
- 1 files changed, 18 insertions(+), 19 deletions(-)
-
-diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
-index e546d05..790b8f4 100644
---- a/modules/protocol/ngircd.cpp
-+++ b/modules/protocol/ngircd.cpp
-@@ -11,6 +11,8 @@
- #include "services.h"
- #include "modules.h"
-+#include "nickserv.h"
-+#include "oper.h"
- IRCDVar myIrcd[] = {
-       {"ngIRCd",      /* ircd name */
-@@ -45,14 +47,7 @@ class ngIRCdProto : public IRCDProto
- {
-       void SendAkill(User *u, const XLine *x)
-       {
--              if (SGLine && u == NULL)
--                      for (Anope::insensitive_map<User *>::iterator it = UserListByNick.begin(); it != UserListByNick.end();)
--                      {
--                              u = it->second;
--                              ++it;
--                              if (SGLine->Check(u) != NULL)
--                                      break;
--                      }
-+              // TODO: ADD SOME CODE
-       }
-       void SendAkillDel(const XLine*) { }
-@@ -62,13 +57,16 @@ class ngIRCdProto : public IRCDProto
-               send_cmd(source ? source->nick : Config->ServerName, "WALLOPS :%s", buf.c_str());
-       }
--      void SendJoin(BotInfo *user, Channel *c, const ChannelStatus *status)
-+      void SendJoin(User *user, Channel *c, const ChannelStatus *status)
-       {
-               send_cmd(user->nick, "JOIN %s", c->name.c_str());
-               if (status)
-+              {
-+                      BotInfo *setter = findbot(user->nick);
-                       for (unsigned i = 0; i < ModeManager::ChannelModes.size(); ++i)
-                               if (status->HasFlag(ModeManager::ChannelModes[i]->Name))
--                                      c->SetMode(user, ModeManager::ChannelModes[i], user->nick, false);
-+                                      c->SetMode(setter, ModeManager::ChannelModes[i], user->nick, false);
-+              }
-       }
-       void SendSVSKillInternal(const BotInfo *source, const User *user, const Anope::string &buf)
-@@ -84,7 +82,7 @@ class ngIRCdProto : public IRCDProto
-       void SendConnect()
-       {
--              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", uplink_server->password.c_str(), Anope::VersionShort().c_str());
-+              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", Config->Uplinks[CurrentUplink]->password.c_str(), Anope::VersionShort().c_str());
-               /* Make myself known to myself in the serverlist */
-               SendServer(Me);
-               /* finish the enhanced server handshake and register the connection */
-@@ -92,9 +90,11 @@ class ngIRCdProto : public IRCDProto
-       }
-       // Received: :dev.anope.de NICK DukeP 1 ~DukePyro p57ABF9C9.dip.t-dialin.net 1 +i :DukePyrolator
--      void SendClientIntroduction(const User *u, const Anope::string &modes)
-+      void SendClientIntroduction(const User *u)
-       {
--              EnforceQlinedNick(u->nick, "");
-+              Anope::string modes = "+" + u->GetModes();
-+              XLine x(u->nick, "Reserved for services");
-+              ircdproto->SendSQLine(NULL, &x);
-               send_cmd(Config->ServerName, "NICK %s 1 %s %s 1 %s :%s", u->nick.c_str(), u->GetIdent().c_str(), u->host.c_str(), modes.c_str(), u->realname.c_str());
-       }
-@@ -126,7 +126,7 @@ class ngIRCdProto : public IRCDProto
-       void SendNoticeChanopsInternal(const BotInfo *source, const Channel *dest, const Anope::string &buf)
-       {
--              send_cmd(source ? source->nick : Config->s_ChanServ, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
-+              send_cmd(source->nick, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
-       }
-       /* INVITE */
-@@ -196,8 +196,8 @@ class ngIRCdIRCdMessage : public IRCdMessage
-               {
-                       // a new user is connecting to the network
-                       User *user = do_nick("", params[0], params[2], params[3], source, params[6], Anope::CurTime, "", "", "", params[5]);
--                      if (user)
--                              validate_user(user);
-+                      if (user && nickserv)
-+                              nickserv->Validate(user);
-               }
-               else
-               {
-@@ -433,7 +433,7 @@ class ProtongIRCd : public Module
-               ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, 'x'));
-               /* b/e/I */
--              ModeManager::AddChannelMode(new ChannelModeBan(CMODE_BAN, 'b'));
-+              ModeManager::AddChannelMode(new ChannelModeList(CMODE_BAN, 'b'));
-               ModeManager::AddChannelMode(new ChannelModeList(CMODE_INVITEOVERRIDE, 'I'));
-               /* v/h/o/a/q */
-@@ -454,13 +454,12 @@ class ProtongIRCd : public Module
-       }
-  public:
--      ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator),
-+      ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL),
-               message_kick("KICK", event_kick), message_pass("PASS", event_pass),
-               message_njoin("NJOIN", event_njoin), message_chaninfo("CHANINFO", event_chaninfo),
-               message_005("005", event_005), message_442("442", event_442), message_376("376", event_376)
-       {
-               this->SetAuthor("Anope");
--              this->SetType(PROTOCOL);
-               Capab.SetFlag(CAPAB_QS);
--- 
-1.7.8.3
-
diff --git a/contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope.patch b/contrib/Anope/0003-Update-ngIRCd-protocol-module-for-current-Anope.patch
new file mode 100644 (file)
index 0000000..c4ea0e6
--- /dev/null
@@ -0,0 +1,128 @@
+From d8eddbeaadc7d161865b5342d59748b80266533c Mon Sep 17 00:00:00 2001
+From: DukePyrolator <DukePyrolator@anope.org>
+Date: Mon, 22 Aug 2011 14:53:37 +0200
+Subject: [PATCH 03/16] Update ngIRCd protocol module for current Anope 1.9
+ GIT
+
+---
+ modules/protocol/ngircd.cpp |   37 ++++++++++++++++++-------------------
+ 1 files changed, 18 insertions(+), 19 deletions(-)
+
+diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
+index e546d05..790b8f4 100644
+--- a/modules/protocol/ngircd.cpp
++++ b/modules/protocol/ngircd.cpp
+@@ -11,6 +11,8 @@
+ #include "services.h"
+ #include "modules.h"
++#include "nickserv.h"
++#include "oper.h"
+ IRCDVar myIrcd[] = {
+       {"ngIRCd",      /* ircd name */
+@@ -45,14 +47,7 @@ class ngIRCdProto : public IRCDProto
+ {
+       void SendAkill(User *u, const XLine *x)
+       {
+-              if (SGLine && u == NULL)
+-                      for (Anope::insensitive_map<User *>::iterator it = UserListByNick.begin(); it != UserListByNick.end();)
+-                      {
+-                              u = it->second;
+-                              ++it;
+-                              if (SGLine->Check(u) != NULL)
+-                                      break;
+-                      }
++              // TODO: ADD SOME CODE
+       }
+       void SendAkillDel(const XLine*) { }
+@@ -62,13 +57,16 @@ class ngIRCdProto : public IRCDProto
+               send_cmd(source ? source->nick : Config->ServerName, "WALLOPS :%s", buf.c_str());
+       }
+-      void SendJoin(BotInfo *user, Channel *c, const ChannelStatus *status)
++      void SendJoin(User *user, Channel *c, const ChannelStatus *status)
+       {
+               send_cmd(user->nick, "JOIN %s", c->name.c_str());
+               if (status)
++              {
++                      BotInfo *setter = findbot(user->nick);
+                       for (unsigned i = 0; i < ModeManager::ChannelModes.size(); ++i)
+                               if (status->HasFlag(ModeManager::ChannelModes[i]->Name))
+-                                      c->SetMode(user, ModeManager::ChannelModes[i], user->nick, false);
++                                      c->SetMode(setter, ModeManager::ChannelModes[i], user->nick, false);
++              }
+       }
+       void SendSVSKillInternal(const BotInfo *source, const User *user, const Anope::string &buf)
+@@ -84,7 +82,7 @@ class ngIRCdProto : public IRCDProto
+       void SendConnect()
+       {
+-              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", uplink_server->password.c_str(), Anope::VersionShort().c_str());
++              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", Config->Uplinks[CurrentUplink]->password.c_str(), Anope::VersionShort().c_str());
+               /* Make myself known to myself in the serverlist */
+               SendServer(Me);
+               /* finish the enhanced server handshake and register the connection */
+@@ -92,9 +90,11 @@ class ngIRCdProto : public IRCDProto
+       }
+       // Received: :dev.anope.de NICK DukeP 1 ~DukePyro p57ABF9C9.dip.t-dialin.net 1 +i :DukePyrolator
+-      void SendClientIntroduction(const User *u, const Anope::string &modes)
++      void SendClientIntroduction(const User *u)
+       {
+-              EnforceQlinedNick(u->nick, "");
++              Anope::string modes = "+" + u->GetModes();
++              XLine x(u->nick, "Reserved for services");
++              ircdproto->SendSQLine(NULL, &x);
+               send_cmd(Config->ServerName, "NICK %s 1 %s %s 1 %s :%s", u->nick.c_str(), u->GetIdent().c_str(), u->host.c_str(), modes.c_str(), u->realname.c_str());
+       }
+@@ -126,7 +126,7 @@ class ngIRCdProto : public IRCDProto
+       void SendNoticeChanopsInternal(const BotInfo *source, const Channel *dest, const Anope::string &buf)
+       {
+-              send_cmd(source ? source->nick : Config->s_ChanServ, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
++              send_cmd(source->nick, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
+       }
+       /* INVITE */
+@@ -196,8 +196,8 @@ class ngIRCdIRCdMessage : public IRCdMessage
+               {
+                       // a new user is connecting to the network
+                       User *user = do_nick("", params[0], params[2], params[3], source, params[6], Anope::CurTime, "", "", "", params[5]);
+-                      if (user)
+-                              validate_user(user);
++                      if (user && nickserv)
++                              nickserv->Validate(user);
+               }
+               else
+               {
+@@ -433,7 +433,7 @@ class ProtongIRCd : public Module
+               ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, 'x'));
+               /* b/e/I */
+-              ModeManager::AddChannelMode(new ChannelModeBan(CMODE_BAN, 'b'));
++              ModeManager::AddChannelMode(new ChannelModeList(CMODE_BAN, 'b'));
+               ModeManager::AddChannelMode(new ChannelModeList(CMODE_INVITEOVERRIDE, 'I'));
+               /* v/h/o/a/q */
+@@ -454,13 +454,12 @@ class ProtongIRCd : public Module
+       }
+  public:
+-      ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator),
++      ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL),
+               message_kick("KICK", event_kick), message_pass("PASS", event_pass),
+               message_njoin("NJOIN", event_njoin), message_chaninfo("CHANINFO", event_chaninfo),
+               message_005("005", event_005), message_442("442", event_442), message_376("376", event_376)
+       {
+               this->SetAuthor("Anope");
+-              this->SetType(PROTOCOL);
+               Capab.SetFlag(CAPAB_QS);
+-- 
+1.7.8.3
+
diff --git a/contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync-servers.patch b/contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync-servers.patch
deleted file mode 100644 (file)
index 0aec3e9..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From 88b2b14a76b8ee053b1f6ea64139350260590043 Mon Sep 17 00:00:00 2001
-From: DukePyrolator <DukePyrolator@anope.org>
-Date: Mon, 22 Aug 2011 14:55:07 +0200
-Subject: [PATCH 04/16] ngircd: Do PING-PONG on server burst to "sync servers"
-
-Imagine we had three servers, A, B & C linked like so: A<->B<->C:
-
-If Anope is linked to A and B splits from A and then reconnects B
-introduces itself, introduces C, sends EOS for C, introduces B's clients
-introduces C's clients, sends EOS for B. This causes all of C's clients
-to be introduced with their server "not syncing".
-
-We now send a PING immediately when receiving a new server and then
-finish sync once we get a pong back from that server.
----
- modules/protocol/ngircd.cpp |   28 ++++++++++++++++++++++++++--
- 1 files changed, 26 insertions(+), 2 deletions(-)
-
-diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
-index 790b8f4..89aecfd 100644
---- a/modules/protocol/ngircd.cpp
-+++ b/modules/protocol/ngircd.cpp
-@@ -108,11 +108,13 @@ class ngIRCdProto : public IRCDProto
-       void SendModeInternal(const BotInfo *bi, const Channel *dest, const Anope::string &buf)
-       {
-+Log(LOG_DEBUG) << "SendModeInternal 1";
-               send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", dest->name.c_str(), buf.c_str());
-       }
-       void SendModeInternal(const BotInfo *bi, const User *u, const Anope::string &buf)
-       {
-+Log(LOG_DEBUG) << "SendModeInternal 2";
-               send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", u->nick.c_str(), buf.c_str());
-       }
-@@ -212,6 +214,8 @@ class ngIRCdIRCdMessage : public IRCdMessage
-                       do_server("", params[0], 0, params[2], params[1]);
-               else
-                       do_server(source, params[0], params[1].is_pos_number_only() ? convertTo<unsigned>(params[1]) : 0, params[3], params[2]);
-+
-+              ircdproto->SendPing(Config->ServerName, params[0]);
-               return true;
-       }
-@@ -253,6 +257,25 @@ class ngIRCdIRCdMessage : public IRCdMessage
-       }
- };
-+/** This is here because:
-+ *
-+ * If we had three servers, A, B & C linked like so: A<->B<->C
-+ * If Anope is linked to A and B splits from A and then reconnects
-+ * B introduces itself, introduces C, sends EOS for C, introduces Bs clients
-+ * introduces Cs clients, sends EOS for B. This causes all of Cs clients to be introduced
-+ * with their server "not syncing". We now send a PING immediately when receiving a new server
-+ * and then finish sync once we get a pong back from that server.
-+ */
-+bool event_pong(const Anope::string &source, const std::vector<Anope::string> &params)
-+{
-+      Server *s = Server::Find(source);
-+      if (s && !s->IsSynced())
-+              s->Sync(false);
-+      return true;
-+}
-+
-+
-+
- /*
-  * CHANINFO <chan> +<modes>
-  * CHANINFO <chan> +<modes> :<topic>
-@@ -416,7 +439,7 @@ bool event_376(const Anope::string &source, const std::vector<Anope::string> &pa
- class ProtongIRCd : public Module
- {
-       Message message_kick, message_pass, message_njoin, message_chaninfo, message_005,
--              message_442, message_376;
-+              message_442, message_376, message_pong;
-       ngIRCdProto ircd_proto;
-       ngIRCdIRCdMessage ircd_message;
-@@ -457,7 +480,8 @@ class ProtongIRCd : public Module
-       ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL),
-               message_kick("KICK", event_kick), message_pass("PASS", event_pass),
-               message_njoin("NJOIN", event_njoin), message_chaninfo("CHANINFO", event_chaninfo),
--              message_005("005", event_005), message_442("442", event_442), message_376("376", event_376)
-+              message_005("005", event_005), message_442("442", event_442), message_376("376", event_376),
-+              message_pong("PONG", event_pong)
-       {
-               this->SetAuthor("Anope");
--- 
-1.7.8.3
-
diff --git a/contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync.patch b/contrib/Anope/0004-ngircd-Do-PING-PONG-on-server-burst-to-sync.patch
new file mode 100644 (file)
index 0000000..0aec3e9
--- /dev/null
@@ -0,0 +1,93 @@
+From 88b2b14a76b8ee053b1f6ea64139350260590043 Mon Sep 17 00:00:00 2001
+From: DukePyrolator <DukePyrolator@anope.org>
+Date: Mon, 22 Aug 2011 14:55:07 +0200
+Subject: [PATCH 04/16] ngircd: Do PING-PONG on server burst to "sync servers"
+
+Imagine we had three servers, A, B & C linked like so: A<->B<->C:
+
+If Anope is linked to A and B splits from A and then reconnects B
+introduces itself, introduces C, sends EOS for C, introduces B's clients
+introduces C's clients, sends EOS for B. This causes all of C's clients
+to be introduced with their server "not syncing".
+
+We now send a PING immediately when receiving a new server and then
+finish sync once we get a pong back from that server.
+---
+ modules/protocol/ngircd.cpp |   28 ++++++++++++++++++++++++++--
+ 1 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
+index 790b8f4..89aecfd 100644
+--- a/modules/protocol/ngircd.cpp
++++ b/modules/protocol/ngircd.cpp
+@@ -108,11 +108,13 @@ class ngIRCdProto : public IRCDProto
+       void SendModeInternal(const BotInfo *bi, const Channel *dest, const Anope::string &buf)
+       {
++Log(LOG_DEBUG) << "SendModeInternal 1";
+               send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", dest->name.c_str(), buf.c_str());
+       }
+       void SendModeInternal(const BotInfo *bi, const User *u, const Anope::string &buf)
+       {
++Log(LOG_DEBUG) << "SendModeInternal 2";
+               send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", u->nick.c_str(), buf.c_str());
+       }
+@@ -212,6 +214,8 @@ class ngIRCdIRCdMessage : public IRCdMessage
+                       do_server("", params[0], 0, params[2], params[1]);
+               else
+                       do_server(source, params[0], params[1].is_pos_number_only() ? convertTo<unsigned>(params[1]) : 0, params[3], params[2]);
++
++              ircdproto->SendPing(Config->ServerName, params[0]);
+               return true;
+       }
+@@ -253,6 +257,25 @@ class ngIRCdIRCdMessage : public IRCdMessage
+       }
+ };
++/** This is here because:
++ *
++ * If we had three servers, A, B & C linked like so: A<->B<->C
++ * If Anope is linked to A and B splits from A and then reconnects
++ * B introduces itself, introduces C, sends EOS for C, introduces Bs clients
++ * introduces Cs clients, sends EOS for B. This causes all of Cs clients to be introduced
++ * with their server "not syncing". We now send a PING immediately when receiving a new server
++ * and then finish sync once we get a pong back from that server.
++ */
++bool event_pong(const Anope::string &source, const std::vector<Anope::string> &params)
++{
++      Server *s = Server::Find(source);
++      if (s && !s->IsSynced())
++              s->Sync(false);
++      return true;
++}
++
++
++
+ /*
+  * CHANINFO <chan> +<modes>
+  * CHANINFO <chan> +<modes> :<topic>
+@@ -416,7 +439,7 @@ bool event_376(const Anope::string &source, const std::vector<Anope::string> &pa
+ class ProtongIRCd : public Module
+ {
+       Message message_kick, message_pass, message_njoin, message_chaninfo, message_005,
+-              message_442, message_376;
++              message_442, message_376, message_pong;
+       ngIRCdProto ircd_proto;
+       ngIRCdIRCdMessage ircd_message;
+@@ -457,7 +480,8 @@ class ProtongIRCd : public Module
+       ProtongIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL),
+               message_kick("KICK", event_kick), message_pass("PASS", event_pass),
+               message_njoin("NJOIN", event_njoin), message_chaninfo("CHANINFO", event_chaninfo),
+-              message_005("005", event_005), message_442("442", event_442), message_376("376", event_376)
++              message_005("005", event_005), message_442("442", event_442), message_376("376", event_376),
++              message_pong("PONG", event_pong)
+       {
+               this->SetAuthor("Anope");
+-- 
+1.7.8.3
+
diff --git a/contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope-1.9.patch b/contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope-1.9.patch
deleted file mode 100644 (file)
index b6a003a..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-From e74a5303f2357f4a9915bb91038a2e326323db3c Mon Sep 17 00:00:00 2001
-From: Alexander Barton <alex@barton.de>
-Date: Fri, 25 Nov 2011 19:16:37 +0100
-Subject: [PATCH 09/16] ngircd: Update protocol module for current Anope 1.9
- GIT
-
-This changes are rquired by:
-
- - b14f5ea88: Fixed accidentally clearing botmodes when joins are sent
- - cef3eb78d: Remove send_cmd and replace it with a stringstream
- - ddc3c2f38: Added options:nonicknameownership config option
----
- modules/protocol/ngircd.cpp |   54 ++++++++++++++++++++++--------------------
- 1 files changed, 28 insertions(+), 26 deletions(-)
-
-diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
-index 2774168..55cb8d7 100644
---- a/modules/protocol/ngircd.cpp
-+++ b/modules/protocol/ngircd.cpp
-@@ -54,16 +54,22 @@ class ngIRCdProto : public IRCDProto
-       void SendGlobopsInternal(const BotInfo *source, const Anope::string &buf)
-       {
--              send_cmd(source ? source->nick : Config->ServerName, "WALLOPS :%s", buf.c_str());
-+              UplinkSocket::Message(source ? source->nick : Config->ServerName) << "WALLOPS :" << buf;
-       }
--      void SendJoin(User *user, Channel *c, ChannelStatus *status)
-+      void SendJoin(User *user, Channel *c, const ChannelStatus *status)
-       {
--              send_cmd(user->nick, "JOIN %s", c->name.c_str());
-+              UplinkSocket::Message(user->nick) << "JOIN " << c->name;
-               if (status)
-               {
-+                      /* First save the channel status incase uc->Status == status */
-                       ChannelStatus cs = *status;
--                      status->ClearFlags();
-+                      /* If the user is internally on the channel with flags, kill them so that
-+                       * the stacker will allow this.
-+                       */
-+                      UserContainer *uc = c->FindUser(user);
-+                      if (uc != NULL)
-+                              uc->Status->ClearFlags();
-                       BotInfo *setter = findbot(user->nick);
-                       for (unsigned i = 0; i < ModeManager::ChannelModes.size(); ++i)
-@@ -74,18 +80,18 @@ class ngIRCdProto : public IRCDProto
-       void SendSVSKillInternal(const BotInfo *source, const User *user, const Anope::string &buf)
-       {
--              send_cmd(source ? source->nick : Config->ServerName, "KILL %s :%s", user->nick.c_str(), buf.c_str());
-+              UplinkSocket::Message(source ? source->nick : Config->ServerName) << "KILL " << user->nick << " :" << buf;
-       }
-       /* SERVER name hop descript */
-       void SendServer(const Server *server)
-       {
--              send_cmd("", "SERVER %s %d :%s", server->GetName().c_str(), server->GetHops(), server->GetDescription().c_str());
-+              UplinkSocket::Message() << "SERVER " << server->GetName() << " " << server->GetHops() << " :" << server->GetDescription();
-       }
-       void SendConnect()
-       {
--              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", Config->Uplinks[CurrentUplink]->password.c_str(), Anope::VersionShort().c_str());
-+              UplinkSocket::Message() << "PASS " << Config->Uplinks[CurrentUplink]->password << " 0210-IRC+ Anope|" << Anope::VersionShort() << ":CLHSo P";
-               /* Make myself known to myself in the serverlist */
-               SendServer(Me);
-               /* finish the enhanced server handshake and register the connection */
-@@ -98,56 +104,52 @@ class ngIRCdProto : public IRCDProto
-               Anope::string modes = "+" + u->GetModes();
-               XLine x(u->nick, "Reserved for services");
-               ircdproto->SendSQLine(NULL, &x);
--              send_cmd(Config->ServerName, "NICK %s 1 %s %s 1 %s :%s", u->nick.c_str(), u->GetIdent().c_str(), u->host.c_str(), modes.c_str(), u->realname.c_str());
-+              UplinkSocket::Message(Config->ServerName) << "NICK " << u->nick << " 1 " << u->GetIdent() << " " << u->host << " 1 " << modes << " :" << u->realname;
-       }
-       void SendPartInternal(const BotInfo *bi, const Channel *chan, const Anope::string &buf)
-       {
-               if (!buf.empty())
--                      send_cmd(bi->nick, "PART %s :%s", chan->name.c_str(), buf.c_str());
-+                      UplinkSocket::Message(bi->nick) << "PART " << chan->name << " :" << buf;
-               else
--                      send_cmd(bi->nick, "PART %s", chan->name.c_str());
-+                      UplinkSocket::Message(bi->nick) << "PART " << chan->name;
-       }
-       void SendModeInternal(const BotInfo *bi, const Channel *dest, const Anope::string &buf)
-       {
--Log(LOG_DEBUG) << "SendModeInternal 1";
--              send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", dest->name.c_str(), buf.c_str());
-+              UplinkSocket::Message(bi ? bi->nick : Config->ServerName) << "MODE " << dest->name << " " << buf;
-       }
-       void SendModeInternal(const BotInfo *bi, const User *u, const Anope::string &buf)
-       {
--Log(LOG_DEBUG) << "SendModeInternal 2";
--              send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", u->nick.c_str(), buf.c_str());
-+              UplinkSocket::Message(bi ? bi->nick : Config->ServerName) << "MODE " << u->nick << " " << buf;
-       }
-       void SendKickInternal(const BotInfo *bi, const Channel *chan, const User *user, const Anope::string &buf)
-       {
-               if (!buf.empty())
--                      send_cmd(bi->nick, "KICK %s %s :%s", chan->name.c_str(), user->nick.c_str(), buf.c_str());
-+                      UplinkSocket::Message(bi->nick) << "KICK " << chan->name << " " << user->nick << " :" << buf;
-               else
--                      send_cmd(bi->nick, "KICK %s %s", chan->name.c_str(), user->nick.c_str());
-+                      UplinkSocket::Message(bi->nick) << "KICK " << chan->name << " " << user->nick;
-       }
--      void SendNoticeChanopsInternal(const BotInfo *source, const Channel *dest, const Anope::string &buf)
-+      void SendChannel(Channel *c)
-       {
--              send_cmd(source->nick, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
-+              Anope::string modes = c->GetModes(true, true);
-+              UplinkSocket::Message(Config->ServerName) << "CHANINFO " << c->name << " +" << modes;
-       }
--      /* INVITE */
--      void SendInvite(BotInfo *source, const Anope::string &chan, const Anope::string &nick)
-+      void SendTopic(BotInfo *bi, Channel *c)
-       {
--              send_cmd(source->nick, "INVITE %s %s", nick.c_str(), chan.c_str());
-+              UplinkSocket::Message(bi->nick) << "TOPIC " << c->name << " :" << c->topic;
-       }
--      void SendChannel(Channel *c)
-+      void SendLogin(User *u)
-       {
--              Anope::string modes = c->GetModes(true, true);
--              send_cmd(Config->ServerName, "CHANINFO %s +%s", c->name.c_str(), modes.c_str());
-       }
--      void SendTopic(BotInfo *bi, Channel *c)
-+
-+      void SendLogout(User *u)
-       {
--              send_cmd(bi->nick, "TOPIC %s :%s", c->name.c_str(), c->topic.c_str());
-       }
- };
--- 
-1.7.8.3
-
diff --git a/contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope.patch b/contrib/Anope/0009-ngircd-Update-protocol-module-for-current-Anope.patch
new file mode 100644 (file)
index 0000000..b6a003a
--- /dev/null
@@ -0,0 +1,143 @@
+From e74a5303f2357f4a9915bb91038a2e326323db3c Mon Sep 17 00:00:00 2001
+From: Alexander Barton <alex@barton.de>
+Date: Fri, 25 Nov 2011 19:16:37 +0100
+Subject: [PATCH 09/16] ngircd: Update protocol module for current Anope 1.9
+ GIT
+
+This changes are rquired by:
+
+ - b14f5ea88: Fixed accidentally clearing botmodes when joins are sent
+ - cef3eb78d: Remove send_cmd and replace it with a stringstream
+ - ddc3c2f38: Added options:nonicknameownership config option
+---
+ modules/protocol/ngircd.cpp |   54 ++++++++++++++++++++++--------------------
+ 1 files changed, 28 insertions(+), 26 deletions(-)
+
+diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
+index 2774168..55cb8d7 100644
+--- a/modules/protocol/ngircd.cpp
++++ b/modules/protocol/ngircd.cpp
+@@ -54,16 +54,22 @@ class ngIRCdProto : public IRCDProto
+       void SendGlobopsInternal(const BotInfo *source, const Anope::string &buf)
+       {
+-              send_cmd(source ? source->nick : Config->ServerName, "WALLOPS :%s", buf.c_str());
++              UplinkSocket::Message(source ? source->nick : Config->ServerName) << "WALLOPS :" << buf;
+       }
+-      void SendJoin(User *user, Channel *c, ChannelStatus *status)
++      void SendJoin(User *user, Channel *c, const ChannelStatus *status)
+       {
+-              send_cmd(user->nick, "JOIN %s", c->name.c_str());
++              UplinkSocket::Message(user->nick) << "JOIN " << c->name;
+               if (status)
+               {
++                      /* First save the channel status incase uc->Status == status */
+                       ChannelStatus cs = *status;
+-                      status->ClearFlags();
++                      /* If the user is internally on the channel with flags, kill them so that
++                       * the stacker will allow this.
++                       */
++                      UserContainer *uc = c->FindUser(user);
++                      if (uc != NULL)
++                              uc->Status->ClearFlags();
+                       BotInfo *setter = findbot(user->nick);
+                       for (unsigned i = 0; i < ModeManager::ChannelModes.size(); ++i)
+@@ -74,18 +80,18 @@ class ngIRCdProto : public IRCDProto
+       void SendSVSKillInternal(const BotInfo *source, const User *user, const Anope::string &buf)
+       {
+-              send_cmd(source ? source->nick : Config->ServerName, "KILL %s :%s", user->nick.c_str(), buf.c_str());
++              UplinkSocket::Message(source ? source->nick : Config->ServerName) << "KILL " << user->nick << " :" << buf;
+       }
+       /* SERVER name hop descript */
+       void SendServer(const Server *server)
+       {
+-              send_cmd("", "SERVER %s %d :%s", server->GetName().c_str(), server->GetHops(), server->GetDescription().c_str());
++              UplinkSocket::Message() << "SERVER " << server->GetName() << " " << server->GetHops() << " :" << server->GetDescription();
+       }
+       void SendConnect()
+       {
+-              send_cmd("", "PASS %s 0210-IRC+ Anope|%s:CLHSo P", Config->Uplinks[CurrentUplink]->password.c_str(), Anope::VersionShort().c_str());
++              UplinkSocket::Message() << "PASS " << Config->Uplinks[CurrentUplink]->password << " 0210-IRC+ Anope|" << Anope::VersionShort() << ":CLHSo P";
+               /* Make myself known to myself in the serverlist */
+               SendServer(Me);
+               /* finish the enhanced server handshake and register the connection */
+@@ -98,56 +104,52 @@ class ngIRCdProto : public IRCDProto
+               Anope::string modes = "+" + u->GetModes();
+               XLine x(u->nick, "Reserved for services");
+               ircdproto->SendSQLine(NULL, &x);
+-              send_cmd(Config->ServerName, "NICK %s 1 %s %s 1 %s :%s", u->nick.c_str(), u->GetIdent().c_str(), u->host.c_str(), modes.c_str(), u->realname.c_str());
++              UplinkSocket::Message(Config->ServerName) << "NICK " << u->nick << " 1 " << u->GetIdent() << " " << u->host << " 1 " << modes << " :" << u->realname;
+       }
+       void SendPartInternal(const BotInfo *bi, const Channel *chan, const Anope::string &buf)
+       {
+               if (!buf.empty())
+-                      send_cmd(bi->nick, "PART %s :%s", chan->name.c_str(), buf.c_str());
++                      UplinkSocket::Message(bi->nick) << "PART " << chan->name << " :" << buf;
+               else
+-                      send_cmd(bi->nick, "PART %s", chan->name.c_str());
++                      UplinkSocket::Message(bi->nick) << "PART " << chan->name;
+       }
+       void SendModeInternal(const BotInfo *bi, const Channel *dest, const Anope::string &buf)
+       {
+-Log(LOG_DEBUG) << "SendModeInternal 1";
+-              send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", dest->name.c_str(), buf.c_str());
++              UplinkSocket::Message(bi ? bi->nick : Config->ServerName) << "MODE " << dest->name << " " << buf;
+       }
+       void SendModeInternal(const BotInfo *bi, const User *u, const Anope::string &buf)
+       {
+-Log(LOG_DEBUG) << "SendModeInternal 2";
+-              send_cmd(bi ? bi->nick : Config->ServerName, "MODE %s %s", u->nick.c_str(), buf.c_str());
++              UplinkSocket::Message(bi ? bi->nick : Config->ServerName) << "MODE " << u->nick << " " << buf;
+       }
+       void SendKickInternal(const BotInfo *bi, const Channel *chan, const User *user, const Anope::string &buf)
+       {
+               if (!buf.empty())
+-                      send_cmd(bi->nick, "KICK %s %s :%s", chan->name.c_str(), user->nick.c_str(), buf.c_str());
++                      UplinkSocket::Message(bi->nick) << "KICK " << chan->name << " " << user->nick << " :" << buf;
+               else
+-                      send_cmd(bi->nick, "KICK %s %s", chan->name.c_str(), user->nick.c_str());
++                      UplinkSocket::Message(bi->nick) << "KICK " << chan->name << " " << user->nick;
+       }
+-      void SendNoticeChanopsInternal(const BotInfo *source, const Channel *dest, const Anope::string &buf)
++      void SendChannel(Channel *c)
+       {
+-              send_cmd(source->nick, "NOTICE @%s :%s", dest->name.c_str(), buf.c_str());
++              Anope::string modes = c->GetModes(true, true);
++              UplinkSocket::Message(Config->ServerName) << "CHANINFO " << c->name << " +" << modes;
+       }
+-      /* INVITE */
+-      void SendInvite(BotInfo *source, const Anope::string &chan, const Anope::string &nick)
++      void SendTopic(BotInfo *bi, Channel *c)
+       {
+-              send_cmd(source->nick, "INVITE %s %s", nick.c_str(), chan.c_str());
++              UplinkSocket::Message(bi->nick) << "TOPIC " << c->name << " :" << c->topic;
+       }
+-      void SendChannel(Channel *c)
++      void SendLogin(User *u)
+       {
+-              Anope::string modes = c->GetModes(true, true);
+-              send_cmd(Config->ServerName, "CHANINFO %s +%s", c->name.c_str(), modes.c_str());
+       }
+-      void SendTopic(BotInfo *bi, Channel *c)
++
++      void SendLogout(User *u)
+       {
+-              send_cmd(bi->nick, "TOPIC %s :%s", c->name.c_str(), c->topic.c_str());
+       }
+ };
+-- 
+1.7.8.3
+
diff --git a/contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope-1.9.patch b/contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope-1.9.patch
deleted file mode 100644 (file)
index bbf2b63..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4dc5a3d3e2fbb218461d9459bff1c0a392a75881 Mon Sep 17 00:00:00 2001
-From: Alexander Barton <alex@barton.de>
-Date: Sat, 31 Dec 2011 16:12:52 +0100
-Subject: [PATCH 11/16] ngircd: Update protocol module for current Anope 1.9
- GIT
-
-This changes are rquired by:
-
- - 150831c1a: Made capab management a bit simplier
----
- modules/protocol/ngircd.cpp |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
-index 5fd62db..9c26ec8 100644
---- a/modules/protocol/ngircd.cpp
-+++ b/modules/protocol/ngircd.cpp
-@@ -527,7 +527,7 @@ class ProtongIRCd : public Module
-       {
-               this->SetAuthor("Anope");
--              Capab.SetFlag(CAPAB_QS);
-+              Capab.insert("QS");
-               pmodule_ircd_var(myIrcd);
-               pmodule_ircd_proto(&this->ircd_proto);
--- 
-1.7.8.3
-
diff --git a/contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope.patch b/contrib/Anope/0011-ngircd-Update-protocol-module-for-current-Anope.patch
new file mode 100644 (file)
index 0000000..bbf2b63
--- /dev/null
@@ -0,0 +1,29 @@
+From 4dc5a3d3e2fbb218461d9459bff1c0a392a75881 Mon Sep 17 00:00:00 2001
+From: Alexander Barton <alex@barton.de>
+Date: Sat, 31 Dec 2011 16:12:52 +0100
+Subject: [PATCH 11/16] ngircd: Update protocol module for current Anope 1.9
+ GIT
+
+This changes are rquired by:
+
+ - 150831c1a: Made capab management a bit simplier
+---
+ modules/protocol/ngircd.cpp |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
+index 5fd62db..9c26ec8 100644
+--- a/modules/protocol/ngircd.cpp
++++ b/modules/protocol/ngircd.cpp
+@@ -527,7 +527,7 @@ class ProtongIRCd : public Module
+       {
+               this->SetAuthor("Anope");
+-              Capab.SetFlag(CAPAB_QS);
++              Capab.insert("QS");
+               pmodule_ircd_var(myIrcd);
+               pmodule_ircd_proto(&this->ircd_proto);
+-- 
+1.7.8.3
+
index 607f0bcf346e3f1d1c1706b2c4ad9458b930f0b9..9da78a25c02bf8ce54b5b75d9a1b8a8e8472750c 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors
+# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,15 +13,15 @@ EXTRA_DIST = \
        README \
        0001-Revert-Removed-ngircd.patch \
        0002-ngircd-whitespace-fixes.patch \
-       0003-Update-ngIRCd-protocol-module-for-current-Anope-1.9.patch \
-       0004-ngircd-Do-PING-PONG-on-server-burst-to-sync-servers.patch \
+       0003-Update-ngIRCd-protocol-module-for-current-Anope.patch \
+       0004-ngircd-Do-PING-PONG-on-server-burst-to-sync.patch \
        0005-ngircd-always-prefix-modes-in-CHANINFO-with.patch \
        0006-ngircd-support-user-mode-R-and-channel-mode-R.patch \
        0007-ngircd-Fix-handling-of-JOIN-commands.patch \
        0008-ngircd-Allow-setting-modes-by-clients-on-burst.patch \
-       0009-ngircd-Update-protocol-module-for-current-Anope-1.9.patch \
+       0009-ngircd-Update-protocol-module-for-current-Anope.patch \
        0010-ngircd-Add-ProtongIRCd.patch \
-       0011-ngircd-Update-protocol-module-for-current-Anope-1.9.patch \
+       0011-ngircd-Update-protocol-module-for-current-Anope.patch \
        0012-ngircd-Channel-mode-r-is-supported-now.patch \
        0013-ngircd-Update-copyright-notice.patch \
        0014-ngircd-set-unset-GLINE-s-on-AKILL-commands.patch \