]> git.ipfire.org Git - thirdparty/mlmmj.git/log
thirdparty/mlmmj.git
2 years agotests: fix hardcoded path
Baptiste Daroussin [Fri, 2 Dec 2022 10:48:10 +0000 (11:48 +0100)] 
tests: fix hardcoded path

2 years agoglibc: fix warning with glibc which requires _GNU_SOURCE for asprintf
Baptiste Daroussin [Fri, 2 Dec 2022 09:18:44 +0000 (10:18 +0100)] 
glibc: fix warning with glibc which requires _GNU_SOURCE for asprintf

2 years agotests: fix tests on alpine
Baptiste Daroussin [Fri, 2 Dec 2022 09:18:30 +0000 (10:18 +0100)] 
tests: fix tests on alpine

2 years agoREADME: Let know new user that project requires a listtexts 1/head
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.

2 years agomlmmj-maintd: drop closefrom(2)
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.

2 years agoincindexfile: simplify code
Baptiste Daroussin [Thu, 10 Nov 2022 17:01:12 +0000 (18:01 +0100)] 
incindexfile: simplify code

2 years agoportability: include stdint.h to make sure uintmax_t is known
Baptiste Daroussin [Thu, 10 Nov 2022 15:48:22 +0000 (16:48 +0100)] 
portability: include stdint.h to make sure uintmax_t is known

2 years agoportability: handle systems without O_EXLOCK
Baptiste Daroussin [Thu, 10 Nov 2022 15:25:05 +0000 (16:25 +0100)] 
portability: handle systems without O_EXLOCK

2 years agoportability: use limits.h not sys/limits.h
Baptiste Daroussin [Tue, 8 Nov 2022 12:34:01 +0000 (13:34 +0100)] 
portability: use limits.h not sys/limits.h

2 years agoRemove versionning from README and fix
Baptiste Daroussin [Tue, 8 Nov 2022 12:22:00 +0000 (13:22 +0100)] 
Remove versionning from README and fix

2 years agoRemove test which is now performed earlier
Baptiste Daroussin [Fri, 28 Oct 2022 15:02:40 +0000 (17:02 +0200)] 
Remove test which is now performed earlier

2 years agoRemove useless header
Baptiste Daroussin [Fri, 28 Oct 2022 14:47:52 +0000 (16:47 +0200)] 
Remove useless header

2 years agomlmmj-maintd: remove write only variable
Baptiste Daroussin [Fri, 28 Oct 2022 14:46:54 +0000 (16:46 +0200)] 
mlmmj-maintd: remove write only variable

2 years agoRename do_unsubscribe into unsubsribe
Baptiste Daroussin [Fri, 28 Oct 2022 14:40:59 +0000 (16:40 +0200)] 
Rename do_unsubscribe into unsubsribe

2 years agomlmmj-unsub: make use of do_unsubscribe
Baptiste Daroussin [Fri, 28 Oct 2022 14:37:23 +0000 (16:37 +0200)] 
mlmmj-unsub: make use of do_unsubscribe

2 years agoAdd test for mlmmj-sub and mlmmj-unsub
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 '@'

2 years agomlmmj-send: do not test version number
Baptiste Daroussin [Fri, 28 Oct 2022 13:49:42 +0000 (15:49 +0200)] 
mlmmj-send: do not test version number

2 years agomlmmj-unsub: remove the now unused -b option
Baptiste Daroussin [Fri, 28 Oct 2022 13:35:26 +0000 (15:35 +0200)] 
mlmmj-unsub: remove the now unused -b option

2 years agomlmmj-maintd: improve error handling of bouncers unsubscribtion
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)

2 years agoAdd function to unsubscribe people
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.

2 years agomlmmj-maintd: cover with test the code to unsubscribe bouncers
Baptiste Daroussin [Thu, 27 Oct 2022 14:49:37 +0000 (16:49 +0200)] 
mlmmj-maintd: cover with test the code to unsubscribe bouncers

2 years agomlmmj-maintd: use the generic bouncetime extracter
Baptiste Daroussin [Thu, 27 Oct 2022 14:27:02 +0000 (16:27 +0200)] 
mlmmj-maintd: use the generic bouncetime extracter

2 years agomlmmj: add a function to extract bouncetime from bounce file
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

2 years agodeindent
Baptiste Daroussin [Thu, 27 Oct 2022 12:57:41 +0000 (14:57 +0200)] 
deindent

2 years agolastdigest: add a function to parse the line and its unit test
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

2 years agomlmmj-maintd: replace a bunch of stat with access
Baptiste Daroussin [Thu, 27 Oct 2022 10:04:37 +0000 (12:04 +0200)] 
mlmmj-maintd: replace a bunch of stat with access

2 years agomlmmj-maintd: remove useless stat
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

2 years agomlmmj-maintd: replace stat with access to verify the existance of a file
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

2 years agomlmmj-maintd: add a test in case the moderation directory is missing
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

2 years agomlmmj-maintd: reduce noise in logging if the log file cannot be created
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

2 years agomlmmj-maintd: test when trying to open an inexisting directory
Baptiste Daroussin [Thu, 27 Oct 2022 09:05:51 +0000 (11:05 +0200)] 
mlmmj-maintd: test when trying to open an inexisting directory

2 years agolog_activate_stderr: reopen logs when changing the options
Baptiste Daroussin [Thu, 27 Oct 2022 09:01:28 +0000 (11:01 +0200)] 
log_activate_stderr: reopen logs when changing the options

2 years agomlmmj-maintd: rework the log mechanism
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

2 years agolog_error: add a less noisy syslog logging function
Baptiste Daroussin [Wed, 26 Oct 2022 14:51:39 +0000 (16:51 +0200)] 
log_error: add a less noisy syslog logging function

2 years agolog_error: rework syslog
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

2 years agomlmmj-maintd: convert daemonize into a boolean
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

2 years agomlmmj-maintd: include the mailing list path in the log name
Baptiste Daroussin [Wed, 26 Oct 2022 13:08:22 +0000 (15:08 +0200)] 
mlmmj-maintd: include the mailing list path in the log name

2 years agolog: add a function to build dynamically 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

2 years agotests: add a small testsuite for mlmmj-maintd
Baptiste Daroussin [Wed, 26 Oct 2022 12:36:47 +0000 (14:36 +0200)] 
tests: add a small testsuite for mlmmj-maintd

2 years agoconfigure: add --enable-coverage
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

2 years agomlmmj-maintd: add test with relative path as argument
Baptiste Daroussin [Wed, 26 Oct 2022 09:38:25 +0000 (11:38 +0200)] 
mlmmj-maintd: add test with relative path as argument

2 years agomlmmj-maintd: big refactoring to avoid the chdir() dansing
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

2 years agoremove dead code
Baptiste Daroussin [Tue, 25 Oct 2022 15:28:12 +0000 (17:28 +0200)] 
remove dead code

2 years agotests add simple functional tests about discarding invalid mails
Baptiste Daroussin [Tue, 25 Oct 2022 15:22:50 +0000 (17:22 +0200)] 
tests add simple functional tests about discarding invalid mails

2 years agomlmmj-receive-strip: fix build
Baptiste Daroussin [Tue, 25 Oct 2022 14:36:21 +0000 (16:36 +0200)] 
mlmmj-receive-strip: fix build

2 years agoComplete changelog
Baptiste Daroussin [Mon, 24 Oct 2022 16:10:28 +0000 (18:10 +0200)] 
Complete changelog

2 years agoFix decode quoted printable by using a full decoder
Baptiste Daroussin [Mon, 24 Oct 2022 16:03:20 +0000 (18:03 +0200)] 
Fix decode quoted printable by using a full decoder

2 years agomygetcontent: remove now unused function
Baptiste Daroussin [Mon, 24 Oct 2022 15:50:38 +0000 (17:50 +0200)] 
mygetcontent: remove now unused function

2 years agoRemove leftovers from memory.h removal
Baptiste Daroussin [Mon, 24 Oct 2022 15:46:42 +0000 (17:46 +0200)] 
Remove leftovers from memory.h removal

2 years agoctrlval: use getline/getdelim
Baptiste Daroussin [Mon, 24 Oct 2022 15:46:18 +0000 (17:46 +0200)] 
ctrlval: use getline/getdelim

2 years agocontrols: fix fallback value assignation
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

2 years agoutils: add function to convert a control file to time_t
Baptiste Daroussin [Mon, 24 Oct 2022 15:30:23 +0000 (17:30 +0200)] 
utils: add function to convert a control file to time_t

2 years agomail-functions: factorize the code.
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

2 years agotest: add test for strtoim functions
Baptiste Daroussin [Mon, 24 Oct 2022 13:35:07 +0000 (15:35 +0200)] 
test: add test for strtoim functions

2 years agotest: add a test for find_email_adr
Baptiste Daroussin [Mon, 24 Oct 2022 13:24:26 +0000 (15:24 +0200)] 
test: add a test for find_email_adr

2 years agosimplify code using isspace()
Baptiste Daroussin [Mon, 24 Oct 2022 12:56:17 +0000 (14:56 +0200)] 
simplify code using isspace()

2 years agoReplace malloc+strcpy with strdup()
Baptiste Daroussin [Mon, 24 Oct 2022 12:53:18 +0000 (14:53 +0200)] 
Replace malloc+strcpy with strdup()

2 years agomlmmjsend: reduce memory allocation when dealing with index
Baptiste Daroussin [Mon, 24 Oct 2022 12:50:53 +0000 (14:50 +0200)] 
mlmmjsend: reduce memory allocation when dealing with index

2 years agocleanup: eliminate write only variable
Baptiste Daroussin [Mon, 24 Oct 2022 12:41:09 +0000 (14:41 +0200)] 
cleanup: eliminate write only variable

2 years agocleanup: generalize usage of exec_or_die/exec_and_wait
Baptiste Daroussin [Mon, 24 Oct 2022 12:35:34 +0000 (14:35 +0200)] 
cleanup: generalize usage of exec_or_die/exec_and_wait

2 years agoutils: add 2 wrappers around posix_spawn
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

2 years agomlmmj-send: validate values loaded from config files
Baptiste Daroussin [Mon, 24 Oct 2022 10:04:05 +0000 (12:04 +0200)] 
mlmmj-send: validate values loaded from config files

2 years agoctrlushort: add a helper to convert string to unsigned short
Baptiste Daroussin [Mon, 24 Oct 2022 10:03:35 +0000 (12:03 +0200)] 
ctrlushort: add a helper to convert string to unsigned short

2 years agoincindexfile: refactor using modern C code and better validate inputs
Baptiste Daroussin [Mon, 24 Oct 2022 09:15:33 +0000 (11:15 +0200)] 
incindexfile: refactor using modern C code and better validate inputs

2 years agoutils: add functions to convert integers
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

2 years agolistcontrol: fix crash when no owner is defined
Baptiste Daroussin [Mon, 24 Oct 2022 08:51:01 +0000 (10:51 +0200)] 
listcontrol: fix crash when no owner is defined

2 years agobouncemail: ensure all inputs are checked entirely
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

2 years agomlmmj-send: convert listctrl to a simple char
Baptiste Daroussin [Mon, 24 Oct 2022 08:39:11 +0000 (10:39 +0200)] 
mlmmj-send: convert listctrl to a simple char

2 years agomlmmj-send: validate argument for -l option
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

2 years agodsnparse: fix parsing of RFC1891
Baptiste Daroussin [Wed, 17 Aug 2022 16:17:19 +0000 (18:17 +0200)] 
dsnparse: fix parsing of RFC1891

2 years agomodern C: replace malloc + snprintf with asprintf
Baptiste Daroussin [Thu, 20 Oct 2022 14:57:35 +0000 (16:57 +0200)] 
modern C: replace malloc + snprintf with asprintf

2 years agomodern C: use O_EXLOCK instead of homemade locking
Baptiste Daroussin [Thu, 20 Oct 2022 14:41:19 +0000 (16:41 +0200)] 
modern C: use O_EXLOCK instead of homemade locking

2 years agoutils: factorize lowercase code
Baptiste Daroussin [Thu, 28 Apr 2022 09:26:34 +0000 (11:26 +0200)] 
utils: factorize lowercase code

2 years agogenmsgid: add unit test
Baptiste Daroussin [Thu, 20 Oct 2022 13:59:01 +0000 (15:59 +0200)] 
genmsgid: add unit test

2 years agomydirname: rework and reduce the number of memory allocation
Baptiste Daroussin [Thu, 28 Apr 2022 08:37:33 +0000 (10:37 +0200)] 
mydirname: rework and reduce the number of memory allocation

2 years agomybasename: simplify code and avoid allocating memory at all
Baptiste Daroussin [Thu, 28 Apr 2022 08:23:22 +0000 (10:23 +0200)] 
mybasename: simplify code and avoid allocating memory at all

2 years agoAdd a basic test suite
Baptiste Daroussin [Thu, 20 Oct 2022 12:41:08 +0000 (14:41 +0200)] 
Add a basic test suite

2 years agogenmsgid: simplify code by using asprintf
Baptiste Daroussin [Thu, 28 Apr 2022 08:20:05 +0000 (10:20 +0200)] 
genmsgid: simplify code by using asprintf

2 years agorandom: use arc4random where available
Baptiste Daroussin [Wed, 4 May 2022 14:05:28 +0000 (16:05 +0200)] 
random: use arc4random where available

2 years agomodern C: replace malloc+snprintf with asprintf
Baptiste Daroussin [Thu, 20 Oct 2022 11:25:47 +0000 (13:25 +0200)] 
modern C: replace malloc+snprintf with asprintf

2 years agocleanup: remove write only variable
Baptiste Daroussin [Wed, 20 Apr 2022 13:51:25 +0000 (15:51 +0200)] 
cleanup: remove write only variable

2 years agomemory: replace memory management with static inline functions
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

2 years agomodern C: use O_SYNC on open instead of calling fsync after each writes
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

2 years agomodern C: replace writen with dprintf
Baptiste Daroussin [Wed, 20 Apr 2022 10:18:32 +0000 (12:18 +0200)] 
modern C: replace writen with dprintf

2 years agomodern C: use err(3)
Baptiste Daroussin [Wed, 20 Apr 2022 09:55:38 +0000 (11:55 +0200)] 
modern C: use err(3)

2 years agomodern C: use strftime enforcing C locale instead of reinventing it
Baptiste Daroussin [Wed, 20 Apr 2022 09:33:38 +0000 (11:33 +0200)] 
modern C: use strftime enforcing C locale instead of reinventing it

2 years agomodern C: use daemon(3) and closefrom(2)
Baptiste Daroussin [Wed, 20 Apr 2022 09:25:31 +0000 (11:25 +0200)] 
modern C: use daemon(3) and closefrom(2)

2 years agocleanup: remove itoa and replace it with a a call to snprintf
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

2 years agostatctrl: simplify the code to use access instead of stat
Baptiste Daroussin [Wed, 27 Oct 2021 14:54:19 +0000 (16:54 +0200)] 
statctrl: simplify the code to use access instead of stat

2 years agomodern C: use dprintf(3) when possible
Baptiste Daroussin [Wed, 20 Apr 2022 08:49:38 +0000 (10:49 +0200)] 
modern C: use dprintf(3) when possible

2 years agomodern C: use O_APPEND instead of open+lseek
Baptiste Daroussin [Thu, 20 Oct 2022 11:14:45 +0000 (13:14 +0200)] 
modern C: use O_APPEND instead of open+lseek

2 years agoReduce subscription confirmation address length to fit RFC 5321
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
2 years agoAdd support from X-Original-From
Baptiste Daroussin [Thu, 20 Oct 2022 11:07:09 +0000 (13:07 +0200)] 
Add support from X-Original-From

2 years agoAdd support for ipv6 and ipv6 only environment.
Baptiste Daroussin [Thu, 20 Oct 2022 11:05:53 +0000 (13:05 +0200)] 
Add support for ipv6 and ipv6 only environment.

2 years agoAdd a "send" tunable
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.

2 years agonobounceprove: disable bounce probe for debug purpose
Baptiste Daroussin [Thu, 20 Oct 2022 10:57:36 +0000 (12:57 +0200)] 
nobounceprove: disable bounce probe for debug purpose

2 years agoFix build with modern compilers
Baptiste Daroussin [Thu, 20 Oct 2022 10:53:45 +0000 (12:53 +0200)] 
Fix build with modern compilers

8 years agoAdded tag RELEASE_1_3_0 for changeset 570dd6d4942b
Ben Schmidt [Wed, 24 May 2017 23:08:47 +0000 (09:08 +1000)] 
Added tag RELEASE_1_3_0 for changeset 570dd6d4942b

8 years agoMlmmj 1.3.0. RELEASE_1_3_0
Ben Schmidt [Wed, 24 May 2017 21:32:05 +0000 (07:32 +1000)] 
Mlmmj 1.3.0.

8 years agoImprove compatibility with recent versions of Automake.
Ben Schmidt [Wed, 24 May 2017 22:50:33 +0000 (08:50 +1000)] 
Improve compatibility with recent versions of Automake.