]> jfr.im git - irc/atheme/atheme.git/log
irc/atheme/atheme.git
16 months agoupdate convertrservtoatheme origin/jess/update-convertrservtoatheme
jesopo [Tue, 10 Jan 2023 00:29:00 +0000 (00:29 +0000)] 
update convertrservtoatheme

16 months agodist/atheme.conf.example: add forgotten documentation for new module
Aaron Jones [Tue, 10 Jan 2023 00:10:24 +0000 (00:10 +0000)] 
dist/atheme.conf.example: add forgotten documentation for new module

16 months agoMake login failure notices opt-in and add password-based login throttling functionali...
Aaron Jones [Tue, 10 Jan 2023 00:08:06 +0000 (00:08 +0000)] 
Make login failure notices opt-in and add password-based login throttling functionality (#884)

* Make login failure notices opt-in

This introduces a new account flag which determines whether notices
about failed password-based login attempts are generated or not.

* Hook: user_can_login: Indicate login method

This allows hooks to permit or deny logins based upon the type
of credential being used.

This requires some rework of how SASLServ behaves. Specifically,
mechanism modules now indicate their login type at the point
where the hook is called, not when the mechanism is registered.

At the moment, there are four types of login credential:

- Certificate Fingerprints
  - User introduction (not logged in, but has a certfp)
  - SASL EXTERNAL

- Passwords
  - NickServ IDENTIFY
  - SASL PLAIN
  - SASL SCRAM

- Public-key Challenges
  - SASL ECDSA-NIST256P-CHALLENGE
  - SASL ECDH-X25519-CHALLENGE

- Tokens
  - SASL AUTHCOOKIE

* Add a password-based login throttling module

Co-authored-by: jesopo <redacted>
18 months agoproxyscan/dnsbl: add IPv6 support (#878)
Aaron Jones [Wed, 26 Oct 2022 10:11:42 +0000 (10:11 +0000)] 
proxyscan/dnsbl: add IPv6 support (#878)

This does make the codebase now depend upon inet_pton(3), which is
pretty much universally available.

18 months agoallow config sopers who are specified by EID to drop their account (#887)
Jess Porter [Tue, 25 Oct 2022 19:08:12 +0000 (20:08 +0100)] 
allow config sopers who are specified by EID to drop their account (#887)

18 months agomodules/saslserv/main.c: sasl_handle_login(): fix overzealous message
Aaron Jones [Sat, 22 Oct 2022 07:06:34 +0000 (07:06 +0000)] 
modules/saslserv/main.c: sasl_handle_login(): fix overzealous message

This can be triggered simply by a client beginning a pre-registration
SASL login, and then completing registration before completing the
login (for example, a timeout waiting for the server to respond to our
AUTHENTICATE command which then results in a CAP END).

As such, the log level and text of this message is wrong.

19 months agolibathemecore/svsignore.c: svsignore_delete(): fix memory leaks
Aaron Jones [Thu, 13 Oct 2022 09:55:43 +0000 (09:55 +0000)] 
libathemecore/svsignore.c: svsignore_delete(): fix memory leaks

The OperServ IGNORE module (when CLEARing all ignores and reporting
them as it does so) frees these 2 pointers (which is correct), but
libathemecore did not on a per-ignore basis.

In other words, manually removing one ignore would leak memory, but
removing all of them at once would not.

19 months agomodules/operserv/ignore.c: remove redefinition of svs_ignore_list
Aaron Jones [Thu, 13 Oct 2022 09:51:33 +0000 (09:51 +0000)] 
modules/operserv/ignore.c: remove redefinition of svs_ignore_list

This symbol already exists in libathemecore, with an extern declaration.

Reported-By: @Unit193
19 months agoadd hooks for adding and removing a certificate fingerprint (#822)
Jess Porter [Tue, 4 Oct 2022 19:04:27 +0000 (20:04 +0100)] 
add hooks for adding and removing a certificate fingerprint (#822)

this is to support a module that will warn users when they add
a certificate fingerprint that doesn't look like what we're
expecting

19 months agoMerge pull request #816 from jesopo/cs-list-unknown-criteria
Aaron Jones [Tue, 4 Oct 2022 18:16:12 +0000 (18:16 +0000)] 
Merge pull request #816 from jesopo/cs-list-unknown-criteria

don't just ignore invalid CS LIST criteria/parameters

19 months agogive solanum its own protocol headers, add CMODE_MODREG for regmsg (#883)
Jess Porter [Tue, 4 Oct 2022 18:15:51 +0000 (19:15 +0100)] 
give solanum its own protocol headers, add CMODE_MODREG for regmsg (#883)

19 months agoXMLRPC: Allow zero-length authcookie and account name
Aaron Jones [Sat, 1 Oct 2022 23:02:41 +0000 (23:02 +0000)] 
XMLRPC: Allow zero-length authcookie and account name

The existing code requires you to provide both, and then treats
a 1-character authcookie as though none were provided, while
also then ignoring the account given.

Just allow both to be zero-length instead of having to supply a
1-character cookie and an account that it's going to ignore.

19 months agoMerge pull request #870 from atheme/jess/badmail-reason
Aaron Jones [Wed, 28 Sep 2022 06:46:22 +0000 (06:46 +0000)] 
Merge pull request #870 from atheme/jess/badmail-reason

print badmail reason in badmail hit log line

19 months agoenum return type
jesopo [Tue, 27 Sep 2022 23:40:34 +0000 (23:40 +0000)] 
enum return type

19 months agoinclude badmail mask in badmail hit log
jesopo [Tue, 27 Sep 2022 16:57:39 +0000 (16:57 +0000)] 
include badmail mask in badmail hit log

21 months agoRNG: glibc 2.36 supports a secure arc4random(3)
Aaron Jones [Sat, 6 Aug 2022 01:13:17 +0000 (01:13 +0000)] 
RNG: glibc 2.36 supports a secure arc4random(3)

22 months agomodules/chanserv/close: check correct flags variable for log target
Aaron Jones [Fri, 15 Jul 2022 01:09:02 +0000 (01:09 +0000)] 
modules/chanserv/close: check correct flags variable for log target

A user reported that the ChanServ CLOSE command was not working for
their channel, saying that the channel could not be closed.

MC_HOLD and CHAN_LOG both have the same value (1), but the former is
for flags in `struct mychan`, and the latter is for `struct channel`.

This lead me to believe that the channel was defined as a log target,
when in reality it was checking the wrong flags field and deducing
that the channel was a log target because it was held.

Check the correct flags field.

Reported-by: @hello-smile6
22 months agochanserv: allow hiding AKICK entries from FLAGS (#876)
Matthew Martin [Fri, 8 Jul 2022 23:15:02 +0000 (23:15 +0000)] 
chanserv: allow hiding AKICK entries from FLAGS (#876)

23 months agoMerge pull request #874 from dwfreed/patch-4
Aaron Jones [Wed, 8 Jun 2022 02:55:21 +0000 (02:55 +0000)] 
Merge pull request #874 from dwfreed/patch-4

hostserv/request: fix minimum interval check

23 months agohostserv/request: fix minimum interval check
Doug Freed [Tue, 7 Jun 2022 19:05:49 +0000 (15:05 -0400)] 
hostserv/request: fix minimum interval check

2 years agoprint badmail reason in badmail hit log line
jesopo [Sun, 15 May 2022 16:12:46 +0000 (16:12 +0000)] 
print badmail reason in badmail hit log line

2 years agoMerge pull request #837 from progval/patch-3
Aaron Jones [Sun, 1 May 2022 14:50:24 +0000 (14:50 +0000)] 
Merge pull request #837 from progval/patch-3

doc/FAQ: Reformat like INSTALL

2 years agoMerge pull request #868 from atheme/jess/mark-account-name
Aaron Jones [Sun, 1 May 2022 14:45:31 +0000 (14:45 +0000)] 
Merge pull request #868 from atheme/jess/mark-account-name

log account name, rather than provided target, in multimark

2 years agoMerge pull request #867 from dwfreed/ircd-seven-to-solanum
Aaron Jones [Sun, 1 May 2022 14:44:14 +0000 (14:44 +0000)] 
Merge pull request #867 from dwfreed/ircd-seven-to-solanum

protocol/ircd-seven: rename to solanum

2 years agoMerge pull request #863 from examknow/doc-loginnolimit
Aaron Jones [Sun, 1 May 2022 14:43:26 +0000 (14:43 +0000)] 
Merge pull request #863 from examknow/doc-loginnolimit

Add help and config file entry for `nickserv/loginnolimit`

2 years agolog account name, rather than provided target, in multimark
jesopo [Sat, 30 Apr 2022 18:07:15 +0000 (18:07 +0000)] 
log account name, rather than provided target, in multimark

2 years agoprotocol/ircd-seven: rename to solanum
Doug Freed [Fri, 29 Apr 2022 00:24:21 +0000 (00:24 +0000)] 
protocol/ircd-seven: rename to solanum

2 years agoMerge pull request #824 from jesopo/soper-entity-id
Aaron Jones [Sun, 17 Apr 2022 11:53:16 +0000 (11:53 +0000)] 
Merge pull request #824 from jesopo/soper-entity-id

allow config file sopers to be specified by ?UID

2 years agoallow config file sopers to be specified by ?EID
jesopo [Sun, 17 Apr 2022 11:26:15 +0000 (11:26 +0000)] 
allow config file sopers to be specified by ?EID

2 years agopo/: make update-po
Aaron Jones [Sat, 16 Apr 2022 12:33:39 +0000 (12:33 +0000)] 
po/: make update-po

2 years agoFix some typos in the set_guard.c
Gokturk Yilmaz [Tue, 22 Mar 2022 08:00:03 +0000 (09:00 +0100)] 
Fix some typos in the set_guard.c

2 years agoMerge pull request #864 from atheme/jess/fnc-regain
Aaron Jones [Sat, 16 Apr 2022 12:17:47 +0000 (12:17 +0000)] 
Merge pull request #864 from atheme/jess/fnc-regain

NS REGAIN should be using FNC_REGAIN

2 years agoMerge pull request #865 from dwfreed/patch-3
Aaron Jones [Sat, 16 Apr 2022 11:32:49 +0000 (11:32 +0000)] 
Merge pull request #865 from dwfreed/patch-3

help/cservice/akick: correct flag for exempt

2 years agohelp/cservice/akick: correct flag for exempt
Doug Freed [Sat, 16 Apr 2022 11:29:25 +0000 (07:29 -0400)] 
help/cservice/akick: correct flag for exempt

+e was added in 7.2 to exempt users from akick.

2 years agoNS REGAIN should be using FNC_REGAIN
jesopo [Fri, 15 Apr 2022 23:19:11 +0000 (23:19 +0000)] 
NS REGAIN should be using FNC_REGAIN

2 years agoadd `nickserv/loginnolimit` to example config
David Schultz [Mon, 4 Apr 2022 16:37:12 +0000 (11:37 -0500)] 
add `nickserv/loginnolimit` to example config

2 years agoadd help for `nickserv/loginnolimit`
David Schultz [Mon, 4 Apr 2022 16:35:51 +0000 (11:35 -0500)] 
add help for `nickserv/loginnolimit`

2 years agoconfigure: --enable-warnings: check for -Wno-declaration-after-statement
Aaron Jones [Sat, 5 Mar 2022 05:16:23 +0000 (05:16 +0000)] 
configure: --enable-warnings: check for -Wno-declaration-after-statement

Clang trunk is issuing dozens of these diagnostics for every single
compilation unit, warning that declaring variables after a statement
is not supported in versions of C before C99.

However, this is a C99 codebase, and we're using AC_PROG_CC_C99.
Disable this diagnostic.

2 years agolibmowgli-2/: bump to latest HEAD
Aaron Jones [Mon, 28 Feb 2022 23:29:26 +0000 (23:29 +0000)] 
libmowgli-2/: bump to latest HEAD

2 years agom4/atheme-featuretest-warnings.m4: check for -Wno-reserved-identifier
Aaron Jones [Thu, 24 Feb 2022 00:25:04 +0000 (00:25 +0000)] 
m4/atheme-featuretest-warnings.m4: check for -Wno-reserved-identifier

Clang 14 with --enable-warnings is emitting several of these
diagnostics for every single compilation unit, due to how
libmowgli names its variables. This is pointlessly annoying.

2 years agomodules/backend/corestorage: respect general::db_save_blocking
Aaron Jones [Sat, 19 Feb 2022 00:48:11 +0000 (00:48 +0000)] 
modules/backend/corestorage: respect general::db_save_blocking

We're not just called from the periodic commit timer, but also
on rehash, which includes some modreloads too (when reloading a
module that has configuration options).

We should always use a blocking save regardless of what caused
the save to happen, rather than just test in the periodic commit
timer callback.

This makes running under Valgrind much more amenable.

Fixes: b427d04059d4d4f7b396
2 years agolibathemecore/logger: silence false positive memory leak diagnostic
Aaron Jones [Thu, 17 Feb 2022 13:03:10 +0000 (13:03 +0000)] 
libathemecore/logger: silence false positive memory leak diagnostic

2 years agomodules/nickserv/verify: redefine messages as macros
Aaron Jones [Tue, 1 Feb 2022 23:38:08 +0000 (23:38 +0000)] 
modules/nickserv/verify: redefine messages as macros

This was (correctly) triggering -Wformat-security diagnostics because
they were not string literals.

Fixes: b40775a303c7bbcb027e
2 years agoSECURITY.md: update for 7.2.12 release
Nicole Kleinhoff [Tue, 1 Feb 2022 02:20:11 +0000 (02:20 +0000)] 
SECURITY.md: update for 7.2.12 release

2 years agoSECURITY.md: update PGP key for ilbelkyr
Nicole Kleinhoff [Tue, 1 Feb 2022 02:16:59 +0000 (02:16 +0000)] 
SECURITY.md: update PGP key for ilbelkyr

2 years agoDon't save last seen times for logged-in nicks
Ed Kellett [Wed, 19 Jan 2022 20:51:53 +0000 (20:51 +0000)] 
Don't save last seen times for logged-in nicks

Last seen times are currently updated by, amongst other things, the
expiry check, which has the effect of updating every logged in nick and
user's line in the database every hour. This makes life much harder for
incremental backup systems -- by my very rough measurement, if a DB save
without an expiry check costs 1MB, a save that includes one will cost
10. Atheme databases aren't huge to begin with, but I think a tenfold
reduction is still worth chasing.

Edited by @aaronmdjones: Add NEWS entry and script to migrate back to
the v7.2 database format, should people wish to downgrade.

Closes #856

2 years agomodules/alis: refuse unprivileged searches for oper-only cmodes
Aaron Jones [Fri, 21 Jan 2022 17:48:38 +0000 (17:48 +0000)] 
modules/alis: refuse unprivileged searches for oper-only cmodes

2 years agomodules/alis: move all mode arg parsing into its own function
Aaron Jones [Fri, 21 Jan 2022 17:47:49 +0000 (17:47 +0000)] 
modules/alis: move all mode arg parsing into its own function

2 years agoinclude/atheme/privs.h: tidy up
Aaron Jones [Tue, 18 Jan 2022 12:18:23 +0000 (12:18 +0000)] 
include/atheme/privs.h: tidy up

Align macro values, clean up some comments, alphabetise privileges
within each block, shift some flags around.

2 years agolibathemecore/ptasks.c: stats c: show uplink host
Aaron Jones [Tue, 18 Jan 2022 12:14:27 +0000 (12:14 +0000)] 
libathemecore/ptasks.c: stats c: show uplink host

This is already gated behind PRIV_SERVER_AUSPEX, which OperServ
SPECS describes as "view concealed information about servers".

Also, you can already obtain this information from `stats f`
(shows all active file descriptors associated with connections,
which includes endpoint IP addresses), which is gated behind the
same privilege.

2 years agolibathemecore/ptasks.c: handle_stats(): use consistent case labels
Aaron Jones [Tue, 18 Jan 2022 12:13:08 +0000 (12:13 +0000)] 
libathemecore/ptasks.c: handle_stats(): use consistent case labels

Some of the case labels were uppercase followed by lowercase,
some of them were the other way around. Use a consistent scheme.

2 years agomodules/contrib/: bump to latest HEAD
Aaron Jones [Sat, 22 Jan 2022 17:01:02 +0000 (17:01 +0000)] 
modules/contrib/: bump to latest HEAD

2 years agoAllow hooks to force account expire
jesopo [Sun, 28 Nov 2021 13:45:48 +0000 (13:45 +0000)] 
Allow hooks to force account expire

Edited and committed by @aaronmdjones: Other general code cleanup;
clarify that if a hook forces account expiry, the destructor for
the myuser object will take care of logging them out (if they are
logged in). Also account for the fact that they may be logged in
by having the log message include their login count. Finally, don't
let a hook prevent the expiry of an unverified account.

Closes #847

2 years agotell anything logged in to an account when it has been (F)VERIFYed (#841)
Jess Porter [Sun, 16 Jan 2022 21:39:44 +0000 (21:39 +0000)] 
tell anything logged in to an account when it has been (F)VERIFYed  (#841)

* tell anything logged in to an account when it has been (F)VERIFYed

* don't thank on fverify

2 years agoMerge pull request #854 from skizzerz/chm_nonotice
Aaron Jones [Thu, 13 Jan 2022 02:06:37 +0000 (02:06 +0000)] 
Merge pull request #854 from skizzerz/chm_nonotice

Support +T (CMODE_NONOTICE) in ircd-seven

2 years agoSupport +T (CMODE_NONOTICE)
Ryan Schmidt [Thu, 13 Jan 2022 01:52:45 +0000 (18:52 -0700)] 
Support +T (CMODE_NONOTICE)

This was already defined in the charybdis.h file, so just need to make
the rest of atheme recognize the mode.

2 years agomodules/operserv/modmanager: fix relatively harmless memory leak
Aaron Jones [Mon, 10 Jan 2022 06:03:12 +0000 (06:03 +0000)] 
modules/operserv/modmanager: fix relatively harmless memory leak

If passed a list consisting entirely of non-reloadable modules, we would
leak approximately up to 24 bytes of memory each time. Discovered manually
during reading the function.

Fixes: e2fd6f2a8959fb89acb2
2 years agoincrease importance of vhost-related user_identified hooks (#820)
Jess Porter [Thu, 30 Dec 2021 00:11:14 +0000 (00:11 +0000)] 
increase importance of vhost-related user_identified hooks (#820)

2 years agouse account name (with correct casing) for NS FREEZE logs (#836)
Jess Porter [Wed, 29 Dec 2021 22:40:02 +0000 (22:40 +0000)] 
use account name (with correct casing) for NS FREEZE logs (#836)

* use account name (with correct casing) for NS FREEZE logs

* action and reason can be const too

2 years agoMerge pull request #819 from jesopo/last-seen-hidden
Jess Porter [Wed, 29 Dec 2021 19:27:30 +0000 (19:27 +0000)] 
Merge pull request #819 from jesopo/last-seen-hidden

simplify NS INFO timestamp logic, indicate auspex being used

2 years agototally rewrite last/user seen code, express when a timestamp is hidden
jesopo [Wed, 29 Dec 2021 19:14:08 +0000 (19:14 +0000)] 
totally rewrite last/user seen code, express when a timestamp is hidden

2 years agoImplement certfp list length max check (#848)
Jess Porter [Wed, 15 Dec 2021 16:09:00 +0000 (16:09 +0000)] 
Implement certfp list length max check (#848)

Implement certfp list length max check

2 years agoMerge pull request #826 from examknow/honor-no-login-limit
jess porter [Thu, 2 Dec 2021 12:32:29 +0000 (12:32 +0000)] 
Merge pull request #826 from examknow/honor-no-login-limit

services.c/enforce.c: honor no login limit flag

2 years agoservices.c/enforce.c: honor no login limit flag
David Schultz [Thu, 2 Sep 2021 18:16:11 +0000 (13:16 -0500)] 
services.c/enforce.c: honor no login limit flag

2 years agoMerge pull request #845 from jesopo/return-log-oldmail
Aaron Jones [Mon, 15 Nov 2021 13:25:33 +0000 (13:25 +0000)] 
Merge pull request #845 from jesopo/return-log-oldmail

show oldmail in NS RETURN logs

2 years agoshow oldmail in NS RETURN logs
jesopo [Mon, 15 Nov 2021 12:15:07 +0000 (12:15 +0000)] 
show oldmail in NS RETURN logs

2 years agodoc/FAQ: Reformat like INSTALL
Val Lorentz [Sun, 24 Oct 2021 16:18:10 +0000 (18:18 +0200)] 
doc/FAQ: Reformat like INSTALL

And drop numbers, so sections can be inserted in the middle without renumbering

2 years agoMerge pull request #833 from edk0/sasl-pending
Aaron Jones [Sun, 17 Oct 2021 23:26:16 +0000 (23:26 +0000)] 
Merge pull request #833 from edk0/sasl-pending

Avoid login desyncs when SASL is aborted or interrupted pre-registration

2 years agosaslserv/main: Preserve pending login on abort
Ed Kellett [Sun, 17 Oct 2021 17:01:11 +0000 (18:01 +0100)] 
saslserv/main: Preserve pending login on abort

The previous patch made SaslServ aware of pending logins (i.e. SASL
sessions which have succeeded and generated a SVSLOGIN). This one
ensures that aborting a SASL authentication attempt does not destroy
that information: if you successfully authenticate as user A, then begin
and abort another authentication attempt as user B, you will log in as
user A.

This is only relevant in the pre-registration case, when SASL logins
cannot be actioned immediately. It's also necessary to avoid a desync in
this case: if we have already sent a SVSLOGIN for a login, the user is
going to be informed that they've logged in, and the ircd is going treat
them as though they're logged in. Other solutions are possible, but I
think the cleanest one is to action the last SVSLOGIN we sent, mirroring
their effect ircd-side.

2 years agosaslserv/main: Track EID we're pending login to
Ed Kellett [Sun, 17 Oct 2021 13:13:22 +0000 (14:13 +0100)] 
saslserv/main: Track EID we're pending login to

The existing model does not remember that we've sent a SVSLOGIN for a
given SASL session, and simply assumes that if a client is introduced
with a SASL session open, that session must have succeeded. The security
of this approach requires ircd to implicitly abort SASL sessions on
client registration.

This also means that if a client successfully authenticates and then
does something else its pending login is forgotten about, even though a
SVSLOGIN has been sent for it, and the ircd is going to think it's
logged in.

This change removes the dependency on ircd's state machine by keeping
explicit track of the pending login, i.e. the one we've most recently
sent a SVSLOGIN for. The next commit will ensure that a client abort
(even an implicit one) doesn't blow that information away.

2 years ago'return 0' conflicts with OPTERR_UNKNOWN_OPT
jesopo [Mon, 11 Oct 2021 00:13:11 +0000 (00:13 +0000)] 
'return 0' conflicts with OPTERR_UNKNOWN_OPT

2 years agochanserv CLONE/CLEAR AKICKS/CLEAR FLAGS: use CMDLOG_SET
Nicole Kleinhoff [Wed, 29 Sep 2021 05:25:19 +0000 (05:25 +0000)] 
chanserv CLONE/CLEAR AKICKS/CLEAR FLAGS: use CMDLOG_SET

These commands would log at CMDLOG_DO, yet replicating their
functionality via a number of separate FLAGS/AKICK commands would log at
CMDLOG_SET.

Changes to services registrations normally use CMDLOG_SET, so for
consistency, make all of these commands log at that level.

2 years agonickserv/cert CLEAR: use CMDLOG_SET (not _GET)
Nicole Kleinhoff [Wed, 29 Sep 2021 05:14:48 +0000 (05:14 +0000)] 
nickserv/cert CLEAR: use CMDLOG_SET (not _GET)

This appears to be an oversight: the CLEAR command effects a change.
CMGLOG_SET matches the loglevel of ADD/DEL.

2 years agoMerge PR #828
Nicole Kleinhoff [Tue, 28 Sep 2021 23:16:30 +0000 (23:16 +0000)] 
Merge PR #828

2 years agodon't do ircd_on_login in myuser_rename if we're MU_WAITAUTH
jesopo [Tue, 17 Nov 2020 18:28:00 +0000 (18:28 +0000)] 
don't do ircd_on_login in myuser_rename if we're MU_WAITAUTH

2 years agoMerge PR #767 (rehashable general::commit_interval)
Nicole Kleinhoff [Sun, 19 Sep 2021 17:00:36 +0000 (17:00 +0000)] 
Merge PR #767 (rehashable general::commit_interval)

2 years agovisually warn when oper auspex causes you to see last seen time
jesopo [Wed, 15 Sep 2021 19:49:58 +0000 (19:49 +0000)] 
visually warn when oper auspex causes you to see last seen time

2 years agoatheme_main: rehash if necessary after DB load
Doug Freed [Fri, 3 Sep 2021 21:53:14 +0000 (17:53 -0400)] 
atheme_main: rehash if necessary after DB load

Avoids an issue where a DB module dependency loads a service which then
doesn't get configured properly.

2 years agolibathemecore/email: sendemail: don't leak pipe fds on fork failure
Aaron Jones [Tue, 17 Aug 2021 02:13:47 +0000 (02:13 +0000)] 
libathemecore/email: sendemail: don't leak pipe fds on fork failure

2 years agolibathemecore/: move e-mail functions to their own compilation unit
Aaron Jones [Tue, 17 Aug 2021 02:05:18 +0000 (02:05 +0000)] 
libathemecore/: move e-mail functions to their own compilation unit

2 years agouse enum values for process_parvarray() returns, to clarify meaning
jesopo [Sat, 14 Aug 2021 17:14:06 +0000 (17:14 +0000)] 
use enum values for process_parvarray() returns, to clarify meaning

2 years agouse 'true'/'false' for `bool found` values
jesopo [Sat, 14 Aug 2021 17:11:20 +0000 (17:11 +0000)] 
use 'true'/'false' for `bool found` values

2 years agoreset `found` for every opt
jesopo [Sat, 14 Aug 2021 16:59:14 +0000 (16:59 +0000)] 
reset `found` for every opt

2 years agoshort -> int
jesopo [Sat, 14 Aug 2021 16:50:25 +0000 (16:50 +0000)] 
short -> int

2 years agodon't just ignore invalid CS LIST criteria/parameters
jesopo [Sat, 14 Aug 2021 16:45:34 +0000 (16:45 +0000)] 
don't just ignore invalid CS LIST criteria/parameters

2 years agolibathemecore/connection: remove obsolete connection_close_all_fds()
Aaron Jones [Sat, 7 Aug 2021 18:45:47 +0000 (18:45 +0000)] 
libathemecore/connection: remove obsolete connection_close_all_fds()

2 years agolibathemecore/connection: connection_add(): make fd non-inheritable
Aaron Jones [Sat, 7 Aug 2021 18:36:00 +0000 (18:36 +0000)] 
libathemecore/connection: connection_add(): make fd non-inheritable

Grumble; Windows compatibility stuff, ew, etc. I just copied the
function below it. Windows compatibility is liable to get ripped
out of services entirely due to WSL being A Thing now, but for
now just follow the convention.

This means we now don't need to call connection_close_all_fds()
when forking to send e-mail.

2 years agolibathemecore/random_fe_internal: don't leak urandom(4) fd to children
Aaron Jones [Sat, 7 Aug 2021 18:10:00 +0000 (18:10 +0000)] 
libathemecore/random_fe_internal: don't leak urandom(4) fd to children

2 years agoMerge pull request #814 from swantzter/patch-1
alyx [Tue, 3 Aug 2021 08:04:59 +0000 (03:04 -0500)] 
Merge pull request #814 from swantzter/patch-1

Bolden oper name in fungroup wallop

2 years agoBolden oper name in fungroup wallop
Svante Bengtson [Tue, 3 Aug 2021 08:03:03 +0000 (10:03 +0200)] 
Bolden oper name in fungroup wallop

this brings consistency with the wallop from FDROP per modules/nickserv/drop.c L157

2 years agoMerge pull request #813 from ProgVal/insp3
alyx [Thu, 29 Jul 2021 19:36:08 +0000 (14:36 -0500)] 
Merge pull request #813 from ProgVal/insp3

Document Insp 3 support

2 years agoDocument Insp 3 support
Valentin Lorentz [Thu, 29 Jul 2021 18:08:29 +0000 (20:08 +0200)] 
Document Insp 3 support

2 years agolibathemecore/atheme.c: abort if uplink name clashes with ours
Aaron Jones [Sun, 18 Jul 2021 16:07:11 +0000 (16:07 +0000)] 
libathemecore/atheme.c: abort if uplink name clashes with ours

2 years agolibathemecore/conf.c: ignore invalid uplink blocks
Aaron Jones [Sun, 18 Jul 2021 16:04:31 +0000 (16:04 +0000)] 
libathemecore/conf.c: ignore invalid uplink blocks

2 years agolibathemecore/uplink.c: increase severity of duplicate log message
Aaron Jones [Sun, 18 Jul 2021 16:02:29 +0000 (16:02 +0000)] 
libathemecore/uplink.c: increase severity of duplicate log message

2 years agolibathemecore/uplink.c: ensure uplink list is zero-initialised
Aaron Jones [Sun, 18 Jul 2021 16:01:05 +0000 (16:01 +0000)] 
libathemecore/uplink.c: ensure uplink list is zero-initialised

2 years agomodules/saslserv/main: simplify impersonation logic
Aaron Jones [Fri, 16 Jul 2021 15:35:47 +0000 (15:35 +0000)] 
modules/saslserv/main: simplify impersonation logic

Now that there's only one condition to check for, and the target
function checks the same condition anyway, just remove the
redundant check.

2 years agomodules/saslserv/main: authxid_can_login: check for freeze early
Aaron Jones [Fri, 16 Jul 2021 15:31:21 +0000 (15:31 +0000)] 
modules/saslserv/main: authxid_can_login: check for freeze early

Freezing an account should prevent a login attempt entirely, rather
than allowing the mechanism to succeed first, only for the login
itself to then fail.

2 years agonickserv/register, contrib/ns_{fregister,forbid}: check name validity
Aaron Jones [Sun, 11 Jul 2021 10:54:02 +0000 (10:54 +0000)] 
nickserv/register, contrib/ns_{fregister,forbid}: check name validity

Reported-By: @dwfreed
2 years agolibathemecore/phandler.c: is_valid_nick: check nickname length too
Aaron Jones [Sun, 11 Jul 2021 10:53:07 +0000 (10:53 +0000)] 
libathemecore/phandler.c: is_valid_nick: check nickname length too

Also document more thoroughly why nicknames cannot begin with a digit
or a hyphen.