]>
git.ipfire.org Git - thirdparty/mlmmj.git/log
Baptiste Daroussin [Thu, 9 Feb 2023 08:19:03 +0000 (09:19 +0100)]
mlmmj-receive: limit memory manupulation using file descriptors
While here throw an error message in case of inability to open the
"incoming" directory
Baptiste Daroussin [Thu, 9 Feb 2023 08:10:15 +0000 (09:10 +0100)]
mlmmj-receive: remove useless call to fileno(3)
Baptiste Daroussin [Thu, 9 Feb 2023 08:07:32 +0000 (09:07 +0100)]
mlmmj-receive: add basic tests
Baptiste Daroussin [Thu, 9 Feb 2023 08:04:07 +0000 (09:04 +0100)]
mlmmj-receive: add the ability change the mlmmj-process path
This will allow to simplify the debugging
Baptiste Daroussin [Thu, 9 Feb 2023 07:44:53 +0000 (08:44 +0100)]
mlmmj-process: fix test when mlmmj is not locally installed
Baptiste Daroussin [Wed, 8 Feb 2023 18:00:20 +0000 (19:00 +0100)]
mlmmj-process: add a simple test about the "tocc" tunable
Baptiste Daroussin [Wed, 8 Feb 2023 17:50:39 +0000 (18:50 +0100)]
functional-tests.sh: define the mailing list valid address
Now that mlmmj-process dies on it, it is important to set it up
Baptiste Daroussin [Wed, 8 Feb 2023 17:44:21 +0000 (18:44 +0100)]
mlmmj-process: use boolean where appropriate
Baptiste Daroussin [Wed, 8 Feb 2023 17:22:41 +0000 (18:22 +0100)]
mlmmj-process: ensure the listaddress is correctly defined
Baptiste Daroussin [Wed, 8 Feb 2023 17:04:26 +0000 (18:04 +0100)]
mlmmj-process: reduce memory allocation
If we already caught the recipient extra informations to not try to
extract it again later.
Baptiste Daroussin [Wed, 8 Feb 2023 16:00:54 +0000 (17:00 +0100)]
mlmmj-process: remove empty lines
Baptiste Daroussin [Wed, 8 Feb 2023 15:58:25 +0000 (16:58 +0100)]
mlmmj-process: reduce memory allocation
When matching the mailing lists, addrmatch extracts the extra part of the
recipient. only allocate memory for it if there is actually something
there.
Baptiste Daroussin [Wed, 8 Feb 2023 15:56:26 +0000 (16:56 +0100)]
mlmmj-process: add tests for the function which matches the ml name
While here use xstrndup where appropriate
Baptiste Daroussin [Wed, 8 Feb 2023 14:17:59 +0000 (15:17 +0100)]
mlmmj-process: rename addrtocc into addr_in_to_or_cc
This ease code readability
Baptiste Daroussin [Wed, 8 Feb 2023 13:54:23 +0000 (14:54 +0100)]
mlmmj-process: add missing header
Baptiste Daroussin [Wed, 8 Feb 2023 13:32:28 +0000 (14:32 +0100)]
mlmmj-process: isolate function to extract recipextra from MTA
Baptiste Daroussin [Wed, 8 Feb 2023 10:06:05 +0000 (11:06 +0100)]
Use openat to reduce memory manipulation
Baptiste Daroussin [Wed, 8 Feb 2023 09:41:31 +0000 (10:41 +0100)]
mlmmj-process: add basic tests
Baptiste Daroussin [Wed, 8 Feb 2023 09:23:15 +0000 (10:23 +0100)]
Add missing ')' in error message
Baptiste Daroussin [Tue, 7 Feb 2023 12:47:11 +0000 (13:47 +0100)]
listcontrol: factorize the code which checks for the status of the list
Baptiste Daroussin [Mon, 6 Feb 2023 14:25:44 +0000 (15:25 +0100)]
listcontrol: isolate the ctrl_command parser and test it
Baptiste Daroussin [Mon, 6 Feb 2023 08:50:05 +0000 (09:50 +0100)]
get_prepped_mailbody_from_map: fix null terminations issues
Null terminate the returned string
mmap is not null terminated, pass the len to ensure the lookup is done
based on a length determined manner
Baptiste Daroussin [Mon, 6 Feb 2023 08:37:32 +0000 (09:37 +0100)]
get_preppedhdrs_from_map: fix null terminations issues
Null terminate the returned string
mmap is not null terminated, pass the len to ensure the lookup is done
based on a length determined manner
Baptiste Daroussin [Mon, 6 Feb 2023 08:11:19 +0000 (09:11 +0100)]
tests: add simple test for get_preppedhdrs_from_map
Baptiste Daroussin [Wed, 18 Jan 2023 16:35:20 +0000 (17:35 +0100)]
Release 1.4.0.a2
Baptiste Daroussin [Wed, 18 Jan 2023 16:08:04 +0000 (17:08 +0100)]
Fix missing argument
Baptiste Daroussin [Wed, 18 Jan 2023 15:43:41 +0000 (16:43 +0100)]
Complete the send_mail tests up to RSET to avoid sigpipe
Baptiste Daroussin [Wed, 18 Jan 2023 14:42:54 +0000 (15:42 +0100)]
Replace all pipes by socketpair in tests
Baptiste Daroussin [Wed, 18 Jan 2023 14:36:27 +0000 (15:36 +0100)]
portability: replace pipe with socketpair which behaves consistently between linux and freebsd
Baptiste Daroussin [Wed, 18 Jan 2023 10:20:53 +0000 (11:20 +0100)]
portability: fix a portable difference between linux and freebsd
on linux writing to the first entry of a pipe returns EBADF
Baptiste Daroussin [Tue, 10 Jan 2023 12:52:19 +0000 (13:52 +0100)]
rework dumpfd2fd to make fallback more easily testable
shm are not easy to use in a portable manner
Baptiste Daroussin [Tue, 10 Jan 2023 08:24:58 +0000 (09:24 +0100)]
Make --enable-coverage compatible with gcc
Baptiste Daroussin [Tue, 10 Jan 2023 07:54:01 +0000 (08:54 +0100)]
Split dump2fd unit test to ease debugging
Baptiste Daroussin [Mon, 9 Jan 2023 14:58:59 +0000 (15:58 +0100)]
getline: portability issue.
If getline() fails always make sure the buffer is freeed and set to NULL
This fixes an issue with getlistdelim().
Baptiste Daroussin [Mon, 9 Jan 2023 14:25:09 +0000 (15:25 +0100)]
memory: plug more memory leaks
Baptiste Daroussin [Mon, 9 Jan 2023 13:51:26 +0000 (14:51 +0100)]
mlmmj-maintd: plug memory leak
Baptiste Daroussin [Mon, 9 Jan 2023 13:48:36 +0000 (14:48 +0100)]
exec_and_wait: plug memory leak
Baptiste Daroussin [Mon, 9 Jan 2023 13:45:41 +0000 (14:45 +0100)]
mlmmj-bounce: fix using the wrong variable
Baptiste Daroussin [Mon, 9 Jan 2023 13:40:42 +0000 (14:40 +0100)]
Only linux shm requires -lrt
Baptiste Daroussin [Mon, 9 Jan 2023 13:40:16 +0000 (14:40 +0100)]
Fix left shifting issues noticed by sanitizer
Baptiste Daroussin [Mon, 9 Jan 2023 13:26:48 +0000 (14:26 +0100)]
memory: plug leak
Baptiste Daroussin [Mon, 9 Jan 2023 13:18:12 +0000 (14:18 +0100)]
mlmmj-bounce: do now lowercase twice the email address
Baptiste Daroussin [Mon, 9 Jan 2023 09:02:23 +0000 (10:02 +0100)]
memory: fix user after free
Baptiste Daroussin [Mon, 9 Jan 2023 09:01:53 +0000 (10:01 +0100)]
Add switch to enable building with ASAN and UBSAN
Baptiste Daroussin [Mon, 9 Jan 2023 08:31:38 +0000 (09:31 +0100)]
portability: avoid using fdclose() which does not exists on linux
Baptiste Daroussin [Mon, 9 Jan 2023 08:25:20 +0000 (09:25 +0100)]
portability: fix again sys/limits.h -> limits.h
Baptiste Daroussin [Thu, 5 Jan 2023 14:49:16 +0000 (15:49 +0100)]
Eliminate some use of concatstr
Baptiste Daroussin [Thu, 5 Jan 2023 14:09:05 +0000 (15:09 +0100)]
log_oper: fix regression and add unit test
Baptiste Daroussin [Thu, 5 Jan 2023 13:35:50 +0000 (14:35 +0100)]
log_oper: rework
use file descriptor and do not use an intermediary variable before
writting the logs, as a side effect it drop the limitation of 256 chars
per lines
Baptiste Daroussin [Thu, 5 Jan 2023 12:02:55 +0000 (13:02 +0100)]
Remove dead code
Baptiste Daroussin [Thu, 5 Jan 2023 12:02:16 +0000 (13:02 +0100)]
inindexfile: small cleanups
Baptiste Daroussin [Thu, 5 Jan 2023 11:59:19 +0000 (12:59 +0100)]
init_sockfd: remove MLMMJ_TESTING, we now have a testsuite for that
Baptiste Daroussin [Thu, 5 Jan 2023 11:57:33 +0000 (12:57 +0100)]
Add testsuite for controls and incindexfile
Baptiste Daroussin [Thu, 5 Jan 2023 10:40:14 +0000 (11:40 +0100)]
dumpfd2fd: test more edge cases
Baptiste Daroussin [Thu, 5 Jan 2023 09:49:47 +0000 (10:49 +0100)]
writen: eliminate code which is not used anymore
Baptiste Daroussin [Thu, 5 Jan 2023 09:44:34 +0000 (10:44 +0100)]
dumpfd2fd: use copy_file_range if available (add testsuite for it)
Baptiste Daroussin [Thu, 5 Jan 2023 08:43:44 +0000 (09:43 +0100)]
random-int: really use arc4random_uniform
Baptiste Daroussin [Thu, 5 Jan 2023 08:38:52 +0000 (09:38 +0100)]
mlmmj-list: simple modernization of the code no change expected
Baptiste Daroussin [Thu, 5 Jan 2023 08:30:35 +0000 (09:30 +0100)]
mlmmj-list: simplify code replacing mmap with getline();
Baptiste Daroussin [Thu, 5 Jan 2023 08:25:13 +0000 (09:25 +0100)]
mlmmj-list: constify variables
Baptiste Daroussin [Thu, 5 Jan 2023 08:24:09 +0000 (09:24 +0100)]
mlmmj-list: use file descriptors where possible
Baptiste Daroussin [Thu, 5 Jan 2023 08:03:14 +0000 (09:03 +0100)]
mlmmj-list: add simple testsuite
Baptiste Daroussin [Wed, 4 Jan 2023 15:15:01 +0000 (16:15 +0100)]
ctrlvalues: rework to use fd and getline()
This simplifies the code and reduce the memory allocation
Baptiste Daroussin [Tue, 3 Jan 2023 14:02:54 +0000 (15:02 +0100)]
Fix build with coverage for contrib code
Baptiste Daroussin [Tue, 3 Jan 2023 13:48:26 +0000 (14:48 +0100)]
Replace struct strlist with strlist based on on tllist
Baptiste Daroussin [Tue, 3 Jan 2023 11:13:10 +0000 (12:13 +0100)]
Replace custom struct email_contianer with generic strlist
Baptiste Daroussin [Tue, 3 Jan 2023 09:25:10 +0000 (10:25 +0100)]
Import tllist, this will be used as a general purpose list mechanism
Baptiste Daroussin [Wed, 28 Dec 2022 19:09:41 +0000 (20:09 +0100)]
ctrlvalue: Cleanup unused headers
Baptiste Daroussin [Wed, 28 Dec 2022 16:49:37 +0000 (17:49 +0100)]
Rename getaddrsfromfd into getaddrsfromfile to reflect code change
Baptiste Daroussin [Wed, 28 Dec 2022 16:43:32 +0000 (17:43 +0100)]
getaddrsfromfd: complete the test
Add a test case for empty lines
Add a test case for 0 max number of entries
Baptiste Daroussin [Wed, 28 Dec 2022 16:40:46 +0000 (17:40 +0100)]
getaddrsfromfd: rewrite using getline
It simplifies the code
Baptiste Daroussin [Wed, 28 Dec 2022 16:15:55 +0000 (17:15 +0100)]
getaddrsfromfd: add a test suite
Baptiste Daroussin [Wed, 28 Dec 2022 15:42:12 +0000 (16:42 +0100)]
Rewrite find_subscriber using getline(3) instead of mmap
It simplifies greatly the code
Baptiste Daroussin [Wed, 28 Dec 2022 15:25:34 +0000 (16:25 +0100)]
is_subbed: only keep the filedescriptor aware version
Baptiste Daroussin [Wed, 28 Dec 2022 15:14:50 +0000 (16:14 +0100)]
Add test suite for getlistdelim and getlistaddr
Baptiste Daroussin [Wed, 28 Dec 2022 13:51:51 +0000 (14:51 +0100)]
Convert textcontent and ctrlcontent to ctrlvalue
Baptiste Daroussin [Wed, 28 Dec 2022 12:06:54 +0000 (13:06 +0100)]
getlistdelim/getlistaddr: rewrite to make use of ctrlvalue()
Baptiste Daroussin [Wed, 28 Dec 2022 11:52:56 +0000 (12:52 +0100)]
statctrl: ensure relative the ctrl file descriptor
Baptiste Daroussin [Wed, 28 Dec 2022 11:24:44 +0000 (12:24 +0100)]
ctrlvalue: use filedescriptor to access the content of the control directory
Baptiste Daroussin [Wed, 28 Dec 2022 09:40:48 +0000 (10:40 +0100)]
tohdr: to not use an intermediary variable to write the to header
Baptiste Daroussin [Wed, 28 Dec 2022 09:28:25 +0000 (10:28 +0100)]
Tests: add a test suite for the mail sending functions
Baptiste Daroussin [Tue, 27 Dec 2022 16:18:07 +0000 (17:18 +0100)]
Isolate functions to send email in order to be able to reuse them
While here add a test function for do_bouncemail and fix an issue
which could allow to crash mlmmj-send.
Stop forking in do_bouncemail, it is not necessary
Baptiste Daroussin [Tue, 27 Dec 2022 14:49:30 +0000 (15:49 +0100)]
100% testing on endsmtp
Baptiste Daroussin [Tue, 27 Dec 2022 14:42:24 +0000 (15:42 +0100)]
smtp: add more test
Baptiste Daroussin [Tue, 27 Dec 2022 13:29:25 +0000 (14:29 +0100)]
mlmmj-bounce: make sure mlmmj-bounce is never called directly
Baptiste Daroussin [Tue, 27 Dec 2022 13:04:02 +0000 (14:04 +0100)]
factorize the code to save the last bounced mail
Baptiste Daroussin [Tue, 27 Dec 2022 11:37:37 +0000 (12:37 +0100)]
mlmmj-send: allow to be run from absolute path
mlmmj-send does not call anymore any external program
Baptiste Daroussin [Tue, 27 Dec 2022 11:06:30 +0000 (12:06 +0100)]
mlmmj-send: use file descriptors when easily possible
Baptiste Daroussin [Tue, 27 Dec 2022 11:00:53 +0000 (12:00 +0100)]
mlmmj-bounce: factorize code to make it reusable
Add test suite for mlmmj-bounce
Baptiste Daroussin [Tue, 27 Dec 2022 09:13:58 +0000 (10:13 +0100)]
add is_subbedat which deals with file descriptors
Baptiste Daroussin [Tue, 27 Dec 2022 08:27:03 +0000 (09:27 +0100)]
Remove useless variable in test
Baptiste Daroussin [Tue, 27 Dec 2022 08:25:09 +0000 (09:25 +0100)]
smtp: add simple tests about initsmtp and endsmtp
Baptiste Daroussin [Mon, 26 Dec 2022 16:26:35 +0000 (17:26 +0100)]
Isolate smtp code to allow reuse and add test for it
Baptiste Daroussin [Mon, 26 Dec 2022 15:57:54 +0000 (16:57 +0100)]
Fix use after free
Baptiste Daroussin [Mon, 26 Dec 2022 15:57:06 +0000 (16:57 +0100)]
apply fgetlistdelim
Baptiste Daroussin [Mon, 26 Dec 2022 15:53:27 +0000 (16:53 +0100)]
fgetlistdelim, read the delimiter from control with fd
Baptiste Daroussin [Mon, 26 Dec 2022 15:43:32 +0000 (16:43 +0100)]
apply fgetlistaddr
Baptiste Daroussin [Mon, 26 Dec 2022 15:35:43 +0000 (16:35 +0100)]
fgetlistaddr: add a filedescriptor only version of getlistaddr
which reduces memory manipulation
Baptiste Daroussin [Mon, 26 Dec 2022 15:29:50 +0000 (16:29 +0100)]
Simplify genlistfqdn and add test for it
Baptiste Daroussin [Mon, 26 Dec 2022 15:26:53 +0000 (16:26 +0100)]
Fix genlistname regression and add a test