William Pitcock
3fe59c99c7
gnutls: Add support for certfp gathering.
2010-02-22 11:13:59 -06:00
Jilles Tjoelker
b2d64e51f0
Fix a memory leak with client certificates.
2010-02-19 16:55:15 +01:00
William Pitcock
7472e54da1
Fix libtool build issue.
2010-02-18 18:11:23 -06:00
William Pitcock
96f4052b50
Run autoreconf.
2010-02-17 23:12:45 -06:00
Jilles Tjoelker
033d16bd2d
Add new function rb_get_ssl_certfp() to export-syms.txt.
2010-02-07 20:38:37 +01:00
Jilles Tjoelker
7247337afa
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
dcb22e07b9
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
7083c02121
Run autoreconf.
2010-01-07 16:51:32 -06:00
Jilles Tjoelker
90e960f061
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
ac3b4cb50a
Run automake for libratbox.
2008-12-22 12:50:23 +03:00
Valeriy Yatsko
030272f378
Update libratbox.
2008-12-22 12:49:01 +03:00
Valeriy Yatsko
8c5eee4c84
Fix serno.h.
2008-12-22 02:46:26 +03:00
Valeriy Yatsko
00c72a060b
Remove .hgignore for serno.h, add serno.h for libratbox.
2008-12-22 02:34:40 +03:00
Jilles Tjoelker
bfa5df1e92
Remove additional wrong declaration for rb_kill().
2008-12-03 22:57:13 +01:00
Valeriy Yatsko
34f76fdd0f
Forgot version.c.SH for libratbox/.
2008-12-03 02:54:08 +03:00
Valeriy Yatsko
3202e24921
Copied libratbox and related stuff from shadowircd upstream.
2008-12-03 02:49:39 +03:00
Valery V Yatsko
5b4e901644
branch merge
2008-08-17 09:33:47 +04:00
Valery V Yatsko
bbe588880f
run autoreconf
2008-08-17 09:27:15 +04:00
Jilles Tjoelker
25bf728581
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
ce1c921c95
sync with libratbox upstream - r25870
2008-08-11 23:20:24 +04:00
Jilles Tjoelker
e5334f35e6
Rerun autoconf.
2008-08-02 02:09:23 +02:00
Jilles Tjoelker
d90702c9aa
Fix shell syntax.
2008-08-02 02:09:16 +02:00
William Pitcock
5f4f06c87a
Rerun autoconf.
2008-08-01 17:03:18 -05:00
William Pitcock
0bb036c05f
Add *sunos* conditional to solaris section for opensolaris, and add -D_XPG4_2 -D__EXTENSIONS__ to CFLAGS on these platforms.
2008-08-01 17:02:58 -05:00
William Pitcock
041d07b3d0
Automated merge with ssh://hg.atheme.org//hg/charybdis
2008-08-01 17:00:41 -05:00
William Pitcock
72cedbce85
rb_setup_fd_ports(): use correct prototype.
2008-08-01 17:00:00 -05:00
Valery Yatsko
a9fb3ed0f9
libratbox sync - r25796
2008-07-30 02:41:27 +04:00
Valery V Yatsko
c2ac22cc46
sync libratbox - r25599 + charybdis packaging patch
2008-06-25 09:28:30 +04:00
Jilles Tjoelker
b69b8b0870
Rerun autoconf.
2008-06-21 00:27:16 +02:00
Jilles Tjoelker
e961093c63
Change == in test(1) to =.
...
libratbox r25570 (jilles)
2008-06-21 00:27:00 +02:00
William Pitcock
c617c321a2
Set SONAME to libratbox.so.3. (Again, packaging. Yeah. We know.)
2008-06-10 22:06:54 -05:00
William Pitcock
af240db72b
Add libratbox.pc.in for out-of-tree libratbox build (think: packaging).
2008-06-10 22:02:10 -05:00
William Pitcock
f17c2ef84c
Make sure x509_cred and dh_params objects are allocated.
2008-06-10 21:24:49 -05:00
William Pitcock
fc8711d128
GNUTLS backend. Untested.
2008-06-10 20:33:15 -05:00
William Pitcock
709c19516d
Run autoreconf.
2008-06-10 13:45:43 -05:00
William Pitcock
e5f755a470
libratbox: Add checks for GnuTLS support.
2008-06-10 13:45:15 -05:00
Jilles Tjoelker
ac48b7c300
libratbox: Remove static inline symbols from export-syms.txt.
2008-05-17 13:26:42 +02:00
Jilles Tjoelker
6770b968bc
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
aec4c3cb6b
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
2142f6910e
Fix a possible crash with SSL connections closing early.
...
libratbox r25356 (jilles)
2008-05-12 19:54:24 +02:00
Jilles Tjoelker
3c95b6e72f
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
365d91a86f
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
39930c6602
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
ba1721d144
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
7b224e33b5
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
73d6283cfc
Importing r25217, r25219 and r25221 from ratbox3
2008-04-10 20:37:42 +04:00
Valery Yatsko
715ffadfd9
Importing changes from ircd-ratbox revision r25203, this fixes libratbox/src/openssl.c a bit
2008-04-06 18:28:56 +04:00
Jilles Tjoelker
9d9a4f6015
Fix SET_SS_LEN so that it also works correctly outside libratbox.
...
Use RB_SOCKADDR_HAS_SA_LEN instead of SOCKADDR_IN_HAS_LEN
which is only defined inside libratbox.
This fixes creating own sockaddr structs in other programs
using SET_SS_LEN, then passing them to libratbox, on
4.4BSD based systems.
2008-04-05 21:08:48 +02:00
Valery Yatsko
398b6a7372
ok, trying to work on blockheap's stuff
2008-04-02 04:28:05 +04:00
William Pitcock
a8f0b117ba
Make this link without OpenSSL. This patch should go upstream.
2008-04-01 14:57:52 -05:00
William Pitcock
b676ea3bd5
Run autoreconf.
2008-04-01 11:53:46 -05:00
William Pitcock
db13786793
Pull in libratbox from ircd-ratbox-3.0.0beta1 and integrate into the build system.
2008-04-01 11:52:26 -05:00