diff options
-rw-r--r-- | include/modules.h | 10 | ||||
-rw-r--r-- | src/InspIRCd.layout | 38 | ||||
-rw-r--r-- | src/inspircd.cpp | 6 | ||||
-rw-r--r-- | src/modules.cpp | 6 |
4 files changed, 38 insertions, 22 deletions
diff --git a/include/modules.h b/include/modules.h index cf5d87f6f..fd9d1765b 100644 --- a/include/modules.h +++ b/include/modules.h @@ -495,6 +495,16 @@ class Server : public classbase * linked servers. */ virtual void ChangeGECOS(userrec* user, std::string gecos); + + /** Returns true if the servername you give is ulined. + * ULined servers have extra privilages. They are allowed to change nicknames on remote servers, + * change modes of clients which are on remote servers and set modes of channels where there are + * no channel operators for that channel on the ulined server, amongst other things. Ulined server + * data is also broadcast across the mesh at all times as opposed to selectively messaged in the + * case of normal servers, as many ulined server types (such as services) do not support meshed + * links and must operate in this manner. + */ + virtual bool IsUlined(std::string server); }; /** Allows reading of values from configuration files diff --git a/src/InspIRCd.layout b/src/InspIRCd.layout index f7d226043..b5fe0474f 100644 --- a/src/InspIRCd.layout +++ b/src/InspIRCd.layout @@ -1,5 +1,5 @@ [Editors] -Focused=43 +Focused=-1 Order=2,4,6,3,7,25,5,24,39,42,43,-1,1 [Editor_0] @@ -37,9 +37,9 @@ LeftChar=1 [Editor_4] Open=1 Top=0 -CursorCol=62 -CursorRow=128 -TopLine=77 +CursorCol=2 +CursorRow=183 +TopLine=163 LeftChar=1 [Editor_5] @@ -139,11 +139,11 @@ TopLine=1 LeftChar=1 [Editor_17] -Open=0 +Open=1 Top=0 CursorCol=21 CursorRow=38 -TopLine=1 +TopLine=105 LeftChar=1 [Editor_18] @@ -164,14 +164,14 @@ LeftChar=1 [Editor_20] Open=1 -Top=0 +Top=1 CursorCol=5 -CursorRow=240 -TopLine=197 +CursorRow=506 +TopLine=470 LeftChar=1 [Editor_21] -Open=0 +Open=1 Top=0 CursorCol=1 CursorRow=63 @@ -197,9 +197,9 @@ LeftChar=1 [Editor_24] Open=1 Top=0 -CursorCol=1 -CursorRow=193 -TopLine=162 +CursorCol=5 +CursorRow=351 +TopLine=321 LeftChar=1 [Editor_25] Open=1 @@ -329,15 +329,15 @@ TopLine=1685 LeftChar=1 [Editor_43] Open=1 -Top=1 -CursorCol=12 -CursorRow=2128 -TopLine=2096 +Top=0 +CursorCol=6 +CursorRow=1259 +TopLine=1259 LeftChar=1 [Editor_44] Open=1 Top=0 -CursorCol=4 -CursorRow=92 +CursorCol=34 +CursorRow=93 TopLine=40 LeftChar=1 diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 18c4c4fb8..62eb28e96 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -2222,9 +2222,9 @@ void ConnectUser(userrec *user) WriteServ(user->fd,"001 %s :Welcome to the %s IRC Network %s!%s@%s",user->nick,Network,user->nick,user->ident,user->host); WriteServ(user->fd,"002 %s :Your host is %s, running version %s",user->nick,ServerName,VERSION); WriteServ(user->fd,"003 %s :This server was created %s %s",user->nick,__TIME__,__DATE__); - WriteServ(user->fd,"004 %s :%s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN",user->nick,ServerName,VERSION); - WriteServ(user->fd,"005 %s :MAP KNOCK SAFELIST HCN MAXCHANNELS=20 MAXBANS=60 NICKLEN=30 TOPICLEN=307 KICKLEN=307 MAXTARGETS=20 AWAYLEN=307 :are supported by this server",user->nick); - WriteServ(user->fd,"005 %s :WALLCHOPS WATCH=128 SILENCE=5 MODES=13 CHANTYPES=# PREFIX=(ohv)@%c+ CHANMODES=ohvbeqa,kfL,l,psmntirRcOAQKVHGCuzN NETWORK=%s :are supported by this server",user->nick,'%',Network); + WriteServ(user->fd,"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN",user->nick,ServerName,VERSION); + WriteServ(user->fd,"005 %s MAP KNOCK SAFELIST HCN MAXCHANNELS=20 MAXBANS=60 NICKLEN=30 TOPICLEN=307 KICKLEN=307 MAXTARGETS=20 AWAYLEN=307 :are supported by this server",user->nick); + WriteServ(user->fd,"005 %s WALLCHOPS WATCH=128 SILENCE=5 MODES=13 CHANTYPES=# PREFIX=(ohv)@%c+ CHANMODES=ohvbeqa,kfL,l,psmntirRcOAQKVHGCuzN NETWORK=%s :are supported by this server",user->nick,'%',Network); ShowMOTD(user); FOREACH_MOD OnUserConnect(user); WriteOpers("*** Client connecting on port %d: %s!%s@%s",user->port,user->nick,user->ident,user->host); diff --git a/src/modules.cpp b/src/modules.cpp index 1c37dd0cb..a052b9302 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -14,6 +14,7 @@ #include "wildcard.h" #include "mode.h" #include "message.h" +#include "commands.h" // class type for holding an extended mode character - internal to core @@ -178,6 +179,11 @@ void Server::QuitUser(userrec* user, std::string reason) kill_link(user,reason.c_str()); } +bool Server::IsUlined(std::string server) +{ + return is_uline(server.c_str()) +} + void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) { call_handler(commandname.c_str(),parameters,pcnt,user); |