Jan Vidar Krey
70f13158d3
Merge branch 'master' of github.com:janvidar/uhub
2011-09-05 23:34:05 +02:00
Jan Vidar Krey
9327615448
Compile warning fix.
2011-09-05 23:16:15 +02:00
Jan Vidar Krey
ebe54bcf27
Added plugin events for server wide events (mostly for logging).
2011-08-16 15:11:15 +02:00
Jan Vidar Krey
998f5a57e2
Fix bug #152 - disable self-registering
2011-08-16 15:09:02 +02:00
Jan Vidar Krey
472c489ae1
Fix bug #154 - plugin system is disabled silently if one plugin fails to initialize.
2011-08-16 14:46:11 +02:00
Jan Vidar Krey
bba7c0d05b
Require setting the file name via file=/path/to/file for log file.
2011-08-16 14:33:15 +02:00
Jan Vidar Krey
169b8a4a75
Added option to redirect from adc:// to adcs:// if tls is required.
2011-08-16 12:11:04 +02:00
Jan Vidar Krey
f13bcd8c28
Minor compile fixes.
2011-08-16 12:08:21 +02:00
Jan Vidar Krey
a79fcd796e
Shutdown SSL on close.
2011-08-16 12:07:17 +02:00
Jan Vidar Krey
474e2be308
Fix stupid mistake.
2011-08-16 12:06:44 +02:00
Jan Vidar Krey
47cf3326fd
Don't do SSL_clear unless the SSL object is initialized.
2011-08-16 12:06:34 +02:00
Jan Vidar Krey
3353049ae3
Several SSL/TLS related memory leak fixes.
2011-08-16 12:06:17 +02:00
Jan Vidar Krey
3ccce614d0
Fix SSL/TLS related memory leak.
2011-08-16 12:04:14 +02:00
Jan Vidar Krey
e30505b54e
Fix 100% CPU issue with SSL connections.
2011-08-16 12:04:03 +02:00
Jan Vidar Krey
3bc764adf5
Winsock fixes.
2011-08-08 00:12:50 +02:00
Jan Vidar Krey
6becadc984
Compile fix for gcc.
2011-02-05 17:18:08 +01:00
Jan Vidar Krey
d01813ef48
Added project files for Visual Studio 2010.
2011-02-05 17:13:26 +01:00
Jan Vidar Krey
e5bb7057de
Windows fixes.
2011-02-05 17:11:23 +01:00
Jan Vidar Krey
bf4ad5624a
Visual Studio compile fixes.
2011-01-12 16:58:18 +01:00
Jan Vidar Krey
03b4252ab5
Link fix in case not everything is linked as one binary.
2011-01-06 12:25:28 +01:00
Jan Vidar Krey
4c238dd946
Fix compile warning.
2011-01-03 00:12:40 +01:00
Jan Vidar Krey
9b57279628
Many Visual C++ compile warnings and errors fixed.
2011-01-03 00:03:07 +01:00
Jan Vidar Krey
adb6641a17
PATCH: Redirect did not work properly (Thanks MiMic)
...
The SID was not included in the redirect and it was thus an
incorrect ADC message which were discarded by most clients.
2010-12-29 14:40:23 +01:00
Jan Vidar Krey
67eabb5a98
Fix #157 : calculation of limits for min/max share on 32 bit architectures.
2010-12-20 23:18:41 +01:00
Jan Vidar Krey
4ede1b2d8a
Fix for bug #156
2010-12-20 11:52:15 +01:00
Jan Vidar Krey
b993e97bb4
Fix bug in config parser where 'foo=bar' did not work, but 'foo = bar' did work due to extra whitespace between tokens.
2010-11-18 22:43:48 +01:00
Jan Vidar Krey
4f8e3ba10b
Cleaned up command parsing, added register, password, useradd, userdel, userinfo, usermod and userpass.
...
Mostly not implemented.
2010-11-12 18:03:39 +01:00
Jan Vidar Krey
16fc3ea68e
Clean up argument parsing for plugins.
2010-11-12 18:03:39 +01:00
Jan Vidar Krey
a934dfaa70
Cleaned up boolean apply code.
2010-11-12 18:03:39 +01:00
Jan Vidar Krey
21c22288a2
Simplified plugin initialization by using a macro.
2010-11-12 18:03:39 +01:00
Jan Vidar Krey
ff8b8f5175
Fix bug #139 : Unable to use TLS - due to not handling quotes around configuration strings.
...
Conflicts:
src/util/misc.c
2010-08-16 22:53:16 +02:00
Jan Vidar Krey
1af7e26c52
Moved flood control stuff to the util package.
2010-08-11 22:46:06 +02:00
Jan Vidar Krey
35b055f9b7
Allow for connections accepted/refused to be logged by plugins.
2010-08-11 22:46:06 +02:00
Jan Vidar Krey
4c960cb977
Added logging of chat messages in the plugin API.
2010-08-11 22:46:06 +02:00
Jan Vidar Krey
c2b7ecd49c
Made sure the logging plugin logs on a format that looks almost the same as we used to have in the past.
2010-08-04 17:03:37 +02:00
Jan Vidar Krey
0c6a58d35a
Make sure chat messages are routed through plugins.
2010-08-03 23:19:39 +02:00
Jan Vidar Krey
4a977da514
Remember to terminate the SQL escaped string.
2010-08-03 23:15:37 +02:00
Jan Vidar Krey
e03b4ff0c1
Use correct sqlite escapes of strings.
2010-07-29 11:29:40 +02:00
Jan Vidar Krey
4bf882d385
Fixed credentials handling, and added debug output for SQL.
2010-07-29 11:22:57 +02:00
Jan Vidar Krey
dbf790bb93
Added autotests for credentials handling.
2010-07-29 11:22:04 +02:00
Jan Vidar Krey
5d135bb5b7
Use the credentials converter to determine user level.
2010-07-29 10:39:34 +02:00
Jan Vidar Krey
55ffe46a38
Added an SQLite authentication backend.
2010-07-29 08:49:24 +02:00
Jan Vidar Krey
93be2c584e
Reworked plugin APIs slightly, added full support for authentication from plugins.
2010-07-29 08:43:22 +02:00
Jan Vidar Krey
c75090cdf2
Added a generic string to boolean parser.
2010-07-29 08:42:40 +02:00
Jan Vidar Krey
97feb3635e
Allow plugins to provide an error message. Useful for reporting problems
...
when registering the plugins.
2010-07-29 08:41:26 +02:00
Jan Vidar Krey
350791cdf8
Added plugin invokers for authentication code.
2010-07-23 01:23:13 +02:00
Jan Vidar Krey
c6cf03614f
Implement more plugin invokers, and call them.
2010-07-23 00:38:11 +02:00
Jan Vidar Krey
bdcf35b63d
Cleanup code and allow for plugins to provide an error message.
2010-07-19 01:36:23 +02:00
Jan Vidar Krey
d41d649353
Encapsulate token API.
2010-07-18 19:43:11 +02:00
Jan Vidar Krey
56e5557146
Cleaned up the credentials handling, and made it ready for plugins.
2010-07-12 19:05:50 +02:00
Jan Vidar Krey
e4977606a7
Made sure logs can be rotated by sending a SIGHUP to the hub.
2010-07-12 17:00:10 +02:00
Jan Vidar Krey
f386e57de8
Updated copyright of touched files.
2010-07-10 03:41:49 +02:00
Jan Vidar Krey
ccb318547d
Started using new file reader tokenizer.
2010-07-10 03:36:47 +02:00
Jan Vidar Krey
394c8a5f95
Whitespace fixes.
2010-07-09 14:01:22 +02:00
Jan Vidar Krey
4b22ccb73c
Added a proper config file tokenizer that supports escaping sequences
...
and comments.
This allows for:
'"foo bar"' can be represented as 'foo\ bar'.
And allows for comments using the hash symbol (#), but not inside
escapes or quotes. "#this is not a comment", \#this\ is\ not\ a comment.
All configuration file parsers should be rewritten using this functionality.
2010-07-09 14:01:03 +02:00
Jan Vidar Krey
849a791f79
Fixed plugin handling when using the utils code from within a plugin.
2010-07-08 14:26:07 +02:00
Jan Vidar Krey
490f7dd835
Merge branch 'plugin_work'
2010-06-30 19:24:03 +02:00
Jan Vidar Krey
aa26052479
Misc plugin work
...
* Fix crash when unloading plugins.
* Fixed plugin loader and plugin unload handler.
* Added a new example plugin: mod_logging which logs users logging in and out of the hub to stdout.
2010-06-29 15:40:19 +02:00
Jan Vidar Krey
7b96e2c912
Merge branch 'plugin_work' of git://github.com/janvidar/uhub
2010-06-22 14:35:15 +02:00
Jan Vidar Krey
ccaa4860b4
Started working on the plugin configuration and loader code.
...
The example plugin works, but does not do anything.
2010-06-13 19:34:20 +02:00
Jan Vidar Krey
7218011449
Added missing plugin file.
2010-06-07 15:42:38 +02:00
Jan Vidar Krey
0810982b57
Fix bug #136 - !broadcast does not report status back to to sender.
2010-06-07 15:41:07 +02:00
Jan Vidar Krey
baeba01835
Added file_plugins directive to configuration file.
2010-06-06 16:32:43 +02:00
Jan Vidar Krey
07d4e4470c
More work on the plugin API.
2010-06-06 16:19:59 +02:00
Jan Vidar Krey
ed53034ad5
Added plugin loader code, merely a wrapper around dlopen() and friends.
2010-05-30 23:33:06 +02:00
Jan Vidar Krey
fc8965f1c5
Started working on an authentication plugin API.
2010-05-30 13:03:03 +02:00
Jan Vidar Krey
b3ed3a5526
Fix a silly invalid read operation
2010-05-28 15:23:44 +02:00
Jan Vidar Krey
1480b7e9c0
Fix bug #133 - Kqueue backend crash (BSD/OSX)
2010-05-28 15:22:33 +02:00
Jan Vidar Krey
50fde1c5c8
Updated the broadcast command to not send the message back to the user that sent it, but
...
instead summarize the number of users that received it.
2010-05-26 09:38:14 +02:00
Jan Vidar Krey
77faac0494
Fixed some minor issues found during code review.
2010-05-25 22:47:30 +02:00
Jan Vidar Krey
473ff0e159
Fix static buffer overrun - Thanks BlackSonar.
2010-05-25 22:23:40 +02:00
Jan Vidar Krey
62333c5f39
Update the command to send a PM originating from the operator/admin that sent it.
2010-05-25 22:21:56 +02:00
Jan Vidar Krey
44860c8477
Fix bug #131 - Missing escape handling for # in config files.
...
Added support for escaping stuff in the configuration file parser.
2010-05-25 19:43:32 +02:00
Jan Vidar Krey
c70119870a
Adding support for redirecting clients to other hubs when they fail to login
...
for various reasons.
Config variable is "redirect_addr".
2010-04-22 21:07:46 +02:00
Jan Vidar Krey
b29f34af4a
FreeBSD kqueue backend fixes.
...
This fixes bug #126 - Core dump on FreeBSD with obsolete_clients=0
2010-04-22 16:11:50 +02:00
Jan Vidar Krey
076492f1b9
Fix some small memory leaks.
2010-04-21 18:34:55 +02:00
Jan Vidar Krey
b6fb2b41bd
Fix a potential crash
2010-04-21 18:34:39 +02:00
Jan Vidar Krey
c82f8ba167
Fix compile error.
2010-04-16 06:31:47 +02:00
Jan Vidar Krey
6c9cd4ca50
Fix some errors in the XML config spec.
2010-04-15 19:49:48 +02:00
Jan Vidar Krey
201acad409
Do not use C macros for configuration files.
2010-04-15 19:49:23 +02:00
Jan Vidar Krey
51c5b6169c
Fix last commit.
2010-04-11 20:17:36 +02:00
Jan Vidar Krey
b7e62b46cc
Send message to old clients as a chat message not a status message.
2010-04-11 20:13:05 +02:00
Jan Vidar Krey
321cddad8e
Fix bad boolean handling in config.
2010-04-09 10:41:01 +02:00
Jan Vidar Krey
d3ebc409cb
Fix silly problem where default config is applied after reading the config file.
2010-04-09 10:22:45 +02:00
Jan Vidar Krey
45462595ac
Fix defaults for limix_min_hubs
2010-04-09 09:41:38 +02:00
Jan Vidar Krey
0a3fe10f16
Added XML file for configurations.
...
The XML file will be used to auto generate the configuratioin code
and the corresponding documentation in the future.
The perl script parses this XML format and outputs gen_config.{h,c} files
accordingly.
2010-04-07 17:26:27 +02:00
Jan Vidar Krey
58630fde08
Fixed getip to return the ip address of the target user, not self.
2010-04-05 16:35:55 +02:00
Jan Vidar Krey
8815118fde
Added flood control support.
...
This closes bug #79 : Flood control, and rate limits
2010-04-05 16:01:07 +02:00
Jan Vidar Krey
5454ae279a
Fix bug #120 : !getip does not work
2010-04-05 14:21:40 +02:00
Jan Vidar Krey
8e579f4601
Fix #123 : accept() fails if IP is banned.
2010-04-05 13:44:17 +02:00
Jan Vidar Krey
e220357176
Added configuration option to enable support for obsolete pre-ADC/1.0 clients.
2010-04-05 13:43:28 +02:00
Jan Vidar Krey
8bed952022
Fixed nasty hub freeze caused by timers being injected for the same timestamp as it is being removed from.
2010-03-23 01:06:04 +01:00
Jan Vidar Krey
c4604a7e94
Make code clearer.
2010-03-23 00:46:25 +01:00
Jan Vidar Krey
236daeae53
Assert if inserting an invalid timer.
2010-03-15 22:59:16 +01:00
Jan Vidar Krey
862c6a1baf
Reduce timeout queue window size.
2010-03-13 00:16:15 +01:00
Jan Vidar Krey
59ed268f4d
Added test cases for sid allocation.
...
This revealed a few bugs:
* when sid allocator is full, then uhub will loop indefinitely when allocating one more (unlikely to occur).
* looking up a user object based on a sid that is out of range (off by one) returns invalid memory.
2010-02-18 16:02:13 +01:00
Jan Vidar Krey
963416ad73
Cleanup reference adc message reference counting somewhat.
2010-02-16 20:51:10 +01:00
Jan Vidar Krey
29c162727c
Added lots of new asserts which should trigger in case we double delete a ADC message.
2010-02-15 19:03:19 +01:00
Jan Vidar Krey
1ce258bccf
Tidy up the certificate loading code somewhat.
2010-02-15 19:02:31 +01:00
Jan Vidar Krey
0de66286fa
Partially fix bug #117 - tls_require ignored entirely in 0.3.0 released
...
If tls_require is enabled then the hub will simply close the connection if a
user connects without TLS.
In the future we should redirect the user either to another server or to the adcs server.
2010-02-15 19:00:48 +01:00
Jan Vidar Krey
5e6879dffb
Fix for partial read operations.
2010-02-12 20:33:17 +01:00
Jan Vidar Krey
1b56adb8c0
Fix wrong IQUI message. Partially fixes bug #4 .
2010-02-12 19:25:09 +01:00
Jan Vidar Krey
82eeaa1fba
Fix bug #114 : FreeBSD compile error.
2010-02-11 07:54:42 +01:00
Jan Vidar Krey
19b9f72337
Make sure !version agrees with the connect time banner (same format).
2010-02-11 01:19:58 +01:00
Jan Vidar Krey
915cb56448
Fix bug #106 : Show OS/CPU info in !version.
...
This can be controlled by the configuration variable "show_banner_sys_info" which is enabled by default.
2010-02-10 23:45:51 +01:00
Jan Vidar Krey
6992043f9d
Fix bug #113 : crash when using epoll backend.
2010-02-10 22:06:49 +01: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
6ac78e1a10
Fix autotest
2010-02-08 00:35:58 +01:00
Jan Vidar Krey
be8db21561
Fix bug #109 : Confusing debug message for nat_ip.
2010-02-07 23:29:38 +01:00
Jan Vidar Krey
8065903604
Fix bug #108 : share limits can be avoided.
...
This was due to updates to the share limit not being enforced after a succesful login.
2010-02-07 23:08:04 +01:00
Jan Vidar Krey
2dc95eca47
SunOS support.
2010-01-28 01:35:09 +01:00
Jan Vidar Krey
7637d9ba68
Added experimental Haiku OS support.
...
It compiles and it runs with some minor glitches.
2010-01-28 01:35:08 +01:00
Jan Vidar Krey
4e9488dd4d
gcc 2.95 compile fixes.
2010-01-28 01:11:11 +01:00
Jan Vidar Krey
e0003ebbb2
Only define MIN/MAX macros if not defined by the system.
2010-01-28 01:07:05 +01:00
Jan Vidar Krey
8e7e8c68f5
gcc v2.95 compile fixes.
2010-01-28 01:06:41 +01:00
Jan Vidar Krey
1599f63134
Make sure the autotests work.
2010-01-28 00:07:42 +01:00
Jan Vidar Krey
c3ad006d07
Fix bug #76 : added support for multiple server listen ports.
...
Use server_alt_ports and supply a comma separated list of ports.
2010-01-27 23:55:52 +01:00
Jan Vidar Krey
1faca92167
Added a generic string splitter utility function that is based on callbacks instead of populating a list.
2010-01-27 23:55:05 +01:00
Jan Vidar Krey
ccd1c8f160
kqueue() BSD fixes
2010-01-27 17:50:02 +01:00
Jan Vidar Krey
41418f21e7
Winsock compile fix.
2010-01-27 17:48:16 +01:00
Jan Vidar Krey
7a8a737cad
More kqueue work in progress.
2010-01-27 01:04:32 +01:00
Jan Vidar Krey
ac48ad01fb
Work in progress on the kqueue backend.
2010-01-27 00:43:10 +01:00
Jan Vidar Krey
d7a1a52c1a
Started working kqueue() backend for OSX and BSD.
2010-01-26 23:30:32 +01:00
Jan Vidar Krey
f54e8dbbba
Moved the timeout code to where it belongs, along with the network backend code.
2010-01-26 22:55:08 +01:00
Jan Vidar Krey
2d7ffa37fe
Fix problem parsing configuration file if the last line is not empty
2010-01-26 16:16:41 +01:00
Jan Vidar Krey
928225fb7b
On Mac OS X getrlimit() returns 2^(sizeof(size_t) * 8) instead of the actual number of available socket descriptors.
2010-01-26 08:40:10 +01:00
Jan Vidar Krey
e3cf41cb97
BSD/OSX compile fix.
2010-01-25 14:23:22 +01:00
Jan Vidar Krey
bfc7c184a7
Fix release build compile warnings.
2010-01-23 14:59:51 +01:00
Jan Vidar Krey
304ecda16a
Enable the statistics timer again, so that !stats provide up to date network statistics.
2010-01-23 00:43:38 +01:00
Jan Vidar Krey
c670d13369
Make sure we shutdown SSL connections when an error occurs.
2010-01-23 00:20:48 +01:00
Jan Vidar Krey
b2e7a2848f
Optimize epoll to never modify the epoll mask unless it actually changed.
2010-01-23 00:03:45 +01:00
Jan Vidar Krey
84bd2591d6
SSL fixes, seems to work with stunnel4 as a client but not linuxdcpp using SSL directly.
2010-01-22 23:43:23 +01:00
Jan Vidar Krey
4aa65733d0
Poll as long as possible until next timeout the earliest.
2010-01-22 23:18:59 +01:00
Jan Vidar Krey
230ca28b46
Some unfinished SSL work.
2010-01-22 18:52:38 +01:00
Jan Vidar Krey
68a26e1160
Added proper POSIX signal handler.
2010-01-22 16:57:30 +01:00
Jan Vidar Krey
4711d26c11
Fix broken net_address_to_string().
2010-01-22 16:09:19 +01:00
Jan Vidar Krey
5e253e8442
Fix compile error.
2010-01-22 16:04:36 +01:00
Jan Vidar Krey
8b7f09c7f4
Fixed two cases of bad connection close.
2010-01-21 23:54:38 +01:00
Jan Vidar Krey
b29da11f3b
Make sure we call the timeout code.
2010-01-21 23:52:04 +01:00
Jan Vidar Krey
78ad9b8572
Fixed bad logic inside the timer scheduling.
2010-01-21 23:13:52 +01:00
Jan Vidar Krey
b04a20c66e
fixed off by one bug in due to message escape.
2010-01-21 22:20:26 +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
c47ea14047
Code cleanup for starting the listening socket.
2010-01-21 01:54:41 +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
f645811f37
Merge branch 'master' of github.com:janvidar/uhub
2010-01-20 18:42:45 +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
root
efeb36c492
- update uhub.conf example after add !rules
...
- add example rules.txt
- fix compile warning in src/util/timeout.c
- add example config file for rotate log file in RHEL\CentOS
2010-01-20 11:12:43 +03:00
Jan Vidar Krey
7e60919596
sorted the commands shown in help.
2010-01-20 00:24:57 +01:00
Jan Vidar Krey
e7cb4cd277
remove extra space before !broadcast messages
2010-01-20 00:12:39 +01:00
Jan Vidar Krey
e45511827f
Added the +rules command.
...
Also added the +motd command to see the message of the day, which is sent while connecting.
2010-01-19 23:30:26 +01:00