Commit graph

3659 commits

Author SHA1 Message Date
Jilles Tjoelker
1c864688bb linebuf: Fix possible memory corruption when receiving many CR/LF.
The last byte of balloc.c's block pointer could be changed from 10 or 13 to
0. On amd64, this is not possible. On i386, this is possible and usually
causes a crash soon.
2014-11-05 21:42:35 +01:00
William Pitcock
5d4a99540b Merge pull request #73 from Argure/master
Explicitly drop SSLv3 connections (SSL_OP_NO_SSLv3) - might break TLS-ca...
2014-11-05 04:52:50 -06:00
William Pitcock
070d8da8eb Merge pull request #75 from attilamolnar/master+nullcharfix
Fix sending null char after ERROR when the server is full
2014-11-04 23:26:40 -06:00
Attila Molnar
76d82c19ad Fix sending null char after ERROR when the server is full 2014-11-04 21:57:37 +01:00
Patrick Godschalk
d072eb2350 Explicitly drop SSLv3 connections (SSL_OP_NO_SSLv3) - might break TLS-capable clients that still depend on SSLv23 handshake 2014-10-26 13:15:30 +01:00
Jilles Tjoelker
2a17ae5483 ban: Fix build breakage.
A normal 'make' did not rebuild m_ban.c even though dependencies had
changed.
2014-09-21 18:28:24 +02:00
Jilles Tjoelker
36e50ccfa5 tools: Remove Hybrid 6 conversion tools.
Hybrid 6 is old enough that the conversion tools can go away now.
They are for I and K lines; the ircd.conf converter was already removed.

This removes compiler/analyzer warnings about these tools.
2014-09-21 18:20:39 +02:00
Jilles Tjoelker
624d779127 bandb: Don't apply empty ban list when bandb starts sending bans.
When bandb sends the ban list, it first sends 'C', then all bans and
finally 'F'. Only when 'F' is sent is ircd supposed to apply the bans.
Because of a missing break, 'C' also did 'F', clearing the ircd active
permanent bans until bandb sent 'F'.

The effect is pretty limited because having bandb send the ban list via
/rehash bans is uncommon and most bans will be enforced when reset.
2014-09-21 18:09:18 +02:00
Jilles Tjoelker
8c04f89623 libratbox: Add comment that case fallthrough is deliberate. 2014-09-21 17:44:34 +02:00
Jilles Tjoelker
367f61444a Gitignore vim swap files. 2014-09-21 16:58:06 +02:00
Jilles Tjoelker
5f1db61bdf server: Don't read beyond the bounds of ServerInfo.ip and ServerInfo.ip6. 2014-09-21 16:57:38 +02:00
Jilles Tjoelker
dc336d1a63 server: Remove two dead stores. 2014-09-21 15:16:56 +02:00
Jilles Tjoelker
483987a464 Explicitly pass the current time to deactivate_conf().
Some places depend on the ban not being destroyed.
2014-09-21 15:02:43 +02:00
Jilles Tjoelker
2196b1825d Fix crash when there are two blacklist hosts without intervening reason.
This is invalid configuration; the first host is supposed to be ignored.
2014-09-21 14:42:14 +02:00
William Pitcock
ed5d7eb122 Merge pull request #70 from grobe0ba/master
Remove incorrect comment regarding location of functions in src/modules.c
2014-09-09 10:19:35 -05:00
Byron Grobe
e8d7921a08 Removed comment from src/modules.c that states certain function were moved into a file that no longer exists. (Circa ~2002) 2014-09-09 08:13:42 +00:00
Mantas Mikulėnas
423d875b7f doc/sasl.txt: forgot to wrap lines and sort references 2014-09-08 22:37:40 +03:00
Mantas Mikulėnas
f3319b3b2e doc/sasl.txt: drop dead links, add links to IRCv3 spec and relevant SASL RFCs 2014-09-08 22:27:36 +03:00
Jilles Tjoelker
aea6c4f9e6 chmode: Check mlock when a local oper changes cmode +L/+P.
This check was erroneously removed when fixing /mode #channel f when +f is
mlocked. Mlock checks were restricted to the places requiring chanops
(other than viewing +eI lists); cmode +L/+P do not require chanops, but
still constitute a mode change that must be checked against mlock.
2014-08-18 00:26:38 +02:00
Keith Buck
8db50c03e6 BAN: Don't schedule check_klines for 0 seconds in the future.
When receiving bans from a bursting server, if kline_delay is set to 0
(the default), rb_event_addonce will be called to schedule an event for
0 seconds in the future. While this works fine for the fallback
rb_event_run function, the epoll implementation ends up scheduling a
timerfd for the event in the past, which is then never executed.

While fixing this, I also made rb_event_add and rb_event_addonce reject
attempts to add events scheduled for 0 seconds in the future; they're
instead rewritten to run 1 second in the future.
2014-08-17 09:06:01 +00:00
Jilles Tjoelker
1c38b9def0 Update 3.5 NEWS. 2014-08-15 22:38:56 +02:00
Jilles Tjoelker
b733b9faf4 SJOIN: Fix crash when both mode parameter and UID list are missing.
Closes #63
2014-08-15 17:10:24 +02:00
Jilles Tjoelker
dfbf41a0ab conf: Make channel::channel_target_change option actually work.
Channel target change was forcibly enabled.
2014-08-08 11:57:09 +02:00
Jilles Tjoelker
3bfac098f7 extensions/extb_channel: Allow the channel itself as target even if +s/+p. 2014-07-19 20:14:14 +02:00
Jilles Tjoelker
83aa910fb9 extensions/chm_sslonly: Use some 4xx numeric for the join failure. 2014-07-19 20:14:14 +02:00
Rylee Fowler
c1ca217a03 Merge pull request #64 from maxanton/fix_path_to_ssl_cert
example configs: change ssl_cert to etc/ssl.pem
2014-07-13 16:31:04 -04:00
Max Teufel
b3c4dfd7f2 example configs: change ssl_cert to etc/ssl.pem
The genssl script writes to etc/ssl.pem by default.
2014-07-13 18:12:54 +02:00
Jilles Tjoelker
a7fa7fff0d smoketest: Remove race conditions causing occasional test failures. 2014-06-12 23:43:05 +02:00
Jilles Tjoelker
f6b62c59bb Chase change from example.conf to ircd.conf.example in various places. 2014-06-12 23:43:05 +02:00
Jilles Tjoelker
1db8e00714 configure: Rerun autoconf. 2014-06-05 22:12:29 +02:00
Jilles Tjoelker
6573fa4c74 configure: Restore libratbox build.
This fixes building from scratch.
2014-06-05 22:12:19 +02:00
Jilles Tjoelker
74273d8b80 Merge branch 'master+sharedsqlite' of https://github.com/lstarnes1024/charybdis 2014-06-03 22:40:32 +02:00
Lee Starnes
a5471f2483 configure: use pkg-config for sqlite 2014-06-01 15:50:47 -04:00
Lee Starnes
f286b102d8 aclocal.m4: rerun aclocal 2014-06-01 15:50:47 -04:00
Lee Starnes
83c9439aa3 m4/pkg.m4: add pkg-config-0.24 macros 2014-06-01 15:50:47 -04:00
Lee Starnes
bd4ebd6b18 configure: move local autoconf macros to m4/charybdis.m4 2014-06-01 15:50:38 -04:00
Lee Starnes
cf1001a739 configure: fix linking with shared sqlite on *BSD 2014-05-31 22:56:12 -04:00
Lee Starnes
a6ef3156ec configure: use --with-shared-sqlite instead of --enable-shared-sqlite 2014-05-31 21:14:09 -04:00
Lee Starnes
74ab6be094 bandb: make Makefile work with BSD make again 2014-05-29 17:53:43 -04:00
Jilles Tjoelker
67b7840a5d ircd_parser: Fix inconsistent declaration of yyerror(). 2014-05-29 23:23:50 +02:00
Lee Starnes
497e30a0bb configure: add --enable-shared-sqlite option
When --enable-shared-sqlite is used, charybdis will be compiled with a shared
sqlite library if it is available.
2014-05-29 13:11:29 -04:00
Jilles Tjoelker
0f8db0552e channel: Remove write-only field. 2014-05-29 17:41:35 +02:00
Jilles Tjoelker
51452a370b channel: Stop pretending to support per-mode server capabilities.
After a change for dynamic server capabilities, the code to send out mode
changes was changed to use the capabilities belonging to the last mode
being sent out. This does not make sense; therefore, just use no
capabilities and remove supporting infrastructure.
2014-05-29 17:40:16 +02:00
Jilles Tjoelker
d0c2fc8266 server: Require EX and IE capabilities (+e and +I cmodes).
The code to send each channel mode only to servers supporting it was
broken a while ago and was not very useful anyway. Therefore, require
all connecting servers to support all standard channel modes.
2014-05-29 16:24:42 +02:00
Jilles Tjoelker
72ae8a1f7b Merge branch 'patch-1' of https://github.com/auscompgeek/charybdis 2014-05-29 15:42:47 +02:00
Jilles Tjoelker
69f4561b39 Merge branch 'master+umodes' of https://github.com/Adam-/charybdis 2014-05-19 23:37:20 +02:00
Adam
9744d53ec9 Fix buffer overflow in introduce_client and burst_TS6
If the client being introduced has more than 10 user modes send_umode()
will overflow ubuf
2014-05-13 19:33:41 -04:00
Mantas Mikulėnas
ad4b76b417 help: Update indexes
`make index` (add PRIVS for opers, CHANTRACE for users)
2014-05-10 15:10:36 +03:00
Mantas Mikulėnas
457f6802e0 help: Add MONITOR to the user symlinks
Apparently the overrides are done at `make install` time, okay.
2014-05-10 15:04:29 +03:00
Mantas Mikulėnas
c72f15bcf5 m_version: remove spaces from version string
"to make it machine parseable again", as in ircd-seven commit 03b2176b88a1.
2014-05-06 16:28:23 +03:00