summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket1.cpp
AgeCommit message (Collapse)Author
2012-09-30Fix more undefined behavior caused by referencing the returned buffer by ↵attilamolnar
std::string::c_str() when the object is temporary See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
2012-08-10m_spanningtree Add missing aposthrope to connection failed server noticeattilamolnar
2012-08-10m_spanningtree: Resolve issue #250ChrisTX
2012-07-08m_spanningtree Add function to easily determine whether a server was ↵attilamolnar
introduced to the network, use it to determine when to send SQUIT
2012-06-12m_spanningtree Burst to a new server before introducing it to the rest of ↵attilamolnar
the network Fixes issue #103 reported by @nenolod
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-02-21Add HMAC implementation to HashProviderdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12508 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-13Clean up treesocket naming confusion by adding a link block reference during ↵danieldg
negotiation git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12452 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-13Fix double-invocation of Squit that can cause a crash on delinkdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12451 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-11Restart server_hash iteration after quitting dead and pinged out serversdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12435 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-04Add DYING link state, push error messages on link, and only limit recvq on ↵danieldg
unauthenticated servers git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12370 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-03Split servers if they try to send infinite garbage without a newlinedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12369 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-30Stop parsing inbound server lines on an errordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12334 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-15Add CAPAB CHANMODES, CAPAB USERMODES to verify matching of modes by name, ↵danieldg
not just by letter git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12262 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-14Verify cloak keys match during CAPAB negotiationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12258 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-16Use ServiceProvider for inter-module dependenciesdanieldg
This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-12Fix double-cull of users quitting due to connection errordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03Clean up duplicated link snomask messages on errorsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11999 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Make User::uuid and User::server constdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Fix plural on netsplit SNO. [dKingston]peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11961 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22Make irc::sockets::* parameters consistent, add irc::sockets::maskdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11953 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Kill ListenSocketBase, use OnAcceptConnection for all new connectionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21some WriteGlobalSno changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11939 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Make classbase and refcountbase uncopyable; expand comments on their ↵danieldg
indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-09Fix hook finding code and error reportingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11813 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-09Move autoconnect next-server to TreeSocket::cull, and drop autoconnect ↵danieldg
reference once a connection is complete git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11811 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-09Add server ports to ServerInstance->ports, enable SSL on them using OnHookIOdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11810 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Update Event and Request APIsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02Fix valgrind issues and crashes on exitdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-01Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30Allow multiple autoconnects in a single <autoconnect> tag, fix infinite failoverdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11786 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Don't try to write to dead users, add debug to SquitServer, and remove a ↵danieldg
string copy in spanningtree write git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11753 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-17Add <autoconnect> blocks [jackmcbarn]danieldg
Replaces <link:failover> and <link:autoconnect> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11741 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03Change cmd_*.so to use the Module object APIdanieldg
Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add modules to the VF_COMMON list in backwards compatability link mode, ↵danieldg
translate FIDENT as CHGIDENT git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11657 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add VF_OPTCOMMON for optionally common modulesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11619 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove unneeded Extensible inheritance and remove "age" field from classbasedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Replace std::deque with std::vector in spanningtree and related modulesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Fix build of m_spanningtree and display of dependency regenerationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11557 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-07Allow SSL fingerprint-based server authenticationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11404 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-07Remove handshake timer on server sockets that die before completing handshakedanieldg
This fixes some very subtle and hard-to-trace bugs that are triggered when a file descriptor and memory address of an EventHandler* are reused after being deallocated. Impossible to trigger in valgrind; has been seen in live networks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11369 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-19Add loopCall to prevent double-broadcasting new X:linesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11319 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-31Add snomask +s +L - remote link notices.w00t
Can be a useful distinction for bigger networks or networks with more distinction on what people can and cannot see. This also makes RemoteMessage more match it's docs and removes useless redundancy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10759 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Be consistent. Use ServerInstance in all places instead of 'Instance' in ↵w00t
half. This has bugged me forever :p. I think I got all of extra/ too.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10579 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Fix the 'i/o error on connection (no error)' stuff, by displaying 'connected ↵brain
closed unexpectedly' when errno == 0. Also trigger failover whenever a connection times out in the new authentication timeout code (the connection isnt properly established so the failover should trigger) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10575 e03df62e-2008-0410-955e-edbf42e46eb7