summaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
AgeCommit message (Collapse)Author
2021-03-05Update copyright headers.InspIRCd Robot
2020-07-30Update copyright headers.InspIRCd Robot
2020-07-27Fix secure websocket users not being seen as secure.Matt Schatz
Since a TLS (SSL) module will always be the last IOHook attached to a socket, IsSSL() needs to ignore any Middle IOHooks that may also be attached.
2020-04-24Update copyright headers.InspIRCd Robot
2020-04-09More HasFd() conversions.Sadie Powell
2020-01-11Update copyright headers.InspIRCd Robot
2019-07-21Add a method for swapping user I/O handlers.Peter Powell
2019-05-22Add an overload of StreamSocket::Close which closes when all data has been ↵linuxdaemon
written. Fixes sending large pages in m_httpd (#1646).
2019-04-15Fix linking servers with UNIX sockets.Peter Powell
- Remove the address/port overloads of BeginConnect. - Change DoConnect to take a sockaddrs instead of an address/port.
2019-01-14Redo OnSetEndPoint logic to fix duplicate clones (#1549).linuxdaemon
2018-07-18Add the family() member to the sockaddrs union.Peter Powell
2018-04-09Optimize some behaviour in the core (#1476).Dylan Frank
2018-01-20Pass an irc::socket::sockaddrs to SocketEngine::Connect().Peter Powell
2017-11-17Fix a ton of -Wsign-conversion warnings.Peter Powell
2016-08-08Add support for multiple IOHooks per StreamSocketAttila Molnar
2016-08-08Call StreamSocket::OnDataReady() from only one placeAttila Molnar
Call it whenever the recvq gets bigger than it was before the read
2016-08-08Extract code that reads data into a recvq from StreamSocket::DoRead() into ↵Attila Molnar
ReadToRecvQ()
2016-08-08Extract code that flushes the sendq from StreamSocket::DoWrite() into ↵Attila Molnar
FlushSendQ()
2016-08-08Add StreamSocket::GetModHook() for obtaining the IOHook belonging to a given ↵Attila Molnar
module Use it to simplify logic in all modules using or providing IOHooks
2016-08-08Pass sendq to OnStreamSocketWriteAttila Molnar
2015-06-06Clean up indent in StreamSocket::DoWrite()Attila Molnar
2015-06-06Call OnStreamSocketWrite() once per write eventAttila Molnar
Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
2015-06-06Convert all code to use StreamSocket::SendQueueAttila Molnar
Let OnStreamSocketWrite see the entire sendq instead of one element at a time
2015-04-15Remove exception handling from StreamSocket methods calling IOHooksAttila Molnar
IOHooks don't throw exceptions
2015-04-12Dispatch EventHandler events to dedicated virtual functionsAttila Molnar
Remove enum EventType
2015-03-04Use the native IOVector type in StreamSocket::DoWrite()Attila Molnar
2015-03-04Remove DISABLE_WRITEV and StreamSocket code for platforms lacking writev() ↵Attila Molnar
support
2015-03-04Add SocketEngine::WriteV()Attila Molnar
2015-01-10Store iovec array on the stack instead of heap allocating it for the ↵Attila Molnar
lifetime of writev() in StreamSocket::DoWrite()
2015-01-10Remove pointless fd == INT_MAX check from StreamSocket::DoWrite()Attila Molnar
2015-01-10Remove some unnecessary NULL checksAttila Molnar
2015-01-10Reduce std::string::substr() usageAttila Molnar
substr() returns a new string while erase() and assign() modify the existing one
2014-07-10Remove current time parameter of the Timer constructorAttila Molnar
2014-06-14Kill needless #includes in source filesAttila Molnar
2014-03-15Change allocation of InspIRCd::Timers to be physically part of the object ↵Attila Molnar
containing it
2014-02-09Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*)Attila Molnar
2014-02-08Change all socketengine methods to be staticAttila Molnar
2014-02-08Change SocketEngine functions that do not require an instance to be staticAttila Molnar
2014-01-30Allow Timers to delete themselves in Tick()Attila Molnar
2014-01-23Remove whitespace and minor style changesAttila Molnar
2014-01-22Split IOHook into IOHook and IOHookProviderAttila Molnar
Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
2013-12-18Clean up CoreExceptionAttila Molnar
- Remove default constructor - Replace virtual functions returning C strings with functions returning const std::string refs
2013-08-30Merge insp20attilamolnar
2013-07-14Use the correct socket related error messages on WindowsAdam
2013-07-07Do not send too much data over SSL in one goattilamolnar
Some clients fail to read it entirely and the remaining data stays in their read buffer until new data arrives
2013-06-07Create IOHook interface (extracted from Module)attilamolnar
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-04-28Merge insp20attilamolnar
2013-04-26Modularize DNSAdam
The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this.
2013-04-21Timer changes and TimerManager enhancementsattilamolnar
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded) Timers are removed from the TimerManager automatically at destruction Timers are now stored in a multimap instead of a sorted vector