Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-05 | Update copyright headers. | InspIRCd Robot | |
2020-07-30 | Update copyright headers. | InspIRCd Robot | |
2020-07-27 | Fix 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-24 | Update copyright headers. | InspIRCd Robot | |
2020-04-09 | More HasFd() conversions. | Sadie Powell | |
2020-01-11 | Update copyright headers. | InspIRCd Robot | |
2019-07-21 | Add a method for swapping user I/O handlers. | Peter Powell | |
2019-05-22 | Add an overload of StreamSocket::Close which closes when all data has been ↵ | linuxdaemon | |
written. Fixes sending large pages in m_httpd (#1646). | |||
2019-04-15 | Fix 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-14 | Redo OnSetEndPoint logic to fix duplicate clones (#1549). | linuxdaemon | |
2018-07-18 | Add the family() member to the sockaddrs union. | Peter Powell | |
2018-04-09 | Optimize some behaviour in the core (#1476). | Dylan Frank | |
2018-01-20 | Pass an irc::socket::sockaddrs to SocketEngine::Connect(). | Peter Powell | |
2017-11-17 | Fix a ton of -Wsign-conversion warnings. | Peter Powell | |
2016-08-08 | Add support for multiple IOHooks per StreamSocket | Attila Molnar | |
2016-08-08 | Call StreamSocket::OnDataReady() from only one place | Attila Molnar | |
Call it whenever the recvq gets bigger than it was before the read | |||
2016-08-08 | Extract code that reads data into a recvq from StreamSocket::DoRead() into ↵ | Attila Molnar | |
ReadToRecvQ() | |||
2016-08-08 | Extract code that flushes the sendq from StreamSocket::DoWrite() into ↵ | Attila Molnar | |
FlushSendQ() | |||
2016-08-08 | Add 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-08 | Pass sendq to OnStreamSocketWrite | Attila Molnar | |
2015-06-06 | Clean up indent in StreamSocket::DoWrite() | Attila Molnar | |
2015-06-06 | Call OnStreamSocketWrite() once per write event | Attila Molnar | |
Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core | |||
2015-06-06 | Convert all code to use StreamSocket::SendQueue | Attila Molnar | |
Let OnStreamSocketWrite see the entire sendq instead of one element at a time | |||
2015-04-15 | Remove exception handling from StreamSocket methods calling IOHooks | Attila Molnar | |
IOHooks don't throw exceptions | |||
2015-04-12 | Dispatch EventHandler events to dedicated virtual functions | Attila Molnar | |
Remove enum EventType | |||
2015-03-04 | Use the native IOVector type in StreamSocket::DoWrite() | Attila Molnar | |
2015-03-04 | Remove DISABLE_WRITEV and StreamSocket code for platforms lacking writev() ↵ | Attila Molnar | |
support | |||
2015-03-04 | Add SocketEngine::WriteV() | Attila Molnar | |
2015-01-10 | Store iovec array on the stack instead of heap allocating it for the ↵ | Attila Molnar | |
lifetime of writev() in StreamSocket::DoWrite() | |||
2015-01-10 | Remove pointless fd == INT_MAX check from StreamSocket::DoWrite() | Attila Molnar | |
2015-01-10 | Remove some unnecessary NULL checks | Attila Molnar | |
2015-01-10 | Reduce std::string::substr() usage | Attila Molnar | |
substr() returns a new string while erase() and assign() modify the existing one | |||
2014-07-10 | Remove current time parameter of the Timer constructor | Attila Molnar | |
2014-06-14 | Kill needless #includes in source files | Attila Molnar | |
2014-03-15 | Change allocation of InspIRCd::Timers to be physically part of the object ↵ | Attila Molnar | |
containing it | |||
2014-02-09 | Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*) | Attila Molnar | |
2014-02-08 | Change all socketengine methods to be static | Attila Molnar | |
2014-02-08 | Change SocketEngine functions that do not require an instance to be static | Attila Molnar | |
2014-01-30 | Allow Timers to delete themselves in Tick() | Attila Molnar | |
2014-01-23 | Remove whitespace and minor style changes | Attila Molnar | |
2014-01-22 | Split IOHook into IOHook and IOHookProvider | Attila 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-18 | Clean up CoreException | Attila Molnar | |
- Remove default constructor - Replace virtual functions returning C strings with functions returning const std::string refs | |||
2013-08-30 | Merge insp20 | attilamolnar | |
2013-07-14 | Use the correct socket related error messages on Windows | Adam | |
2013-07-07 | Do not send too much data over SSL in one go | attilamolnar | |
Some clients fail to read it entirely and the remaining data stays in their read buffer until new data arrives | |||
2013-06-07 | Create IOHook interface (extracted from Module) | attilamolnar | |
2013-05-19 | Fix spacing in calls to LogManager::Log. | Peter Powell | |
2013-04-28 | Merge insp20 | attilamolnar | |
2013-04-26 | Modularize DNS | Adam | |
The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this. | |||
2013-04-21 | Timer changes and TimerManager enhancements | attilamolnar | |
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 |