Commit Graph

214 Commits

Author SHA1 Message Date
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