]>
git.ipfire.org Git - thirdparty/mlmmj.git/log
Baptiste Daroussin [Fri, 2 Dec 2022 10:48:10 +0000 (11:48 +0100)]
tests: fix hardcoded path
Baptiste Daroussin [Fri, 2 Dec 2022 09:18:44 +0000 (10:18 +0100)]
glibc: fix warning with glibc which requires _GNU_SOURCE for asprintf
Baptiste Daroussin [Fri, 2 Dec 2022 09:18:30 +0000 (10:18 +0100)]
tests: fix tests on alpine
Aurelien Rougemont [Thu, 24 Nov 2022 13:56:30 +0000 (14:56 +0100)]
README: Let know new user that project requires a listtexts
Without cloning the listtexts repository you just can't pass the
autoreconf -i stage.
Baptiste Daroussin [Thu, 10 Nov 2022 17:05:08 +0000 (18:05 +0100)]
mlmmj-maintd: drop closefrom(2)
At this point it is not useful, it is up the progrom that execute
mlmmj-maintd to not leak its fd.
Baptiste Daroussin [Thu, 10 Nov 2022 17:01:12 +0000 (18:01 +0100)]
incindexfile: simplify code
Baptiste Daroussin [Thu, 10 Nov 2022 15:48:22 +0000 (16:48 +0100)]
portability: include stdint.h to make sure uintmax_t is known
Baptiste Daroussin [Thu, 10 Nov 2022 15:25:05 +0000 (16:25 +0100)]
portability: handle systems without O_EXLOCK
Baptiste Daroussin [Tue, 8 Nov 2022 12:34:01 +0000 (13:34 +0100)]
portability: use limits.h not sys/limits.h
Baptiste Daroussin [Tue, 8 Nov 2022 12:22:00 +0000 (13:22 +0100)]
Remove versionning from README and fix
Baptiste Daroussin [Fri, 28 Oct 2022 15:02:40 +0000 (17:02 +0200)]
Remove test which is now performed earlier
Baptiste Daroussin [Fri, 28 Oct 2022 14:47:52 +0000 (16:47 +0200)]
Remove useless header
Baptiste Daroussin [Fri, 28 Oct 2022 14:46:54 +0000 (16:46 +0200)]
mlmmj-maintd: remove write only variable
Baptiste Daroussin [Fri, 28 Oct 2022 14:40:59 +0000 (16:40 +0200)]
Rename do_unsubscribe into unsubsribe
Baptiste Daroussin [Fri, 28 Oct 2022 14:37:23 +0000 (16:37 +0200)]
mlmmj-unsub: make use of do_unsubscribe
Baptiste Daroussin [Fri, 28 Oct 2022 14:22:16 +0000 (16:22 +0200)]
Add test for mlmmj-sub and mlmmj-unsub
while here validate that input email has a '@'
Baptiste Daroussin [Fri, 28 Oct 2022 13:49:42 +0000 (15:49 +0200)]
mlmmj-send: do not test version number
Baptiste Daroussin [Fri, 28 Oct 2022 13:35:26 +0000 (15:35 +0200)]
mlmmj-unsub: remove the now unused -b option
Baptiste Daroussin [Fri, 28 Oct 2022 13:29:43 +0000 (15:29 +0200)]
mlmmj-maintd: improve error handling of bouncers unsubscribtion
Now report an error if something went wrong, and keep the bounce
file around to make sure that maintd get another chance and
unsubscribing bouncers. (In the hope that an administrator will see
the logs and fix what needs to be fixed)
Baptiste Daroussin [Fri, 28 Oct 2022 12:48:55 +0000 (14:48 +0200)]
Add function to unsubscribe people
Add the testsuite that goes with it.
Baptiste Daroussin [Thu, 27 Oct 2022 14:49:37 +0000 (16:49 +0200)]
mlmmj-maintd: cover with test the code to unsubscribe bouncers
Baptiste Daroussin [Thu, 27 Oct 2022 14:27:02 +0000 (16:27 +0200)]
mlmmj-maintd: use the generic bouncetime extracter
Baptiste Daroussin [Thu, 27 Oct 2022 14:21:44 +0000 (16:21 +0200)]
mlmmj: add a function to extract bouncetime from bounce file
Add a unit test to validate it
Baptiste Daroussin [Thu, 27 Oct 2022 12:57:41 +0000 (14:57 +0200)]
deindent
Baptiste Daroussin [Thu, 27 Oct 2022 12:50:40 +0000 (14:50 +0200)]
lastdigest: add a function to parse the line and its unit test
Baptiste Daroussin [Thu, 27 Oct 2022 10:04:37 +0000 (12:04 +0200)]
mlmmj-maintd: replace a bunch of stat with access
Baptiste Daroussin [Thu, 27 Oct 2022 09:56:52 +0000 (11:56 +0200)]
mlmmj-maintd: remove useless stat
the directory is anyway open just after and if failed the content is
ignored
Baptiste Daroussin [Thu, 27 Oct 2022 09:55:47 +0000 (11:55 +0200)]
mlmmj-maintd: replace stat with access to verify the existance of a file
Baptiste Daroussin [Thu, 27 Oct 2022 09:53:29 +0000 (11:53 +0200)]
mlmmj-maintd: add a test in case the moderation directory is missing
Baptiste Daroussin [Thu, 27 Oct 2022 09:26:41 +0000 (11:26 +0200)]
mlmmj-maintd: reduce noise in logging if the log file cannot be created
While here add a unit test
Baptiste Daroussin [Thu, 27 Oct 2022 09:05:51 +0000 (11:05 +0200)]
mlmmj-maintd: test when trying to open an inexisting directory
Baptiste Daroussin [Thu, 27 Oct 2022 09:01:28 +0000 (11:01 +0200)]
log_activate_stderr: reopen logs when changing the options
Baptiste Daroussin [Wed, 26 Oct 2022 14:13:46 +0000 (16:13 +0200)]
mlmmj-maintd: rework the log mechanism
Do not log to syslog errors which may pollute it.
Now it logs locally information about what happen and only log to
syslog an error if something went wrong pointing at the per
mailing list log file
Baptiste Daroussin [Wed, 26 Oct 2022 14:51:39 +0000 (16:51 +0200)]
log_error: add a less noisy syslog logging function
Baptiste Daroussin [Wed, 26 Oct 2022 13:36:24 +0000 (15:36 +0200)]
log_error: rework syslog
- always open/close syslog when the log_name is changed
- add a new function to allow writing the log to stderr if needed
- log_error does not have anymore any length limit anymore
Baptiste Daroussin [Wed, 26 Oct 2022 13:30:29 +0000 (15:30 +0200)]
mlmmj-maintd: convert daemonize into a boolean
While here simplify the code a bit
Baptiste Daroussin [Wed, 26 Oct 2022 13:08:22 +0000 (15:08 +0200)]
mlmmj-maintd: include the mailing list path in the log name
Baptiste Daroussin [Wed, 26 Oct 2022 13:07:53 +0000 (15:07 +0200)]
log: add a function to build dynamically the log name
Baptiste Daroussin [Wed, 26 Oct 2022 12:36:47 +0000 (14:36 +0200)]
tests: add a small testsuite for mlmmj-maintd
Baptiste Daroussin [Wed, 26 Oct 2022 12:31:43 +0000 (14:31 +0200)]
configure: add --enable-coverage
This option adds CLFAGS and LDFLAGS which are necessary to extract
the code coverage informations
Baptiste Daroussin [Wed, 26 Oct 2022 09:38:25 +0000 (11:38 +0200)]
mlmmj-maintd: add test with relative path as argument
Baptiste Daroussin [Wed, 26 Oct 2022 09:33:00 +0000 (11:33 +0200)]
mlmmj-maintd: big refactoring to avoid the chdir() dansing
Always use at function to manipulate files relatively to a file
descriptor, this avoid walking through the trees and also reduces
a lot memory manipulation and allocations
As a result mlmmj-maintd can now safely accept relative path in inputs
Baptiste Daroussin [Tue, 25 Oct 2022 15:28:12 +0000 (17:28 +0200)]
remove dead code
Baptiste Daroussin [Tue, 25 Oct 2022 15:22:50 +0000 (17:22 +0200)]
tests add simple functional tests about discarding invalid mails
Baptiste Daroussin [Tue, 25 Oct 2022 14:36:21 +0000 (16:36 +0200)]
mlmmj-receive-strip: fix build
Baptiste Daroussin [Mon, 24 Oct 2022 16:10:28 +0000 (18:10 +0200)]
Complete changelog
Baptiste Daroussin [Mon, 24 Oct 2022 16:03:20 +0000 (18:03 +0200)]
Fix decode quoted printable by using a full decoder
Baptiste Daroussin [Mon, 24 Oct 2022 15:50:38 +0000 (17:50 +0200)]
mygetcontent: remove now unused function
Baptiste Daroussin [Mon, 24 Oct 2022 15:46:42 +0000 (17:46 +0200)]
Remove leftovers from memory.h removal
Baptiste Daroussin [Mon, 24 Oct 2022 15:46:18 +0000 (17:46 +0200)]
ctrlval: use getline/getdelim
Baptiste Daroussin [Mon, 24 Oct 2022 15:32:28 +0000 (17:32 +0200)]
controls: fix fallback value assignation
when failing to convert the string to an expected type, respect
the fallback value
Baptiste Daroussin [Mon, 24 Oct 2022 15:30:23 +0000 (17:30 +0200)]
utils: add function to convert a control file to time_t
Baptiste Daroussin [Mon, 24 Oct 2022 15:16:12 +0000 (17:16 +0200)]
mail-functions: factorize the code.
Stop returning errcode based en errno which might bring portability
issues
Add a full testsuite
Baptiste Daroussin [Mon, 24 Oct 2022 13:35:07 +0000 (15:35 +0200)]
test: add test for strtoim functions
Baptiste Daroussin [Mon, 24 Oct 2022 13:24:26 +0000 (15:24 +0200)]
test: add a test for find_email_adr
Baptiste Daroussin [Mon, 24 Oct 2022 12:56:17 +0000 (14:56 +0200)]
simplify code using isspace()
Baptiste Daroussin [Mon, 24 Oct 2022 12:53:18 +0000 (14:53 +0200)]
Replace malloc+strcpy with strdup()
Baptiste Daroussin [Mon, 24 Oct 2022 12:50:53 +0000 (14:50 +0200)]
mlmmjsend: reduce memory allocation when dealing with index
Baptiste Daroussin [Mon, 24 Oct 2022 12:41:09 +0000 (14:41 +0200)]
cleanup: eliminate write only variable
Baptiste Daroussin [Mon, 24 Oct 2022 12:35:34 +0000 (14:35 +0200)]
cleanup: generalize usage of exec_or_die/exec_and_wait
Baptiste Daroussin [Mon, 24 Oct 2022 11:36:14 +0000 (13:36 +0200)]
utils: add 2 wrappers around posix_spawn
the goal here it to avoid code duplication around fork and execvp
Baptiste Daroussin [Mon, 24 Oct 2022 10:04:05 +0000 (12:04 +0200)]
mlmmj-send: validate values loaded from config files
Baptiste Daroussin [Mon, 24 Oct 2022 10:03:35 +0000 (12:03 +0200)]
ctrlushort: add a helper to convert string to unsigned short
Baptiste Daroussin [Mon, 24 Oct 2022 09:15:33 +0000 (11:15 +0200)]
incindexfile: refactor using modern C code and better validate inputs
Baptiste Daroussin [Mon, 24 Oct 2022 09:10:15 +0000 (11:10 +0200)]
utils: add functions to convert integers
This functions is modeled over BSD's strtonum except it is using
intmax_t or intumax_t types
while here add helpers to simplify usage
Baptiste Daroussin [Mon, 24 Oct 2022 08:51:01 +0000 (10:51 +0200)]
listcontrol: fix crash when no owner is defined
Baptiste Daroussin [Mon, 24 Oct 2022 08:48:42 +0000 (10:48 +0200)]
bouncemail: ensure all inputs are checked entirely
use strndup instead of malloc + strncpy
Baptiste Daroussin [Mon, 24 Oct 2022 08:39:11 +0000 (10:39 +0200)]
mlmmj-send: convert listctrl to a simple char
Baptiste Daroussin [Mon, 24 Oct 2022 08:19:03 +0000 (10:19 +0200)]
mlmmj-send: validate argument for -l option
validate the argument for -l option, while here turn the "archive"
into a boolean
Baptiste Daroussin [Wed, 17 Aug 2022 16:17:19 +0000 (18:17 +0200)]
dsnparse: fix parsing of RFC1891
Baptiste Daroussin [Thu, 20 Oct 2022 14:57:35 +0000 (16:57 +0200)]
modern C: replace malloc + snprintf with asprintf
Baptiste Daroussin [Thu, 20 Oct 2022 14:41:19 +0000 (16:41 +0200)]
modern C: use O_EXLOCK instead of homemade locking
Baptiste Daroussin [Thu, 28 Apr 2022 09:26:34 +0000 (11:26 +0200)]
utils: factorize lowercase code
Baptiste Daroussin [Thu, 20 Oct 2022 13:59:01 +0000 (15:59 +0200)]
genmsgid: add unit test
Baptiste Daroussin [Thu, 28 Apr 2022 08:37:33 +0000 (10:37 +0200)]
mydirname: rework and reduce the number of memory allocation
Baptiste Daroussin [Thu, 28 Apr 2022 08:23:22 +0000 (10:23 +0200)]
mybasename: simplify code and avoid allocating memory at all
Baptiste Daroussin [Thu, 20 Oct 2022 12:41:08 +0000 (14:41 +0200)]
Add a basic test suite
Baptiste Daroussin [Thu, 28 Apr 2022 08:20:05 +0000 (10:20 +0200)]
genmsgid: simplify code by using asprintf
Baptiste Daroussin [Wed, 4 May 2022 14:05:28 +0000 (16:05 +0200)]
random: use arc4random where available
Baptiste Daroussin [Thu, 20 Oct 2022 11:25:47 +0000 (13:25 +0200)]
modern C: replace malloc+snprintf with asprintf
Baptiste Daroussin [Wed, 20 Apr 2022 13:51:25 +0000 (15:51 +0200)]
cleanup: remove write only variable
Baptiste Daroussin [Wed, 20 Apr 2022 13:49:53 +0000 (15:49 +0200)]
memory: replace memory management with static inline functions
Those functions will abort the program in case if error in memory
allocations
Baptiste Daroussin [Wed, 20 Apr 2022 10:20:08 +0000 (12:20 +0200)]
modern C: use O_SYNC on open instead of calling fsync after each writes
Baptiste Daroussin [Wed, 20 Apr 2022 10:18:32 +0000 (12:18 +0200)]
modern C: replace writen with dprintf
Baptiste Daroussin [Wed, 20 Apr 2022 09:55:38 +0000 (11:55 +0200)]
modern C: use err(3)
Baptiste Daroussin [Wed, 20 Apr 2022 09:33:38 +0000 (11:33 +0200)]
modern C: use strftime enforcing C locale instead of reinventing it
Baptiste Daroussin [Wed, 20 Apr 2022 09:25:31 +0000 (11:25 +0200)]
modern C: use daemon(3) and closefrom(2)
Baptiste Daroussin [Wed, 20 Apr 2022 09:17:29 +0000 (11:17 +0200)]
cleanup: remove itoa and replace it with a a call to snprintf
Baptiste Daroussin [Wed, 27 Oct 2021 14:54:19 +0000 (16:54 +0200)]
statctrl: simplify the code to use access instead of stat
Baptiste Daroussin [Wed, 20 Apr 2022 08:49:38 +0000 (10:49 +0200)]
modern C: use dprintf(3) when possible
Baptiste Daroussin [Thu, 20 Oct 2022 11:14:45 +0000 (13:14 +0200)]
modern C: use O_APPEND instead of open+lseek
Geert Stappers [Thu, 25 May 2017 07:17:55 +0000 (09:17 +0200)]
Reduce subscription confirmation address length to fit RFC 5321
The local part of mailing list subscription confirmation addresses
formed of:
mailing-list-name "+confsub-" 16-random-hex "-" sender-address
can get very long, especially if sender-address is long.
However, RFC limits it at 64 characters.
Closes http://mlmmj.org/bugs/bug.php?id=63
Reported-by: mgorny@gentoo.org
Baptiste Daroussin [Thu, 20 Oct 2022 11:07:09 +0000 (13:07 +0200)]
Add support from X-Original-From
Baptiste Daroussin [Thu, 20 Oct 2022 11:05:53 +0000 (13:05 +0200)]
Add support for ipv6 and ipv6 only environment.
Baptiste Daroussin [Thu, 20 Oct 2022 11:03:18 +0000 (13:03 +0200)]
Add a "send" tunable
The "send" tunable corresponding to a list for emails from which
mails will sent unconditionally. It will not be moderated, nor subject
to subonlypost, nor modnonsubposts.
Baptiste Daroussin [Thu, 20 Oct 2022 10:57:36 +0000 (12:57 +0200)]
nobounceprove: disable bounce probe for debug purpose
Baptiste Daroussin [Thu, 20 Oct 2022 10:53:45 +0000 (12:53 +0200)]
Fix build with modern compilers
Ben Schmidt [Wed, 24 May 2017 23:08:47 +0000 (09:08 +1000)]
Added tag RELEASE_1_3_0 for changeset
570dd6d4942b
Ben Schmidt [Wed, 24 May 2017 21:32:05 +0000 (07:32 +1000)]
Mlmmj 1.3.0.
Ben Schmidt [Wed, 24 May 2017 22:50:33 +0000 (08:50 +1000)]
Improve compatibility with recent versions of Automake.