summaryrefslogtreecommitdiff
path: root/src/socket.cpp
AgeCommit message (Collapse)Author
2020-01-11Update copyright headers.InspIRCd Robot
2019-12-12Extract port binding code to a function and improve output.Peter Powell
2019-12-09Make BindPorts return size_t instead of int.Peter Powell
2019-08-01Move UNIX socket removal to ListenSocket ctor.Matt Schatz
Doing the removal in BindPorts() would remove the socket during a rehash and not recreate it. Now it's only removed if it's about to be created.
2019-05-30Various improvements to UNIX socket support.Peter Powell
- Allow replacing dead UNIX sockets on startup. - Allow setting the permissions of the UNIX socket. - Expand the UNIX socket path relative to the data directory.
2019-05-29Add irc::sockets::isunix for checking if a file is a UNIX socket.Peter Powell
2019-02-07Fix erroneously limiting to the size of sa instead of sun_path.Peter Powell
2019-02-07Add irc::sockets::untosa() for creating AF_UNIX sockaddrs.Peter Powell
Also fix an overly long albeit harmless memcpy when creating UNIX socket listeners. Thanks to @psychon for reporting this.
2019-02-06Don't allow invalid characters in UNIX listener paths.linuxdaemon
2019-01-24Remove trailing whitespace from various source files.Peter Powell
2018-12-12Fix conversion issues by replacing ConvToInt with ConvToNum<T>.Peter Powell
The former was a thin wrapper around atol and brought with it all of the weird parsing logic of atol which is almost never what is actually wanted. It also almost never returned the numeric type which is actually wanted which can cause weird issues when casting.
2018-08-14Fix some bugs in cidr_mask::str().Peter Powell
- Fix a missing break statement causing unintentional fallthrough. - Cast the length to an int to avoid interpreting as a character.
2018-07-24Fix building on Windows.Peter Powell
2018-07-18Initial support for listening on UNIX socket endpoints.Peter Powell
2018-07-18Add the family() member to the sockaddrs union.Peter Powell
2017-11-17Fix a ton of -Wsign-conversion warnings.Peter Powell
2017-09-12Change FailedPortList to store a sockaddrs/int instead of string.Peter Powell
2017-09-12Store the server endpoint as a sockaddrs in ListenSocket.Peter Powell
2017-09-12Get rid of irc::sockets::satoap().Peter Powell
This function is being misused in all but one scenario. It isn't really worth keeping IMO.
2017-08-06Purge code for Windows XP and MSVC pre-2015.Peter Powell
2014-08-04Remove InspIRCd::BindSocket()Attila Molnar
2014-06-14Kill needless #includes in source filesAttila Molnar
2014-04-07Merge insp20Attila Molnar
2014-02-11Fix various problems detected by Clang 3.4.Peter Powell
- 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.
2014-02-08Change SocketEngine functions that do not require an instance to be staticAttila 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.
2014-01-21Merge insp20Attila Molnar
2014-01-17Fix OOB error in sa2cidr()Daniel Vassdal
2013-06-06Rewrite irc::sockets::sockaddrs::str() completely.Peter Powell
- Replace use of MAXBUF with INET_ADDRSTRLEN/INET6_ADDRSTRLEN. - Replace use of sprintf with InspIRCd::Format.
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
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-09-12Fix bug #291 - fix rehashing bind tags not changing them between ↵Adam
servers/clients and ssl/nonssl
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2011-04-18Fix mis-implemented irc::sockets::cidr_mask::operator<Daniel De Graaf
2010-04-26Define comparator for irc::sockets::sockaddrsDaniel De Graaf
This only compares IP/port, which ignores IPv6 flow information and scope ID, which aren't important in testing for equality.
2010-02-23Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not ↵danieldg
specified git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-03Fix cidr_mask::str not correctly displaying mask lengthdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12363 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-21Remove unneeded save of errnodanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12309 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19ERROR is not a valid log level, so all these messages were getting droppeddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 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-13Get rid of socklen_t parameter to Bind, we are using C++ here and can do it ↵danieldg
other ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12129 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Get rid of OpenTCPSocketdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11969 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Create irc::sockets::cidr_maskdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11968 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-21Use ConfigTagList as a faster access method for access to configurationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11948 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Rewrite ConfigReader againdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-103rd time lucky? Fix again for setsockopt.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11825 e03df62e-2008-0410-955e-edbf42e46eb7