Jan Vidar Krey
5835a06676
Removed redundant debug printf.
2013-03-22 20:00:40 +01:00
Jan Vidar Krey
6c55ae1146
Simple compile fix.
2013-03-22 20:00:40 +01:00
Jan Vidar Krey
2d6f69d299
Cleaned up usage of linked lists and added missing functionality.
...
- Added a list_remove_first() which is generally better than list_remove()
provided you want to remove the first element.
- Added a list_append_list() to append and move all nodes from one list to
another.
2013-03-22 20:00:40 +01:00
Jan Vidar Krey
b81bb2cbd9
Cleaned up all list iterations, added macro named LIST_FOREACH.
...
Previously you would have to do something like this:
for (type foo = (type) list_get_first(list); foo; foo = (type) list_get_next(list)
{
/* code */
}
Now, you can instead write this as:
LIST_FOREACH(type, foo, list,
{
/* code */
})
Basically, boilerplate stuff including the casting is gone.
2013-03-22 00:58:14 +01:00
Jan Vidar Krey
1fbde2b0fd
Re-factored the ADC client code to use the new connection establishment API.
2013-02-05 22:43:59 +01:00
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
4d438e1e90
Don't poll the connection monitor if there are no connections added.
...
This caused the backends to return an error code, which
in turn ended the mainloop. However, several other things
also might occur in the main loop, such as DNS lookups which
come prior to creating any connections that in turn would be monitored.
2013-02-05 22:38:13 +01:00
Jan Vidar Krey
4f3c71234b
Merge branch 'master' of https://github.com/3M3RY/uhub
2012-11-22 22:26:46 +01:00
Boris Pek
b452488431
Fix build in Debian GNU/Hurd.
2012-11-20 22:41:38 +02:00
Emery
143b68588a
Systemd notify support
2012-11-17 09:57:14 -06:00
Emery
ce68c446d1
Optional systemd journal logging
2012-11-11 15:21:00 -06:00
Jan Vidar Krey
a43953bc0d
Added simple plugin that blocks downloads for non-registered users (guests).
2012-11-01 22:07:55 +01:00
Jan Vidar Krey
594801df46
Fix windows compile issues.
2012-11-01 21:52:33 +01:00
Jan Vidar Krey
3dcbb63a31
Implemented a simlpe red-black tree which should give better performance
...
for certain lookups.
The rb_tree will act as a general purpose key/value storage, and
also give a performance boost in the cases where the other
simple alternative would be to use a linked_list.
On average this should give on average O(log n) lookups, while the linked_list
would be O(n) at worst.
2012-11-01 21:46:44 +01:00
Jan Vidar Krey
2d2ccc0039
Merge branch 'async_dns_api'
2012-11-01 10:42:19 +01:00
Jan Vidar Krey
0a2f9c4b79
Merge branch 'autotest'
2012-11-01 10:40:51 +01:00
Jan Vidar Krey
ae62c35cb9
Disable SSL compression.
2012-11-01 10:39:31 +01:00
Jan Vidar Krey
d4763e54db
Fixed memory leaks.
2012-10-25 04:13:45 +02:00
Jan Vidar Krey
38b19f633d
Fix memory leaks and report "host is not found" correctly.
2012-10-25 04:13:05 +02:00
Jan Vidar Krey
d106ecdc65
Bugfixes for pthreads.
2012-10-25 04:10:42 +02:00
Jan Vidar Krey
99a2307d1d
Simple compile fix.
2012-10-25 00:44:21 +02:00
Jan Vidar Krey
470c936e63
Converted the DNS resolver to work with the new threading API abstraction.
2012-10-25 00:40:16 +02:00
Jan Vidar Krey
168fc5bfcc
Abstracted the threading code so that it works with Winthreads and pthreads.
2012-10-25 00:39:44 +02:00
Jan Vidar Krey
b34b90f95a
Start using the async DNS API.
2012-10-24 23:22:10 +02:00
Jan Vidar Krey
793790d089
Initial implementation of an async DNS client API with getaddrinfo + pthreads.
2012-10-24 23:19:14 +02:00
Jan Vidar Krey
19559f4974
Make sure we count OpenSSL traffic for the byte IO statistics.
2012-10-18 11:40:18 +02:00
Jan Vidar Krey
4385266bb7
Free all memory in case the hub does not start because of port already in use.
2012-10-17 20:54:46 +02:00
Jan Vidar Krey
c50eb90bee
Removed the last bits of OpenSSL code called directly
2012-10-17 20:53:05 +02:00
Jan Vidar Krey
1e0927f510
Update copyright year.
2012-10-17 20:00:52 +02:00
Jan Vidar Krey
b9d43c784c
Merge branch 'master' of github.com:janvidar/uhub
...
Conflicts:
CMakeLists.txt
2012-10-17 19:59:02 +02:00
Jan Vidar Krey
2f830d3132
Cleaned up error handling.
2012-10-17 15:39:48 +02:00
Jan Vidar Krey
5884983a2f
Return -1 as error for recv/send only to signal socket has closed, use a number < -1 for socket errors.
2012-10-17 15:02:32 +02:00
Jan Vidar Krey
c43acd97bd
Fixed accept/connect state event propagation.
...
Also removed some unused states and flags.
2012-10-17 09:25:15 +02:00
Jan Vidar Krey
b1f2c93738
Reworked the error handling of non-blocking reads and writes.
...
This should prevent busy loops where the socket is makred readable
but we are really only looking for it to become writable.
2012-10-17 09:16:02 +02:00
Jan Vidar Krey
50912bdf75
More work on splitting out OpenSSL specific bits.
2012-10-15 20:39:03 +02:00
Boris Pek
ddfbb919a7
Fix build in Debian GNU/kFreeBSD.
2012-10-14 02:13:10 +03: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
3ea38c59af
Better reporting using the !stats command.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
50292cb8c9
Update the network statistics every 10 seconds instead of 60 seconds.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
e4fc91dde1
Made the network statistics work again.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
8086d89e23
Better formatting of byte sizes.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
cc2ead8136
Use util's format_size.
2012-10-09 10:20:58 +02:00
Jan Vidar Krey
10d8157477
Added a utility function to convert an arbitrary byte size into a human readable string.
...
E.g. 849484 becomes "829.57 KB".
2012-10-09 10:20:12 +02:00
Jan Vidar Krey
0a7cb86014
Fixed a crash in plugin mod_chat_only.
2012-10-09 10:02:08 +02:00
Jan Vidar Krey
2e8c99b7ec
Refurbished the ADC hub stress-tester tool; adcrush
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
cb6236691b
Added more functionality to the ADC client test code.
2012-10-02 23:59:11 +02:00
Jan Vidar Krey
5136525abc
Added API to construct ADC messages with source and destination.
2012-10-02 23:59:11 +02:00
Tillmann Karras
16ee65422d
Fix cbuffer initialization
...
If no data was appended, cbuf_get() would return a pointer to
uninitialized memory. Now it returns a pointer to a string of zero
length.
2012-10-03 22:40:33 +02:00
Jan Vidar Krey
f0b11dadf1
Refurbished adcrush (hub stress tester).
2012-10-03 13:51:07 +02:00