summaryrefslogtreecommitdiff
path: root/src/socket.cpp
AgeCommit message (Collapse)Author
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
2009-10-10Slight tweak to setsockopt fix.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11824 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-10Compile fixes for windows.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11823 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-03Fix crash due to null address in DNSdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03Get rid of a bunch of memory-wasting C-style stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 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-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-02Rewrite BindPorts to index ports by their human-readable descriptiondanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11635 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove duplicated address conversion from InspIRCd::BindSocket, fix FD leak ↵danieldg
in listensocket git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11632 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Use a set to mark client SSL ports rather than going by textual IP/port pairsdanieldg
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
2009-09-02Add irc::sockets::satouser for user-readable IP/port pairsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11627 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Fix valgrind uninitialised memory errordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11612 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Cast rework: use C++ style static_cast<> instead of C-style castsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Use a bool return type for boolean returndanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11585 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Use sa_size() rather than sizeof() when passing input parameters to a syscalldanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11583 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Remove unneeded #ifdef IPV6 linesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11582 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Move IP<->sockaddr conversions into irc::sockets:: namespacedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11580 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Remove now-unused insp_sockaddr and insp_inaddr typesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11579 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Remove needless sockaddr[2] allocations, replace with ↵danieldg
irc::sockets::sockaddrs union git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11574 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01Make rehash generate a new ServerInstance->Config objectdanieldg
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
2009-07-01Move list of open ports out of Config objectdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-16Fix incorrect attempted inline of irc::sockets::sa_sizedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11415 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Fix incomple memset() in irc::sockets::aptosa, add support for converting ↵danieldg
empty addresses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11383 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-29Add IP address conversion utility functions, irc::sockets::aptosa and ↵danieldg
irc::sockets::satoap git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11336 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-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 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-12-07Patch to allow bindings to all ips on an ipv4 only system where the build is ↵brain
ipv6 (e.g. how debian build it) -- thanks for the patch danieldg git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10867 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Remove crappy, unsafe (and now unneeded!) casts.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10476 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, ↵w00t
create ClientListenSocket and inherit from ListenSocketBase to create User objects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10469 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Move listensocket stuff into a file of it's own.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10446 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Fix output corruption on startup if ports fail to bind, spotted by psychonbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10054 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-17Combine IP+port in a failed port list, show (the more helpful) error string ↵w00t
so the user can have some idea of what actually went wrong.. why we forced people to strace is beyond me.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10030 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Fix to give the proper target ip on connect, cookies to w00t and Jasonbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9772 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-09Fixw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9680 e03df62e-2008-0410-955e-edbf42e46eb7