| Commit message (Expand) | Author | Age | Files | Lines |
| * | modules/m_challenge.c: give a better error message for failure to find o:line•••The snotice sent to other opers can be misleading. For example, it will say
host mismatch even if the host is correct but the username is wrong, or if
the oper name given does not exist in the configuration.
| Aaron Jones | 2023-11-06 | 1 | -2/+2 |
| * | modules/m_challenge.c: log correct mechanism•••I suspect this is a copy/paste omission when duplicating the code from
modules/m_oper.c when it was created.
| Aaron Jones | 2023-11-06 | 1 | -5/+5 |
| * | OpenSSL 3.0 compatibility•••Edited by @aaronmdjones:
- Correct some data types and casts
- Minor style fixups (e.g. we put * on the variable name not the type)
- librb/src/openssl.c:
- Defer call of BIO_free(3ssl) to the end of the conditional block
to avoid having calls to it in multiple paths
- Check the return value of SSL_CTX_set0_tmp_dh_pkey(3ssl) because if
it fails then we must use EVP_PKEY_free(3ssl) to avoid a memory leak
This could fail if, for example, the user supplied DSA parameters
in the DH parameters file instead.
- ircd/newconf.c:
- Check whether OSSL_DECODER_CTX_new_for_pkey(3ssl) was able to parse
the given CHALLANGE public key as a valid RSA public key, and then
check whether OSSL_DECODER_from_bio(3ssl) actually loads it
successfully
- ircd/s_newconf.c:
- Use EVP_PKEY_free(3ssl) instead of OPENSSL_free(3ssl) on EVP_PKEY
pointers; this will avoid inadvertent memory leaks if the EVP_PKEY
structure contains any dynamically-allocated child members
- modules/m_challenge.c:
- Unconditionally use EVP(3ssl) to generate the SHA-1 digest of the
random challenge; this API has been around for a very long time and
is available in all supported versions of OpenSSL
- Add lots of error checking to all steps of the process
Tested against 1.1.1 and 3.0; both with missing and provided DH parameters
(which works as you'd expect; the server will not negotiate a DHE cipher
without them), and CHALLENGE, including missing keys or keys of the wrong
type (e.g. when you supply an EdDSA key instead of an RSA key).
This does break compatibility with OpenSSL 1.1.0 and below, which are now
all end-of-life and unsupported anyway.
Closes #357
| jailbird777 | 2022-08-25 | 1 | -36/+84 |
| * | m_challenge: various fixes | Doug Freed | 2020-11-19 | 1 | -2/+3 |
| * | add ConfigFileEntry.oper_secure_only, to require TLS to oper up (#76) | jess | 2020-11-18 | 1 | -0/+12 |
| * | make more snotes L_NETWIDE | jess | 2020-11-08 | 1 | -3/+3 |
| * | Rename UMODE_SSLCLIENT, IsSSLClient | Ed Kellett | 2020-10-31 | 1 | -1/+1 |
| * | Propagate OPER•••Move opername and privset storage to struct User, so it can exist for
remote opers.
On /oper and when bursting opers, send:
:foo OPER opername privset
which sets foo's opername and privset. The contents of the privset on
remote servers come from the remote server's config, so the potential
for confusion exists if these do not match.
If an oper's privset does not exist on a server that sees it, it will
complain, but create a placeholder privset. If the privset is created by
a rehash, this will be reflected properly.
/privs is udpated to take an optional argument, the server to query, and
is now local by default:
/privs [[nick_or_server] nick]
| Ed Kellett | 2019-09-13 | 1 | -8/+8 |
| * | Use rb_* versions of nonportable string functions | Elizabeth Myers | 2016-04-05 | 1 | -1/+1 |
| * | Message handlers should return void.•••Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.
According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.
Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
| Elizabeth Myers | 2016-03-09 | 1 | -20/+18 |
| * | Move module description headers to the top•••This is cleaner.
Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
| Elizabeth Myers | 2016-03-09 | 1 | -11/+7 |
| * | Add AV2 descriptions to all m_c* modules. | Elizabeth Myers | 2016-03-07 | 1 | -2/+9 |
| * | Migrate remaining modules to AV2•••No descriptions yet. :(
| Elizabeth Myers | 2016-03-07 | 1 | -2/+2 |
| * | Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao...
| Elizabeth Myers | 2016-03-06 | 1 | -3/+0 |
| * | msg: remove last vestiges of the fakelag system. charybdis has never support... | William Pitcock | 2016-02-19 | 1 | -1/+1 |
| * | modules: chase MsgBuf API change | William Pitcock | 2016-02-10 | 1 | -2/+2 |
| * | Remove trailing whitespace from all .c and .h files.•••3134 bytes were removed.
| Keith Buck | 2014-03-03 | 1 | -10/+10 |
| * | m_challenge: fix use of undefined behaviour.•••GCC does what we expect, but other compilers could do just about anything.
| Elizabeth Jennifer Myers | 2011-02-22 | 1 | -1/+2 |
| * | challenge: Fix build. | Jilles Tjoelker | 2010-02-18 | 1 | -1/+1 |
| * | Add certfp check to challenge too. | William Pitcock | 2010-02-17 | 1 | -0/+19 |
| * | Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric(). | William Pitcock | 2010-02-17 | 1 | -4/+3 |
| * | Update comments for parv[0] removal. | Jilles Tjoelker | 2009-01-18 | 1 | -1/+0 |
| * | Add need_ssl to auth{} and operator{}.•••Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
| Jilles Tjoelker | 2008-09-07 | 1 | -0/+16 |
| * | irc_string.h -> match.h, irc_string.h; includes changed | Valery Yatsko | 2008-04-20 | 1 | -1/+1 |
| * | strlcpy -> rb_strlcpy | Valery Yatsko | 2008-04-20 | 1 | -1/+1 |
| * | Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code | Valery Yatsko | 2008-04-20 | 1 | -1/+1 |
| * | get_randomness() removed from m_challenge.c - we use rb_get_random() now from... | Valery Yatsko | 2008-04-20 | 1 | -28/+7 |
| * | s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it) | William Pitcock | 2008-04-02 | 1 | -1/+1 |
| * | CurrentTime -> rb_currenttime(); | Valery Yatsko | 2008-04-02 | 1 | -2/+2 |
| * | MyMalloc -> rb_malloc | Valery Yatsko | 2008-04-02 | 1 | -3/+3 |
| * | Argh, wrong replace caused by MS VS 2005 interface. | Valery Yatsko | 2008-04-02 | 1 | -8/+8 |
| * | libcharybdis includes gone. | Valery Yatsko | 2008-04-02 | 1 | -1/+0 |
| * | [svn] Backport from early 3.x:•••--
nenolod 2006/09/27 16:39:14 UTC (20060927-2178)
Log:
- remove "Processing connection to foobar.net" message
Changes: Modified:
+0 -3 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:34:26 UTC (20060927-2176)
Log:
- missed the processing connection one (actually, we can probably nuke this one)
Changes: Modified:
+1 -2 trunk/src/s_auth.c (File Modified)
river 2006/09/27 16:33:05 UTC (20060927-2174)
Log:
get_client_name = stupid
Changes: Modified:
+10 -7 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:32:37 UTC (20060927-2172)
Log:
- remove excessive arguments
Changes: Modified:
+1 -2 trunk/src/s_conf.c (File Modified)
+1 -1 trunk/src/s_user.c (File Modified)
nenolod 2006/09/27 16:30:59 UTC (20060927-2170)
Log:
- use sendto_one_notice() for on-connect notices too.
Changes: Modified:
+10 -10 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:27:01 UTC (20060927-2168)
Log:
- use sendto_one_notice() in the core, too.
Changes: Modified:
+2 -2 trunk/src/chmode.c (File Modified)
+8 -15 trunk/src/modules.c (File Modified)
+3 -5 trunk/src/s_conf.c (File Modified)
+1 -2 trunk/src/s_newconf.c (File Modified)
+20 -57 trunk/src/s_user.c (File Modified)
river 2006/09/27 16:19:25 UTC (20060927-2166)
Log:
the KILL command will use get_client_name(, SHOW_IP) instead of
target->name, and will show a more useful error for local opers
Changes: Modified:
+6 -4 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:09:48 UTC (20060927-2164)
Log:
- fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients
Changes: Modified:
+4 -2 trunk/src/send.c (File Modified)
nenolod 2006/09/27 16:05:46 UTC (20060927-2161)
Log:
- back out r2159
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:04:05 UTC (20060927-2159)
Log:
- get_id(): fall back to "*" if client has no known name
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:01:29 UTC (20060927-2157)
Log:
- convert to sendto_one_notice().
Changes: Modified:
+2 -3 trunk/unsupported/m_clearchan.c (File Modified)
+4 -6 trunk/unsupported/m_force.c (File Modified)
nenolod 2006/09/27 15:57:11 UTC (20060927-2155)
Log:
- use sendto_one_notice() in many places instead of
sendto_one(source_p, ":%s NOTICE %s :", ...);
Changes: Modified:
+10 -25 trunk/extensions/example_module.c (File Modified)
+5 -14 trunk/extensions/hurt.c (File Modified)
+1 -2 trunk/extensions/m_42.c (File Modified)
+7 -12 trunk/extensions/m_mkpasswd.c (File Modified)
+1 -2 trunk/extensions/m_ojoin.c (File Modified)
+1 -2 trunk/extensions/m_opme.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice_global.c (File Modified)
+3 -7 trunk/modules/core/m_die.c (File Modified)
+2 -4 trunk/modules/core/m_kill.c (File Modified)
+2 -2 trunk/modules/core/m_squit.c (File Modified)
+1 -2 trunk/modules/m_challenge.c (File Modified)
+11 -15 trunk/modules/m_connect.c (File Modified)
+20 -28 trunk/modules/m_dline.c (File Modified)
+2 -2 trunk/modules/m_etrace.c (File Modified)
+11 -21 trunk/modules/m_gline.c (File Modified)
+2 -4 trunk/modules/m_kline.c (File Modified)
+1 -2 trunk/modules/m_rehash.c (File Modified)
+3 -7 trunk/modules/m_restart.c (File Modified)
+31 -45 trunk/modules/m_set.c (File Modified)
+2 -4 trunk/modules/m_testmask.c (File Modified)
+5 -8 trunk/modules/m_unreject.c (File Modified)
+2 -5 trunk/modules/m_xline.c (File Modified)
--
| nenolod | 2007-01-24 | 1 | -5/+4 |
| * | [svn] - the new plan:••• + branches/release-2.1 -> 2.2 base
+ 3.0 -> branches/cxxconversion
+ backport some immediate 3.0 functionality for 2.2
+ other stuff
| nenolod | 2007-01-24 | 1 | -0/+319 |