summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket1.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix: trying to send out all lines in one hit is different from the way we do ↵Gravatar w00t2008-02-161-20/+16
| | | | | | users, etc - and also won't be too healthy for the socket buffer with lots of them. This also removes a data copy, which in theory will make it fractionally faster. Fixes bug #496 reported by Skip. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8946 e03df62e-2008-0410-955e-edbf42e46eb7
* More tweaksGravatar brain2008-02-051-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8840 e03df62e-2008-0410-955e-edbf42e46eb7
* This should work a bit better, voidzero. If someone had told me it was ↵Gravatar brain2008-02-051-1/+1
| | | | | | seperate servers from the start.... :p git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8838 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport r8810: minor FTOPIC desync fixGravatar w00t2008-02-031-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8811 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8695 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport: Add SVSPART at request of the Anope team - You can tell if the ↵Gravatar brain2007-08-281-1/+1
| | | | | | | | | server has SVSPART by the presence of SVSPART=1 in the CAPAB. No, we will NOT be enforcing this network-wide, its a server-origin command so it wont cause disconnects if it doesnt exist somewhere. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7983 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #398, when someone does /rconnect and the connection fails, more ↵Gravatar brain2007-08-261-13/+11
| | | | | | stuff is now globally broadcast using SNONOTICE and PUSH git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7827 e03df62e-2008-0410-955e-edbf42e46eb7
* Add some stuff to change how we process a token sepeperated streamGravatar brain2007-08-231-6/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7801 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport display glitch fix found by djGrrr, fixed by w00tGravatar brain2007-08-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7692 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge r7528-7529 from trunkGravatar peavey2007-07-231-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7530 e03df62e-2008-0410-955e-edbf42e46eb7
* Ive tidied up the mode count stuff, but i still cant duplicate negative ↵Gravatar brain2007-07-181-1/+5
| | | | | | invisible counts. :( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7474 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+1273
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-1273/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* Check for TS==0 in FJOINGravatar brain2007-06-241-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7406 e03df62e-2008-0410-955e-edbf42e46eb7
* Drop fmode with TS of 0, just in case any craq smoking services devs get the ↵Gravatar brain2007-06-241-0/+7
| | | | | | idea that this is acceptable instead of actually supporting TS rules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7405 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for atheme support (and others) which makes sure CAPAB is always sent ↵Gravatar brain2007-06-241-0/+6
| | | | | | before BURST git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7404 e03df62e-2008-0410-955e-edbf42e46eb7
* - Fixed fencepost error in apply_other_sides_modes.Gravatar burlex2007-06-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7315 e03df62e-2008-0410-955e-edbf42e46eb7
* + Added a check between servers prefixes at the CAPAB negotiation stage. ↵Gravatar burlex2007-06-141-0/+3
| | | | | | This will prevent servers with prefixes from linking up in the first place (later on they will get errored out for invalid prefix in FJOIN most likely, but it's better to stop them from linking in the first place) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7312 e03df62e-2008-0410-955e-edbf42e46eb7
* A ton more clear() and empty() stuff thats been lingering on the long term ↵Gravatar brain2007-06-091-19/+14
| | | | | | todo for too long a term :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7264 e03df62e-2008-0410-955e-edbf42e46eb7
* Move inspircd.h to topGravatar brain2007-05-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7099 e03df62e-2008-0410-955e-edbf42e46eb7
* Send CHANMODES= and PREFIX= in CAPAB CAPABILITIES.Gravatar brain2007-05-201-1/+1
| | | | | | | Sorry, if you encounter a server < 1.1.8, youll have to guess by module name. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7055 e03df62e-2008-0410-955e-edbf42e46eb7
* Windows support. Tested and working to compile on freebsd and linux. Next ↵Gravatar w00t2007-05-191-0/+6
| | | | | | step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
* We dont need to send FMODE for user mode changes, and the FMODE handler ↵Gravatar brain2007-05-131-1/+1
| | | | | | doesnt need to error on FMODE from a user if we get one git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7017 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix remote bursting with quietbursts, before QA actually test it :P (thanks ↵Gravatar brain2007-05-131-3/+0
| | | | | | HiroP) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7014 e03df62e-2008-0410-955e-edbf42e46eb7
* Better logging to troubleshoot silentburstsGravatar brain2007-05-131-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7013 e03df62e-2008-0410-955e-edbf42e46eb7
* Change some stuff around to make sure metadata/fmode comes after nick list ↵Gravatar brain2007-05-101-8/+10
| | | | | | if sent by modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6957 e03df62e-2008-0410-955e-edbf42e46eb7
* remove EB metadata madness and make services people happy.Gravatar brain2007-05-101-1/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6956 e03df62e-2008-0410-955e-edbf42e46eb7
* Small api change with wide reaching effects in modules - Allows modification ↵Gravatar brain2007-05-101-1/+1
| | | | | | of whats displayed by NAMES on a per-nick basis, so we can have UHNAMES in a seperate module to NAMESX (and possibly do some funky other stuff in the future too!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6934 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix ping timeout ERROR not being generated when a server pings out, making ↵Gravatar brain2007-05-091-5/+6
| | | | | | | | | the other end appear to be closed unexpectedly without reason. Find and fix the 3 ping timeout messages for server to server that were using WriteOpers instead of snomask +l git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6933 e03df62e-2008-0410-955e-edbf42e46eb7
* - (FINALLY, ffs) add realnames to connect/remote connect server notices, per ↵Gravatar w00t2007-05-081-1/+1
| | | | | | HiroP's patch. No, we're not showing SSL - SSL is a module, putting that in the core is hacky. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6920 e03df62e-2008-0410-955e-edbf42e46eb7
* Correct the silentbursts logicGravatar brain2007-05-071-4/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6908 e03df62e-2008-0410-955e-edbf42e46eb7
* Slightly tidier capab checksGravatar brain2007-05-071-22/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6906 e03df62e-2008-0410-955e-edbf42e46eb7
* Needs a little testing: Tidyup of some code, namely when validating the ↵Gravatar brain2007-05-071-55/+21
| | | | | | length of params for NICK, tidied it into an array of sizes and indexes rather than a big long chain of if, then, else git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6905 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix channel TS not being set correctly on creation of new channelGravatar brain2007-05-071-4/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6904 e03df62e-2008-0410-955e-edbf42e46eb7
* Developers, please review ForceJoin starting at line 730 of this file. It ↵Gravatar brain2007-05-071-161/+46
| | | | | | | | | needs a thorough going over to see if anyone can spot any problems. Now uses modestacker rather than trying to do this itself with lots of char* craq. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6903 e03df62e-2008-0410-955e-edbf42e46eb7
* A bit more debug in hereGravatar brain2007-05-071-18/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6902 e03df62e-2008-0410-955e-edbf42e46eb7
* Add bugnotice when an fmode is sent with a TS < ours. This should in theory ↵Gravatar brain2007-05-071-0/+3
| | | | | | | | | never happen unless theres some retardedness going on, the TS should always really be = ours or > ours, as FMODE comes after FJOIN, and FJOIN lowers the TS to be = ours if its greater. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6901 e03df62e-2008-0410-955e-edbf42e46eb7
* FTOPIC from another server now (correctly) shows local server name to ↵Gravatar brain2007-05-071-1/+1
| | | | | | obscure remote git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6900 e03df62e-2008-0410-955e-edbf42e46eb7
* Add options:quietbursts, fixes bug #269, also adds support for quits in a ↵Gravatar brain2007-05-041-1/+5
| | | | | | cull list which do not generate a quit snotice git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6883 e03df62e-2008-0410-955e-edbf42e46eb7
* Much more detailed logging of lowlevel socket errors to the +l snomaskGravatar brain2007-05-011-17/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6856 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix crashbug in latest svn introduced by inspsocket cull list, which can ↵Gravatar brain2007-05-011-0/+8
| | | | | | cause a crash if the connection times out and an error occurs on the socket before its deleted git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6855 e03df62e-2008-0410-955e-edbf42e46eb7
* Make error reporting work properly, it seemed to loose errors.Gravatar brain2007-04-261-3/+9
| | | | | | | | | First change: Add a culling list of inspsockets waiting to be closed, so the close() is less likely to be called before the buffer is entirely empty. This seems to work well on my LAN. Second change: Add a SendError() method, rather than WriteLine("ERROR : ..."). This can be used to effect by also echoing out "Sent ERROR to %s: ..." onto the +l snomask meaning at least one end will always see the error even if the ERROR command is lost due to latency or design of the transport (e.g. ssl which may be writing during a read event etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6844 e03df62e-2008-0410-955e-edbf42e46eb7
* dhost and host are both char[65], so let stringcopy take up to 64 chars here.Gravatar peavey2007-04-251-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6833 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug that took ages to track down and was very subtle.Gravatar brain2007-04-151-0/+2
| | | | | | | | | | | | | | | During authentication the flow of commands is as follows: > SERVER aaaaaa < SERVER bbbbbb > BURST < BURST ... what can happen is that between the two server commands we can introduce SERVER aaaa to server bbbbb again, from a different socket. As server aaaaa doesnt exist yet and we're waiting for it to say yes or no to our own SERVER command over at bbbbbb, it cant be found with FindServer. Therefore we need a second list of servers that arent yet authenticated, but are waiting TO authenticate, by the pointer their socket has and the name they want to become after auth. If two servers introduce themselves at the same time, triggering what was the race condition, both servers are disconnected with "ERROR :Negotiation collision" and must try again until only one succeeds. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6802 e03df62e-2008-0410-955e-edbf42e46eb7
* The hmac stuff was slightly wrong, calculating the 2nd partGravatar brain2007-04-091-1/+2
| | | | | | | left a concatenation outside the bracket git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6787 e03df62e-2008-0410-955e-edbf42e46eb7
* D'oh, this is what causes it to randomly not allow the HMAC, when theres an ↵Gravatar brain2007-04-091-1/+4
| | | | | | = in the string, it borks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6786 e03df62e-2008-0410-955e-edbf42e46eb7
* And spell it right.Gravatar brain2007-04-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6785 e03df62e-2008-0410-955e-edbf42e46eb7
* Minor change, easy to roll back if it fucks upGravatar brain2007-04-091-1/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6784 e03df62e-2008-0410-955e-edbf42e46eb7
* WhoopsieGravatar brain2007-04-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6783 e03df62e-2008-0410-955e-edbf42e46eb7
* Wait longer before sending data on the connect than on the acceptGravatar brain2007-04-091-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6782 e03df62e-2008-0410-955e-edbf42e46eb7