Jan Vidar Krey
92b65a0e14
Created a connection establishment API.
...
This API provides transparent asynchronous DNS lookups
with both IPv4 and IPv6 support, and in addition will try
to connect to all addresses until one of them work.
This implements the "happy eyeballs" algorithm provided that the client supports IPv6
and that the DNS records provides both IPv6 and IPv4 addresses.
2013-02-05 22:40:20 +01:00
Jan Vidar Krey
f3922bb3e0
Work on splitting out OpenSSL cleanly.
2012-10-12 14:24:03 +02:00
Jan Vidar Krey
f20c42d05f
Wrapped everything OpenSSL related in a SSL_USE_OPENSSL check macro.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
896bbfcb5d
Compile multiple network backends into the binary and choose which one to use at runtime.
...
This makes it possible to share more code between the backends and also work around
bugs of certain backends on some (versions of) operating systems.
2010-02-10 22:00:13 +01:00
Jan Vidar Krey
21a5981905
Make sure start_listening_socket does everything, this will lead the way to multiple listen ports.
2010-01-21 17:31:55 +01:00
Jan Vidar Krey
9f5aaf0148
Added a safe connection cleanup procedure for when a connection goes
...
down while it may be attempted to be used.
2010-01-21 01:12:57 +01:00
Jan Vidar Krey
2f09fcea84
Added select() backend which can be used as a fallback if epoll is not available.
2010-01-20 18:39:55 +01:00
Jan Vidar Krey
f84073f7cc
Various fixes for epoll handling without libevent.
...
This should take care of most compile issues as well as busy loops caused by unhandled recv() calls returning 0 and general cleanups.
2010-01-19 17:52:58 +01:00
Jan Vidar Krey
1c58a85de1
More work on epoll.
2010-01-17 23:00:28 +01:00
Jan Vidar Krey
6a4b9c58f4
Work on removing libevent completely as a mandatory dependency.
2010-01-07 20:55:13 +01:00
Jan Vidar Krey
f35b2c35cb
Fix some compile errors.
2009-12-14 16:17:59 +01:00
Jan Vidar Krey
b3aa5332c8
Work on epoll backend, and removing dependency on libevent.
2009-12-10 23:12:04 +01:00
Jan Vidar Krey
4a4de0f2ac
Make sure we have libevent enabled for now, and add macro protection around the areas of the code that still depend on libevent.
2009-12-09 17:27:46 +01:00
Jan Vidar Krey
53536f191d
Crash fix.
2009-11-21 11:47:26 +01:00
Jan Vidar Krey
2910c571b0
Fix protocol probe. Will detect ADC and TLS handshake - any other request
...
will simply cause the hub to close the connection.
Fix problems with write events not being processed due to a read event taking presendence.
Fix bug #86 : Windows does not have "getrlimit()".
2009-10-08 23:16:15 +02:00
Jan Vidar Krey
7eef032584
Doc update.
2009-10-06 14:39:47 +02:00
Jan Vidar Krey
20ef6f8e53
Fix to net_con_close() which allows us to either delete the connection immediately if that is safe, or delete it later.
2009-10-06 14:36:05 +02:00
Jan Vidar Krey
69f6d811bf
Added lots of asserts, and split out the ip address from the connection object.
...
Still a lot of work remains and a massive network connection cleanup is needed.
2009-09-29 00:30:52 +02:00
Jan Vidar Krey
96ce64ee07
Fix memory issues in ADC client lib.
2009-09-04 17:18:52 +02:00
Jan Vidar Krey
29d6d59d36
Misc connection changes.
2009-08-27 14:15:18 +02:00
Jan Vidar Krey
96c006ee13
Cleanup some code.
2009-08-23 14:36:52 +02:00
Jan Vidar Krey
5bd258ca52
Move the network related flags from network.h to connection.h since that is where they are used.
2009-08-11 21:29:51 +02:00
Jan Vidar Krey
86ba3ca86f
Complete moving all connection related data out of the hub_user object.
2009-08-07 00:22:30 +02:00
Jan Vidar Krey
fbe98d6011
Move the timeout handling to the connection object.
2009-08-03 21:57:18 +02:00
Jan Vidar Krey
4a5993ccc2
Added a generic SSL handshake mechanism.
2009-08-03 20:21:59 +02:00
Jan Vidar Krey
4e43746c1b
Moved the ipaddr object into the connection object.
2009-08-03 18:14:34 +02:00
Jan Vidar Krey
27c71a75ee
Hook in the new connection work, also implemented some missing bits
...
and pieces of SSL.
SSL seems to work at some basic level, and is largely untested.
2009-08-03 17:25:52 +02:00
Jan Vidar Krey
1d363ed0b4
Expose the SSL_connect() and SSL_accept() functions.
2009-08-03 14:21:53 +02:00
Jan Vidar Krey
79cf5ee9db
Some work on integrating OpenSSL.
2009-08-03 03:55:38 +02:00
Jan Vidar Krey
653cfb285e
Started working on abstracting the connection data away from the user struct.
2009-08-02 21:37:55 +02:00