]> git.ipfire.org Git - thirdparty/mlmmj.git/log
thirdparty/mlmmj.git
2 years agomlmmj-make-ml: implement non-interactive mailing list creation 4/head
Siva Mahadevan [Wed, 14 Jun 2023 03:30:32 +0000 (23:30 -0400)] 
mlmmj-make-ml: implement non-interactive mailing list creation

2 years agomlmmj-make-ml: cleanup with ShellCheck
Siva Mahadevan [Tue, 13 Jun 2023 19:50:46 +0000 (15:50 -0400)] 
mlmmj-make-ml: cleanup with ShellCheck

2 years agoRelease 1.4.0.b1 RELEASE_1_4_0b1
Baptiste Daroussin [Mon, 15 May 2023 13:24:44 +0000 (15:24 +0200)] 
Release 1.4.0.b1

2 years agoupdate changelog and note the next release will be beta1
Baptiste Daroussin [Mon, 15 May 2023 13:22:30 +0000 (15:22 +0200)] 
update changelog and note the next release will be beta1

2 years agomanpages: convert to mdoc(7)
Baptiste Daroussin [Mon, 15 May 2023 13:18:32 +0000 (15:18 +0200)] 
manpages: convert to mdoc(7)

2 years agodnsparse: avoid double free
Baptiste Daroussin [Mon, 15 May 2023 09:54:50 +0000 (11:54 +0200)] 
dnsparse: avoid double free

2 years agofix formatting
Baptiste Daroussin [Mon, 17 Apr 2023 15:30:55 +0000 (17:30 +0200)] 
fix formatting

2 years agodoc: convert mlmmj-list(1) from man(7) to mdoc(7)
Baptiste Daroussin [Mon, 17 Apr 2023 15:28:20 +0000 (17:28 +0200)] 
doc: convert mlmmj-list(1) from man(7) to mdoc(7)

2 years agomlmmj-process: add tests for customheaders
Baptiste Daroussin [Sat, 15 Apr 2023 19:46:34 +0000 (21:46 +0200)] 
mlmmj-process: add tests for customheaders

2 years agomlmmj-process: add tests for delheaders
Baptiste Daroussin [Sat, 15 Apr 2023 19:36:53 +0000 (21:36 +0200)] 
mlmmj-process: add tests for delheaders

2 years agogetinfo: use strdup instead of malloc + strcpy
Baptiste Daroussin [Sat, 15 Apr 2023 19:32:22 +0000 (21:32 +0200)] 
getinfo: use strdup instead of malloc + strcpy

2 years agomlmmj-receive-strip: kill duplicated code
Baptiste Daroussin [Sat, 15 Apr 2023 19:27:41 +0000 (21:27 +0200)] 
mlmmj-receive-strip: kill duplicated code

2 years agofindit: convert to boolean
Baptiste Daroussin [Sat, 15 Apr 2023 19:26:20 +0000 (21:26 +0200)] 
findit: convert to boolean

2 years agodo_all_the_voodoo_here: avoid intermediary variable
Baptiste Daroussin [Sat, 15 Apr 2023 19:24:24 +0000 (21:24 +0200)] 
do_all_the_voodoo_here: avoid intermediary variable

2 years agodo_all_the_voodoo_here: cover with tests
Baptiste Daroussin [Sat, 15 Apr 2023 19:20:40 +0000 (21:20 +0200)] 
do_all_the_voodoo_here: cover with tests

2 years agogethdrline: rewrite to use stdio
Baptiste Daroussin [Fri, 14 Apr 2023 15:26:08 +0000 (17:26 +0200)] 
gethdrline: rewrite to use stdio

It simplifies a bit the code and allows a more complete code coverage

2 years agogethdrline: add regression tests
Baptiste Daroussin [Fri, 14 Apr 2023 14:34:26 +0000 (16:34 +0200)] 
gethdrline: add regression tests

2 years agodo_all_the_voodoo_here: use stdbool
Baptiste Daroussin [Fri, 14 Apr 2023 14:34:04 +0000 (16:34 +0200)] 
do_all_the_voodoo_here: use stdbool

2 years agomlmmj-process: reduce the scope of the maxmailsizestr
Baptiste Daroussin [Fri, 14 Apr 2023 13:34:00 +0000 (15:34 +0200)] 
mlmmj-process: reduce the scope of the maxmailsizestr

2 years agomlmmj-process: remove dead branch
Baptiste Daroussin [Fri, 14 Apr 2023 12:54:20 +0000 (14:54 +0200)] 
mlmmj-process: remove dead branch

2 years agomlmmj-process: remove duplicated logic for maxmailsize
Baptiste Daroussin [Fri, 14 Apr 2023 12:35:40 +0000 (14:35 +0200)] 
mlmmj-process: remove duplicated logic for maxmailsize

2 years agomlmmj-process: add tests about maxmailsize
Baptiste Daroussin [Fri, 14 Apr 2023 12:31:58 +0000 (14:31 +0200)] 
mlmmj-process: add tests about maxmailsize

2 years agomlmmj-send: more conversion to struct ml
Baptiste Daroussin [Fri, 14 Apr 2023 12:06:51 +0000 (14:06 +0200)] 
mlmmj-send: more conversion to struct ml

2 years agocleanup: remove now dead code
Baptiste Daroussin [Fri, 14 Apr 2023 11:52:13 +0000 (13:52 +0200)] 
cleanup: remove now dead code

2 years agomlmmj-send: convert send_mail_to* to struct ml
Baptiste Daroussin [Fri, 14 Apr 2023 11:50:22 +0000 (13:50 +0200)] 
mlmmj-send: convert send_mail_to* to struct ml

2 years agoget_bounce_from_addr: remove useless parameter
Baptiste Daroussin [Fri, 14 Apr 2023 11:30:16 +0000 (13:30 +0200)] 
get_bounce_from_addr: remove useless parameter

2 years agolistcontrol: reduce I/O in moderation
Baptiste Daroussin [Fri, 14 Apr 2023 11:18:52 +0000 (13:18 +0200)] 
listcontrol: reduce I/O in moderation

2 years agolistcontrol: reduce I/O when rejecting a subscription
Baptiste Daroussin [Fri, 14 Apr 2023 11:13:20 +0000 (13:13 +0200)] 
listcontrol: reduce I/O when rejecting a subscription

2 years agolistcontrol: simplify code handling omits in +release
Baptiste Daroussin [Fri, 14 Apr 2023 10:02:26 +0000 (12:02 +0200)] 
listcontrol: simplify code handling omits in +release

Reuse the code used to read a line from a file in control
and only unlink the file if it actually existed

2 years agolistcontrol: add test when receiving a wrong reject email
Baptiste Daroussin [Fri, 14 Apr 2023 09:53:22 +0000 (11:53 +0200)] 
listcontrol: add test when receiving a wrong reject email

2 years agolistcontrol: reduce I/O when rejecting a moderated message
Baptiste Daroussin [Fri, 14 Apr 2023 09:43:59 +0000 (11:43 +0200)] 
listcontrol: reduce I/O when rejecting a moderated message

2 years agolistcontrol: test moderation with "notmeetoo"
Baptiste Daroussin [Fri, 14 Apr 2023 09:00:15 +0000 (11:00 +0200)] 
listcontrol: test moderation with "notmeetoo"

2 years agounistr: kill dead code
Baptiste Daroussin [Fri, 14 Apr 2023 08:59:27 +0000 (10:59 +0200)] 
unistr: kill dead code

2 years agolistcontrol: cleanup omit files on reject
Baptiste Daroussin [Fri, 14 Apr 2023 08:57:36 +0000 (10:57 +0200)] 
listcontrol: cleanup omit files on reject

When rejecting a mail in moderation on a mailing list with "notmetoo"
activated, there .omit files were leftovers, now we clean them up

2 years agolistcontrol: factorize the code check for '@' in mails
Baptiste Daroussin [Fri, 14 Apr 2023 07:42:13 +0000 (09:42 +0200)] 
listcontrol: factorize the code check for '@' in mails

2 years agomoderation: cover regular moderation with tests
Baptiste Daroussin [Fri, 14 Apr 2023 07:21:03 +0000 (09:21 +0200)] 
moderation: cover regular moderation with tests

2 years agolistcontrol: fix release a moderated file
Baptiste Daroussin [Thu, 13 Apr 2023 09:40:53 +0000 (11:40 +0200)] 
listcontrol: fix release a moderated file

2 years agomoderation: cover with tests the subscribtion moderation
Baptiste Daroussin [Thu, 13 Apr 2023 09:12:52 +0000 (11:12 +0200)] 
moderation: cover with tests the subscribtion moderation

2 years ago+get: add TODO
Baptiste Daroussin [Thu, 13 Apr 2023 07:38:21 +0000 (09:38 +0200)] 
+get: add TODO

add an information about the necessity to code the requeue of the fail
to send emails, previous code using -6 was not working either, it was
just polluting the archives and mlmmj-maintd would never have catched
up the mail to requeue

2 years agogenlistfqdn: avoid useless memory allocation
Baptiste Daroussin [Thu, 13 Apr 2023 07:26:27 +0000 (09:26 +0200)] 
genlistfqdn: avoid useless memory allocation

While here lookup for '@' from the end (reverse)

2 years agochangelog: document the removal of -l 6 from mlmmj-send
Baptiste Daroussin [Thu, 13 Apr 2023 07:14:26 +0000 (09:14 +0200)] 
changelog: document the removal of -l 6 from mlmmj-send

2 years agomlmmj-send: remove -l 6 option which is not used anymore
Baptiste Daroussin [Thu, 13 Apr 2023 07:12:42 +0000 (09:12 +0200)] 
mlmmj-send: remove -l 6 option which is not used anymore

2 years agolistcontrol: stop calling mlmmj-send for +get-<index>@
Baptiste Daroussin [Wed, 12 Apr 2023 16:45:08 +0000 (18:45 +0200)] 
listcontrol: stop calling mlmmj-send for +get-<index>@

This rewrite allow to reduce memory allocation and prevent fork/exec

move some functions from mlmmj-send to a library to allow reuse,
Duplicate bounce_from_adr temporary to allow rewrite using struct ml

2 years agomailing+get: add tests
Baptiste Daroussin [Wed, 12 Apr 2023 16:21:01 +0000 (18:21 +0200)] 
mailing+get: add tests

2 years agolistcontrol: remove useless intermediary variables
Baptiste Daroussin [Wed, 12 Apr 2023 16:15:39 +0000 (18:15 +0200)] 
listcontrol: remove useless intermediary variables

2 years agolistcontrol: simplify verifycation that param is digit only
Baptiste Daroussin [Wed, 12 Apr 2023 16:13:09 +0000 (18:13 +0200)] 
listcontrol: simplify verifycation that param is digit only

while here do not kill the program is the requested archive is not
there but gracefully die

2 years agomlmmj-send: xstrdup already abort in case of issue with memory
Baptiste Daroussin [Wed, 12 Apr 2023 15:54:46 +0000 (17:54 +0200)] 
mlmmj-send: xstrdup already abort in case of issue with memory

2 years agomailing+faq: add simple tests
Baptiste Daroussin [Wed, 12 Apr 2023 15:45:56 +0000 (17:45 +0200)] 
mailing+faq: add simple tests

2 years agomlmmj-process: fix typo
Baptiste Daroussin [Wed, 12 Apr 2023 15:45:30 +0000 (17:45 +0200)] 
mlmmj-process: fix typo

2 years agomailing+help: add testcase
Baptiste Daroussin [Wed, 12 Apr 2023 13:25:56 +0000 (15:25 +0200)] 
mailing+help: add testcase

2 years agolistcontrol: fix indentation
Baptiste Daroussin [Wed, 12 Apr 2023 13:19:43 +0000 (15:19 +0200)] 
listcontrol: fix indentation

2 years agomailing+list: simplify the code
Baptiste Daroussin [Wed, 12 Apr 2023 13:17:19 +0000 (15:17 +0200)] 
mailing+list: simplify the code

2 years agoctrlvalues: add a function to only check if an entry is contained
Baptiste Daroussin [Wed, 12 Apr 2023 13:10:20 +0000 (15:10 +0200)] 
ctrlvalues: add a function to only check if an entry is contained

this allows to reduce memory usage and simplify code

2 years agolistcontrol: reduce the number of branches by 1
Baptiste Daroussin [Wed, 12 Apr 2023 12:46:15 +0000 (14:46 +0200)] 
listcontrol: reduce the number of branches by 1

2 years agolistcontrol: add test for mailinglist+list@
Baptiste Daroussin [Wed, 12 Apr 2023 12:11:23 +0000 (14:11 +0200)] 
listcontrol: add test for mailinglist+list@

2 years agolistcontrol: remove the requirement to execute mlmmj-unsub
Baptiste Daroussin [Wed, 12 Apr 2023 10:18:19 +0000 (12:18 +0200)] 
listcontrol: remove the requirement to execute mlmmj-unsub

2 years agoconfunsub: factorize code
Baptiste Daroussin [Wed, 12 Apr 2023 10:09:19 +0000 (12:09 +0200)] 
confunsub: factorize code

2 years agosubscribe: cover confunsub-digest and confunsub-nomail
Baptiste Daroussin [Wed, 12 Apr 2023 09:59:42 +0000 (11:59 +0200)] 
subscribe: cover confunsub-digest and confunsub-nomail

2 years agosubscribe: more complete test coverage
Baptiste Daroussin [Wed, 12 Apr 2023 09:51:32 +0000 (11:51 +0200)] 
subscribe: more complete test coverage

2 years agomlmmj-sub: use stdbool
Baptiste Daroussin [Wed, 12 Apr 2023 09:41:35 +0000 (11:41 +0200)] 
mlmmj-sub: use stdbool

2 years agounsubscription: plug memory leaks
Baptiste Daroussin [Wed, 12 Apr 2023 09:38:55 +0000 (11:38 +0200)] 
unsubscription: plug memory leaks

2 years agosubscribe: cover subscribtion to both normal and digest mails
Baptiste Daroussin [Wed, 12 Apr 2023 09:24:03 +0000 (11:24 +0200)] 
subscribe: cover subscribtion to both normal and digest mails

2 years agosubscribe: cover nomail and digest mail with testcase
Baptiste Daroussin [Wed, 12 Apr 2023 09:15:55 +0000 (11:15 +0200)] 
subscribe: cover nomail and digest mail with testcase

2 years agolistcontrol: fix subscribtion confirmations
Baptiste Daroussin [Wed, 12 Apr 2023 09:06:56 +0000 (11:06 +0200)] 
listcontrol: fix subscribtion confirmations

2 years agolistcontrol: stop forking when unsubscribing
Baptiste Daroussin [Wed, 12 Apr 2023 08:47:51 +0000 (10:47 +0200)] 
listcontrol: stop forking when unsubscribing

2 years agomlmmj-unsub: use stdbool everywhere
Baptiste Daroussin [Wed, 12 Apr 2023 08:16:14 +0000 (10:16 +0200)] 
mlmmj-unsub: use stdbool everywhere

2 years agomlmmj-unsub: indentation fix
Baptiste Daroussin [Wed, 12 Apr 2023 08:14:10 +0000 (10:14 +0200)] 
mlmmj-unsub: indentation fix

2 years agosubscribtion: reduce confusion
Baptiste Daroussin [Wed, 12 Apr 2023 07:56:05 +0000 (09:56 +0200)] 
subscribtion: reduce confusion

Reduce confusion by renaming variables and function to more obvious name

2 years agocopy_file_range: deal with EXDEV
Baptiste Daroussin [Fri, 7 Apr 2023 12:47:30 +0000 (14:47 +0200)] 
copy_file_range: deal with EXDEV

in theory it is never supposed to happen, in practice it happened
on some version of the linux kernel.

2 years agosubscription: add end to end test
Baptiste Daroussin [Thu, 9 Mar 2023 08:26:20 +0000 (09:26 +0100)] 
subscription: add end to end test

2 years agosubscribtion cookie: properly remove the cookie
Baptiste Daroussin [Thu, 9 Mar 2023 08:25:28 +0000 (09:25 +0100)] 
subscribtion cookie: properly remove the cookie

2 years agosubconfirm: fix unsubscribe email
Baptiste Daroussin [Thu, 9 Mar 2023 08:07:54 +0000 (09:07 +0100)] 
subconfirm: fix unsubscribe email

2 years agomlmmj-sub: stop forking to send subscription confirmation
Baptiste Daroussin [Wed, 8 Mar 2023 17:29:44 +0000 (18:29 +0100)] 
mlmmj-sub: stop forking to send subscription confirmation

2 years agomlmmj-process: fix typo
Baptiste Daroussin [Wed, 8 Mar 2023 17:15:03 +0000 (18:15 +0100)] 
mlmmj-process: fix typo

2 years agomlmmj-process: avoid useless memory allocation
Baptiste Daroussin [Wed, 8 Mar 2023 17:14:23 +0000 (18:14 +0100)] 
mlmmj-process: avoid useless memory allocation

2 years agomlmmj-process: add tests for simple reception and subscription
Baptiste Daroussin [Wed, 8 Mar 2023 17:05:52 +0000 (18:05 +0100)] 
mlmmj-process: add tests for simple reception and subscription

While here ensure we exit with failures in case we have a bad envelop

2 years agomlmmj-send: remove non portable header
Baptiste Daroussin [Wed, 8 Mar 2023 16:24:24 +0000 (17:24 +0100)] 
mlmmj-send: remove non portable header

2 years agomlmmj-maintd: resend_queue: add a missing test
Baptiste Daroussin [Wed, 8 Mar 2023 14:37:47 +0000 (15:37 +0100)] 
mlmmj-maintd: resend_queue: add a missing test

2 years agomlmmj-maintd: resend_queue: fully test
Baptiste Daroussin [Wed, 8 Mar 2023 14:34:19 +0000 (15:34 +0100)] 
mlmmj-maintd: resend_queue: fully test

2 years agomlmmj-maintd: resend_queue: fix freeing non malloced memory
Baptiste Daroussin [Wed, 8 Mar 2023 12:30:48 +0000 (13:30 +0100)] 
mlmmj-maintd: resend_queue: fix freeing non malloced memory

2 years agomlmmj-maintd: resend_requeue: cleanup stale directory
Baptiste Daroussin [Wed, 8 Mar 2023 11:07:07 +0000 (12:07 +0100)] 
mlmmj-maintd: resend_requeue: cleanup stale directory

Now that we cleanly control the life cycle of our files, cleanup
the stale directory after ourself.

2 years agomlmmj-maintd: extend the test to cover addtohdr
Baptiste Daroussin [Wed, 8 Mar 2023 11:03:34 +0000 (12:03 +0100)] 
mlmmj-maintd: extend the test to cover addtohdr

2 years agomlmmj-send: document accepting -m as file descriptor
Baptiste Daroussin [Wed, 8 Mar 2023 10:40:34 +0000 (11:40 +0100)] 
mlmmj-send: document accepting -m as file descriptor

2 years agomlmmj-maintd: pass the mailfile to resend via file descriptor
Baptiste Daroussin [Wed, 8 Mar 2023 10:37:49 +0000 (11:37 +0100)] 
mlmmj-maintd: pass the mailfile to resend via file descriptor

This reduces the memory allocation and also plug some memory leak

2 years agomlmmj-maintd: fix and test resend_requeue
Baptiste Daroussin [Wed, 8 Mar 2023 10:08:56 +0000 (11:08 +0100)] 
mlmmj-maintd: fix and test resend_requeue

Pass the list of target mails to resend to via file descriptor:
This allows to stop creating a "resending" file and controls the life
cycle of the mail to be resent (deleted or not) from the mmlmmj-maintd
code

2 years agomlmmj-send: multiple fixes:
Baptiste Daroussin [Wed, 8 Mar 2023 10:08:08 +0000 (11:08 +0100)] 
mlmmj-send: multiple fixes:

fix possible use heap-after-free
allow passing mailarchive via file descriptor

2 years agomlmmj-process: pass the owner via file descriptor to mlmmj-send
Baptiste Daroussin [Wed, 8 Mar 2023 10:07:26 +0000 (11:07 +0100)] 
mlmmj-process: pass the owner via file descriptor to mlmmj-send

2 years agorequemail: fix double-free
Baptiste Daroussin [Wed, 8 Mar 2023 09:41:51 +0000 (10:41 +0100)] 
requemail: fix double-free

2 years agoprepstdreply: Fix corruption prefix pointer
Baptiste Daroussin [Wed, 8 Mar 2023 09:39:03 +0000 (10:39 +0100)] 
prepstdreply: Fix corruption prefix pointer

2 years agomlmmj-send: Pass file descriptor to mlmmj-send and reduce the number of IO
Baptiste Daroussin [Tue, 7 Mar 2023 17:11:22 +0000 (18:11 +0100)] 
mlmmj-send: Pass file descriptor to mlmmj-send and reduce the number of IO

2 years agomlmmj-send: accept file descriptor number as -s argument
Baptiste Daroussin [Tue, 7 Mar 2023 17:05:56 +0000 (18:05 +0100)] 
mlmmj-send: accept file descriptor number as -s argument

2 years agoprepstdreply: use stdio and getline(3) instead of mygetline()
Baptiste Daroussin [Tue, 7 Mar 2023 14:44:47 +0000 (15:44 +0100)] 
prepstdreply: use stdio and getline(3) instead of mygetline()

2 years agomlmmj-sub: fix error in error message
Baptiste Daroussin [Tue, 7 Mar 2023 10:04:25 +0000 (11:04 +0100)] 
mlmmj-sub: fix error in error message

2 years agolistcontrol: mark fallthrough to appease gcc12
Baptiste Daroussin [Tue, 7 Mar 2023 10:03:16 +0000 (11:03 +0100)] 
listcontrol: mark fallthrough to appease gcc12

2 years agomygetline: fix type for return value of read(2)
Baptiste Daroussin [Tue, 7 Mar 2023 09:59:59 +0000 (10:59 +0100)] 
mygetline: fix type for return value of read(2)

2 years agoconcatstr: remove, all use case has been replaced
Baptiste Daroussin [Mon, 6 Mar 2023 21:15:09 +0000 (22:15 +0100)] 
concatstr: remove, all use case has been replaced

2 years agoprepstdreply: replace concatstr with xasprintf
Baptiste Daroussin [Mon, 6 Mar 2023 21:08:16 +0000 (22:08 +0100)] 
prepstdreply: replace concatstr with xasprintf

2 years agorequeuemail: isolate test and fix regression
Baptiste Daroussin [Mon, 6 Mar 2023 13:19:37 +0000 (14:19 +0100)] 
requeuemail: isolate test and fix regression

2 years agomlmmj-sub: add a test for notifysub
Baptiste Daroussin [Mon, 6 Mar 2023 13:19:19 +0000 (14:19 +0100)] 
mlmmj-sub: add a test for notifysub

2 years agomlmmj-unsub: test notifysub
Baptiste Daroussin [Mon, 6 Mar 2023 10:22:58 +0000 (11:22 +0100)] 
mlmmj-unsub: test notifysub