diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-05-14 00:17:49 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-05-14 00:17:49 +0000 |
commit | ce82525b3e7daf417448390479de7fd7da7d27ec (patch) | |
tree | 8213dd11a632c7548b152e755e88e491ed62ad6d | |
parent | d75dbad76016ebbb36511183e767f62465d1bfc5 (diff) |
Updated documentation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1375 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | docs/ChangeLog | 184 | ||||
-rw-r--r-- | docs/SUPPORTED | 40 | ||||
-rw-r--r-- | docs/server_tokens.txt | 402 |
3 files changed, 575 insertions, 51 deletions
diff --git a/docs/ChangeLog b/docs/ChangeLog index 53be44726..708f18a9d 100644 --- a/docs/ChangeLog +++ b/docs/ChangeLog @@ -1,3 +1,187 @@ +1.0 Beta 4 + + * Fixed configure bug resulting in osflags being called BEFORE getcache (Making it redundant.) + * Fixed output of src/modules/Makefile saying it was made by Craig.net tongue.gif + * Updated for test gcc4 compatibility + * Added support back for ./inspircd + * Added a line to automatically chmod ./inspircd to 0744 ('Last Second Save!') + * configure now supports any future .file.inc includes (Yes, i can see into the future) + * Updated makefile + * New Perl ./configure + * Added -Woverloaded-virtual to catch annoying module typos + * Fixed to always look for the ircd.log within the bin/ dir + * Fixed to not spool the error log after ./inspircd debug + * Sanity checks for fd_ref in addclient + * Fixed 'server ignores me forever if i throttle the server with connections' bug + * Debugging now allowed from ./inspircd (./inspircd debug) + * Added LD_LIBRARY_PATH hacks/kludges to the .inspircd.inc file to make it find libmysql in funny situations + * Added final documentation for inspircd Beta 4 + * Added important note relating to ip addresses in <link:ipaddr> + * Added schema for m_sqllog.so + * Added m_sqloper, allows storage of opers within a mysql database + * Commented new functions + * Major *MAJOR* optimizations by double-referencing channels to users (never need to scan the entire user hash again except in very rare circumstances) + * Added channel 'counter', increases speed of quits, parts, kicks + * commented some users and connections code + * added remote @* notice + * Added remote versioning + * Fixed dicky buffer (due to cleanup the wrong variable was being used) + * Services speedups for stupid buffered i/o uplinks + * Added server input buffers (for systems that decide buffering is fun) + * Major code tidyup (-W) + * Fixed some flood checking + * added noticeall + * Added a Server:: method to send server notices to channels + * Added explicit oper tracking in a vector of userrec* pointers, optimizes sending out oper notices + * Fixed: +s and +p channels wouldn't be synched correctly + * Fixed: +s and +p never show in whois even when you're a member of them + * Fixed: +s and +p never show in list even if you're a member of them + * Added Server::FindDescriptor + * Added and tested fd crossreference table - improves speed a lot, and fixes one of the /STATS chars which has been broken a while + * Added OnAddBan and OnDelBan module api calls, and fixed glitch which required them in m_timedbans module + * Added OnOperCompare function to override strcmp in password check for /oper + * Added module message passing architecture + * Added a few anti-flood features + * Updated buffering, faster and more sensible (old code sucks) + * Added password field + * Removed some debug output + * Added /stats T + * Empty but non-null string passed to is_uline now returns true + * Added numeric 318 to /WHOIS when nick is not found (end of whois should still be there as its a list response) + * Added numeric 412 "no text to send" + * Changed to handle : as a NOP token so that 'assuming' inspircd knows RFC commands wont cause tons of errors + * Fix to a mode parsing bug (eating wrong version of parameter?) + * fixed warning of redefinition of RUSAGE_SELF + * Fix annoying off-by-one error in connection::RecvPacket + * Added more fault tolerance to server links + * Added new /stats z + * Fixes to /who output + * Added mode 'compression', stops abuse with modes like: +s-s+s-s+s-s + * Test fixes for /version strings not being set in burst + * Fixed a reversed strcmp + * Added 901 numeric - end of modules list + * Added support for /SQUIT <mask> and checks against /SQUIT * + * Changed remote kill reason text + * Fixed strange leading ":" on remote Z/K/G lines + * Fixed so that quitprefixes are shown in client exit notices + * Added global oper monitoring through modules and global connect monitoring through modules + * Fixed weird issues when anope sends large amounts of text at once to the uplink + * Fixed dodgy poll() + * Added new and improved GetBuffer function based on research on crappy redhat 7.3 + * Fixed park crash bug #63 reported by ViaraiX + * Reordered some on-connect network stuff to stop services being so confused + * Extra safety checks to avoid trying to write() remote users + * Optimized WriteCommon and WriteCommonExcept + * Fixed weird line wrapping bug with extremely long lines + * Made xline notices neater when notifying of unknown connections + * Fixed WriteCommon not writing to the source user when not on any channels + * Changed "is now running" message to AFTER port bind checks + * Added PID reporting and testing before daemonize + * Changed startup ascii to green. Elphaba would be so proud tongue.gif + * Fix to prevent empty umodes + * Fixed empty modes from nickserv + * Optimized modes (removed strlens etc) + * Fixed empty modes issue that emerged after dodgy code was corrected + * Fixed services not being informed of force joins + * Fix to prevent quits being sent onto the network for nonexistent users + * Added faster wildcard checking routines + * Fix for bug #62 (replaces only occur once per line in m_censor) + * m_chanfilter now works on gcc 2.95.x again. + * m_chanprotect fixed to remove privilages upon kick + * Fixed WriteChannelWithServ + * Added module which provides MD5 encryption for oper passwords plus /mkpasswd + * Added another check for 'NoServerUline' type thing in m_services. + * Added Check for 'NoServer' when +r ing a channel in m_services. + * Added m_timedbans (timed bans module for channel ops/halfops) + * Added m_sql, module to provide sql db access to other modules + * Added m_sqlauth - allows authorizing of connections via an arbitary mysql table with a username and password field + * Added m_sqllog - allows you to log your irc information to an sql database + * Added m_sqloper, allows storage of opers within a mysql database + +1.0 Beta 3 + +Added rm -rf src/modules/*.so to make modclean +Added module message passing architecture +added Module::OnMeshToken +added Server::MeshSendAll +added Server::MeshSendCommon +added Server::MeshSendAllAlive +added Server::MeshSendUnicast +added Server::MeshSendAllExcept +added Server::MeshCheckChan +added Server::MeshCheckCommon +added Server::FindModule +added New docs for API +added Module::OnRawMode +added Module::OnCheckInvite +added Module::OnCheckKey +added Module::OnCheckLimit +added Module::OnCheckBan +added Module::OnStats +added Module::OnChangeLocalUserHost +added Module::OnChangeLocalUserGECOS +added Module::OnLocalTopicChange +Added Server::AddGLine +Added Server::AddKLine +Added Server::AddZLine +Added Server::AddQLine +Added Server::AddELine +Added Server::DelGLine +Added Server::DelKLine +Added Server::DelZLine +Added Server::DelQLine +Added Server::DelELine +Added Server::Duration +Fixed /LUSERS server count +Updated documentation of <connect> tags at request of Strike +Fixed somebody putting double closing tags, nullifying the effect of allowhalfop in the example conf +Removed deprecated class 'packet' +Fixed Dns free() errors +Added ability for modules to hold users in a 'holding pattern' while they do stuff on connect +Added OnUserDisconnect method to modules.* to fix fd leak in m_ident.cpp +Added the m_chanfilter module, implements chanmode +g which allows channel specific badwords (YAY) +Added Module::OnSendList +Added m_conn_lusers.so: Sends /LUSERS on connect +Added m_ident.so: nonblocking ident lookup module +Fixed /kill bug in m_operlevels (couldnt kill non-opers) +Changed m_override: Fine-grained control over what can be overridden by whom +Added m_park, user parking to keep ops during a ping timeout (suggested by Ib3N) +Fixed limit checking in core and m_redirect.so +Added m_setidle, allows opers to set their idle times +Added Module::OnBackgroundTimer method, ticks approximately every 5 seconds +Yet more optimizations! +Added 'server already exists' check for u-type links +Fixed bug when ordering a bot to leave using anope services +Fixed anope module sending L tokens with 2 instead of 3 params (made code more tolerant instead of changing module) +Fixed broken server/server handshake for U-type server links (services) +Fixed strhashcomp to forbid matching scandanvian nicks properly eg. [Brain] and {Brain} +Fixed lingering (SO_REUSEADDR was being set to 0?) +Added Module::OnCheckReady and Module::OnUserRegister +Updated /INFO +Fixed to allow server to server traffic again (DOH) +Added PID reporting and testing before daemonize +Changed "is now running" message to AFTER port bind checks +Fixed strange join behavior reported by w00t (mirc requesting MODE immediately after JOIN) +Fixed bug #47 reported (and suggested fix) by Om +Fixed bug where if channel limit was lower than the user count users could still join, but not if it was equal +Added Module::OnUserKick and Module::OnUserPreKick +Added Server::PseudoToUser and Server::UserToPseudo +Made setrlimit a commandline option +Removed some old uneeded code +Made cmode and chanmode more safe +Fixed a double free in dnsqueue.cpp +Fixed a resolver issue (weird segfault on gentoo?) in server linking +Double 367 numeric glitch fixed +Added Server::IsValidHostMask +Added getrlimit/setrlimit to set process limits to allow a core dump +Removed some logging from wildcard.cpp + +1.0 Beta 2 + +* Added a lot of small fixes based on feedback of beta 1 +* Fixed compile issues on freebsd due to an icky shellscript expression that failed to detect strlcat +* Added more advanced m_override.cpp module due to user request (thanks Rob) + 1.0 Beta 1 * Enough optimizations to shake a very big stick at diff --git a/docs/SUPPORTED b/docs/SUPPORTED index 60ddc369e..69049f9fa 100644 --- a/docs/SUPPORTED +++ b/docs/SUPPORTED @@ -1,10 +1,3 @@ -As this release is ALPHA, not everything is supported. Because of this, this -document will show you the commands and modes that are supported in this -version. All commands listed below are as listed in request for comments (RFC) -number 1459, the original IRC documentation. Anything extra to this RFC -(with the exception of commands for loading plugins etc) will be a loadable -module and not implemented in the core. - Implimented server to server commands: SERVER CONNECT @@ -32,24 +25,25 @@ Implemented commands: Module commands (non-rfc): - MODLIST CHGHOST - GLOBOPS HELPOP - KNOCK OPERMOTD - QUOTE SAJOIN - SAMODE SANICK - SAPART SAQUIT - SETNAME SETHOST - - + MODLIST CHGHOST + GLOBOPS HELPOP + KNOCK OPERMOTD + QUOTE SAJOIN + SAMODE SANICK + SAPART SAQUIT + SETNAME SETHOST + PARKSTATS PARK + SETIDLE TBAN ------------------------------------------------------------------------------ CHANNEL MODES: i,m,n,t,k,l,p,s,o,h**,v,b USER MODES: i,w,s,o -MODULE CHAN MODES: c,G,K,C,V,Q,N,T,O,L,r,R,M,S,Z +MODULE CHAN MODES: c,G,K,C,V,Q,N,T,O,L,r,R,M,S,Z,g MODULE USER MODES: B,G,x,g,h,r,R,W,S -NOTE: Module Modes will be documented in the near future. + Documentation for all modes and commands may be found on the wiki: + http://www.inspircd.org/wiki/ ------------------------------------------------------------------------------ @@ -64,7 +58,13 @@ The following features are supported: The following operating systems are supported: * Linux (i386, possibly others) - Tested on: RedHat, Slackware, Gentoo + Tested on: RedHat, Slackware, Gentoo, SELinux, Debian * FreeBSD (i386, possibly others) - Tested on: 4.10, 4.11, 5.0, 5.2.1 + Tested on: 4.10, 4.11, 5.0, 5.2.1, 5.3, 5.4 + +* FreeBSD users may make use of performance enhancements built into InspIRCd. + + +The following compilers are supported: + * GCC (2.95, 2.96, 3.0, 3.1, 3.2, 3.3, 3.4, 4.0) diff --git a/docs/server_tokens.txt b/docs/server_tokens.txt index 3320602c7..8bebb0579 100644 --- a/docs/server_tokens.txt +++ b/docs/server_tokens.txt @@ -1,31 +1,371 @@ -This is a list of datagram types supported by this version of -InspIRCd. The datagrams must be encapsulated in a valid link -packet, and except for those prefixed with a *, a pseudo-session -must be established along which secure commands may pass. - -S * Active server connect -s * Passive server connect (response to S) -O * Exchange session key -E * Error response -? Ping -! Pong -* No Operation -Y Begin netburst -N Introduce new client -n Client nickchange -t Change channel topic -i Invite user -k Kick user -J Join a user to one or more channels -T Server topic change -M Server mode change -m User mode change -P PRIVMSG -V NOTICE -L User leaving a channel -Q User disconnect -F End netburst -K Remote kill -@ WALLOPS -a Change displayed host -b Change GECOS +This is a list of all tokens used by InspIRCd at the time of writing for server to server communication. Module coders may find this information +useful when syncronising module data between different servers on the mesh. All tokens are case sensitive. Token names are given, however these are +just a way of identifying the token, so if you hear developers talking of the 'CHGNAME token' you can be sure they are talking about the 'a' symbol. + +Modules should try to avoid low ascii values. The only illegal token characters are ASCII 0, ASCII 13, and ASCII 10. + +-------------------------------------------------------------------------------- +Compatibility Translations + +InspIRCd will translate some RFC-style commands into mesh tokens, to maintain compatibility with some services packages. This only occurs if the +server is a U-type link (see the tokens below for an explaination). The translated commands are: + + * 433 - Translated to * + * 432 - Translated to * + * PING - Translated to * + * NOTICE - Translated to V + * PRIVMSG - Translatd to P + * QUIT - Translated to Q + * SQUIT - Translated to & + * SVSMODE - Translated to m + * SVS2MODE - Translated to m + * MODE - Translated to m + * KICK - Translated to k + * KILL - Translated to K + * SVSJOIN - Translated to J + +-------------------------------------------------------------------------------- +Mesh Tokens +-------------------------------------------------------------------------------- +AuthCookie: - Token + +Syntax: - <authcookie> <servername> :<serverdesc> + +When a server links into the mesh, it passes an Auth Cookie with its link request (in an S token). All other servers on the mesh respond by connecting +back to the initiating server and issuing this token with a valid auth cookie. If the auth cookie is valid, the server accepts their mesh link, +otherwise it rejects it. +-------------------------------------------------------------------------------- +Inbound Server: S Token + +Syntax: S <servername> <password> <port> :<description> + +To initiate a mesh link, a server must connect to the port given in its <connect> tag, and issue this command. The port number is the port number the +initiator is listening on for incoming server connections, it must be provided so that other servers in the mesh can link back and issue auth cookies. +This is known as an 'active' connect, e.g. the initiator always uses the uppercase S token. +-------------------------------------------------------------------------------- +Set version reply: v Token + +Syntax: v <servername> <arbitary version string> + +This token indicates the version string of a server on the mesh. Rather than send it each time it is requested, inspircd simply updates the mesh with +its details either on bursting or if/when the data changes. +-------------------------------------------------------------------------------- +Outbound Server: s Token + +Syntax: s <servername> <password> <port> :<description> + +Upon receiving a valid S token, if the password and servername are accepted, the receiving server replies with this token. It is a different token to +S to avoid loops, and diffrentiate between initiator and receiver in the linking process. Once the initiator accepts the s token, the link is +established and the burst begins. +-------------------------------------------------------------------------------- +Non-Mesh Server: U Token + +Syntax: U <servername> <password> :<description> + +The U token is similar to the S token in that it initiates a server to server link, but it is designed primarily to link systems which are not able to +become a fully meshed node, for example IRC Services packages. Upon a successful "U type" (as this is known) authentication, the other servers are +informed of the introduction of the server via means of a H token, but will never connect back to it, they will route all messages via its uplink +(messier than meshing it, but if the application is physically incapapable of joining the mesh, this is what must be done). +-------------------------------------------------------------------------------- +Error: E Token + +Syntax: E :<error message> + +The E token indicates a protocol error, or invalid credentials etc, and immediately after an E token the connection is dropped. Failure to +authenticate during a link is usually the cause of such tokens being sent. +-------------------------------------------------------------------------------- +Begin Netburst: Y Token + +Syntax: Y <time> + +The Y token indicates the start of the netburst. The time value is used simply to correctly calculate the length of the burst (a similar token is sent +at the end of the netburst which also contains a time, allowing the delta to match up correctly without clock syncronization) +-------------------------------------------------------------------------------- +Set Auth Cookie: ~ Token + +Syntax: ~ <new auth cookie> + +The ~ token adds a new auth cookie to the servers allowed list. A server may permit multiple auth cookies at any one time to cope with resyncs. +-------------------------------------------------------------------------------- +Begin Mesh: + Token + +Syntax: + <servername> <portnumber> <authcookie> + +When a server successfully initiates a connection, it sends this token out to all servers it already has in its mesh, which inform all the servers to +connect back upon the servername given, on the port provided, using the given auth cookie. When this occurs all servers will send the "-" token to it +upon connection. +-------------------------------------------------------------------------------- +Send Routing Table: $ Token + +Syntax: $ <source server> <reachable server> [<reachable server>...] + +The $ token is a means of transmitting routing tables around the mesh. A server sends a list of servers it can reach directly. These tables are +updated periodically. If a server cannot be reached directly, the ircd will scan the routing tables it has looking for an ircd which can reach it +directly, and inform that server to route the message for it. +-------------------------------------------------------------------------------- +SQUIT: & Token + +Syntax: & <servername> + +The & symbol is sent by a server when it leaves the mesh, or by servers which detect that other servers are completely unroutable. Upon receipt of an +& symbol, the local server will instantly and recursively (according to its routing table) remove all users along that route. +-------------------------------------------------------------------------------- +Reroute: R Token + +Syntax: R <target-server> <anything> + +This is the R or 'reroute' token, which indicates the <anything> provided should be instantly routed to <target-server> and only to <target-server> +without processing it any further. Usually the server will receive these if it is the only available and direct route to <target-server>. +-------------------------------------------------------------------------------- +PONG: ? Token + +Syntax: ? + +This token is used as a PONG, and has no parameters or responses. Only locally connected servers send pings (! token) to their peers, so no source is +required. +-------------------------------------------------------------------------------- +NOP: * or : Token + +Syntax: *|: + +This token is a NOP (No-Operation) message. +-------------------------------------------------------------------------------- +USER: N Token + +Syntax: N <time> <nick> <host> <displayed-host> <ident> <modes> <ipaddress> <server> :<GECOS> + +This token introduces a new user into the network. The server specified by <server> is responsible for all local checking of that user's actions, such +as channel joins, PINGs, QUITs etc. The <time> value is a unix epoch time, and the <ipaddress> field is the user's ip address in dotted decimal +(1.2.3.4) form. +-------------------------------------------------------------------------------- +CHGNAME: a Token + +Syntax: a <nick> :<GECOS> + +Change realname (GECOS) of a connected user. +-------------------------------------------------------------------------------- +CHGHOST: b Token + +Syntax: b <nick> :<displayed-host> + +Change the displayed hostname of a connected user (vhost) to the one provided. No checking of this value is done, it is up to the local server to +check this value before sending it out onto the mesh. +-------------------------------------------------------------------------------- +TOPIC: t Token + +Syntax: t <nick> <channel> :<topic> + +This token indicates a user set or changed a channel topic. This token should not be used in netjoins, the T token (with a timestamp) should be used +instead to check which topic 'wins'. +-------------------------------------------------------------------------------- +INVITE: i Token + +Syntax: i <nick> <source> <channel> + +Invite a user to a channel. The user specified by <nick> is invited to channel <channel> by <source>. +-------------------------------------------------------------------------------- +KICK: k Token + +Syntax: k <source> <dest> <channel> :<reason> + +This token indicates a user was kicked from a channel. +-------------------------------------------------------------------------------- +NICK: n Token + +Syntax: n <old nick> <new nick> + +Indicates a nickchange. +-------------------------------------------------------------------------------- +JOIN: J Token + +Syntax: J <nick> [permissions]<channel> [[permissions]<channel>...] + +This token indicates that a user is joining one or more channels, and indicates their privilages upon said channel. For example: "J MrFoo @#bar +#qux +#baz". +-------------------------------------------------------------------------------- +SERVERTOPIC: T Token + +Syntax: T <settime> <nick> <channel> :<topic> + +This token indicates the server set or changed a channel topic. This token should be used in netjoins to check which topic 'wins'. +-------------------------------------------------------------------------------- +SERVERMODE: M Token + +Syntax: M <target> <modes> [mode-parameters] + +This token sets channel or user modes (depending upon the target given). The server sets the modes with this token as opposed to the 'm' token (lower +case 'm') in which a user sets the modes. +-------------------------------------------------------------------------------- +MODE: m Token + +Syntax: m <source> <target> <modes> [mode-parameters] + +This token sets channel or user modes (depending upon the target given). The user given as <source> sets the modes with this token. You cannot specify +<source> as a server, for this you must use the M token instead. +-------------------------------------------------------------------------------- +PRIVMSG: P Token + +Syntax: P <source> <target> :<text> + +The P token indicates a PRIVMSG between a user and a channel or other user. Target may be either a channel, or a user, source may only be a user. +-------------------------------------------------------------------------------- +NOTICE: V Token + +Syntax: V <source> <target> :<text> + +The V token indicates a NOTICE between a user and a channel or other user. Target may be either a channel, or a user, source may only be a user. + +As of 1.0 Beta 4, there are two special cases for the V token, in which the target may be one of: + + * "*" - Specify a target of * to send the notice to all users upon that server. + * "@*" - Specify this target to send to all opers upon that server and place the nickname of the originator within the body of the notice. + +-------------------------------------------------------------------------------- +PART: L Token + +Syntax: L <nick> <channel> :<reason> + +This token indicates a user is leaving a channel with the given reason. The reason field is not optional, if there is no reason the field is just a +colon (":"). +-------------------------------------------------------------------------------- +QUIT: Q Token + +Syntax: Q <nick> :<reason> + +The Q token indicates a user is quitting. The reason given is not optional, if none is specified the field contains just a colon symbol (":"). +-------------------------------------------------------------------------------- +Non-Mesh-Add: H Token + +Syntax: H <servername> + +Adds a U-Type server to the map without any other information. This is used to maintain links to services. +-------------------------------------------------------------------------------- +KILL: K Token + +Syntax: K <source> <nick> :<reason> + +This token is the KILL token, which indicates a user is to be KILLed. Its use generates a QUIT token from the local server. Source may only be a user, +not a server, as server kills are always handled locally. +-------------------------------------------------------------------------------- +WALLOPS: @ Token + +Syntax: @ <source> :<text> + +This token sends a global WALLOPS. Source may only be a user, not a server. +-------------------------------------------------------------------------------- +GLINE: # Token + +Syntax: # <mask> <who-set-it> <time-set> <duration> :<reason> + +Adds a permenant or timed G-Line to all servers on the mesh. The mask contains both the ident and hostname in ident@host form. <who-set-it> is +arbitary text, and can be a user or a server. +-------------------------------------------------------------------------------- +UNGLINE: . Token + +Syntax: . <mask> <who> + +Removes a G-Line from all servers on the mesh. +-------------------------------------------------------------------------------- +QLINE: { Token + +Syntax: { <mask> <who-set-it> <time-set> <duration> :<reason> + +Adds a permenant or timed Q-Line to all servers on the mesh. The mask contains a nickname pattern. <who-set-it> is arbitary text, and can be a user or +a server. +-------------------------------------------------------------------------------- +UNQLINE: [ Token + +Syntax: [ <nickmask> <who> + +Removes a Q-Line from all servers on the mesh. +-------------------------------------------------------------------------------- +ZLINE: } Token + +Syntax: } <mask> <who-set-it> <time-set> <duration> :<reason> + +Adds a permenant or timed Z-Line to all servers on the mesh. The mask contains an ip address mask. <who-set-it> is arbitary text, and can be a user or +a server. If duration is 0, the ban is permenant. +-------------------------------------------------------------------------------- +UNZLINE: ] Token + +Syntax: ] <mask> <who> + +Deletes a Z-Line from all servers on the mesh. +-------------------------------------------------------------------------------- +OPERTYPE: | Token + +Syntax: | <nick> <opertype> + +Sets the opertype of an oper to the given string. This is done so that all ircds are aware of what the oper types of each oper is globally. +Configuration of oper types and classes should match network wide. +-------------------------------------------------------------------------------- +End-Netburst: F Token + +Syntax: F <time> + +This token indicates the end of the netburst, for more information see the 'Y' token. +-------------------------------------------------------------------------------- +SERVICE1: / Token + +Syntax: / <nickserv nick> + +This token is used to indicate the name of a nickname service and is reserved for future use. +-------------------------------------------------------------------------------- +End-Netburst-NM: f Token + +Syntax: f <time> + +This is identical in syntax and operation to the F token, except its use does not cause mesh links, as in the server is added in a disconnected state +to force routing through its uplink. Used by services servers. +-------------------------------------------------------------------------------- +Begin-Burst: X Token + +Syntax: X <time> + +This token when sent indicates that the server is ready to receive the other servers (recipient of this token) netburst data. +-------------------------------------------------------------------------------- +Example Server Conversation + +This is an example of a services server linking to an InspIRd server. During the 'conversation' two users connect, one of which is an oper, one of +which is a normal user. + +>> U services-dev.chatspike.net xxxxxxxx :Developer Services +>> / NickServ +>> N 1111691007 OperServ chatspike.net chatspike.net services-dev +oio 0.0.0.0 services-dev.chatspike.net :Operator Server +>> N 1111691007 Global chatspike.net chatspike.net services-dev +oio 0.0.0.0 services-dev.chatspike.net :Global Noticer +>> N 1111691007 NickServ chatspike.net chatspike.net services-dev +oo 0.0.0.0 services-dev.chatspike.net :Nickname Server +>> N 1111691007 ChanServ chatspike.net chatspike.net services-dev +oo 0.0.0.0 services-dev.chatspike.net :Channel Server +>> N 1111691007 MemoServ chatspike.net chatspike.net services-dev +oo 0.0.0.0 services-dev.chatspike.net :Memo Server +<< Y 1111691007 +<< X 0 +<< N 1111690997 [Brain] synapse.brainbox.winbot.co.uk netadmin.chatspike.net ~brain +xiwsogh 10.0.0.2 test.chatspike.net :Brain +>> V NickServ [Brain] :This nickname is registered and protected. If it is your nickname, type msg NickServ... +>> V NickServ [Brain] :If you do not change within one minute, I will change your nickname. +<< | [Brain] NetAdmin +<< J [Brain] @#chatspike +<< M #chatspike +nt +<< H services-dev.chatspike.net +<< $ test.chatspike.net services-dev.chatspike.net +<< F 1111691007 +<< $ test.chatspike.net services-dev.chatspike.net +>> m ChanServ #chatspike +ntrl 99 +<< P [Brain] NickServ :identify xxxxxxxx +>> m NickServ [Brain] :+r +>> V NickServ [Brain] :Password accepted -- you are now recognized. +>> m ChanServ #chatspike +q [Brain] +<< n [Brain] [Brain +>> m NickServ [Brain :-r +<< n [Brain [Brain] +>> m NickServ [Brain] :+r +<< P [Brain] NickServ : identify xxxxxxx +>> m NickServ [Brain] :+r +>> V NickServ [Brain] :Password accepted -- you are now recognized. +<< N 1111691073 Om xxxxxx.gotadsl.co.uk ChatSpike-7A15BE0A.gotadsl.co.uk ~om +x 81.6.252.165 test.chatspike.net :Om +<< b Om ChatSpike-7A15BE0A.gotadsl.co.uk +<< m Om Om +x +>> V NickServ Om :This nickname is registered and protected. If it is your nickname, type... +<< m Om Om +wsi +<< J Om #chatspike +<< P Om NickServ :identify xxxx +>> V NickServ Om :Password incorrect. + |