aboutsummaryrefslogtreecommitdiff
path: root/src/socket.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix crash due to null address in DNSGravatar danieldg2009-10-031-4/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of a bunch of memory-wasting C-style stringsGravatar danieldg2009-10-031-8/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-1/+1
| | | | | | | | | | | | | | 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
* Rewrite BindPorts to index ports by their human-readable descriptionGravatar danieldg2009-09-021-31/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11635 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove duplicated address conversion from InspIRCd::BindSocket, fix FD leak ↵Gravatar danieldg2009-09-021-27/+10
| | | | | | in listensocket git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11632 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a set to mark client SSL ports rather than going by textual IP/port pairsGravatar danieldg2009-09-021-1/+3
| | | | | | | | | | 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
* Add irc::sockets::satouser for user-readable IP/port pairsGravatar danieldg2009-09-021-0/+37
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11627 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind uninitialised memory errorGravatar danieldg2009-09-021-4/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11612 e03df62e-2008-0410-955e-edbf42e46eb7
* Cast rework: use C++ style static_cast<> instead of C-style castsGravatar danieldg2009-09-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a bool return type for boolean returnGravatar danieldg2009-09-011-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11585 e03df62e-2008-0410-955e-edbf42e46eb7
* Use sa_size() rather than sizeof() when passing input parameters to a syscallGravatar danieldg2009-09-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11583 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unneeded #ifdef IPV6 linesGravatar danieldg2009-09-011-11/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11582 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IP<->sockaddr conversions into irc::sockets:: namespaceGravatar danieldg2009-09-011-45/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11580 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove now-unused insp_sockaddr and insp_inaddr typesGravatar danieldg2009-09-011-12/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11579 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove needless sockaddr[2] allocations, replace with ↵Gravatar danieldg2009-09-011-35/+20
| | | | | | irc::sockets::sockaddrs union git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11574 e03df62e-2008-0410-955e-edbf42e46eb7
* Make rehash generate a new ServerInstance->Config objectGravatar danieldg2009-07-011-6/+5
| | | | | | | 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
* Move list of open ports out of Config objectGravatar danieldg2009-07-011-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix incorrect attempted inline of irc::sockets::sa_sizeGravatar danieldg2009-06-161-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11415 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix incomple memset() in irc::sockets::aptosa, add support for converting ↵Gravatar danieldg2009-05-131-2/+13
| | | | | | empty addresses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11383 e03df62e-2008-0410-955e-edbf42e46eb7
* Add IP address conversion utility functions, irc::sockets::aptosa and ↵Gravatar danieldg2009-04-291-0/+38
| | | | | | irc::sockets::satoap git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11336 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | 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
* Nuke trailing spacesGravatar peavey2009-02-141-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Patch to allow bindings to all ips on an ipv4 only system where the build is ↵Gravatar brain2008-12-071-1/+7
| | | | | | 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
* Remove crappy, unsafe (and now unneeded!) casts.Gravatar w00t2008-09-081-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10476 e03df62e-2008-0410-955e-edbf42e46eb7
* Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, ↵Gravatar w00t2008-09-081-4/+5
| | | | | | 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
* Move listensocket stuff into a file of it's own.Gravatar w00t2008-09-071-127/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10446 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | 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
* Fix output corruption on startup if ports fail to bind, spotted by psychonGravatar brain2008-07-201-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10054 e03df62e-2008-0410-955e-edbf42e46eb7
* Combine IP+port in a failed port list, show (the more helpful) error string ↵Gravatar w00t2008-07-171-1/+1
| | | | | | 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
* Fix to give the proper target ip on connect, cookies to w00t and JasonGravatar brain2008-05-191-3/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9772 e03df62e-2008-0410-955e-edbf42e46eb7
* FixGravatar w00t2008-05-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9680 e03df62e-2008-0410-955e-edbf42e46eb7
* Port from hottpd: Split src/socket.cpp out into src/cidr.cppGravatar w00t2008-05-091-186/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9678 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove _CrtCheckMemory()Gravatar brain2008-04-181-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9535 e03df62e-2008-0410-955e-edbf42e46eb7
* Apply patches to remove 200-odd dll limit on windows, made by GreenReaper, ↵Gravatar brain2008-04-181-1/+3
| | | | | | lots of thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9533 e03df62e-2008-0410-955e-edbf42e46eb7
* Change warnings a bitGravatar brain2008-04-161-3/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9518 e03df62e-2008-0410-955e-edbf42e46eb7
* ahh shit, remove windows specific code i left laying aroundGravatar brain2008-04-151-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9515 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the problems GreenReaper found with the windows select engine, this has ↵Gravatar brain2008-04-151-49/+64
| | | | | | never worked properly in trunk! -- This needs tidying up, its on my todo either tonight if im awake enough, or tomorrow evening git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9514 e03df62e-2008-0410-955e-edbf42e46eb7
* AddClient -> AddUser, to be consistantGravatar w00t2008-04-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9443 e03df62e-2008-0410-955e-edbf42e46eb7
* We were lucky this one didnt bring down the whole devnet (see cmd_part.cpp diff)Gravatar brain2008-04-071-17/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9400 e03df62e-2008-0410-955e-edbf42e46eb7
* Thanks danieldgGravatar brain2008-03-271-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9194 e03df62e-2008-0410-955e-edbf42e46eb7
* Port bindings for gnutls now bind via ip:port, rather than on all ports for ↵Gravatar brain2008-03-241-2/+21
| | | | | | that ip, fixes feature request for roadmap. NOTE, this still needs doing for the openssl module! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9188 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that modules can hook users by altering a pointer in the User ↵Gravatar brain2008-03-241-11/+0
| | | | | | class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert remaining InspIRCd::Log() calls to new logging systemGravatar aquanight2008-02-221-8/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵Gravatar brain2008-02-131-2/+2
| | | | | | warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
* Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵Gravatar w00t2008-02-111-23/+23
| | | | | | note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
* Avoid reallocating this every new connection (patch from hottpd)Gravatar w00t2008-02-021-4/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8794 e03df62e-2008-0410-955e-edbf42e46eb7
* Move User::AddClient to UserManager::AddClient. WARNING: I assure you this ↵Gravatar w00t2008-01-131-1/+1
| | | | | | is currently WRONG as I was playing with moving a few bits to the constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8706 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7