-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 19 Nov 2009, Javier Vico Egea wrote:
In that case it works perfect but my problem are all the users using the old vm-pop3 configuration with XXX!mysecondarydomain.es
Yep, I just wanted confirmation :)
There is currently no way to change this behaviour by configuration, but
src/auth/auth-request.c
contains function auth_request_fix_username():
The default domain is appended, before the character translation takes place.
======== if (strchr(username, '@') == NULL && request->auth->default_realm != NULL) { user = p_strconcat(request->pool, username, "@", request->auth->default_realm, NULL); } else { user = p_strdup(request->pool, username); }
for (p = (unsigned char *)user; *p != '\0'; p++) {
if (request->auth->username_translation[*p & 0xff] != 0)
*p = request->auth->username_translation[*p &
0xff]; if (request->auth->username_chars[*p & 0xff] == 0) { *error_r = t_strdup_printf( "Username contains disallowed character: " "0x%02x", *p); return NULL; } }
I would change the first if() into:
========= if (strchr(username, '@') == NULL && strchr(username, '!') == NULL && request->auth->default_realm != NULL) {
Note the strchr() in the second line. The default domain is not appended, if either an Ad sign or exclamation mark is present in the username.
Maybe, you ask Timo to have a way to conditionally let replace a set of characters into '@' before this check.
Regards,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBSwVYSnWSIuGy1ktrAQI/4gf/TFGCcTnIaxWsZiRFi/P0iSr0uyPdFP8+ dQMgAVkYYt/sP7PH28vZbMHHtiBtIb7T3FTiuNclXXZcLrfj3NX3zf8XfNFknd4j BzcghW+wE+2I9v4O5/WmKRD79herBCGOTnswOMcRk9zPrIL2lEjuDhOFsePQXjTI IYBybQx+EebAYRUwtVgUc1leQtaD02QtFLLM2EbIbIbNhnYLaOr6+YQs2Ghi6LpL MAbfsRh00L/AmY5NNXZUPK2UKpTyppBxVMwwv+K12FqABzs6PAdQz8LpdwqrRDOX 7Raze+KD4U9M9imLVgcD8dgdRnl6wGQJnTFiA0kgb0fyEqk/pL/tpg== =KieQ -----END PGP SIGNATURE-----