Commit Graph

485 Commits

Author SHA1 Message Date
Jan Vidar Krey
b4779bfb12 Fix bug #171 - Race condition could allow two users with same CID or nick to enter the hub. 2011-12-11 13:38:36 +01:00
Jan Vidar Krey
6d609e18a2 Windows/VS2010 fixes. 2011-12-11 12:53:09 +01:00
Jan Vidar Krey
ebd3ccf98e Disable the kqueue backend because it crashes under certain circumstances (see bug #169). 2011-12-09 17:01:02 +01:00
Jan Vidar Krey
aec89fc125 Fix memory leaks when parsing user commands. 2011-12-09 16:54:48 +01:00
Jan Vidar Krey
9377fb537a Fix memory leak when unloading plugins. 2011-12-09 16:39:19 +01:00
Jan Vidar Krey
afda1d7b9d Added a LOG_PLUGIN macro for plugin output debug messages.
Converted all TRACE messages related to plugins to LOG_PLUGIN.
2011-12-09 16:38:11 +01:00
Jan Vidar Krey
2352e5a0dd Fix memory leak for built-in commands. 2011-12-09 16:35:42 +01:00
Jan Vidar Krey
1dc79c641c Cleanup: do not use strcat(). 2011-12-09 15:58:58 +01:00
Jan Vidar Krey
41824ce2bf Fix compile issues on debian ports for GNU Hurd and Linux for s390. 2011-12-09 14:31:02 +01:00
Jan Vidar Krey
65c2652a22 Fix build errors on the Debian kfreebsd port. 2011-12-09 14:24:21 +01:00
Jan Vidar Krey
fb89307b0a fixup! Fix compiler warnings using gcc 4.6. 2011-12-09 14:21:16 +01:00
Jan Vidar Krey
7825c413d4 fixup! Added support for dynamic commands. 2011-12-09 13:04:05 +01:00
Jan Vidar Krey
318163c066 Added support for dynamic commands.
Dynamic commands are user commands that can be added dynamically to
the hub by a plugin.

The example plugin (mod_example.c) adds a !example command that when
invoked send a message to the user who invoked it.
2011-12-09 10:29:50 +01:00
Jan Vidar Krey
e972b03f38 Fix SSL disconnect memory leak. 2011-12-02 13:03:17 +01:00
Jan Vidar Krey
9f16298688 Fix minor valgrind issues
- Fix valgrind invalid write of 1 byte.
- Fix a few plugin related memory leaks.
2011-12-01 15:14:01 +01:00
Jan Vidar Krey
c17b43e77f Fix bug #144 - Count SSL traffic in !stats. But this does not include the SSL overhead. 2011-11-30 14:54:54 +01:00
Jan Vidar Krey
675e6af3ba Don't print warnings about known extensions that don't affect the hub at all (DHT0). 2011-11-30 14:14:36 +01:00
Jan Vidar Krey
2396d8555c Fix bug #167 - Build errors on OpenBSD.
- Don't link with -ldl, as it is not needed in most cases
- Don't compile plugins if USE_PLUGINS=NO
- Fix warning about missing newline at end of getopt.h
- Removed the O_NOATIME open() flag from the logging plugin.
- Removed the O_LARGEFILE open() flag. _FILE_OFFSET_BITS is 64.
- Use fsync() if fdatasync() is not available for log file writing.
- Replaced some sprintf() with snprintf() due to compiler warnings (though, they were length limited otherwise).
- Replaced two occurences of strcpy() with memcpy().
2011-11-30 13:43:39 +01:00
Jan Vidar Krey
9981acca08 Supply sid with user information in adcclient test code. 2011-11-30 12:32:59 +01:00
Jan Vidar Krey
99e644597d Cleaned up the ADC client test code.
Now works with ADCS (not very well tested, though)
2011-11-29 16:39:09 +01:00
Jan Vidar Krey
3a39a36fbb Fix for bug #166 - TLS crash. 2011-11-29 10:19:43 +01:00
Jan Vidar Krey
1102a86463 Adcrush fixes. 2011-11-28 16:36:45 +01:00
Jan Vidar Krey
bad4512a37 Fix compiler warnings using gcc 4.6. 2011-11-28 16:30:35 +01:00
Jan Vidar Krey
3b4a199673 Fix null pointer crash while encountering configuration file errors during parsing. 2011-10-17 09:50:14 +02:00
Jan Vidar Krey
39572c3684 Made plugin loading work properly on Windows. 2011-09-08 01:00:32 +02:00
Jan Vidar Krey
33b94d8eb4 Removed unused functions - prevents compile warnings. 2011-09-07 10:02:43 +02:00
Jan Vidar Krey
324bfcd2c8 Added plugin loader routines for windows. 2011-09-07 00:31:38 +02:00
Jan Vidar Krey
800f6a70f9 Added description to plugin_hub_info (an empty struct causes warning on VS2010). 2011-09-05 23:40:57 +02:00
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