]> git.ipfire.org Git - thirdparty/mlmmj.git/log
thirdparty/mlmmj.git
2 months ago- rewrite some tests involving time_t so he will perform better on 32 bits platform 53/head
Erwan MAS [Mon, 26 May 2025 20:40:13 +0000 (16:40 -0400)] 
- rewrite some tests involving time_t so he will perform better on 32 bits platform

2 months agoReleae 1.5.1 RELEASE_1.5.1
Baptiste Daroussin [Mon, 26 May 2025 12:49:54 +0000 (14:49 +0200)] 
Releae 1.5.1

2 months agoFix tests when there is an actual mailserver running on the host
Baptiste Daroussin [Mon, 26 May 2025 12:47:16 +0000 (14:47 +0200)] 
Fix tests when there is an actual mailserver running on the host

2 months ago- fgetc return a int not a char , and that was not portable on arm 64 52/head
Erwan MAS [Mon, 26 May 2025 03:45:12 +0000 (23:45 -0400)] 
- fgetc return a int not a char , and that was not portable on arm 64

2 months ago- fix issue with struct ml , not be initialized , test mod_get_addr_type failed 51/head
Erwan MAS [Sun, 25 May 2025 03:57:00 +0000 (23:57 -0400)] 
- fix issue with struct ml , not be initialized , test mod_get_addr_type failed

6 months agoRelease 1.5.0 RELEASE_1_5_0
Baptiste Daroussin [Wed, 29 Jan 2025 09:27:39 +0000 (10:27 +0100)] 
Release 1.5.0

6 months agorfc2047: add tests for us-ascii
Baptiste Daroussin [Wed, 8 Jan 2025 13:12:22 +0000 (14:12 +0100)] 
rfc2047: add tests for us-ascii

6 months agodecode_qp: add Q format support and reuse the function
Baptiste Daroussin [Wed, 8 Jan 2025 10:42:45 +0000 (11:42 +0100)] 
decode_qp: add Q format support and reuse the function

decode rfc2047's Q format using the strgen's decode_qp this reduces code
duplication

6 months agounistr: add tests for unistr_header_to_utf8
Baptiste Daroussin [Tue, 7 Jan 2025 17:37:58 +0000 (18:37 +0100)] 
unistr: add tests for unistr_header_to_utf8

6 months agounistr: remove declaration of removed unistr_dump
Baptiste Daroussin [Tue, 7 Jan 2025 16:58:29 +0000 (17:58 +0100)] 
unistr: remove declaration of removed unistr_dump

6 months agounistr: remove unused functions
Baptiste Daroussin [Tue, 7 Jan 2025 16:51:42 +0000 (17:51 +0100)] 
unistr: remove unused functions

7 months agoAdd option to copy From: to Reply-To: 43/head
Graham Leggett [Fri, 3 Jan 2025 14:27:36 +0000 (14:27 +0000)] 
Add option to copy From: to Reply-To:

The replyto boolean causes the original From: header to be copied
to Reply-To:, so that emails can be accepted from senders that
enforce DMARC policies.

10 months agoChangelog: add a missing change
Baptiste Daroussin [Mon, 23 Sep 2024 12:19:25 +0000 (14:19 +0200)] 
Changelog: add a missing change

10 months agoChangelog: add the 2 last changes
Baptiste Daroussin [Mon, 23 Sep 2024 12:17:52 +0000 (14:17 +0200)] 
Changelog: add the 2 last changes

10 months agobounce: fix recording twice bounces
Baptiste Daroussin [Mon, 23 Sep 2024 12:00:40 +0000 (14:00 +0200)] 
bounce: fix recording twice bounces

While here simplify bounce code

10 months agofoot filter: remove documentation
Baptiste Daroussin [Tue, 17 Sep 2024 15:00:35 +0000 (17:00 +0200)] 
foot filter: remove documentation

10 months agofoot_filter: remove
Baptiste Daroussin [Tue, 17 Sep 2024 14:15:01 +0000 (16:15 +0200)] 
foot_filter: remove

this is too naive and cannot cope with the complexity of emails.
Either mails are restricted to be plain/text and control/footer is
enough or preprocess with ah external program the email, this work
does not belong directly to mlmmj and I don't intend into maintaining
this code.

Fixes: #23
10 months agosubscribefunc: ensure we have an address to (un)subscribe
Baptiste Daroussin [Tue, 17 Sep 2024 14:14:14 +0000 (16:14 +0200)] 
subscribefunc: ensure we have an address to (un)subscribe

10 months agoanalysis: mark a couple of function as noreturn
Baptiste Daroussin [Tue, 17 Sep 2024 08:41:00 +0000 (10:41 +0200)] 
analysis: mark a couple of function as noreturn

This helps code analysis tools.

11 months agomlmmj-process: plug memory leak
Baptiste Daroussin [Tue, 27 Aug 2024 16:12:28 +0000 (18:12 +0200)] 
mlmmj-process: plug memory leak

11 months agoaccess: document the dash-extension
Baptiste Daroussin [Tue, 27 Aug 2024 16:08:16 +0000 (18:08 +0200)] 
access: document the dash-extension

11 months agoaccess: granular access rejection
Baptiste Daroussin [Tue, 27 Aug 2024 15:13:58 +0000 (17:13 +0200)] 
access: granular access rejection

if a qualifier was passed to the deny action, this qualifier is then
used as an extension when looking for the template of deny message to
send to the user.

deny-post-access-<qualifier>

Fixes: #7
11 months agoaccess: accept -<qualifier> after actions
Baptiste Daroussin [Tue, 27 Aug 2024 15:10:53 +0000 (17:10 +0200)] 
access: accept -<qualifier> after actions

11 months agoaccess: modify the function to make it build the message to log
Baptiste Daroussin [Tue, 27 Aug 2024 14:53:29 +0000 (16:53 +0200)] 
access: modify the function to make it build the message to log

this allows better testability and make sure we only log in one place.

11 months agoaccess: move code handling access into a separate to make it testable
Baptiste Daroussin [Tue, 27 Aug 2024 14:33:30 +0000 (16:33 +0200)] 
access: move code handling access into a separate to make it testable

while here, add very basic unit tests

11 months agodocument removal of pymime
Baptiste Daroussin [Tue, 27 Aug 2024 13:38:15 +0000 (15:38 +0200)] 
document removal of pymime

11 months agopymime: remove
Baptiste Daroussin [Tue, 27 Aug 2024 13:37:05 +0000 (15:37 +0200)] 
pymime: remove

This script is obsolete: depends on python 2 and hasn't been updated
upstream for years

11 months agoreceivestrip: delete blank lines
Baptiste Daroussin [Tue, 27 Aug 2024 09:36:48 +0000 (11:36 +0200)] 
receivestrip: delete blank lines

11 months agoreceive-strip: replace extract_boundary with unit tested parse_content_type
Baptiste Daroussin [Tue, 27 Aug 2024 09:23:55 +0000 (11:23 +0200)] 
receive-strip: replace extract_boundary with unit tested parse_content_type

11 months agomlmmj: add a parser to extract content-type's mime and boundary
Baptiste Daroussin [Tue, 27 Aug 2024 09:18:48 +0000 (11:18 +0200)] 
mlmmj: add a parser to extract content-type's mime and boundary

11 months agomessage formatting: remove all deprecated variables
Baptiste Daroussin [Mon, 26 Aug 2024 07:47:43 +0000 (09:47 +0200)] 
message formatting: remove all deprecated variables

11 months agolisttexts: stop using deprecated $confaddr$
Baptiste Daroussin [Mon, 26 Aug 2024 07:47:18 +0000 (09:47 +0200)] 
listtexts: stop using deprecated $confaddr$

Use $confimaddr$ instead

13 months agofix build on linux RELEASE_1_4_7
Baptiste Daroussin [Mon, 1 Jul 2024 11:04:03 +0000 (13:04 +0200)] 
fix build on linux

13 months agorelease: 1.4.7
Baptiste Daroussin [Mon, 1 Jul 2024 10:55:53 +0000 (12:55 +0200)] 
release: 1.4.7

13 months agostrgen: xlocale.h is required to build on macOS
Baptiste Daroussin [Mon, 1 Jul 2024 10:52:59 +0000 (12:52 +0200)] 
strgen: xlocale.h is required to build on macOS

13 months agomlmmj-process: fix duplicate queued moderation notification email 31/head
Siva Mahadevan [Tue, 11 Jun 2024 15:05:46 +0000 (11:05 -0400)] 
mlmmj-process: fix duplicate queued moderation notification email

13 months agorelease: 1.4.6 RELEASE_1_4_6
Baptiste Daroussin [Thu, 6 Jun 2024 11:27:32 +0000 (13:27 +0200)] 
release: 1.4.6

13 months agotest: fix a test regarding RFC 5321
Baptiste Daroussin [Thu, 6 Jun 2024 08:16:34 +0000 (10:16 +0200)] 
test: fix a test regarding RFC 5321

14 months agoFix another regression in RFC 5321
Baptiste Daroussin [Fri, 31 May 2024 13:42:07 +0000 (15:42 +0200)] 
Fix another regression in RFC 5321

14 months agotest: add a unit test about #30
Baptiste Daroussin [Fri, 31 May 2024 08:54:46 +0000 (10:54 +0200)] 
test: add a unit test about #30

14 months agoremove unnecessary double quotes breaking cron on OpenBSD 29/head
prx [Fri, 10 May 2024 18:50:16 +0000 (20:50 +0200)] 
remove unnecessary double quotes breaking cron on OpenBSD

14 months agoREADME: remove name, some are inactive nowaday
Baptiste Daroussin [Mon, 6 May 2024 09:33:39 +0000 (11:33 +0200)] 
README: remove name, some are inactive nowaday

14 months agoTUNABLES: fix rendering
Baptiste Daroussin [Mon, 6 May 2024 09:31:59 +0000 (11:31 +0200)] 
TUNABLES: fix rendering

14 months agosecurity: remove note which might not be accurate anymore
Baptiste Daroussin [Mon, 6 May 2024 09:27:18 +0000 (11:27 +0200)] 
security: remove note which might not be accurate anymore

14 months agoREADME.*: convert all to READMEs to markdown
Baptiste Daroussin [Mon, 6 May 2024 09:26:12 +0000 (11:26 +0200)] 
README.*: convert all to READMEs to markdown

14 months agoREADME.exim4: convert to markdown
Baptiste Daroussin [Mon, 6 May 2024 09:03:02 +0000 (11:03 +0200)] 
README.exim4: convert to markdown

14 months agoREADME.archives: rename to .md
Baptiste Daroussin [Mon, 6 May 2024 08:45:48 +0000 (10:45 +0200)] 
README.archives: rename to .md

14 months agoREADME.access: convert to markdown
Baptiste Daroussin [Mon, 6 May 2024 08:39:44 +0000 (10:39 +0200)] 
README.access: convert to markdown

14 months agoREADME: fix formatting the hierarchy
Baptiste Daroussin [Mon, 6 May 2024 08:36:53 +0000 (10:36 +0200)] 
README: fix formatting the hierarchy

14 months agoREADME: update to match current state and convert to markdown
Baptiste Daroussin [Mon, 6 May 2024 08:33:54 +0000 (10:33 +0200)] 
README: update to match current state and convert to markdown

15 months agobuild: we don't need to link to librt at all
Baptiste Daroussin [Fri, 3 May 2024 14:58:16 +0000 (16:58 +0200)] 
build: we don't need to link to librt at all

16 months agorelease: 1.4.5 RELEASE_1_4_5
Baptiste Daroussin [Tue, 26 Mar 2024 07:48:37 +0000 (08:48 +0100)] 
release: 1.4.5

16 months agosendmail: also log the RCPT when receiving a SMTP failure
Baptiste Daroussin [Tue, 26 Mar 2024 07:44:54 +0000 (08:44 +0100)] 
sendmail: also log the RCPT when receiving a SMTP failure

This helps debugging

17 months agoci: add debian/unstable
Baptiste Daroussin [Fri, 1 Mar 2024 21:15:33 +0000 (22:15 +0100)] 
ci: add debian/unstable

17 months agoWIP: Should use rhost?
Michael Jeanson [Fri, 1 Mar 2024 19:10:02 +0000 (14:10 -0500)] 
WIP: Should use rhost?

I'm not sure this is the correct fix but the current code tries to
duplicate the string 'relayhost' which is always NULL at this point.

   In file included from send_mail.c:39:
   In function ‘xstrdup’,
       inlined from ‘newsmtp’ at send_mail.c:362:15:
   ../include/xmalloc.h:34:19: warning: argument 1 null where non-null expected [-Wnonnull]
      34 |         char *s = strdup(str);
         |                   ^~~~~~~~~~~
   In file included from ../include/log_error.h:28,
                    from send_mail.c:34:
   /usr/include/string.h: In function ‘newsmtp’:
   /usr/include/string.h:187:14: note: in a call to function ‘strdup’ declared ‘nonnull’
     187 | extern char *strdup (const char *__s)
         |              ^~~~~~

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoAdd GCC pragma ignore to tests
Michael Jeanson [Fri, 1 Mar 2024 19:19:38 +0000 (14:19 -0500)] 
Add GCC pragma ignore to tests

Add the GCC version of the ignore pragma.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoAdd 'atf-sh' detection to configure 19/head
Michael Jeanson [Thu, 15 Feb 2024 18:50:31 +0000 (13:50 -0500)] 
Add 'atf-sh' detection to configure

The configure script now checks for the 'atf-sh' binary when the test
suite is enabled. The binary found is then used in the test script
shebang. As an added bonus, the test script generation is now done by
AC_CONFIG_FILES instead of the Makefile copy custom rules.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoUse the configured 'kyua' binary to run the tests
Michael Jeanson [Thu, 15 Feb 2024 18:42:56 +0000 (13:42 -0500)] 
Use the configured 'kyua' binary to run the tests

The configure script uses 'AC_PATH_PROG' to find a kyua binary, use it
in the Makefile to run the test suite.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoAdd missing file 'dsnmail' to distribution
Michael Jeanson [Thu, 15 Feb 2024 19:33:17 +0000 (14:33 -0500)] 
Add missing file 'dsnmail' to distribution

The file was missing in release tarballs.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoci: add a debian builder
Baptiste Daroussin [Mon, 26 Feb 2024 15:01:03 +0000 (16:01 +0100)] 
ci: add a debian builder

17 months agoAdd .gitignore to ignore built files 15/head
Michael Jeanson [Mon, 12 Feb 2024 22:35:20 +0000 (17:35 -0500)] 
Add .gitignore to ignore built files

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoFix the test suite for Out of tree builds
Michael Jeanson [Mon, 12 Feb 2024 23:12:55 +0000 (18:12 -0500)] 
Fix the test suite for Out of tree builds

Move the test suite to the top level Makefile to allow proper
dependencies between the built files and the check target.

Add a generated 'kyua.conf' file to the build directory to pass the
top_srcdir and top_buildir variable from the build system to the test
suite.

Modify the test scripts to fetch the data files from the top_srcdir and
the generated files from the top_builddir variable.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoAdd a configure option to disable tests
Michael Jeanson [Mon, 12 Feb 2024 22:53:42 +0000 (17:53 -0500)] 
Add a configure option to disable tests

With the previous behavior, a missing dependency would silently disable
the test suite and could be error prone. Add a configure option to
explicitly disable the tests and build without Kyua and libatf.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoModernize autotools
Michael Jeanson [Mon, 12 Feb 2024 22:29:10 +0000 (17:29 -0500)] 
Modernize autotools

Set conservative base version requirements for Automake (>= 1.13) and
Autoconf (>= 2.69).

Enable silent rules (can be disabled with 'make V=1') and use a
subdirectory for auxiliary files.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoCentralize AUTOMAKE_OPTIONS in configure.ac
Michael Jeanson [Mon, 12 Feb 2024 22:21:01 +0000 (17:21 -0500)] 
Centralize AUTOMAKE_OPTIONS in configure.ac

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoCentralize common AM_CFLAGS/LDFLAGS in configure.ac
Michael Jeanson [Mon, 12 Feb 2024 22:18:14 +0000 (17:18 -0500)] 
Centralize common AM_CFLAGS/LDFLAGS in configure.ac

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoConvert class.rFastTemplate.php from latin1 to utf-8 14/head
Michael Jeanson [Mon, 12 Feb 2024 21:00:56 +0000 (16:00 -0500)] 
Convert class.rFastTemplate.php from latin1 to utf-8

The 'copyright' characters could also be replaced by an ASCII
alternative.

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
17 months agoFix misc typos 13/head
Michael Jeanson [Mon, 12 Feb 2024 19:06:20 +0000 (14:06 -0500)] 
Fix misc typos

Fix the following typos in code and documentation:

    occured -> occurred
    subcribe -> subscribe
    existance -> existence

Signed-off-by: Michael Jeanson <mjeanson@debian.org>
18 months agobuild: allow to build if atf and kyua are not present
Baptiste Daroussin [Fri, 19 Jan 2024 10:35:35 +0000 (11:35 +0100)] 
build: allow to build if atf and kyua are not present

18 months agoconfigure: reduce the number of useless checks
Baptiste Daroussin [Fri, 19 Jan 2024 10:23:25 +0000 (11:23 +0100)] 
configure: reduce the number of useless checks

18 months agoconfigure: remove check for function available everywhere
Baptiste Daroussin [Fri, 19 Jan 2024 10:20:46 +0000 (11:20 +0100)] 
configure: remove check for function available everywhere

18 months agorelease: 1.4.4 RELEASE_1_4_4
Baptiste Daroussin [Thu, 11 Jan 2024 16:52:31 +0000 (17:52 +0100)] 
release: 1.4.4

18 months agoprobes: fix a regression causing the probes not to sent the bounce numbers
Baptiste Daroussin [Thu, 11 Jan 2024 16:44:42 +0000 (17:44 +0100)] 
probes: fix a regression causing the probes not to sent the bounce numbers

move the code sending the probe into a reusable function for it to be
testable, add a unit test which checks the probes properly contains
what is expected.

18 months agobouncemail: add test
Baptiste Daroussin [Thu, 11 Jan 2024 15:45:43 +0000 (16:45 +0100)] 
bouncemail: add test

Fix a bug making the unsubscribed user bouncing to still create a file

19 months agoparse_latestdigest: use chomp
Baptiste Daroussin [Fri, 22 Dec 2023 10:51:43 +0000 (11:51 +0100)] 
parse_latestdigest: use chomp

19 months agorelease: 1.4.3 RELEASE_1_4_3
Baptiste Daroussin [Thu, 21 Dec 2023 07:46:51 +0000 (08:46 +0100)] 
release: 1.4.3

19 months agoprobes: update changelog regarding the last regression fix
Baptiste Daroussin [Wed, 20 Dec 2023 13:04:01 +0000 (14:04 +0100)] 
probes: update changelog regarding the last regression fix

19 months agobounce: only cleanup the probe file if sending the probe failed
Baptiste Daroussin [Wed, 20 Dec 2023 10:36:41 +0000 (11:36 +0100)] 
bounce: only cleanup the probe file if sending the probe failed

19 months agorelease: 1.4.2 RELEASE_1_4_2
Baptiste Daroussin [Mon, 18 Dec 2023 09:09:42 +0000 (10:09 +0100)] 
release: 1.4.2

19 months agodigest: trim the last element of lastdigest if needed
Baptiste Daroussin [Mon, 18 Dec 2023 09:02:07 +0000 (10:02 +0100)] 
digest: trim the last element of lastdigest if needed

Add regression tests about it

19 months agoparse_lastdigest: add a real test about what is expected
Baptiste Daroussin [Mon, 18 Dec 2023 08:17:39 +0000 (09:17 +0100)] 
parse_lastdigest: add a real test about what is expected

19 months agoci: add ci on sourcehut
Baptiste Daroussin [Fri, 15 Dec 2023 15:53:42 +0000 (16:53 +0100)] 
ci: add ci on sourcehut

19 months agorelease: 1.4.1 RELEASE_1_4_1
Baptiste Daroussin [Sat, 9 Dec 2023 19:19:48 +0000 (20:19 +0100)] 
release: 1.4.1

19 months agofix: incremental update
Baptiste Daroussin [Sat, 9 Dec 2023 19:18:49 +0000 (20:18 +0100)] 
fix: incremental update

19 months agoRelease 1.4.0 RELEASE_1_4_0
Baptiste Daroussin [Wed, 6 Dec 2023 16:05:19 +0000 (17:05 +0100)] 
Release 1.4.0

20 months ago1.4.0-rc3 RELEASE_1_4_0rc3
Baptiste Daroussin [Thu, 30 Nov 2023 06:01:44 +0000 (07:01 +0100)] 
1.4.0-rc3

20 months agoFix interactive prompt issue with spool directory option 11/head
raph [Tue, 21 Nov 2023 09:57:03 +0000 (09:57 +0000)] 
Fix interactive prompt issue with spool directory option

20 months agowrite mail: fix regression regarding RFC 5321
Baptiste Daroussin [Thu, 9 Nov 2023 10:20:41 +0000 (11:20 +0100)] 
write mail: fix regression regarding RFC 5321

if a line on the email to write only contains a dot, then the
dot should be doubled otherwise the mail server will consider it
as the end of the DATA and will prematurely terminate the email.

21 months agosubscruption: fix, subscription validation
Baptiste Daroussin [Wed, 25 Oct 2023 22:09:34 +0000 (00:09 +0200)] 
subscruption: fix, subscription validation

21 months ago1.4.0rc2 RELEASE_1_4_0rc2
Baptiste Daroussin [Tue, 24 Oct 2023 21:13:13 +0000 (23:13 +0200)] 
1.4.0rc2

21 months agoreallf: fix typo in prototype
Baptiste Daroussin [Wed, 18 Oct 2023 21:10:05 +0000 (23:10 +0200)] 
reallf: fix typo in prototype

21 months agoverp: remove second mail sent not being actually tested
Baptiste Daroussin [Mon, 16 Oct 2023 21:13:27 +0000 (23:13 +0200)] 
verp: remove second mail sent not being actually tested

This was a useless test

21 months agonotifymod: add unit test
Baptiste Daroussin [Mon, 16 Oct 2023 21:09:29 +0000 (23:09 +0200)] 
notifymod: add unit test

21 months agonotifymod: fix regression
Baptiste Daroussin [Mon, 16 Oct 2023 21:08:06 +0000 (23:08 +0200)] 
notifymod: fix regression

Avoid reusing the previous queuefile to notify the mail is being
moderated

21 months agoVERP: add a unit test
Baptiste Daroussin [Sat, 14 Oct 2023 21:38:36 +0000 (23:38 +0200)] 
VERP: add a unit test

21 months agoVERP: fix sending multiple batches
Baptiste Daroussin [Sat, 14 Oct 2023 21:30:17 +0000 (23:30 +0200)] 
VERP: fix sending multiple batches

Always rewind the mail pointer before actually sending the email
to make sure between 2 batches, we always send the entire email

21 months ago1.4.0-rc1 RELEASE_1_4_0rc1
Baptiste Daroussin [Fri, 13 Oct 2023 15:42:50 +0000 (17:42 +0200)] 
1.4.0-rc1

21 months agonobounceprobe: the temporary tunable has been removed
Baptiste Daroussin [Fri, 13 Oct 2023 14:11:59 +0000 (16:11 +0200)] 
nobounceprobe: the temporary tunable has been removed

Fixes: #6
22 months agoFix compilation on older platforms 5/head
Konstantin Ryabitsev [Mon, 18 Sep 2023 18:06:35 +0000 (14:06 -0400)] 
Fix compilation on older platforms

When attempting to compile on older platforms (e.g. CentOS 7), there is
a failure due to the wrong stat.h being included via dependencies. This
makes sure that it finds sys/stat.h first.

2 years agomlmmj-send: use newsmtp to reduce code duplication
Baptiste Daroussin [Tue, 18 Jul 2023 09:34:46 +0000 (11:34 +0200)] 
mlmmj-send: use newsmtp to reduce code duplication