]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
3 years agolib-imap: fuzz-imap-bodystructure - Handle CR/LF suppression operated on nstrings
Marco Bettini [Fri, 15 Jul 2022 09:19:27 +0000 (09:19 +0000)] 
lib-imap: fuzz-imap-bodystructure - Handle CR/LF suppression operated on nstrings

3 years agolib-doveadm: Add return to luaL_error in lua_doveadm_client_cmd
Aki Tuomi [Mon, 18 Jul 2022 10:02:59 +0000 (13:02 +0300)] 
lib-doveadm: Add return to luaL_error in lua_doveadm_client_cmd

Satisfies static analyzers.

3 years agolib-ssl-iostream: Use data stack allocation for log prefix
Aki Tuomi [Mon, 18 Jul 2022 10:00:08 +0000 (13:00 +0300)] 
lib-ssl-iostream: Use data stack allocation for log prefix

Broken in 799cafd42fd47cc3bcb57f9fa98647051ba770ba

3 years agolib-ssl-iostream: Use event based logging
Aki Tuomi [Thu, 7 Jul 2022 07:05:22 +0000 (10:05 +0300)] 
lib-ssl-iostream: Use event based logging

To keep things less complicated, invalid cert info has been changed to a warning.

3 years agoglobal: Pass event to SSL iostream
Aki Tuomi [Fri, 8 Jul 2022 09:03:25 +0000 (12:03 +0300)] 
global: Pass event to SSL iostream

3 years agolib-ssl-iostream: Add event to struct ssl_iostream
Aki Tuomi [Thu, 7 Jul 2022 06:37:55 +0000 (09:37 +0300)] 
lib-ssl-iostream: Add event to struct ssl_iostream

3 years agolib-ssl-iostream: Indicate if we are creating client or server
Aki Tuomi [Fri, 8 Jul 2022 08:55:03 +0000 (11:55 +0300)] 
lib-ssl-iostream: Indicate if we are creating client or server

Needed for next commit.

3 years agolib-ssl-iostream: Convert invalid certificate message to warning
Aki Tuomi [Fri, 8 Jul 2022 13:00:24 +0000 (16:00 +0300)] 
lib-ssl-iostream: Convert invalid certificate message to warning

3 years agologin-common: Handle missing ssl_iostream in get_var_expand_table()
Aki Tuomi [Thu, 7 Jul 2022 10:58:02 +0000 (13:58 +0300)] 
login-common: Handle missing ssl_iostream in get_var_expand_table()

It can be missing during connection disconnection when connection
is lost uncleanly.

3 years agoanvil: Use memmove() for moving penalty checksum buffer
Timo Sirainen [Mon, 28 Feb 2022 19:43:27 +0000 (14:43 -0500)] 
anvil: Use memmove() for moving penalty checksum buffer

The memory wasn't actually overlapping, because CHECKSUM_VALUE_COUNT=2 so
only 1 element was memcpy()d. However, it would have been wrong if
CHECKSUM_VALUE_COUNT had been higher, so fix it to make the code
future-safe.

Found by Martin Strunz

3 years agolib-lua: Add dovecot.gettimeofday(), .nanoseconds() and .microseconds()
Timo Sirainen [Wed, 29 Jun 2022 15:12:56 +0000 (18:12 +0300)] 
lib-lua: Add dovecot.gettimeofday(), .nanoseconds() and .microseconds()

Lua itself doesn't have these nicely available.

3 years agolib-lua, lib-doveadm: Add lib-doveadm client API to Lua
Timo Sirainen [Tue, 28 Jun 2022 14:50:33 +0000 (17:50 +0300)] 
lib-lua, lib-doveadm: Add lib-doveadm client API to Lua

3 years agolib-lua: Add dlua_strtable_to_kvarray() and dlua_table_to_array()
Timo Sirainen [Wed, 6 Jul 2022 09:23:33 +0000 (12:23 +0300)] 
lib-lua: Add dlua_strtable_to_kvarray() and dlua_table_to_array()

3 years agolib-doveadm, doveadm: Add and require doveadm_client_unref()
Timo Sirainen [Wed, 29 Jun 2022 13:48:28 +0000 (16:48 +0300)] 
lib-doveadm, doveadm: Add and require doveadm_client_unref()

The only way to destroy a doveadm_client before was to send a command.

3 years agolib-lua: Makefile.am - Rename LIBDICT_LUA to WITH_YIELDS_LUA
Timo Sirainen [Tue, 28 Jun 2022 14:49:02 +0000 (17:49 +0300)] 
lib-lua: Makefile.am - Rename LIBDICT_LUA to WITH_YIELDS_LUA

It's not just dict that is being added there.

3 years agologin-proxy: Increase LOGIN_PROXY_TTL from 5 to 7
Timo Sirainen [Tue, 28 Jun 2022 09:53:26 +0000 (12:53 +0300)] 
login-proxy: Increase LOGIN_PROXY_TTL from 5 to 7

5 is a bit too much on the low side in case there are several redirects.
It shouldn't be too high either, since it'll increase how long it takes
to detect a proxying loop.

3 years agologin-proxy: Allow proxying twice to the same destination before it's assumed to...
Timo Sirainen [Tue, 28 Jun 2022 09:52:23 +0000 (12:52 +0300)] 
login-proxy: Allow proxying twice to the same destination before it's assumed to be a loop

3 years agolmtp: Fix forward_ fields handling with reauth requests
Timo Sirainen [Thu, 23 Jun 2022 21:11:39 +0000 (00:11 +0300)] 
lmtp: Fix forward_ fields handling with reauth requests

3 years agodoveadm: Don't preserve first auth's forward_ fields for reauth lookup
Timo Sirainen [Thu, 23 Jun 2022 20:56:20 +0000 (23:56 +0300)] 
doveadm: Don't preserve first auth's forward_ fields for reauth lookup

3 years agolib-auth, global: Change forward_fields to be an array of strings
Timo Sirainen [Thu, 23 Jun 2022 20:25:28 +0000 (23:25 +0300)] 
lib-auth, global: Change forward_fields to be an array of strings

3 years agopop3/submission-login: Split off a common client_forward_decode_base64()
Timo Sirainen [Thu, 23 Jun 2022 20:23:32 +0000 (23:23 +0300)] 
pop3/submission-login: Split off a common client_forward_decode_base64()

3 years agosubmission-login: Fix parsing multiple XCLIENT FORWARD parameters
Timo Sirainen [Thu, 23 Jun 2022 20:19:12 +0000 (23:19 +0300)] 
submission-login: Fix parsing multiple XCLIENT FORWARD parameters

Each such parameter was intended to replace the previous one, but
the code was only deleting the string without adding the new string.
This didn't really matter, since Dovecot would only ever send a
single FORWARD parameter.

3 years agolib-auth: Add debug logging for auth input
Timo Sirainen [Thu, 23 Jun 2022 17:12:46 +0000 (20:12 +0300)] 
lib-auth: Add debug logging for auth input

3 years agologin-common: Fix forward_ fields handling with reauth requests
Timo Sirainen [Thu, 23 Jun 2022 16:39:57 +0000 (19:39 +0300)] 
login-common: Fix forward_ fields handling with reauth requests

3 years agologin-common: Reauth error handling fixes
Timo Sirainen [Thu, 23 Jun 2022 15:02:15 +0000 (18:02 +0300)] 
login-common: Reauth error handling fixes

3 years agolib-imap: fuzz-imap-bodystructure - Compare ignorecase
Marco Bettini [Fri, 8 Jul 2022 07:57:51 +0000 (07:57 +0000)] 
lib-imap: fuzz-imap-bodystructure - Compare ignorecase

3 years agosubmission: Correctly handle var_expand() return codes
Karl Fleischmann [Thu, 7 Jul 2022 06:55:06 +0000 (08:55 +0200)] 
submission: Correctly handle var_expand() return codes

3 years agopop3: Correctly handle var_expand() return codes
Karl Fleischmann [Thu, 7 Jul 2022 06:54:52 +0000 (08:54 +0200)] 
pop3: Correctly handle var_expand() return codes

3 years agoplugins/notify-status: Correctly handle var_expand() return codes
Karl Fleischmann [Thu, 7 Jul 2022 06:54:38 +0000 (08:54 +0200)] 
plugins/notify-status: Correctly handle var_expand() return codes

3 years agolib-storage: Correctly handle var_expand() return codes
Karl Fleischmann [Thu, 7 Jul 2022 06:54:24 +0000 (08:54 +0200)] 
lib-storage: Correctly handle var_expand() return codes

3 years agoimap: Correctly handle var_expand() return codes
Karl Fleischmann [Thu, 7 Jul 2022 06:54:05 +0000 (08:54 +0200)] 
imap: Correctly handle var_expand() return codes

3 years agoauth: Correctly handle var_expand() return codes
Aki Tuomi [Mon, 24 Jul 2017 12:07:48 +0000 (15:07 +0300)] 
auth: Correctly handle var_expand() return codes

3 years agolib: Make var_expand() comparison consistent
Karl Fleischmann [Thu, 7 Jul 2022 08:02:57 +0000 (10:02 +0200)] 
lib: Make var_expand() comparison consistent

3 years agovar-expand-crypt: Make var_expand() comparisons consistent
Karl Fleischmann [Thu, 7 Jul 2022 07:59:31 +0000 (09:59 +0200)] 
var-expand-crypt: Make var_expand() comparisons consistent

3 years agovar-expand-crypt: Correctly handle var_expand() return codes
Aki Tuomi [Mon, 24 Jul 2017 12:05:51 +0000 (15:05 +0300)] 
var-expand-crypt: Correctly handle var_expand() return codes

3 years agovar-expand: Delegate error-handling in var_expand_try_extension()
Karl Fleischmann [Tue, 5 Jul 2022 11:26:38 +0000 (13:26 +0200)] 
var-expand: Delegate error-handling in var_expand_try_extension()

3 years agovar-expand: Retain error-message in var_expand_try_extension()
Karl Fleischmann [Tue, 5 Jul 2022 11:24:20 +0000 (13:24 +0200)] 
var-expand: Retain error-message in var_expand_try_extension()

3 years agovar-expand: Assert that hash method is found
Aki Tuomi [Mon, 24 Jul 2017 12:29:07 +0000 (15:29 +0300)] 
var-expand: Assert that hash method is found

3 years agovar-expand: Require extensions to set error_r if ret != 1
Aki Tuomi [Mon, 24 Jul 2017 12:26:10 +0000 (15:26 +0300)] 
var-expand: Require extensions to set error_r if ret != 1

3 years agoconfigure: Revert "configure: Remove unused sizeof directives"
Karl Fleischmann [Thu, 7 Jul 2022 11:52:38 +0000 (13:52 +0200)] 
configure: Revert "configure: Remove unused sizeof directives"

This reverts commit 90ec0579eda9bec1a3e636c6716d4edebf795cff, which
incorrectly determined the macros to be unnecessary. The cached values
are used in various places. This commit reverts and comments on the
necessity of the macros.

3 years agovirtual: When saving to virtual mailbox, convert it early on to backend mailbox
Timo Sirainen [Wed, 2 Mar 2022 22:49:27 +0000 (17:49 -0500)] 
virtual: When saving to virtual mailbox, convert it early on to backend mailbox

This fixes some confusion in plugins that don't understand that the mailbox
changes. For example when virtual mailbox is configured to save mails to a
backend mailbox, saving mails to the virtual mailbox will now trigger the
backend mailbox's imapsieve scripts. (Virtual mailbox names can't be used
in the imapsieve scripts or configuration, only the backend mailbox names.)

3 years agolib-storage: Add mailbox.mailbox_not_original flag
Timo Sirainen [Wed, 2 Mar 2022 23:05:27 +0000 (18:05 -0500)] 
lib-storage: Add mailbox.mailbox_not_original flag

3 years agolib-storage: Add default implementation for mailbox_list_vfuncs.get_storage()
Timo Sirainen [Wed, 2 Mar 2022 22:56:58 +0000 (17:56 -0500)] 
lib-storage: Add default implementation for mailbox_list_vfuncs.get_storage()

3 years agolib-storage: mailbox_list_get_storage() - Add flags, and allow changing vname
Timo Sirainen [Wed, 2 Mar 2022 22:37:50 +0000 (17:37 -0500)] 
lib-storage: mailbox_list_get_storage() - Add flags, and allow changing vname

The previous API allowed changing the mailbox_list, but not the vname
string. Now it's possible to change both.

The flags allows the implementation more flexibility. It will be used by
following commits to determine whether opening a virtual mailbox should
actually be opening the backend mailbox (for saving mails).

3 years agolib-imap: fuzz-imap-bodystructure - Replace string comparison with part comparison
Marco Bettini [Tue, 5 Jul 2022 09:50:32 +0000 (09:50 +0000)] 
lib-imap: fuzz-imap-bodystructure - Replace string comparison with part comparison

bodystructure strings comparison can break due to imap_append_string_for_humans()
can alter some fields (Subject, Addresses). Instead, we do a part vs part comparison
checking several string fields that are known not to use the aforementioned call.
This gives the fuzzer 'space' to explore the string parser anyway and to test if
the re-encoding is coherent.

3 years agolib-imap: fuzz-imap-bodystructure - Include header rather than source file
Marco Bettini [Tue, 5 Jul 2022 14:48:10 +0000 (14:48 +0000)] 
lib-imap: fuzz-imap-bodystructure - Include header rather than source file

3 years agolib-mail: Add message_part_is_equal_ex() allowing additional checks on parts
Marco Bettini [Tue, 5 Jul 2022 15:32:22 +0000 (15:32 +0000)] 
lib-mail: Add message_part_is_equal_ex() allowing additional checks on parts

3 years agolib-test: FUZZ_BEGIN_STR() - Replace NULs('\0') with backslashes '\\'
Marco Bettini [Tue, 5 Jul 2022 09:50:19 +0000 (09:50 +0000)] 
lib-test: FUZZ_BEGIN_STR() - Replace NULs('\0') with backslashes '\\'

This is done so that the strings generated from fuzzer data always contain a
maximal length string. The presence of NULs creates aliases in the fuzz space
and makes less likely to generate very long NUL terminated strings.
The backslash is chosen instead of space as replacement because it is usually
a more troublesome character to handle.

3 years agoauth: Add a comment about updating userdb_find()
Timo Sirainen [Mon, 16 May 2022 12:58:45 +0000 (14:58 +0200)] 
auth: Add a comment about updating userdb_find()

3 years agoauth: Fix handling passdbs with identical driver/args but different mechanisms/userna...
Timo Sirainen [Mon, 9 May 2022 12:23:33 +0000 (15:23 +0300)] 
auth: Fix handling passdbs with identical driver/args but different mechanisms/username_filter

The passdb was wrongly deduplicated in this situation, causing wrong
mechanisms or username_filter setting to be used. This would be a rather
unlikely configuration though.

Fixed by moving mechanisms and username_filter from struct passdb_module
to struct auth_passdb, which is where they should have been in the first
place.

3 years agolib-storage: Avoid calling mail_set_attachment_keywords() recursively
Timo Sirainen [Tue, 22 Feb 2022 16:47:55 +0000 (17:47 +0100)] 
lib-storage: Avoid calling mail_set_attachment_keywords() recursively

It doesn't break, but it's unnecessary work.

3 years agolib-imap: imap_bodystructure_parse*() - Reset parts.data on failure
Timo Sirainen [Tue, 22 Feb 2022 16:44:02 +0000 (17:44 +0100)] 
lib-imap: imap_bodystructure_parse*() - Reset parts.data on failure

Having the data filled only to some message_parts can confuse the callers,
thinking that all the parts were successfully filled.

Fixes:
Panic: file message-part-data.c: line 579 (message_part_is_attachment): assertion failed: (data != NULL)

3 years agowant_ldap.m4: Define LDAP_DEPRECATED unconditionally when ldap is enabled
Karl Fleischmann [Tue, 5 Jul 2022 12:10:13 +0000 (14:10 +0200)] 
want_ldap.m4: Define LDAP_DEPRECATED unconditionally when ldap is enabled

Regression was introduced in 838e65f96678a4a390c94f0a59e1ec489ee532d2.

3 years agolib-imap: imap_bodystructure_parse_args() - Prevent stack overflow on too nested...
Marco Bettini [Mon, 4 Jul 2022 10:37:18 +0000 (10:37 +0000)] 
lib-imap: imap_bodystructure_parse_args() - Prevent stack overflow on too nested bodyparts

3 years agolib-imap: is_valid_atom_char() - Fix implicit conversion from unsigned to signed...
Marco Bettini [Mon, 4 Jul 2022 09:51:01 +0000 (09:51 +0000)] 
lib-imap: is_valid_atom_char() - Fix implicit conversion from unsigned to signed char

3 years agolib-imap: str_sanitize_binary() - Fix implicit conversion from bool to int
Marco Bettini [Mon, 4 Jul 2022 09:49:32 +0000 (09:49 +0000)] 
lib-imap: str_sanitize_binary() - Fix implicit conversion from bool to int

3 years agom4: Configure lua to be auto-enabled by default
Karl Fleischmann [Mon, 4 Jul 2022 10:06:24 +0000 (12:06 +0200)] 
m4: Configure lua to be auto-enabled by default

3 years agostat/event-exporter-fmt.c: Cast tv_usec value to unsigned int in rfc3339-time formatter
Karl Fleischmann [Fri, 24 Jun 2022 07:45:15 +0000 (09:45 +0200)] 
stat/event-exporter-fmt.c: Cast tv_usec value to unsigned int in rfc3339-time formatter

This commit prevents compilation warnings if tv_usec has a different
type than the assumed unsigned long (e.g. on macOS). This also makes the
rfc3339-time formatter consistent with the unix-time formatter for this
field.

3 years agoconfigure: Remove unused sizeof directives
Karl Fleischmann [Fri, 24 Jun 2022 06:11:53 +0000 (08:11 +0200)] 
configure: Remove unused sizeof directives

3 years agolib: Use size of size_t instead of data-model for bit-widths
Karl Fleischmann [Fri, 24 Jun 2022 06:07:09 +0000 (08:07 +0200)] 
lib: Use size of size_t instead of data-model for bit-widths

This commit drops the generic and confusing data-model check (that
is a platform-specific value of bit-widths for various data types) in
favor of checking the actually used size (i.e. size_t).

3 years agolib-fs/fs-posix: Fix variable scopes for missing flock()
Karl Fleischmann [Wed, 22 Jun 2022 08:14:56 +0000 (10:14 +0200)] 
lib-fs/fs-posix: Fix variable scopes for missing flock()

Move local variables into their used scope to fix unused-variable errors
in case flock() is not available.

3 years agolib/mmap-util: Drop manual redefinition of madvise()
Karl Fleischmann [Wed, 22 Jun 2022 08:05:19 +0000 (10:05 +0200)] 
lib/mmap-util: Drop manual redefinition of madvise()

Using posix_madvise() allows us to drop the manual re-implementation of
madvise() and the relevant function-check in the configuration step.

3 years agoglobal: Replace madvise() with posix_madvise() function
Karl Fleischmann [Wed, 22 Jun 2022 08:02:35 +0000 (10:02 +0200)] 
global: Replace madvise() with posix_madvise() function

To allow compilation on POSIX conformant systems this commit replaces
the non-standard madvise() call and it's advice-values with the posix
specific posix_madvise() and appropriate values.

3 years agolib/compat.h: Remove unnecessary GNUC-checks for typechecks
Karl Fleischmann [Tue, 21 Jun 2022 13:34:46 +0000 (15:34 +0200)] 
lib/compat.h: Remove unnecessary GNUC-checks for typechecks

3 years agolib: Make pagesize-retrieval portable
Karl Fleischmann [Tue, 21 Jun 2022 12:50:11 +0000 (14:50 +0200)] 
lib: Make pagesize-retrieval portable

The getpagesize() function has been deprecated in POSIX.1-2001. This
commit replaces the function call with the portable way to retrieve this
value at runtime. All callsites now use mmap_get_page_size() as the
canonical way to retrieve this value in this project.

3 years agodoc/Makefile.am: Explicitly state requirements for venv target
Karl Fleischmann [Fri, 10 Jun 2022 14:22:10 +0000 (16:22 +0200)] 
doc/Makefile.am: Explicitly state requirements for venv target

FreeBSD does not correctly resolve the prerequisite macros for the
venv-target, so explicitly state the file to recursively install.

3 years agolib-index/test-mail-index-transaction-update.c: Fix timzone offset check
Karl Fleischmann [Fri, 10 Jun 2022 13:44:52 +0000 (15:44 +0200)] 
lib-index/test-mail-index-transaction-update.c: Fix timzone offset check

The extern timezone variable is not standardized. This commit introduces
a more portable way of determining the UTC-offset by using the local
time.

3 years agoauth/db-ldap.h: Define LDAP_DEPRECATED in m4/want_ldap.m4 if enabled
Karl Fleischmann [Fri, 10 Jun 2022 13:39:09 +0000 (15:39 +0200)] 
auth/db-ldap.h: Define LDAP_DEPRECATED in m4/want_ldap.m4 if enabled

This will supply this macro to all places where db-ldap.h is not
included. This is necessary to make the project compile on FreeBSD.

3 years agolib/compat.h: Remove manual definition of IOV_MAX
Karl Fleischmann [Mon, 13 Jun 2022 13:32:37 +0000 (15:32 +0200)] 
lib/compat.h: Remove manual definition of IOV_MAX

This is POSIX 2008 and the project now defines _XOPEN_SOURCE, so a
manual check/re-definition should not be necessary.

3 years agolib/compat.h: Remove workardound for dev_t comparisons
Karl Fleischmann [Mon, 13 Jun 2022 13:10:53 +0000 (15:10 +0200)] 
lib/compat.h: Remove workardound for dev_t comparisons

dev_t is defined by POSIX to be a number, and all supported systems
define major() and minor() at one place or the other, thus this commit
removes the workarounds.

3 years agolib/compat.h: Remove HAVE_PREAD workaround
Karl Fleischmann [Mon, 13 Jun 2022 12:32:52 +0000 (14:32 +0200)] 
lib/compat.h: Remove HAVE_PREAD workaround

pread() should be included in the systems that we officially support (as
is required by defining _POSIX_C_SOURCE), there is no further need to
check for this function's existence or manual
re-implementations/workarounds.

3 years agolib/compat.h: Remove PREAD_WRAPPERS workaround
Karl Fleischmann [Mon, 13 Jun 2022 12:20:53 +0000 (14:20 +0200)] 
lib/compat.h: Remove PREAD_WRAPPERS workaround

As this project defines a baseline system with
_XOPEN_SOURCE/_POSIX_C_SOURCE that includes pread for glibc, this
workaround can be removed.

3 years agolib/compat.h: Remove PREAD_BROKEN workaround
Karl Fleischmann [Mon, 13 Jun 2022 12:08:39 +0000 (14:08 +0200)] 
lib/compat.h: Remove PREAD_BROKEN workaround

As HP-UX is not officially supported anymore this workaround can be
safely removed.

3 years agolib/compat.h: Define a base compilation system
Karl Fleischmann [Fri, 3 Jun 2022 14:02:52 +0000 (16:02 +0200)] 
lib/compat.h: Define a base compilation system

Add macros to setup the compiler environment for a specific baseline,
this allows us to drop manual re-implementations of system-provided
functionality.

3 years agolib/compat.h: Remove shim of LLONG_MAX definition
Karl Fleischmann [Fri, 3 Jun 2022 13:57:08 +0000 (15:57 +0200)] 
lib/compat.h: Remove shim of LLONG_MAX definition

The base system is now required to supply a sensibly up-to-date compiler
suite/standard library that defines LLONG_MAX natively and thus this
manual re-definition can be dropped.

3 years agolib/compat.h: Remove shim of C99 integer datatypes
Karl Fleischmann [Fri, 3 Jun 2022 13:56:11 +0000 (15:56 +0200)] 
lib/compat.h: Remove shim of C99 integer datatypes

The base system is now required to be compatible with C99 and thus the
manual check/re-definition of the necessary integer types can be
dropped.

3 years agolib/compat.h: Remove shim for native C99 bool datatype/keyword
Karl Fleischmann [Fri, 3 Jun 2022 13:54:28 +0000 (15:54 +0200)] 
lib/compat.h: Remove shim for native C99 bool datatype/keyword

The base system is now required to be compatible with C99 and thus the
manual check/re-definition of bool can be dropped.

3 years agolib/compat.h: Remove shim of C99 vsnprintf
Karl Fleischmann [Fri, 3 Jun 2022 13:52:37 +0000 (15:52 +0200)] 
lib/compat.h: Remove shim of C99 vsnprintf

The base system is now required to be compatible with C99 and thus the
manual check/re-implementation can be dropped.

3 years agolib/compat.h: Remove libgen compatibility hack
Karl Fleischmann [Mon, 13 Jun 2022 08:40:40 +0000 (10:40 +0200)] 
lib/compat.h: Remove libgen compatibility hack

Neither libgen.h nor its provided functions is used anywhere and thus
the manual re-implementation compatibility hack can be removed as well.

3 years agolib: Remove unnecessary include of libgen.h
Karl Fleischmann [Mon, 13 Jun 2022 08:40:05 +0000 (10:40 +0200)] 
lib: Remove unnecessary include of libgen.h

Includes unnecessary as none of the provided functions are used.

3 years agolib/compat.h: Document compatibility hacks
Karl Fleischmann [Fri, 3 Jun 2022 13:45:08 +0000 (15:45 +0200)] 
lib/compat.h: Document compatibility hacks

3 years agom4: dovecot.m4 - Remove PANDOC requirement
Karl Fleischmann [Thu, 16 Jun 2022 13:29:59 +0000 (15:29 +0200)] 
m4: dovecot.m4 - Remove PANDOC requirement

3 years agom4: want_lua.m4 - Maintain code quality
Karl Fleischmann [Thu, 16 Jun 2022 13:27:02 +0000 (15:27 +0200)] 
m4: want_lua.m4 - Maintain code quality

This commit is mainly for making the lua-related macros consistent with
the rest of the configurations. No functional changes were made:
- Move lua argument registration into configure to be co-located with
  other options,
- move lua conditionals into want_lua macro for increased consistency,
- rename parameter to "want_lua", and
- fix indentation.

3 years agom4: want_lua.m4 - Fix pkg-config check
Karl Fleischmann [Thu, 16 Jun 2022 13:24:38 +0000 (15:24 +0200)] 
m4: want_lua.m4 - Fix pkg-config check

Make sure the configuration errors out when --with-lua is requested but
not viable library can be found. Previously this would lead to
compilation errors.

3 years agom4: Remove signed-check of size_t
Karl Fleischmann [Thu, 16 Jun 2022 09:23:57 +0000 (11:23 +0200)] 
m4: Remove signed-check of size_t

According to the C standard it shall be unsigned and this project
requires a compliant C99 compiler.

3 years agom4: Remove unused VA_COPY_AS_ARRAY macro
Karl Fleischmann [Thu, 16 Jun 2022 09:18:46 +0000 (11:18 +0200)] 
m4: Remove unused VA_COPY_AS_ARRAY macro

3 years agom4: Remove check for clock_gettime()
Karl Fleischmann [Thu, 16 Jun 2022 08:35:52 +0000 (10:35 +0200)] 
m4: Remove check for clock_gettime()

This project requires a POSIX.1-2008 compatible system and
clock_gettime() is conforming to POSIX.1-2001.

3 years agom4: Remove check for C99 static array sizes
Karl Fleischmann [Thu, 16 Jun 2022 08:01:17 +0000 (10:01 +0200)] 
m4: Remove check for C99 static array sizes

As we require C99 to be supported this check can be reverted into a
static declaration.

3 years agom4: Remove unused AC_CHECKTYPE2 macro
Karl Fleischmann [Thu, 16 Jun 2022 07:51:10 +0000 (09:51 +0200)] 
m4: Remove unused AC_CHECKTYPE2 macro

3 years agom4: want_gssapi.m4 - Replace tabs with spaces
Karl Fleischmann [Thu, 9 Jun 2022 07:06:15 +0000 (09:06 +0200)] 
m4: want_gssapi.m4 - Replace tabs with spaces

3 years agom4: gmtime_max.m4 - Replace tabs with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:28:54 +0000 (10:28 +0200)] 
m4: gmtime_max.m4 - Replace tabs with spaces

3 years agom4: ioloop.m4 - Replace tab with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:27:55 +0000 (10:27 +0200)] 
m4: ioloop.m4 - Replace tab with spaces

3 years agom4: quota.m4 - Replace tab with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:26:54 +0000 (10:26 +0200)] 
m4: quota.m4 - Replace tab with spaces

3 years agom4: vararg.m4 - Replace tab with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:24:42 +0000 (10:24 +0200)] 
m4: vararg.m4 - Replace tab with spaces

3 years agom4: check_python_venv.m4 - Replace tabs with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:18:52 +0000 (10:18 +0200)] 
m4: check_python_venv.m4 - Replace tabs with spaces

3 years agom4: ac_typeof.m4 - Replace tabs with spaces
Karl Fleischmann [Tue, 14 Jun 2022 08:18:01 +0000 (10:18 +0200)] 
m4: ac_typeof.m4 - Replace tabs with spaces

3 years agom4: random.m4 - Fix indentation
Karl Fleischmann [Tue, 14 Jun 2022 08:26:34 +0000 (10:26 +0200)] 
m4: random.m4 - Fix indentation

3 years agom4: sql.m4 - Fix indentation
Karl Fleischmann [Thu, 9 Jun 2022 14:19:49 +0000 (16:19 +0200)] 
m4: sql.m4 - Fix indentation

3 years agom4: want_pam.m4 - Fix indentation
Karl Fleischmann [Thu, 9 Jun 2022 14:15:23 +0000 (16:15 +0200)] 
m4: want_pam.m4 - Fix indentation

3 years agom4: want_icu.m4 - Simplify pkg-config check
Karl Fleischmann [Tue, 14 Jun 2022 06:57:08 +0000 (08:57 +0200)] 
m4: want_icu.m4 - Simplify pkg-config check

This commit simplifies the package check to be more consistent with the
other pkg-config module checks, which lowers the burden of maintenance.