summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket1.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* RevertGravatar brain2007-04-091-5/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6781 e03df62e-2008-0410-955e-edbf42e46eb7
* Test tweak to make it sync fasterGravatar brain2007-04-091-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6780 e03df62e-2008-0410-955e-edbf42e46eb7
* Different way of generating random stringGravatar brain2007-04-091-1/+17
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6779 e03df62e-2008-0410-955e-edbf42e46eb7
* Give information in snomask +l to what type of auth was usedGravatar brain2007-04-091-3/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6778 e03df62e-2008-0410-955e-edbf42e46eb7
* Add config <options:disablehmac> to support disabling of HMAC, and tidy up ↵Gravatar brain2007-04-091-7/+26
| | | | | | to detect if the other side hasnt got it enabled and we did, or if we enabled it and dont have sha256 (that would be an oops) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6776 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove debug: This now works!Gravatar brain2007-04-091-8/+7
| | | | | | | WARNING: I have no idea how this will react to being linked to a past version without HMAC-challenge-response.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6775 e03df62e-2008-0410-955e-edbf42e46eb7
* I think we're almost there nowGravatar brain2007-04-091-3/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6774 e03df62e-2008-0410-955e-edbf42e46eb7
* This is likely fucked up beyond all recognition. Today is fubar day :pGravatar brain2007-04-091-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6772 e03df62e-2008-0410-955e-edbf42e46eb7
* Debug, and we seem to be sending capab twiceGravatar brain2007-04-091-10/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6771 e03df62e-2008-0410-955e-edbf42e46eb7
* Add basic HMAC suggested by jilles to make the auth not suck -- this is ↵Gravatar brain2007-04-091-4/+25
| | | | | | probably buggy, and the other side doesnt auth yet. do not use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6769 e03df62e-2008-0410-955e-edbf42e46eb7
* Test code that pretends to send a hashed value if its got a challenge - ↵Gravatar brain2007-04-091-4/+10
| | | | | | don't use this, it wont connect git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6768 e03df62e-2008-0410-955e-edbf42e46eb7
* Added ability to send and receive a challenge, dont do anything with it yetGravatar brain2007-04-091-4/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6767 e03df62e-2008-0410-955e-edbf42e46eb7
* Add methods needed for storing challenge stringGravatar brain2007-04-091-0/+23
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6766 e03df62e-2008-0410-955e-edbf42e46eb7
* Add licensing headers to files which are missing them and make sure they are ↵Gravatar brain2007-04-071-0/+13
| | | | | | up to date in others (e.g. point at the developer page on the wiki not list names) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6759 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #199 (Feature request) submitted by owine. Ended up adding an ↵Gravatar brain2007-04-051-1/+3
| | | | | | | | | extra parameter to <uline> for this. It turned into a biggie :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6742 e03df62e-2008-0410-955e-edbf42e46eb7
* This needs some general QA-ing. Add support to new parser (introduced in ↵Gravatar brain2007-04-021-5/+5
| | | | | | 1.1) for empty final params (just the colon) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6731 e03df62e-2008-0410-955e-edbf42e46eb7
* Check validity (length) of all NICK parameters to make sure we're not ↵Gravatar brain2007-03-241-11/+44
| | | | | | | | | introducing a dodgy client (such as one introduced by dmb's dodgy program) Normally, NICK parameters longer than allowed are weeded out by CAPAB but sending CAPAB is optional. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6705 e03df62e-2008-0410-955e-edbf42e46eb7
* set the TS of a channel in JoinUser, not after the entire FJOIN, this is ↵Gravatar brain2007-03-181-14/+4
| | | | | | safer and may fix the odd desync here and there git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6690 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, fix a silly bug i just introduced :pGravatar brain2007-03-101-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6649 e03df62e-2008-0410-955e-edbf42e46eb7
* Move FJOIN propogation above the FMODEs generated by winning an FJOINGravatar brain2007-03-101-5/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6648 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix typoGravatar brain2007-03-101-10/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6645 e03df62e-2008-0410-955e-edbf42e46eb7
* HIGHLY EXPERIMENTAL: This needs heavy testing -- new FMODE behaviour:Gravatar brain2007-03-101-255/+4
| | | | | | | | (1) IF THEIRTS <= OURTS, ACCEPT MODE AND PASS ON (2) If THEIRTS > OURTS, drop the mode and DONT pass on. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6644 e03df62e-2008-0410-955e-edbf42e46eb7
* Take away a uline specific check in fmode, which might explain why desyncs ↵Gravatar brain2007-03-081-8/+1
| | | | | | | | | between servers only occur when theres a ulined server about. QA please test this with at least 2 insps and services and server syncs/splits, check for channel mode desyncs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6638 e03df62e-2008-0410-955e-edbf42e46eb7
* Ensure that simplemodes are sent first (jilles requested this)Gravatar brain2007-02-251-2/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6611 e03df62e-2008-0410-955e-edbf42e46eb7
* Bans are bursted using a large string buffer to save on write() calls, so ↵Gravatar brain2007-02-251-3/+11
| | | | | | | | | the way we handle clamping the ban sending to 350 chars is slightly different than the changes just made to modestacker. works he same though. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6610 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow for nick!user@host in TOPIC information.Gravatar brain2007-02-111-1/+1
| | | | | | | Note that this adds another <options> tag value, 'hostintopic'. (defaults to yes) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6572 e03df62e-2008-0410-955e-edbf42e46eb7
* Support port binding hereGravatar brain2007-02-071-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6535 e03df62e-2008-0410-955e-edbf42e46eb7
* Potential desync on "nick collision at same time as fjoin" fixGravatar brain2007-01-271-7/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6445 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix dependenciesGravatar brain2007-01-191-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6398 e03df62e-2008-0410-955e-edbf42e46eb7
* Split this up even more, much smaller files that are easier for gcc to digestGravatar brain2007-01-191-0/+1451
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6395 e03df62e-2008-0410-955e-edbf42e46eb7