41ff6e6a4a085786d4c15a58c7c50a28e2110c3f |
|
07-Feb-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
auth: Add policy check configuration options
Allows disabling before/after auth checks, or reporting. |
677b75f90d81eafe742896d6570a2f63ce501d05 |
|
19-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: don't cast NULL to void *
NULL is guaranteed to be a void * thanks to
dd6043c05e32a8e8db1233ed711a2c74d1477a89. |
8de6351e4f658b1100f0c19ea1af84ef2fe38753 |
|
04-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
auth: client protocol: Recognize empty initial response field as an absent initial response for older clients.
Particularly, Exim sends an empty initial response field in the AUTH request for
an authentication command that has no initial response. Originally, Dovecot
allowed this, but this was recently changed so that the EXTERNAL SASL mechanism
works properly from ManageSieve. This commit makes it allowed again for older
authentication clients to send an empty initial response field for an
authentication command that has no initial response part. Sending '=' for an
empty initial response is still allowed in general. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
e4b72bd73bfffda7906faa248eab31f936cfc6fa |
|
28-Nov-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
auth: Properly recognize an empty initial SASL response.
It was erroneously handled as an absent initial response.
Restructured the code for clarity and changed the comments: '=' should not be passed to SASL layer at all. |
c147bff818798a979d93537f72f5c1f68f5d5ba8 |
|
24-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Use t_buffer_create
sed -i -e 's/buffer_create_dynamic(pool_datastack_create(), */t_buffer_create(/g' |
19557f192d37cd54a1a090a8a26d9d47265e4413 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix spelling mistakes in comments
Original work by @andreasschulze and @jsoref |
0d1b8b6bec79746c5d89d57dd8c1688946bd9237 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on timeout_remove(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- timeout_remove(&E);
- }
+ timeout_remove(&E); |
b20202007c06fa77da44d00fbac7f029cb6d8f86 |
|
04-Jun-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
auth: Access always first entry when flushing failures
The code is deleting the first item after accessing
it, and then moving forward. It will eventually go
beyond the array and get NULL ptr and fail.
Instead we need to always get the first item,
since the array deletion is moving the queued items
forward.
Broken by e18b4e41 |
e18b4e41d9718a199a1980688787c2743c870002 |
|
11-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
auth: Shuffle failed auth requests before sending the failure replies.
This might be helpful against some timing attacks.
Using Fisher–Yates shuffle. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
8ac6623677005256bf99ab33a2ed98c69c1d656c |
|
02-Nov-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
auth,login-common: Added result code for invalid base64-encoded response data. |
36b072d84a9076c3c483bf710444a716e987ccc3 |
|
02-Nov-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
auth: Added a code= field to the auth FAIL response that replaces the "authz", "temp", "pass_expired", and "user_disabled" fields. |
7a60e1dc9e93ef3f7c7fe1af6385a0bfa1e31bc3 |
|
20-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Replaced t_strsplit_tab() calls with t_strsplit_tabescaped()
This is useful especially in auth code to support LFs in extra fields.
Other pieces of code were also tab-escaping strings, but never unescaping
them. Usually it didn't matter, because nobody would use the escaped
characters. Still, the code wasn't exactly behaving correctly.
One downside to this change is that it's now possible to pass through TABs,
CRs and LFs through the various protocols. In theory this shouldn't cause
any problems, but combined with other bugs this could trigger some security
problems. |
3951689971f3478e910507c1078cf0123de63866 |
|
20-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
auth: Fixed assert-crash on invalid auth-client input
For example if client sends invalid input like:
auth: Error: BUG: Authentication client sent unknown command: XYZ
Fixes crash:
auth: Panic: key not found from hash |
5965eaa2d972e6264cecaf54091cd43019bc7d1f |
|
23-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Added uchar_empty_ptr and use it instead of &uchar_nul.
This makes Coverity happier about not treating a char as an array.
For now this is a pointer to a 0, but could as well become a pointer
that crashes if dereferenced. Shouldn't be NULL anyway because clang's
-fsanitize=nonnull-attribute will complain about them. |
6e5a4cdf7ef123589e2409e0012b1024c97957d5 |
|
11-Jul-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
auth: Skip authentication with noauthenticate |
ecbc1c76e469e2a9a14e71da59c48b82ab04cde6 |
|
29-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
auth: Finish policy.[ch] renaming.. |
95087a44db62e87db2dc90845e359b70f1699bbd |
|
29-Jun-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
auth-policy: Report success earlier |
ef1ff1af5a38ad2b0bc77b3236c4c2d79f2c530f |
|
28-Jun-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
auth-policy: Hook auth policy to auth code |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
6aafdd81aa1e12c127941c1ebd87e8ee4697ec3e |
|
11-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
auth: Code cleanup - avoid using void *context
auth_request_callback_t always uses struct auth_client/master_connection*
in the context - no need to try to be too generic here. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
4ac2e38bdb450d13b62be41638b12df9e0658009 |
|
20-Sep-2015 |
Stephan Bosch <stephan@rename-it.nl> |
auth: The mechanisms configured using the auth_mechanisms setting were not enforced.
The login service would check whether the mechanism is supported by auth,
but auth performed no such check of its own. This means that any
implemented mechanism was accessible from a login, even though was
presumably disabled. |
e5d6ec3335b472e9bd9895d75b7723706c69e9fb |
|
27-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
auth: Don't add original_user or auth_user to passdb reply if they already exist.
This allows passdb to override their values cleanly. |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
3d14f452f62077f849a1fce9f302843c2635f108 |
|
05-May-2014 |
Timo Sirainen <tss@iki.fi> |
auth: If authentication fails, never send back "nologin" field.
This only causes confusion. |
6135260095e1704ed6edff9d00bdfc043c11429c |
|
17-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
auth: Use special AUTH_SUBSYS_DB/MECH parameters as auth_request_log*() subsystem.
This avoids hardcoded strings all over the place and also allows assigning
the correct passdb/userdb name for log messages generated by generic
passdb/userdb code, which doesn't know exactly where it was called from. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
2f90189c6ee66a17f7bf838a8eb8a69868630fb8 |
|
14-Jan-2014 |
Timo Sirainen <tss@iki.fi> |
auth, login, mail: Added %{auth_user}, %{auth_username} and %{auth_domain}
They expand to the SASL authentication ID. So if master user login is done,
it expands to the master user. If username changes during authentication, it
expands to the original username. Otherwise %{user} and %{auth_user} are
equal. |
0693f78ec64fd8ffedbf84408e6b4fc9c4c2b89f |
|
14-Jan-2014 |
Timo Sirainen <tss@iki.fi> |
auth: Send original_user to auth client also when there aren't any extra fields. |
cd75c360f244c96b9ee10e01ee3a66fad13183c8 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's. |
92bb5db33540af4fd7c2a37b614d0fd961f4a49e |
|
19-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Fixed potential crash. |
4981c1da73ffef4aff69c1af179a872bd1b68d9f |
|
03-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Potential crashfix |
e3ea9f8db1626f3143665882a0500cfd7f9ab3d2 |
|
02-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Added %{session_pid} variable for userdb lookups in login requests.
session_pid is now always sent to auth process. A new request_auth_token
parameter was added to specify if auth_token should be returned or not. |
c7eb1ffb7c73cb5d9c1316bbecd02947441a40d4 |
|
22-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
*-login: Added %{orig_user}, %{orig_username} and %{orig_domain} variables.
The original username is what the client sent to server before any
translations. |
068ac108503f9b3c81bbdac3b95db545d479188a |
|
18-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Return "nologin" and "proxy" fields to login process without "=value". |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
559f278a4c54d9fa7e0f2e96ebceda30562f9009 |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Added passdb { result_* and skip } settings.
passdb { skip = never | authenticated | unauthenticated } can be used to
skip over a passdb lookup based on previous passdb lookups.
passdb { result_success, result_failure, result_internalfail } can be used
to specify what to do on those conditions. Choices as continue,
continue-ok, continue-fail, return, return-ok, return-fail. The -ok and
-fail variants update the current "success" flag, while continue/return uses
the current flag. The authentication succeeds only if the success flag is
set after the last lookup. The continue variants continue to the next
passdb, while return variants finish the lookup immediately. |
420d037be8e15683cca8ae0a10525a49498c1d4b |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Fixed login USER reply broken by recent changes. |
31633d676642b83305b8d46da495d9bb4e2d1ff8 |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Cleaned up flags in auth request. Removed those that already exist in extra_fields.
It's now slightly slower to check for those flags in extra_fields, but it's
going to be easier to make commit/rollback feature to extra_fields. |
ee6df9526e9716b3f1734d85b566e00fc41208bc |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Code cleanup: Renamed auth-stream to auth-fields. |
2f35a2fbe2c525380487464fad7cf85f16e0dded |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Code cleanup: Merged extra_cache_fields into extra_fields.
They are separated using a hidden-flag in the extra field. This required a
new implementation for auth-streams. |
eb7b8855cc45292334056f425645215e348ec493 |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Code cleanup: Avoid using auth_stream_reply as temporary strings. |
cd5a70b520f84f929e1994a797666f872ec30435 |
|
30-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Code cleanup: Removed unnecessary userdb_ prefix checks.
The userdb_ fields are nowadays placed to userdb_reply immediately. |
548193b7d6c19a14eff810202cd334f364b75e36 |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
auth: Don't keep username duplicated in userdb_reply string.
This fixes bugs where userdb_reply is accessed via auth_stream_*() functions
that remove/replace existing fields, which may have ended up
removing/replacing the username. |
ec7a751d45871fb36b19121fd4d7bd33145bf222 |
|
22-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Log a nicer message if client timeouts authentication in the middle. |
bdd36cfdba3ff66d25570a9ff568d69e1eb543cf |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed network.[ch] to net.[ch].
The function prefixes already started with net_ instead of network_.
And icecap wants to use network.h for other purpose. :) |
e31bf6003e580bcb28af333119da9dd1e16fc811 |
|
02-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Don't add proxy/pass fields when we're only authenticating (not logging in).
For example SMTP server doesn't need these fields when doing SMTP AUTH. |
f0cd1d0022590d0a0d84f57e362774c2e96e2ea8 |
|
16-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Fixed compiling with OSes where NULL isn't defined as void pointer (e.g. Solaris). |
ab90f702ceedb7ba445a9a592be0b213b27cbafa |
|
14-Sep-2012 |
Stephan Bosch <stephan@rename-it.nl> |
Added support to perform token-based service process authentication.
Creates hidden SASL method DOVECOT-TOKEN. This method is not available on
the normal auth login socket and thus never presented to clients.
Creates new auth socket type 'tokenlogin'. This otherwise normal login
socket only offers authentication using the DOVECOT-TOKEN mechanism.
Creates new token-login directory in base_dir to separate token logins from
normal logins. This directory is otherwise completely identical to the
normal login dir, i.e. it contains sockets for the service backends, used
to chroot login processes to, etc.
Makes default login socket configurable.
Performs some minor changes to src/login-common to build very sparse
protocols, e.g. avoid the need to implement methods that are not needed. |
b82590193a2ebc23fcdf61a692d879fe53f996d1 |
|
24-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Don't add "master" to passdb reply if the passdb itself already added it. |
a75d470c9223a75801418fcdda258885c36317e0 |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Reverted "support for non-pointers" part of the hash table API changes.
Originally I wrote it using clang, which didn't give as many warnings as gcc
did. I guess this way is safer anyway.. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
678d0463849ba777106eb7875f27db07a5d8e3df |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Hash table API is now (mostly) type safe. |
7536dca18968a279b69c685eedda205bee228fd4 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
hash_table_create(): Removed table_pool parameter.
Every single caller was using default_pool there, so there's no point in
having it. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
190d84a496d6893ed54fe5bdb9e503285583d13f |
|
16-May-2012 |
Timo Sirainen <tss@iki.fi> |
auth: If user is disabled or password expired, tell about it to auth-client. |
4b335788eb41dec2de5f78459d96387fcc710010 |
|
20-May-2012 |
Timo Sirainen <tss@iki.fi> |
Use timeout_add_short() for sub-second timeouts. Fail at compile time if timeout_add() is <1s.
In future timeout_add() could perhaps also be made less precise, so that it
would try to group timeouts to run around at the same time. |
aefe17424820c57bcb05b0aaec4a930e8222bacc |
|
25-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Minor code cleanup. |
3c296d819c54e21ce05c3d2eeeedc79be42ac593 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
Use t_strsplit_tab() wherever possible |
91233a89f0060f95542ed661683e5d99a50f1778 |
|
25-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Handle proxy_maybe=yes with host=hostname properly. |
8be0af2dd41283fdd250b9a0d8fad28bfe80ca85 |
|
25-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
auth: Handle proxy_maybe=yes with host=hostname properly. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
533929e773388b28e0932fb5cfbdf455def58fe6 |
|
06-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
auth: If master_user is specified by userdb, don't add another one to reply.
The one specified by userdb should have overridden the other one though. |
a309a2b671ef07d861953f3bd692b01692717c4c |
|
19-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
auth: If auth fails due to invalid username, send the username in the FAIL message. |
ab122a3bbae3b5fd2aad66e2f2840149d98cee52 |
|
18-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
auth: Don't allow auth clients to set internal auth request fields.
This could have allowed attacker to bypass authentication if login process
was first successfully attacked to allow arbitrary code execution. |
a7e2c98560cf54dc656711a237cb07da8a5a9ee4 |
|
18-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
auth: Log a warning if auth client disconnects while it still has pending requests. |
e8a96ad5c10e9d5c0c4e2e88dd09a38fdb3e34b4 |
|
15-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
auth: Don't assert-crash if login client disconnects during multi-reply mechanism. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
9981d8da4f564d0448555a939908862ed22f8d58 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
auth: When logging in as anonymous user, return "anonymous" userdb extra field. |
e8e966468f2667c18ec3f0a22ee48f01fa3a6eea |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
auth: When logging in as anonymous user, return "anonymous" userdb extra field. |
b5322c8270616a28f2e65cb3a09580c410bb0941 |
|
02-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Fail if auth client tries to use a duplicate ID. |
5363f51ad46344f4e5952f2fef211a7cf8f95ddc |
|
30-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Don't assert-crash if a request still succeeds after its client connection is gone. |
ea95a057fa5f02d50027122cacd3147fce7679fa |
|
30-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Avoid crashing when finishing failed requests that already timed out. |
cc4d0d30fbba883d5d1b600646491fb77bdb989c |
|
23-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Crashfix when aborting auth request doing async passdb/userdb lookup. |
2c8ff32886e56a5e037169c9ebef4219f85a5629 |
|
08-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Abort pending penalty lookups earlier in deinit.
--HG--
branch : HEAD |
9d75363d3fbabc2fbc2d80f06672e3ed8965804a |
|
08-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Changed how auth deinitilization works.
--HG--
branch : HEAD |
50782de8a9d5ebe11ee61496b4e695a1d3875230 |
|
08-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Removed unnecessary auth_request callback and context uses.
--HG--
branch : HEAD |
f19cf95ae8fc233567b1c7751595eb66876d684a |
|
07-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: More async auth request deinit fixing.
--HG--
branch : HEAD |
8c6c6b95f482d2a2cdc74db5582aeb24871e3579 |
|
07-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Another attempt in trying to fix crashed at deinit on pending async auth request lookups.
--HG--
branch : HEAD |
0602c7dee8ceda2d7c7e5723f18c56698ac5a76d |
|
02-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Fixes to destroying pending async userdb requests at deinit.
--HG--
branch : HEAD |
fbee9bffb56d882b98146dd0de76a5bcccc2bdc3 |
|
01-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Aborting pending async requests on deinit caused crashes.
--HG--
branch : HEAD |
3b8d05391336c0e4d24c8ddcc962f350409ffbd3 |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
login: Tell auth process to free aborted auth requests.
--HG--
branch : HEAD |
daa7e7459749ae8f82cd3eed9c44522d81c609a3 |
|
12-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Separate auth and login connections. Non-login requests are freed immediately after auth finished.
The login connections are used by Dovecot internally, while the auth
connections are for SMTP AUTH etc.
--HG--
branch : HEAD |
d99107ddf4d9bccb710994482daf65276a9d6321 |
|
04-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth/login related timeouts are now in one place and they make more sense.
Most importantly now auth client doesn't abort lookup before server does.
--HG--
branch : HEAD |
e69e7b734b625de1f8921b7e0d92afa1df6b900d |
|
04-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Don't crash when auth requests timeout.
--HG--
branch : HEAD |
401b0787fff2dc986a5321ddb32acb1947ff66b0 |
|
03-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth: If verbose_proctitle=yes, show auth request counts in ps.
- wait: waiting for auth client to do something (either continue multistep
auth mechanism or issue master request for a finished auth)
- passdb: waiting for passdb lookup to finish
- userdb: waiting for userdb lookup to finish
--HG--
branch : HEAD |
cac6735a6cd73f2b815a1f3c1e21855075e7c81e |
|
03-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Give a better error message to client when auth request timeouts.
--HG--
branch : HEAD |
a72dde3805d0e9148de4caf44d6f4dc167431380 |
|
03-May-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Log a message when auth request is removed due to timeout.
--HG--
branch : HEAD |
c53a3c54d388c0031aaa642e6b14d46eb86d9485 |
|
08-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Fixed SASL authentication broken by recent changes.
--HG--
branch : HEAD |
9261dbf0675204898c6557591c7aa376e23a52b2 |
|
07-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Started using str_to_*() functions instead of libc's ones.
--HG--
branch : HEAD |
8bb360f9e5de1c25e4f875205bb06e8bf15dae14 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Removed dead code.
--HG--
branch : HEAD |
3313a51ef9b245248d672c20f930c52a577a42f7 |
|
31-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
auth: If userdb lookup returns tempfail, return reason field (if any).
--HG--
branch : HEAD |
9ed2951bd0bb1878a27437d7c00611b2baadd614 |
|
13-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Initial support for per-protocol auth settings.
Currently the list of services is hard-coded. This should be changed so that
config lookup returns the service names.
--HG--
branch : HEAD |
1cc683c5d442a1a3bed5a18c1fb37180cb7ef84b |
|
13-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
auth: auth_penalty is now a global single instance.
--HG--
branch : HEAD |
9be4e6701d086c009f3db1913a148139ea180420 |
|
13-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Auth request handler no longer keeps struct auth pointer.
--HG--
branch : HEAD |
7904d81873b36f8464c96be415881f92518452e6 |
|
19-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Don't leak memory if auth client sends a buggy request.
--HG--
branch : HEAD |
48ac75465ae154b1d705f18de6d95045ab714b65 |
|
19-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
auth: Don't loop through active requests every 5 seconds, looking for timeouts.
--HG--
branch : HEAD |
647eed98cb795ee9e42911750402dab720b57514 |
|
27-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
auth master lookups: If request isn't found, return FAIL instead of NOTFOUND.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
f42581dd841281a4434e5c52488e0eda9716c891 |
|
11-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
auth: Connect to anvil-auth-penalty before dropping root privileges.
--HG--
branch : HEAD |
e76073ebaf90fa29abfdc364873acf78983949aa |
|
10-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
auth: Added auth failure penalty tracking based on remote IP address.
--HG--
branch : HEAD |
4f2248a8a70985c7295afc3bf91c848e81d740d9 |
|
07-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
auth: Ignore empty initial response strings.
--HG--
branch : HEAD |
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8 |
|
05-May-2009 |
Mark Washenberger <none@none> |
Renamed headers to prevent collision if they were flattened on an install.
--HG--
branch : HEAD |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
e5dec382163b476bed16dbf7eb470913a9bbdbe1 |
|
19-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Increase failed login's reply delay by 5 seconds for each failure.
Don't add any delays if passdb returned nodelay extra field.
Based on patch by Apple.
--HG--
branch : HEAD |
3ccab0bac68040f179a7de45c516cec258e28fdb |
|
19-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed hash_*() to hash_table_*() to avoid conflicts with OSX's strhash.h
Based on patch by Apple.
--HG--
branch : HEAD |
ccef83820a01bb37ad48653a05a9c5aa6560826a |
|
14-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
imap/pop3 proxy: Support master user logins.
--HG--
branch : HEAD |
708ea1c397d89586af66c97d74c907f3f2b95134 |
|
15-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Give a different error message if authentication succeeds but authorization fails.
Added a new "authz" parameter for FAIL result in the auth protocol for this.
--HG--
branch : HEAD |
258ff7d4f03dd9d29eca3664e4acacdf7f528234 |
|
23-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Added %k variable to display valid-client-cert status. It expands to "valid" or empty.
--HG--
branch : HEAD |
226259ee6fb9830dafc1a5ba1e95bf5a4345b406 |
|
08-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Use auth-stream API to build all TAB-delimited strings to make sure strings
are escaped properly where necessary.
--HG--
branch : HEAD |
e9a42856b4bfca563f405993e1971b8fd643e2a3 |
|
09-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes
--HG--
branch : HEAD |
0fec6dfc23e568bae53f03c9491df7f64473dd67 |
|
06-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If proxy user has a password and authentication fails, don't return the
proxy fields to client.
--HG--
branch : HEAD |
3d8f3c378de13e32018e2b116f6b67bd69cd28fb |
|
06-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Added "proxy_maybe" field. If it's used instead of "proxy" and the
proxy destination matches the current connection, the user is logged in
normally instead of the login failing with "Proxying loops".
--HG--
branch : HEAD |
a3b3e5b452be15049a1f8bfd5b3bb640af41121c |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Added auth_failure_delay setting.
--HG--
branch : HEAD |
2872c818f9c6704609f4d67d984b033a63e3a108 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Make sure failed auth requests stay in failure buffer for at least a second.
--HG--
branch : HEAD |
a550b0fbcf7e876eeb88f4528209ed28cc416752 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Converted some buffers to arrays.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
ba00293b85c7fb4e7a2d100991c716e17b9daaae |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
hash_destroy() and hash_iterate_deinit() now take ** pointer.
--HG--
branch : HEAD |
0f66f12eb4cdbf47670975044c88d8f388bf92df |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed buffer_free() and buffer_free_without_data() APIs to take ** pointer
which is set to NULL instead of hiding it with a macro.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
6fabfb7bbfd88d0c1de66981e52850f26067623b |
|
03-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Changed userdb callback API. Don't require uid/gid to be returned by userdb.
--HG--
branch : HEAD |
7242e1ce7803b83bc82e239ef111b47c1c72dd4b |
|
09-Jun-2007 |
Andrey Panin <pazke@donpac.ru> |
Further const'ification of struct mech_module.
--HG--
branch : HEAD |
fda2c460c58f50bf035680187be606542a8c1dac |
|
11-May-2007 |
Timo Sirainen <tss@iki.fi> |
Changed auth_request->created to last_access and update it a bit more often.
If there are slow authentications this could help avoid removing timeouted
auth requests too early.
--HG--
branch : HEAD |
ccb77e2f63626ec46e5745ef4f38baa8e8e504fc |
|
26-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Cleanups and minor fixes
--HG--
branch : HEAD |
bbf81c8fc6f21382707673dc6bd7b87ffc27981b |
|
26-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
code cleanup
--HG--
branch : HEAD |
ecb1b2d6236942bf82f822e8d0167f0e160b206d |
|
19-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Several fixes to handling deinitialization without crashing.
--HG--
branch : HEAD |
42ee891bd32d3055ba560b1f43038f995ecfd7f0 |
|
16-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
extra_fields == NULL and empty extra_fields (reset after each passdb
lookup) should be treated the same. Fixes some assert crashes.
--HG--
branch : HEAD |
59151b71059df1190acd75d8717ed04a7920c862 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added context parameter type safety checks for most callback APIs.
--HG--
branch : HEAD |
0f39a57760d93cddbce3ca43096d78e0fe2f42fd |
|
09-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
We treated internal userdb lookup errors as "user unknown" errors. In such
situations this caused deliver to think the user didn't exist and the mail
get bounced.
--HG--
branch : HEAD |
52d3cbc21e8fe482b9b8c832f3921824a7aa6ebe |
|
07-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Missing TAB before "pass" broke proxying.
--HG--
branch : HEAD |
662a9000b1788f1cdf765e6b1c89df9a42cc3e32 |
|
05-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Don't send "pass" back if it's already set, or if it's not known.
--HG--
branch : HEAD |
8e176dbc6e220c4658afdcc17b097dab83b0d014 |
|
04-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
If passdb returned only userdb_ prefixed extra fields, don't add an extra
TAB to the auth client's OK reply.
--HG--
branch : HEAD |
382c7aec3e3449ed8271c2a202b67cefaa31dc8e |
|
15-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Require that the "resp" parameter for AUTH command is the last.
--HG--
branch : HEAD |
7e078be0d6f12ca56860641d36e3c517e3046895 |
|
03-Aug-2006 |
Timo Sirainen <tss@iki.fi> |
When logging in as master user, send it as "master_user" field to master
among other userdb fields.
--HG--
branch : HEAD |
8d80659e504ffb34bb0c6a633184fece35751b18 |
|
28-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Array API redesigned to work using unions. It now provides type safety
without having to enable DEBUG, as long as the compiler supports typeof().
Its API changed a bit. It now allows directly accessing the array contents,
although that's not necessarily recommended. Changed existing array usage to
be type safe in a bit more places. Removed array_t completely. Also did
s/modifyable/modifiable/.
--HG--
branch : HEAD |
0a8ec3c561c26c492a50511692650ea302cc8c14 |
|
17-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Fixed memory leak in error handling.
--HG--
branch : HEAD |
b1e6ea3323b4d753909f79226a8a98d854f819fa |
|
28-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
If authentication client disconnects while it still has pending requests,
don't crash (got broken in the large pointer-change commit).
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
137ea7ca34005345aa2304a940149b7f3774d727 |
|
07-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
s/occured/occurred/
--HG--
branch : HEAD |
9b62bbaf33d4516b5dffb36c3ea32ce217e7fbb1 |
|
28-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Removed unused code
--HG--
branch : HEAD |
1e0bdb2d0fa7bbd0a0a254754680f6c6d0195333 |
|
16-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Last change caused user-given passwords to be cached, and later the password
used instead of the real one (ie. login once with correct password, then you
could login using whatever password as long as user is cached). Clearly not
good. Did several changes to make sure this can't happen again.
--HG--
branch : HEAD |
70c181da837ed85fc5b0426c010b65609bda5329 |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
USER auth command requires now service parameter and supports also others
parameters. Fixes a crash in dovecot-auth with deliver+mysql.
--HG--
branch : HEAD |
ad49932dae8ba31e07544b66bbc4f4de707a751c |
|
19-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Allow multiple master connections for a single listener.
--HG--
branch : HEAD |
615c4aba4cc0b17eefba3263b85972adaba04586 |
|
05-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Added state variable for auth_request and several assertions to make sure
the state is always valid. Fixed assert crash when a user having cached
passdb entry expired tried to authenticate.
--HG--
branch : HEAD |
66d2db642fe24d555d113ba463e446b038d476ef |
|
28-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
Restructuring of auth code. Balancer auth processes were a bad idea. Usually
the balancer itself took as much CPU as the actual workers because it acted
as a proxy.
Now auth worker means different thing: they're used to execute blocking
passdb and userdb queries. Currently just MySQL (PAM and checkpassword in
TODO).
--HG--
branch : HEAD |
70905e51a5148bd5613cb04720807177474a2496 |
|
09-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Changed the way multiple auth processes are handled. It no longer uses a pid
appended to socket name but instead there's a balancer process which
proxies the requests to worker processes.
--HG--
branch : HEAD |
657afb33796f8216c568ad813627da89970760be |
|
09-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Moving code around.
--HG--
branch : HEAD |