Jan Vidar Krey
394c8a5f95
Whitespace fixes.
2010-07-09 14:01:22 +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
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
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
076492f1b9
Fix some small memory leaks.
2010-04-21 18:34:55 +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
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
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
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
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
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
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
68a26e1160
Added proper POSIX signal handler.
2010-01-22 16:57:30 +01:00
Jan Vidar Krey
8b7f09c7f4
Fixed two cases of bad connection close.
2010-01-21 23:54:38 +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
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
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
Jan Vidar Krey
80c6ad9d76
Added mute/unmute functionality.
2010-01-19 23:07:55 +01:00
Jan Vidar Krey
f84f3b1fff
Merge branch 'master' of github.com:janvidar/uhub into sans_libevent
2010-01-19 19:35:20 +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
7dfa3162cb
Epoll fixes.
2010-01-18 19:34:18 +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
1f9cfe58c4
No need to allow users not yet logged in to send special hub commands to the hub.
...
Nothing bad will happen, except the hub will try to answer them even though the user is not yet fully logged in. This fix ensures that these messages are simply dropped instead.
2009-12-09 19:40:12 +01:00
Jan Vidar Krey
50f5ce9d32
Fix bug #100 - Null pointer crash if sending a chat message without the message part.
2009-12-09 19:30:08 +01:00
Jan Vidar Krey
7c093dc5da
Fix for very long messages that get dropped if they are sent alone (no other message before it) and does not fit inside one TCP packet.
...
(Thanks FleetCommand!)
2009-12-04 08:12:54 +01:00
Jan Vidar Krey
53536f191d
Crash fix.
2009-11-21 11:47:26 +01:00
Jan Vidar Krey
e994f23ea0
Crash fix part 2
2009-11-18 18:35:31 +01:00
Jan Vidar Krey
2526c8a9ed
Silly compile error.
2009-11-18 17:43:11 +01:00
Jan Vidar Krey
4556623a87
Clarify flags as unsigned.
2009-11-18 17:41:22 +01:00
Jan Vidar Krey
828c19cfc6
Fix a wrong open() if no motd is specified.
2009-11-18 17:41:55 +01:00
Jan Vidar Krey
00995a1946
Fix potential memory leaks and crashes.
2009-11-18 17:41:28 +01:00
Jan Vidar Krey
f4e82ef503
Cleanup the net_event handler.
2009-11-18 17:40:28 +01:00
Jan Vidar Krey
eb7bec585e
Fix problems with write events not being processed due to a read event taking presendence.
...
Conflicts:
src/core/netevent.c
2009-11-18 17:40:23 +01:00
Jan Vidar Krey
066b3f5243
Fix protocol probe. Will detect ADC and TLS handshake - any other request
...
will simply cause the hub to close the connection.
Conflicts:
src/core/netevent.c
src/core/probe.c
2009-11-18 17:38:25 +01:00
Jan Vidar Krey
a51e8830ce
Log dropped messages.
2009-10-30 18:31:27 +01:00
Jan Vidar Krey
e6cc47070c
A few minor TLS fixes
2009-10-09 21:38:14 +02:00
Jan Vidar Krey
0c5d98c671
TLS compile and crash fixes.
2009-10-09 21:11:11 +02:00
Jan Vidar Krey
0f30ebf045
Some stability fixes. Removed log messages.
2009-10-09 20:35:04 +02: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
f50b40fb92
Fix bug #85 - Do not broadcast unknown commands, but allow for commands to be broadcasted if they are double escaped with ++ or !!.
2009-10-06 18:02:37 +02:00
Jan Vidar Krey
40fc09a7ef
Whitespace cleanups.
2009-10-06 17:40:09 +02:00
Jan Vidar Krey
f076c67c33
Added a configurable listen() backlog (defaults to: server_listen_backlog=50)
2009-10-06 15:50:42 +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
1e380ecf0f
Fix bug #77 - Error in ACL command parsing.
2009-08-31 19:39:09 +02:00
Jan Vidar Krey
1af613d9ce
Fixed printf issues with size_t. Since Windows do not support %zu we have to use %Iu there instead.
...
Solved that with an ugly but needed macro.
2009-08-20 10:44:44 +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
4afa187f9a
Expose SSL/TLS related config variables.
2009-08-06 23:05:53 +02:00
Jan Vidar Krey
d45383fe4d
Fix some asserts.
2009-08-04 04:58:55 +02:00
Jan Vidar Krey
ffd455474a
Fix use of wrong event types.
2009-08-04 04:47:02 +02:00
Jan Vidar Krey
faaa3d14e4
Dont clear the timer, instead set the TIMEOUT_IDLE when logging in (for now at least)
2009-08-04 01:07:12 +02:00
Jan Vidar Krey
9f784e808e
Fix bug #70 - crash if client is in nat_ip zone, but does not provide an IP in the INF message.
2009-08-04 01:02:49 +02:00
Jan Vidar Krey
80dee0c020
Get rid of the event_base_set() calls.
2009-08-04 00:15:04 +02:00
Jan Vidar Krey
eca0f931bd
Fixes to shutdown...
2009-08-03 23:59:02 +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
79cf5ee9db
Some work on integrating OpenSSL.
2009-08-03 03:55:38 +02:00
Jan Vidar Krey
4666311516
Add a quit reason to the log messages printed by !log.
2009-08-02 22:53:25 +02:00
Jan Vidar Krey
0e1cd903da
Make sure we create enough sids as there are socket descriptors.
2009-08-02 22:29:12 +02:00
Jan Vidar Krey
077bffd74f
Fix capped whoip/history messages due to limit of 1024 bytes imposed wrongly on outgoing server generated messages.
2009-08-02 21:58:12 +02:00
Jan Vidar Krey
cfb8a9f322
Started using the new connection abstraction.
2009-08-02 21:46:57 +02:00
Jan Vidar Krey
9bd0286c01
Fix bug #3 , sid allocation overflow. May lead to double SIDs being given out.
2009-08-02 21:04:10 +02:00
Jan Vidar Krey
b78d48795b
!history had a wrong help description.
2009-08-02 19:26:21 +02:00
Jan Vidar Krey
9b58ba6516
Use correct prefix for log command.
2009-07-28 02:17:57 +02:00
Jan Vidar Krey
f322fbb197
Fix !log command, split it up into multiple messages, and allow for searches.
2009-07-28 02:02:19 +02:00
Jan Vidar Krey
80348044c3
Make sure history messages are not escaped.
2009-07-26 18:22:53 +02:00
Jan Vidar Krey
31d4b0f0b1
Fix history - do not cache private messages.
2009-07-26 15:08:34 +02:00
Jan Vidar Krey
10615a9a1a
Whitespace
2009-07-26 06:32:15 +02:00
Jan Vidar Krey
7b44036480
print ip address when using whoip.
2009-07-26 06:30:48 +02:00
Jan Vidar Krey
444f991f44
Fix bug #44 - [Request] IP log in the memory
2009-07-26 06:03:43 +02:00
Jan Vidar Krey
b125ffe3c1
Fix bug #52 - [Request] Chat history command
2009-07-26 05:23:56 +02:00
Jan Vidar Krey
76b84499bc
Fix bug #46 : [Request] A broadcast command.
...
Use !broadcast <message>
2009-07-26 04:47:43 +02:00
Jan Vidar Krey
6358c7f9cd
Fix bug #45 : [Request] Whoip command.
...
Rewrote patches from Zoltan to support ip ranges and multiple results per IP.
Needed to make sure IPv6 mapped IPv4 addresses were converted to proper IPv4 addresses after accept().
2009-07-26 04:31:36 +02:00
Jan Vidar Krey
041ce7a1fb
Generalized the IP range and mask parsing code.
2009-07-26 03:56:55 +02:00
Jan Vidar Krey
78bb1d3527
Typo - compilefix.
2009-07-26 02:06:02 +02:00
Jan Vidar Krey
48f3cae22b
Ensure we delete the global evtimer only if it is initialized.
2009-07-26 02:05:01 +02:00
Jan Vidar Krey
817250c528
Fix wrong #if to #ifdef
2009-07-26 01:53:53 +02:00
Jan Vidar Krey
f176e790e2
Whitespace fixes.
2009-07-26 01:53:01 +02:00
Jan Vidar Krey
367871e476
Renamed all "struct user" to hub_user in order to resolve a naming conflict on OpenWRT.
...
Basically: sed -i 's/struct user/struct hub_user/g' `find -type f`
2009-07-26 01:47:17 +02:00
Jan Vidar Krey
6e5d28c2d4
Rework logging code to be able to turn it off completely.
2009-07-26 01:38:38 +02:00
Jan Vidar Krey
5048ff9ae5
Whitespace fixes.
2009-07-26 00:58:25 +02:00
Jan Vidar Krey
36a07e3f7e
Reorganized sources slightly.
2009-07-25 20:05:27 +02:00