Joah
d6e3e1cbbe
Port OpenVZ/epoll Fix From charybdis
...
Ported the epoll fix to allow ShadowIRCd to work on OpenVZ VPSes from atheme/charybdis.
2012-11-20 03:15:54 -05:00
David Dixon II
336c99f71f
Update libratbox/src/sigio.c
...
This needs to be changed. Originally done here: a85566b151
2012-08-30 16:37:28 -03:00
JD Horelick
bf9bfd2696
run autoconf, autoheader and make depend
2012-02-29 23:18:57 -05:00
Jilles Tjoelker
8d5df4cb82
Cope with OPENSSL_VERSION_NUMBER not being a long.
...
Contrary to the documentation, this is the case on recent FreeBSD at least.
2011-03-20 18:46:32 +01:00
Elizabeth Jennifer Myers
d0c759a857
Add endian test to autoconf and convert crypt to use it.
2011-01-24 21:03:00 -05:00
Elizabeth Jennifer Myers
44e6a470d6
Add blowfish to libratbox crypt.
...
Also change u_int*_t to uint*_t whilst I'm here.
2011-01-17 05:01:11 -05:00
Jilles Tjoelker
86044bd2d6
Fix compiler warnings.
2011-01-08 17:40:12 +01:00
JD Horelick
12e395252c
Add SHA256/SHA512 support to crypt.c and fix up the MD5 component (it seemed to have been broken). In addition, unconditionally use the libratbox crypt.
2011-01-19 15:50:46 -05:00
Jilles Tjoelker
7123097bae
libratbox: Unbreak compile.
2010-12-15 21:48:26 +01:00
William Pitcock
6ec1ddabff
libratbox: Use the server SSL certificate on outgoing connections.
2010-12-13 22:58:09 -06:00
William Pitcock
ad06ad5710
libratbox: Clean up uses of strcpy().
2010-11-23 08:52:18 -06:00
JD Horelick
133755685e
Removal of ancient SVN ID's part one
2010-06-10 21:22:44 -04:00
Jilles Tjoelker
57fe1cf10e
openssl: Avoid cutting off OpenSSL errors at 119 chars.
...
ERR_error_string() is just broken, as it returns at most 119 chars
which means error messages are frequently truncated.
Allow for 511 chars using ERR_error_string_n().
2010-05-09 00:30:51 +02:00
Jilles Tjoelker
dce31e2723
Fix --disable-balloc.
...
libratbox r26769
2010-03-05 17:28:47 +01:00
Jilles Tjoelker
ed1dc6b379
gnutls: I guess a gnutls_x509_crt_deinit() is needed to avoid memory leak.
2010-02-22 19:16:37 +01:00
William Pitcock
0a62583676
gnutls: Add support for certfp gathering.
2010-02-22 11:13:59 -06:00
Jilles Tjoelker
6af7e4faa6
Fix a memory leak with client certificates.
2010-02-19 16:55:15 +01:00
William Pitcock
1800d9737b
Run autoreconf.
2010-02-17 23:12:45 -06:00
Jilles Tjoelker
360a73dc94
Add new function rb_get_ssl_certfp() to export-syms.txt.
2010-02-07 20:38:37 +01:00
Jilles Tjoelker
a099270d45
Add certfp support to libratbox and ssld.
...
This lets a user connect with a client certificate, and
passes the certificate's fingerprint to ircd, which
currently just notices it to the user.
A new ssld->ircd message 'F' is used to pass on the
fingerprint.
This is only for OpenSSL for now, not GNUTLS.
2010-01-31 19:04:20 +01:00
Jilles Tjoelker
8b4cf5c15b
Fix memory leak and bad error reporting with posix_spawn():
...
* an initialized posix_spawnattr_t must be destroyed
* posix_spawn() returns an error number instead of setting errno
libratbox trunk r26730
2010-01-22 00:09:56 +01:00
William Pitcock
042acc47bb
Run autoreconf.
2010-01-07 16:51:32 -06:00
Jilles Tjoelker
4486c20089
Fix fd passing on FreeBSD/amd64 and possibly Solaris/sparc.
...
The number of file descriptors in the message was not
determined correctly.
2009-07-10 00:27:01 +02:00
Valeriy Yatsko
f030cae802
Update libratbox.
2008-12-22 12:49:01 +03:00
Valeriy Yatsko
2f6c1ef878
Forgot version.c.SH for libratbox/.
2008-12-03 02:54:08 +03:00
Valeriy Yatsko
94b4fbf93a
Copied libratbox and related stuff from shadowircd upstream.
2008-12-03 02:49:39 +03:00
Jilles Tjoelker
74e0c6e660
fix a crash in the rb_bh_gc code
...
from libratbox svn r25871 (androsyn)
2008-08-12 22:37:29 +02:00
Valery V Yatsko
670f0c247e
sync with libratbox upstream - r25870
2008-08-11 23:20:24 +04:00
William Pitcock
143b6cc1e4
Automated merge with ssh://hg.atheme.org//hg/charybdis
2008-08-01 17:00:41 -05:00
William Pitcock
1f025cc3bf
rb_setup_fd_ports(): use correct prototype.
2008-08-01 17:00:00 -05:00
Valery Yatsko
4414eb3c9e
libratbox sync - r25796
2008-07-30 02:41:27 +04:00
Valery V Yatsko
033be68727
sync libratbox - r25599 + charybdis packaging patch
2008-06-25 09:28:30 +04:00
William Pitcock
1284a4877c
Set SONAME to libratbox.so.3. (Again, packaging. Yeah. We know.)
2008-06-10 22:06:54 -05:00
William Pitcock
c7d01d2d7d
Make sure x509_cred and dh_params objects are allocated.
2008-06-10 21:24:49 -05:00
William Pitcock
af6f5d479f
GNUTLS backend. Untested.
2008-06-10 20:33:15 -05:00
William Pitcock
dd91040957
Run autoreconf.
2008-06-10 13:45:43 -05:00
Jilles Tjoelker
6315153b9c
libratbox: Remove static inline symbols from export-syms.txt.
2008-05-17 13:26:42 +02:00
Jilles Tjoelker
e0bd36a502
Fix a mistake in kqueue 'overflow' handling.
...
If there is no space in the output buffer to report an
error adding to the kqueue, kevent(2) will abort and
return the error in errno (I was correct that it does
not tell you where it failed). So do not abort the loop
if kevent(2) fails and do not log (expected) EBADF.
2008-05-14 19:56:41 +02:00
Jilles Tjoelker
9b4f3c47e1
Save connect errno so that we get a correct connect failure reason
...
libratbox r25358 (androsyn)
2008-05-13 20:21:12 +02:00
Jilles Tjoelker
b68b0b2cde
Fix a possible crash with SSL connections closing early.
...
libratbox r25356 (jilles)
2008-05-12 19:54:24 +02:00
Jilles Tjoelker
98686f18e9
Fix kqueue sometimes dropping updates.
...
(ircd wouldn't read or write anymore to certain clients)
This happens because kqueue.c will often try to add
already closed file descriptors to the kqueue. The kernel
tries to report bad file descriptors in the eventlist; if
the eventlist has no space, processing of the changelist
is silently halted.
The fix:
1. allocate two kqlst things, one for what kqlst currently does
and one as output buffer
this ensures the kevent(2) call in rb_select_kqueue() never
drops updates
2. replace the kevent(2) call in kq_update_events() by a loop
that processes the updates one at a time
that doesn't happen much, and it's the only way to be sure
without also getting events out of the queue we cannot process
at that time
libratbox r25354 (jilles)
2008-05-12 18:54:20 +02:00
Jilles Tjoelker
79c4d759a9
patricia: remove ugly abuse of K&R style function declaration
...
It left the argument types unspecified in a function
pointer, then called it using different numbers of
arguments.
libratbox r25229
2008-04-13 18:20:18 +02:00
Jilles Tjoelker
dcb90e0d86
Remove linebuf's per-line flushing flag, as it's per-head state.
...
In rare cases, this sharing caused the ircd to skip
part of outgoing traffic, e.g. appearing as "not enough
parameters" errors on the other side.
The purpose of this flag can be fulfilled by the writeofs
in the bufhead.
libratbox r25227
2008-04-13 00:44:21 +02:00
Jilles Tjoelker
ec9738cbd8
read/write return type should be ssize_t, not int or size_t.
...
The writev emulation used size_t, which is unsigned,
preventing negative values to be seen.
libratbox r25225
2008-04-12 16:43:12 +02:00
Jilles Tjoelker
c50bb62ccd
kqueue: also use EV_ONESHOT for read events
...
This makes the kernel's state agree with our handler pointer.
SSL may need to suspend selecting for reading to write
something, e.g. with renegotiation.
libratbox r25223
2008-04-11 11:08:37 +02:00
Valery Yatsko
8f40f4bb7f
Importing r25217, r25219 and r25221 from ratbox3
2008-04-10 20:37:42 +04:00
Valery Yatsko
cee7d8576d
Importing changes from ircd-ratbox revision r25203, this fixes libratbox/src/openssl.c a bit
2008-04-06 18:28:56 +04:00
Valery Yatsko
6e9b4415cc
ok, trying to work on blockheap's stuff
2008-04-02 04:28:05 +04:00
William Pitcock
1ac6502183
Make this link without OpenSSL. This patch should go upstream.
2008-04-01 14:57:52 -05:00
William Pitcock
56efe9745d
Run autoreconf.
2008-04-01 11:53:46 -05:00