Commits on Jan 6, 2017
  1. CREDITS: fix my nickname and update my email address

    lp0 committed Jan 6, 2017
Commits on Dec 29, 2016
  1. extensions/extb_channel: Allow matching secret channels.

    This change modifies extb_channel to allow matching users in secret
    channels, which prevents trivial ban evasion by setting the target
    channel +s. Information leak due to this change is unlikely since the
    attacker would have to know that the target channel exists, the name of
    the channel (or guess it), have a specific user they wanted to know
    whether was in the channel (and not know already), and the target user
    would need to have something like autojoin-on-invite enabled (or any of
    the other various ways hostname cloaking is attacked).
    mrflea committed Dec 29, 2016
Commits on Dec 9, 2016
  1. mr_server: Handle certificate validation errors.

    When certificate validation fails, the certificate fingerprint won't be
    calculated, resulting in an attempt to format NULL into a log line
    showing the fingerprint. Instead, add a different error message for
    missing fingerprint (i.e. validation failed).
    mrflea committed Dec 9, 2016
Commits on Dec 4, 2016
  1. m_rehash: Require admin privileges for REHASH SSLD.

    This change enforces admin privileges for the REHASH SSLD command, as
    originally intended.
    mrflea committed Dec 4, 2016
Commits on Nov 27, 2016
Commits on Nov 20, 2016
  1. server_estab: don't try to send to a dead client

    If the zlib setup fails the client will be exited, so don't send
    to it before checking this.
    lp0 committed Nov 20, 2016
  2. listener: use exit_client instead of free_client

    As well as leaking a connid and leaving the connection open,
    these calls to free_client() leave the client in the unknown_list
    causing check_unknowns_list() to crash when either ptr->data
    (ptr being the freed client_p->localClient->tnode) is NULL or
    when client_p->localClient is NULL.
    Flag the client as an IO error so that we don't try to send it
    any data (as this is not a normal plaintext connection).
    lp0 committed Nov 20, 2016
Commits on Oct 31, 2016
  1. README: Document glibtoolize use on Mac systems

    See related release/4 commit 19ec5fb, issue #224
    aaronmdjones committed Oct 31, 2016
Commits on Oct 30, 2016
  1. free server_p->certfp, allocated in newconf.c

    ==01:17:20:36.920 5966== 429 bytes in 3 blocks are possibly lost in loss record 899 of 1,020
    ==01:17:20:36.920 5966==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/
    ==01:17:20:36.920 5966==    by 0x4E73867: rb_strdup (rb_memory.h:70)
    ==01:17:20:36.920 5966==    by 0x4E7674C: conf_set_connect_fingerprint (newconf.c:1421)
    ==01:17:20:36.920 5966==    by 0x4E78D55: conf_call_set (newconf.c:2562)
    ==01:17:20:36.920 5966==    by 0x4E6A33D: yyparse (ircd_parser.y:215)
    ==01:17:20:36.920 5966==    by 0x4E7FFC7: read_conf (s_conf.c:834)
    ==01:17:20:36.920 5966==    by 0x4E81718: read_conf_files (s_conf.c:1419)
    ==01:17:20:36.920 5966==    by 0x4E69567: charybdis_main (ircd.c:775)
    ==01:17:20:36.920 5966==    by 0x400815: main (main.c:8)
    lp0 committed Oct 30, 2016
  2. free localClient->cipher_string, allocated in sslproc.c

    ==01:17:20:36.919 5966== 280 bytes in 8 blocks are definitely lost in loss record 876 of 1,020
    ==01:17:20:36.919 5966==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/
    ==01:17:20:36.919 5966==    by 0x4E93F4F: rb_strdup (rb_memory.h:70)
    ==01:17:20:36.919 5966==    by 0x4E95280: ssl_process_cipher_string (sslproc.c:476)
    ==01:17:20:36.919 5966==    by 0x4E95540: ssl_process_cmd_recv (sslproc.c:561)
    ==01:17:20:36.919 5966==    by 0x4E9582A: ssl_read_ctl (sslproc.c:632)
    ==01:17:20:36.919 5966==    by 0x56CBAB6: rb_select_epoll (epoll.c:199)
    ==01:17:20:36.919 5966==    by 0x56C4EB5: rb_select (commio.c:2085)
    ==01:17:20:36.919 5966==    by 0x56C7FD6: rb_lib_loop (rb_lib.c:228)
    ==01:17:20:36.919 5966==    by 0x4E69987: charybdis_main (ircd.c:872)
    ==01:17:20:36.919 5966==    by 0x400815: main (main.c:8)
    lp0 committed Oct 30, 2016
  3. free localClient->zipstats, allocated in sslproc.c

    ==01:17:20:36.906 5966== 48 bytes in 1 blocks are definitely lost in loss record 544 of 1,020
    ==01:17:20:36.906 5966==    at 0x4C2FB55: calloc (in /usr/lib/valgrind/
    ==01:17:20:36.906 5966==    by 0x4E93F0C: rb_malloc (rb_memory.h:41)
    ==01:17:20:36.906 5966==    by 0x4E961E8: start_zlib_session (sslproc.c:901)
    ==01:17:20:36.906 5966==    by 0x4E86FAC: server_estab (s_serv.c:877)
    ==01:17:20:36.906 5966==    by 0x13B2921A: mr_server (m_server.c:304)
    ==01:17:20:36.906 5966==    by 0x4E7AF03: handle_command (parse.c:241)
    ==01:17:20:36.906 5966==    by 0x4E7A96A: parse (parse.c:157)
    ==01:17:20:36.906 5966==    by 0x4E7A3DC: client_dopacket (packet.c:354)
    ==01:17:20:36.906 5966==    by 0x4E798D6: parse_client_queued (packet.c:98)
    ==01:17:20:36.906 5966==    by 0x4E79FAC: read_packet (packet.c:282)
    ==01:17:20:36.906 5966==    by 0x56CBAB6: rb_select_epoll (epoll.c:199)
    ==01:17:20:36.906 5966==    by 0x56C4EB5: rb_select (commio.c:2085)
    lp0 committed Oct 30, 2016
Commits on Oct 22, 2016
  1. authproc: don't allow authd to write too many parameters to parv array

    lp0 committed Oct 22, 2016
Commits on Oct 15, 2016
  1. README: Fix location of channel

    Fixes #223
    aaronmdjones committed Oct 15, 2016
Commits on Oct 2, 2016
  1. SASL: Relax rate limiting for failures a little

    Begin at 8 seconds after 2 failures and up to ~4 minutes
    aaronmdjones committed Oct 2, 2016
  2. Added kick immunity to umode +p (oper-override)

    Xenthys committed with aaronmdjones Sep 28, 2016
  3. SASL: rate-limit after the 2nd failed attempt (m_sasl.c)

    Xenthys committed with aaronmdjones Oct 2, 2016
Commits on Sep 20, 2016
  1. whois: check target is an oper before assuming they have a privset

    The CHALLENGE functionality will set opername but not privset --
    if an oper performs a WHOIS on someone currently half-way through
    a challenge we will perform a NULL dereference.
    Related to ircd-seven commit d7b05f7583babf6
    aaronmdjones committed Sep 20, 2016
Commits on Sep 11, 2016
  1. msgbuf: Fix remote crash vulnerability due to malformed message tag.

    Fixes #218
    Reported-by: ManiacTwister <>
    aaronmdjones committed Sep 11, 2016
Commits on Sep 3, 2016
  1. SASL: Disallow beginning : and space anywhere in AUTHENTICATE parameter

    This is a FIX FOR A SECURITY VULNERABILITY. All Charybdis users must
    apply this fix if you support SASL on your servers, or unload
    in the meantime.
    aaronmdjones committed Sep 3, 2016
Commits on Aug 20, 2016
  1. TLS Backends: Harmomise the rb_ssl_get_cipher() function

    The GNUTLS backend reports the version in use for the client as well
    as its ciphersuite -- do the same for the other 2 backends.
    aaronmdjones committed Aug 20, 2016
Commits on Aug 19, 2016
  1. GNUTLS: Avoid null dereference in constructing ciphersuite

    aaronmdjones committed Aug 19, 2016
  2. GNUTLS: Cleanup fingerprint generation

    Removes intermediate buffer, properly check return values
    aaronmdjones committed Aug 19, 2016
Commits on Aug 15, 2016
  1. README: Clarify that OpenSSL is not required for ECDHE

    aaronmdjones committed Aug 15, 2016
  2. mkpasswd: use urandom for salts, cleanup

    Using /dev/random for salt generation is pointless -- it can block, and
    any extra randomness it would provide (which is debatable) is not needed,
    as salts only need to be unique, not unpredictable.
    aaronmdjones committed Aug 15, 2016
Commits on Aug 13, 2016
  1. Merge pull request #209 from jevolk/master

    ircd: Insert into ircd:: namespace.
    jevolk committed on GitHub Aug 13, 2016
  2. ircd: Insert into ircd:: namespace.

    jevolk committed Aug 13, 2016
  3. appveyor: Disable PCH.

    jevolk committed Aug 13, 2016
  4. ircd: Convert defaults to constexprs.

    Also cleanup unused defaults.
    Also move single-use defaults to a tighter scope.
    jevolk committed Aug 13, 2016
  5. Remove unused function prototype.

    jevolk committed Aug 12, 2016
Commits on Aug 12, 2016
  1. Reduce redundant includes.

    jevolk committed Aug 12, 2016