aboutsummaryrefslogtreecommitdiff
path: root/src/socket.cpp
Commit message (Expand)AuthorAgeFilesLines
...
* Merge insp20Gravatar Attila Molnar2014-04-071-2/+0
|\
| * Fix various problems detected by Clang 3.4.•••- cidr.cpp: remove inverted_bits; unused since 9fad3ecb9215a0034bf407f192926b04cb5efaed. - cmd_stats.cpp: remove needless inversion and comparison to 0. - inspircd.cpp: remove needless comparison to 0. - socket.cpp: remove all_zero; unused since 03a1bf15b1da7643b237c22db1a478916a976ccf. Gravatar Peter Powell2014-02-111-2/+0
* | Change SocketEngine functions that do not require an instance to be staticGravatar Attila Molnar2014-02-081-3/+3
* | Remove whitespace and minor style changesGravatar Attila Molnar2014-01-231-1/+0
* | Split IOHook into IOHook and IOHookProvider•••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. Gravatar Attila Molnar2014-01-221-0/+2
* | Merge insp20Gravatar Attila Molnar2014-01-211-4/+10
|\|
| * Fix OOB error in sa2cidr()Gravatar Daniel Vassdal2014-01-171-4/+10
* | Rewrite irc::sockets::sockaddrs::str() completely.•••- Replace use of MAXBUF with INET_ADDRSTRLEN/INET6_ADDRSTRLEN. - Replace use of sprintf with InspIRCd::Format. Gravatar Peter Powell2013-06-061-13/+11
* | Fix spacing in calls to LogManager::Log.Gravatar Peter Powell2013-05-191-6/+6
* | Add LOG_ prefix to the log level enum values.Gravatar Peter Powell2013-04-121-6/+6
|/
* Fix more undefined behavior caused by referencing the returned buffer by std:...•••See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88 Gravatar attilamolnar2012-09-301-1/+1
* Fix bug #291 - fix rehashing bind tags not changing them between servers/clie...Gravatar Adam2012-09-121-0/+1
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+18
* Fix mis-implemented irc::sockets::cidr_mask::operator<Gravatar Daniel De Graaf2011-04-181-2/+5
* Define comparator for irc::sockets::sockaddrs•••This only compares IP/port, which ignores IPv6 flow information and scope ID, which aren't important in testing for equality. Gravatar Daniel De Graaf2010-04-261-0/+11
* Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-231-33/+18
* Fix cidr_mask::str not correctly displaying mask length•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12363 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-031-1/+1
* Remove unneeded save of errno•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12309 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-211-3/+5
* ERROR is not a valid log level, so all these messages were getting dropped•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-191-1/+1
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Get rid of socklen_t parameter to Bind, we are using C++ here and can do it o...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12129 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-131-1/+1
* Get rid of OpenTCPSocket•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11969 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-241-40/+10
* Create irc::sockets::cidr_mask•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11968 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-241-47/+128
* Make irc::sockets::* parameters consistent, add irc::sockets::mask•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11953 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-221-33/+65
* Kill ListenSocketBase, use OnAcceptConnection for all new connections•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-35/+29
* Use ConfigTagList as a faster access method for access to configuration•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11948 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-4/+3
* Rewrite ConfigReader again•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-171-13/+12
* 3rd time lucky? Fix again for setsockopt.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11825 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-7/+2
* Slight tweak to setsockopt fix.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11824 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-2/+2
* Compile fixes for windows.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11823 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-1/+6
* Add server ports to ServerInstance->ports, enable SSL on them using OnHookIO•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11810 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-091-2/+2
* Fix crash due to null address in DNS•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-031-4/+1
* Get rid of a bunch of memory-wasting C-style strings•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-031-8/+7
* Remove InspIRCd* parameters and fields•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-1/+1
* Create StreamSocket for IO hooking implementation•••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 Gravatar danieldg2009-09-211-1/+1
* Rewrite BindPorts to index ports by their human-readable description•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11635 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-31/+24
* Remove duplicated address conversion from InspIRCd::BindSocket, fix FD leak i...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11632 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-27/+10
* Use a set to mark client SSL ports rather than going by textual IP/port pairs•••This theoretically speeds up accepting connections. Visible changes are proper IPv6 port text in 005 output and no possibility of incorrect SSL on addresses that mismatch an incoming port (possible with IPv4 wildcard SSL and IPv6 plaintext on the same port, not that anyone would do such a thing). Bind ports also now tell which SSL module they use in /stats p. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11629 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-1/+3
* Add irc::sockets::satouser for user-readable IP/port pairs•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11627 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-0/+37
* Fix valgrind uninitialised memory error•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11612 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-4/+1
* Cast rework: use C++ style static_cast<> instead of C-style casts•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-2/+2
* Use a bool return type for boolean return•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11585 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-2/+2
* Use sa_size() rather than sizeof() when passing input parameters to a syscall•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11583 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-1/+1
* Remove unneeded #ifdef IPV6 lines•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11582 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-11/+11
* Move IP<->sockaddr conversions into irc::sockets:: namespace•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11580 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-45/+8
* Remove now-unused insp_sockaddr and insp_inaddr types•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11579 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-12/+0
* Remove needless sockaddr[2] allocations, replace with irc::sockets::sockaddrs...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11574 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-35/+20
* Make rehash generate a new ServerInstance->Config object•••This makes it possible to cancel a pending rehash, and fixes possible threading issues with rehash and other events. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-011-6/+5
* Move list of open ports out of Config object•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-011-6/+6
* Fix incorrect attempted inline of irc::sockets::sa_size•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11415 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-06-161-0/+8