]> git.ipfire.org Git - thirdparty/mlmmj.git/log
thirdparty/mlmmj.git
4 weeks agofix East Asian script garbled characters master 76/head
liu shiwei [Thu, 27 Nov 2025 09:42:52 +0000 (17:42 +0800)] 
fix East Asian script garbled characters

the text files use `charset=utf8`,
 but according to the RFC3629,RFC2046,RFC6532, the correct way to write it is `charset=utf-8`.

6 weeks agomoderation: remove dead part of the message
Baptiste Daroussin [Thu, 13 Nov 2025 16:44:56 +0000 (17:44 +0100)] 
moderation: remove dead part of the message

6 weeks agoselfmoderate: adapt the text send to the user
Baptiste Daroussin [Thu, 13 Nov 2025 16:41:15 +0000 (17:41 +0100)] 
selfmoderate: adapt the text send to the user

6 weeks agorename modemailsender to selfmoderate
Baptiste Daroussin [Thu, 13 Nov 2025 15:33:55 +0000 (16:33 +0100)] 
rename modemailsender to selfmoderate

6 weeks agoautosubscribe: new feature
Baptiste Daroussin [Thu, 13 Nov 2025 15:31:09 +0000 (16:31 +0100)] 
autosubscribe: new feature

when a mailing list moderated for non subscribed people, if a moderator
accept the email of the sender automatically register the send in the
list of "nomail" subscribers.

6 weeks agomove and rename getinfo into an understandable name
Baptiste Daroussin [Thu, 13 Nov 2025 13:45:06 +0000 (14:45 +0100)] 
move and rename getinfo into an understandable name

6 weeks agoUse a generic function instead of findit
Baptiste Daroussin [Thu, 13 Nov 2025 13:07:29 +0000 (14:07 +0100)] 
Use a generic function instead of findit

6 weeks agomlmmj-send: small style improvements
Baptiste Daroussin [Thu, 13 Nov 2025 07:44:08 +0000 (08:44 +0100)] 
mlmmj-send: small style improvements

6 weeks agolistcontrol: style improvements
Baptiste Daroussin [Thu, 13 Nov 2025 07:36:04 +0000 (08:36 +0100)] 
listcontrol: style improvements

6 weeks agomlmmj-process: more style improvements
Baptiste Daroussin [Wed, 12 Nov 2025 16:49:50 +0000 (17:49 +0100)] 
mlmmj-process: more style improvements

6 weeks agomlmmj-process: small style changes
Baptiste Daroussin [Wed, 12 Nov 2025 16:46:19 +0000 (17:46 +0100)] 
mlmmj-process: small style changes

6 weeks agoimplement modemailsender test
Michael S. Tsirkin [Sun, 24 Aug 2025 20:50:27 +0000 (16:50 -0400)] 
implement modemailsender test

Implement a new moderation_modemailsender test.
It is identical to moderation_modemailsender, but
sets modemailsender and verifies that the moderation email
goes to the sender.

6 weeks agorefactor moderation test
Michael S. Tsirkin [Sun, 24 Aug 2025 21:49:02 +0000 (17:49 -0400)] 
refactor moderation test

add a subfunction that will allow adding more tests without duplication

6 weeks agoadd modemailsender option for sender moderation
Michael S. Tsirkin [Sun, 24 Aug 2025 17:45:28 +0000 (13:45 -0400)] 
add modemailsender option for sender moderation

Some people make their lists subscriber-only for the only reason
that they want senders to confirm they can receive email.
For example, this is a weak form of anti-spam (senders which can not
receive mail and reply to it are filtered out).

However, this annoys one-time contributors which really just want to
post a random mail here and there.

To address this, add a new modemailsender option for sending moderation
emails back to senders instead of moderators. They can now then confirm
it themselves - less work for moderators!

Specifically, when the control/modemailsender file is present,
moderation emails are sent to the original sender instead of moderators.
Only affects moderated lists.

6 weeks agoFix typo to correctly detect disabled nomail subscriptions 73/head
urosm [Sun, 9 Nov 2025 16:59:54 +0000 (17:59 +0100)] 
Fix typo to correctly detect disabled nomail subscriptions

5 months ago- emphasize headers with markdown modifier 70/head
Erwan MAS [Mon, 30 Jun 2025 11:22:17 +0000 (07:22 -0400)] 
- emphasize headers with markdown modifier

5 months agodelheaders: improve documentation
Baptiste Daroussin [Fri, 27 Jun 2025 09:18:36 +0000 (11:18 +0200)] 
delheaders: improve documentation

Fixes: #68

5 months agoadd more patterns to delheaders unit tests 69/head
Erwan MAS [Thu, 26 Jun 2025 15:26:04 +0000 (11:26 -0400)] 
add more patterns to delheaders  unit tests

6 months agoadd more unit tests to delheaders feature
Erwan MAS [Mon, 23 Jun 2025 18:40:09 +0000 (14:40 -0400)] 
add more unit tests to delheaders feature

6 months agoupdate license
Baptiste Daroussin [Mon, 16 Jun 2025 12:16:07 +0000 (14:16 +0200)] 
update license

6 months agoRelease 1.6.0 RELEASE_1.6.0
Baptiste Daroussin [Fri, 13 Jun 2025 14:14:53 +0000 (16:14 +0200)] 
Release 1.6.0

6 months agocustomheaders: remove blank prefix and skip empty lines
Baptiste Daroussin [Fri, 13 Jun 2025 14:04:16 +0000 (16:04 +0200)] 
customheaders: remove blank prefix and skip empty lines

Remove all the blanks prefixing any lines and skip empty lines when
adding custom headers as it can break email parsers

Fixes: #17

6 months agoChangelog: document $bouncenumbers$ new expansion
Baptiste Daroussin [Fri, 13 Jun 2025 14:06:59 +0000 (16:06 +0200)] 
Changelog: document $bouncenumbers$ new expansion

6 months agoprobe: send message-id is possibel in probe emails
Baptiste Daroussin [Fri, 13 Jun 2025 13:33:57 +0000 (15:33 +0200)] 
probe: send message-id is possibel in probe emails

When sending the probe emails, tries to add the message-id in the
message, to help users figuring finding the wrong email

Fixes: #8

6 months agorefactoring: isolate the code scanning the header
Baptiste Daroussin [Fri, 13 Jun 2025 13:32:57 +0000 (15:32 +0200)] 
refactoring: isolate the code scanning the header

Isolate the code scanning the header of a mail into its own function
for it to be reusable

6 months agocleanup: remove extra semicolon
Baptiste Daroussin [Fri, 13 Jun 2025 08:18:21 +0000 (10:18 +0200)] 
cleanup: remove extra semicolon

6 months agocustomheaders allow substitution on variable $posteraddr$ 66/head
Erwan MAS [Sat, 7 Jun 2025 18:37:00 +0000 (14:37 -0400)] 
customheaders allow substitution on variable $posteraddr$

6 months ago - fix build issues on Linux/Hurd 386 65/head
Erwan MAS [Fri, 30 May 2025 17:40:33 +0000 (13:40 -0400)] 
 - fix build issues on Linux/Hurd 386
 - unit test tests/mlmmj:smtp was incorrect because write_dot send 2 lines

6 months agoUpdate changelog
Baptiste Daroussin [Tue, 27 May 2025 11:37:05 +0000 (13:37 +0200)] 
Update changelog

6 months agoRelease 1.5.2 RELEASE_1.5.2
Baptiste Daroussin [Tue, 27 May 2025 10:05:37 +0000 (12:05 +0200)] 
Release 1.5.2

6 months agotest: restore usage of top_srcdir which was actually setup in kyua.conf
Baptiste Daroussin [Tue, 27 May 2025 09:35:47 +0000 (11:35 +0200)] 
test: restore usage of top_srcdir which was actually setup in kyua.conf

Add a test of the presence of the variable, it fails if the kyua.conf
path is not provided to the kyua call

6 months agoportability: fix socket size initialisation (fixes tests on alpine)
Baptiste Daroussin [Tue, 27 May 2025 09:18:02 +0000 (11:18 +0200)] 
portability: fix socket size initialisation (fixes tests on alpine)

6 months agotest: fix setting up listtext symlinks
Baptiste Daroussin [Tue, 27 May 2025 08:33:48 +0000 (10:33 +0200)] 
test: fix setting up listtext symlinks

Note top_srcdir is not a valide atf-c variable, no idea why it worked
most of the time

6 months agoportability: fix socket size initialisation (fixes tests on alpine)
Baptiste Daroussin [Tue, 27 May 2025 08:04:40 +0000 (10:04 +0200)] 
portability: fix socket size initialisation (fixes tests on alpine)

6 months agofakesmtp: (portability) fix run on alpine
Baptiste Daroussin [Tue, 27 May 2025 08:00:59 +0000 (10:00 +0200)] 
fakesmtp: (portability) fix run on alpine

6 months agomlmmj-bounce:basics_6 can only be run as non root
Baptiste Daroussin [Tue, 27 May 2025 07:00:05 +0000 (09:00 +0200)] 
mlmmj-bounce:basics_6 can only be run as non root

6 months ago32bit fix touch argument to remain on an always valid range
Baptiste Daroussin [Tue, 27 May 2025 06:54:15 +0000 (08:54 +0200)] 
32bit fix touch argument to remain on an always valid range

7 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

7 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

7 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

7 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

7 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

10 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

11 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

11 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

11 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

11 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

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

11 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.

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

15 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

15 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

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

15 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
15 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

15 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.

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

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

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

15 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.

15 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

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

15 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

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

15 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

15 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

15 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

15 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

17 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

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

17 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

18 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

18 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

18 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

18 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

18 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

19 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

19 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

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

19 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

19 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

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

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

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

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

19 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

19 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

21 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

21 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

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

21 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>
21 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>
21 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>
21 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>
21 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>
21 months agoci: add a debian builder
Baptiste Daroussin [Mon, 26 Feb 2024 15:01:03 +0000 (16:01 +0100)] 
ci: add a debian builder

22 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>
22 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>
22 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>