Commit Graph

56 Commits

Author SHA1 Message Date
psychon 6ce29e77f2 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1683 726aef4b-f618-498e-8847-2d620e286838
2009-12-19 16:29:26 +00:00
psychon 3fd82a600c Always use blocking DNS for resolving bind hosts
This fixes a bug where ZNC failed to bind to domain names if they weren't
mentioned in /etc/hosts.

Thanks to alturiak for finding and reporting this.
Thanks to Imaginos for finding a quick workaround.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1673 726aef4b-f618-498e-8847-2d620e286838
2009-12-10 21:29:47 +00:00
psychon 2137d5a7cf Update to latest Csocket
This fixes a minor bug where a socket's timeout mode was changed when it was
copied to another socket.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1621 726aef4b-f618-498e-8847-2d620e286838
2009-09-10 06:30:34 +00:00
psychon 9bb57639e1 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1615 726aef4b-f618-498e-8847-2d620e286838
2009-09-02 17:26:06 +00:00
psychon 4c14b1bf61 Fix a DNS bug in Csocket with non-blocking resolvers
After the first attempt to lookup an address, Csocket already created the socket
used for communicating. Since at this point it wasn't yet known whether we will
yield a IPv4 or IPv6 address, Csocket just always used IPv4. This would then
later fail to connect() with 'Address family not supported by protocol'.

This patch fixes this by creating the socket fd only when the DNS lookup
completed successfully.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1556 726aef4b-f618-498e-8847-2d620e286838
2009-07-04 12:54:15 +00:00
psychon 37d0c5e58e Update to latest Csocket
Thanks to Imaginos for implementing this. :)


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1509 726aef4b-f618-498e-8847-2d620e286838
2009-05-20 08:10:00 +00:00
psychon 6faf0980b9 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1490 726aef4b-f618-498e-8847-2d620e286838
2009-04-13 08:18:35 +00:00
psychon 9a2e17c657 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1444 726aef4b-f618-498e-8847-2d620e286838
2009-03-25 15:38:11 +00:00
psychon a2abf0fd44 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1407 726aef4b-f618-498e-8847-2d620e286838
2009-03-03 11:09:44 +00:00
psychon 9210bdc97e Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1335 726aef4b-f618-498e-8847-2d620e286838
2009-01-18 10:32:16 +00:00
psychon c03bd91589 Update to latest Csocket and use its new init interface
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1288 726aef4b-f618-498e-8847-2d620e286838
2008-12-10 15:53:07 +00:00
psychon 583b91f719 Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1225 726aef4b-f618-498e-8847-2d620e286838
2008-09-28 17:17:46 +00:00
psychon 69f44c35a0 Update to latest Csocket
SockError() is now called with the correct errno if accept() fails.
This is some preparation for a later patch which will handle EMFILE.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1179 726aef4b-f618-498e-8847-2d620e286838
2008-08-29 18:59:05 +00:00
psychon c3b6a4b29a Update to latest Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1159 726aef4b-f618-498e-8847-2d620e286838
2008-08-18 11:10:27 +00:00
imaginos 4059f8c3ed missing paren in test
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1087 726aef4b-f618-498e-8847-2d620e286838
2008-06-07 23:35:43 +00:00
psychon 5665fd872d Update to latest Csocket
This breaks (& fixes again, as far as ZNC itself is concerened) API!


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1040 726aef4b-f618-498e-8847-2d620e286838
2008-05-06 14:47:13 +00:00
imaginos 3583b4b5de fix state bug when connecting to a remote host thats ssl, results from a hostname that resolves to multiple ip's
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1013 726aef4b-f618-498e-8847-2d620e286838
2008-04-02 16:15:24 +00:00
imaginos 493d515490 this should fix all the ipv4/ipv6 issues, tested it on fbsd and linux
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@999 726aef4b-f618-498e-8847-2d620e286838
2008-04-01 00:22:43 +00:00
imaginos a89fa4618d removing connect() completely. replacing with hint to AI_ADDRCONFIG
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@998 726aef4b-f618-498e-8847-2d620e286838
2008-03-31 06:15:28 +00:00
imaginos a91f86d1c2 commenting out this test for now
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@997 726aef4b-f618-498e-8847-2d620e286838
2008-03-31 04:53:21 +00:00
imaginos 3933f807df wasn't being to smart here, not totally portable when specifying IPPROTO_IP, use the protocol pass in for best portability
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@996 726aef4b-f618-498e-8847-2d620e286838
2008-03-31 02:37:34 +00:00
imaginos fc191e4908 state bug, from previous fix broken vhost binding
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@995 726aef4b-f618-498e-8847-2d620e286838
2008-03-30 16:28:44 +00:00
imaginos 1fb0039732 reverse the order of dns lookup on bind vs dns lookup on remote host. this also does a check on each ip returned by getaddrinfo to be sure its able to connect to that host
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@994 726aef4b-f618-498e-8847-2d620e286838
2008-03-28 05:09:48 +00:00
psychon ba619d0b3f Update to latest Csocket *again*
Csocket closed the sockets before openssl could send the close alert.
This fixes that.

Why am I always finding bugs in this code? :(


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@968 726aef4b-f618-498e-8847-2d620e286838
2008-02-29 15:51:04 +00:00
psychon 331f8b1e3a Update to latest Csocket
This fixes a bug where Csocket would do busy reads and writes on sockets it
got from listening sockets through accept().


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@967 726aef4b-f618-498e-8847-2d620e286838
2008-02-29 06:44:22 +00:00
psychon be3edeee82 Update to latest Csocket
This fixes some trailing whitespaces and space/tab mixups I found.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@958 726aef4b-f618-498e-8847-2d620e286838
2008-02-16 12:50:07 +00:00
psychon c6664d5ab9 Update to latest Csocket
This is some stuff I wrote:
- sockets are marked as close-on-exec so that child processes (e.g. from the
  shell module) don't get a copy of all of our sockets.
- This adds separate functions for marking sockets as blocking / non-blocking.
- When a socket is marked for closing, we stop reading lines from it.

I don't think any of these two bugs were actually ever triggered by anyone,
but meh, so what?


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@941 726aef4b-f618-498e-8847-2d620e286838
2008-02-07 17:22:36 +00:00
psychon b5e6518fdc Again, update to latest Csocket
I wonder how often I did this kind of commit already...


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@923 726aef4b-f618-498e-8847-2d620e286838
2008-01-17 22:44:12 +00:00
psychon a5e9f1c751 Update to latest Csocket
This saves me 70% of CPU time on a DCC transfer over localhost.
With this patch ZNC officially sucks less (tm) :)


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@899 726aef4b-f618-498e-8847-2d620e286838
2007-12-06 13:05:50 +00:00
psychon 4c5d81b2a3 Csocket again
<@x-x> psychon: merge new csocket :>


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@866 726aef4b-f618-498e-8847-2d620e286838
2007-11-10 22:25:51 +00:00
psychon 294c82a983 WTF? Two csocket updates on one day?
Fix the wrong error message for gethostbyname() and in case of a real error
use the proper error message.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@865 726aef4b-f618-498e-8847-2d620e286838
2007-11-06 21:14:30 +00:00
psychon babc0f9f8b Update Csocket
This fixes building with --disable-openssl


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@858 726aef4b-f618-498e-8847-2d620e286838
2007-11-02 08:37:35 +00:00
psychon 52534f2d1f Update Csocket
This fixes an unimportant leak (if ReadBuf or ReadLine returned by throwing an
exception a 4k buffer was leaked).
We only triggered this if we were shutting down and thus this leak is
unimportant to us.

Also remove the svn:keywords property from Csocket.h and .cpp so the $Revision$
strings from upstream aren't changed.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@854 726aef4b-f618-498e-8847-2d620e286838
2007-10-26 11:06:05 +00:00
psychon b63b7d03d8 Updated to latest Csocket version which includes a fix for NetBSD 3.*
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@837 726aef4b-f618-498e-8847-2d620e286838
2007-09-04 15:12:22 +00:00
psychon 9736711c03 Update to latest CSocket version.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@823 726aef4b-f618-498e-8847-2d620e286838
2007-08-07 22:58:23 +00:00
imaginos 2bbdb72a97 setup to only call time() if a cron is actually in use, also fix copy.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@788 726aef4b-f618-498e-8847-2d620e286838
2007-01-20 12:10:26 +00:00
imaginos 30cf3a30db pull the cron time() call up a level to trim some of the overhead off
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@787 726aef4b-f618-498e-8847-2d620e286838
2007-01-20 11:20:58 +00:00
imaginos ed120ee57b pulled in various bug fixes include CPU spinning fix on rate shape and doxygen fixes
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@786 726aef4b-f618-498e-8847-2d620e286838
2007-01-20 03:39:13 +00:00
imaginos 5e8c075c60 fix my broken fix fix
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@718 726aef4b-f618-498e-8847-2d620e286838
2006-03-27 19:49:10 +00:00
imaginos 577d7528a7 appears that sun/solaris has a broken implementation of getaddrinfo
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@711 726aef4b-f618-498e-8847-2d620e286838
2006-03-24 23:04:07 +00:00
prozacx 4f2599e711 Pulled in changes
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@684 726aef4b-f618-498e-8847-2d620e286838
2006-03-15 18:23:43 +00:00
prozacx acb9012540 Pulled in changes for Csocket
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@668 726aef4b-f618-498e-8847-2d620e286838
2006-02-23 05:54:29 +00:00
prozacx 9d4be439a6 Pulled in changes for Csocket.. temporarily added old style Listen*() and Connect() functions to CSockManager wrapper class
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@651 726aef4b-f618-498e-8847-2d620e286838
2006-02-13 00:19:22 +00:00
prozacx 61920317fe Pulled in ipv6 bug fixes
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@637 726aef4b-f618-498e-8847-2d620e286838
2006-02-11 09:44:31 +00:00
prozacx 4662987fc0 Pulled in changes for resolving ipv6 hosts
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@636 726aef4b-f618-498e-8847-2d620e286838
2006-02-10 22:45:44 +00:00
prozacx 12ed047521 Pulled in bugfix
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@633 726aef4b-f618-498e-8847-2d620e286838
2006-02-10 02:27:34 +00:00
prozacx fd90be44f2 Pulled in changes with a few bugfixes
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@629 726aef4b-f618-498e-8847-2d620e286838
2006-02-09 04:32:42 +00:00
prozacx 487b6b657b Pulled in Csocket changes for ipv6 support
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@626 726aef4b-f618-498e-8847-2d620e286838
2006-02-08 11:13:32 +00:00
prozacx b88d493616 zero is a valid fd
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@605 726aef4b-f618-498e-8847-2d620e286838
2006-02-06 01:55:49 +00:00
prozacx e41a7f46f9 Pulled in changes for graceful Close()
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@494 726aef4b-f618-498e-8847-2d620e286838
2005-09-15 04:11:41 +00:00