Commit Graph

54 Commits

Author SHA1 Message Date
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
prozacx
c287c5cdd2 Pulled in fix for VHost not being respected
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@390 726aef4b-f618-498e-8847-2d620e286838
2005-06-27 19:46:08 +00:00
prozacx
6dbb196ed7 Changed port from int to ushort
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@376 726aef4b-f618-498e-8847-2d620e286838
2005-06-01 21:01:26 +00:00