aboutsummaryrefslogtreecommitdiffstats
path: root/modules/m_challenge.c
Commit message (Expand)AuthorAgeFilesLines
* 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. Gravatar Aaron Jones2023-11-061-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. Gravatar Aaron Jones2023-11-061-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 Gravatar jailbird7772022-08-251-36/+84
* m_challenge: various fixesGravatar Doug Freed2020-11-191-2/+3
* add ConfigFileEntry.oper_secure_only, to require TLS to oper up (#76)Gravatar jess2020-11-181-0/+12
* make more snotes L_NETWIDEGravatar jess2020-11-081-3/+3
* Rename UMODE_SSLCLIENT, IsSSLClientGravatar Ed Kellett2020-10-311-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] Gravatar Ed Kellett2019-09-131-8/+8
* Use rb_* versions of nonportable string functionsGravatar Elizabeth Myers2016-04-051-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. Gravatar Elizabeth Myers2016-03-091-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! Gravatar Elizabeth Myers2016-03-091-11/+7
* Add AV2 descriptions to all m_c* modules.Gravatar Elizabeth Myers2016-03-071-2/+9
* Migrate remaining modules to AV2•••No descriptions yet. :( Gravatar Elizabeth Myers2016-03-071-2/+2
* Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao... Gravatar Elizabeth Myers2016-03-061-3/+0
* msg: remove last vestiges of the fakelag system. charybdis has never support...Gravatar William Pitcock2016-02-191-1/+1
* modules: chase MsgBuf API changeGravatar William Pitcock2016-02-101-2/+2
* Remove trailing whitespace from all .c and .h files.•••3134 bytes were removed. Gravatar Keith Buck2014-03-031-10/+10
* m_challenge: fix use of undefined behaviour.•••GCC does what we expect, but other compilers could do just about anything. Gravatar Elizabeth Jennifer Myers2011-02-221-1/+2
* challenge: Fix build.Gravatar Jilles Tjoelker2010-02-181-1/+1
* Add certfp check to challenge too.Gravatar William Pitcock2010-02-171-0/+19
* Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric().Gravatar William Pitcock2010-02-171-4/+3
* Update comments for parv[0] removal.Gravatar Jilles Tjoelker2009-01-181-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 Gravatar Jilles Tjoelker2008-09-071-0/+16
* irc_string.h -> match.h, irc_string.h; includes changedGravatar Valery Yatsko2008-04-201-1/+1
* strlcpy -> rb_strlcpyGravatar Valery Yatsko2008-04-201-1/+1
* Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}codeGravatar Valery Yatsko2008-04-201-1/+1
* get_randomness() removed from m_challenge.c - we use rb_get_random() now from...Gravatar Valery Yatsko2008-04-201-28/+7
* s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it)Gravatar William Pitcock2008-04-021-1/+1
* CurrentTime -> rb_currenttime();Gravatar Valery Yatsko2008-04-021-2/+2
* MyMalloc -> rb_mallocGravatar Valery Yatsko2008-04-021-3/+3
* Argh, wrong replace caused by MS VS 2005 interface.Gravatar Valery Yatsko2008-04-021-8/+8
* libcharybdis includes gone.Gravatar Valery Yatsko2008-04-021-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) -- Gravatar nenolod2007-01-241-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 Gravatar nenolod2007-01-241-0/+319