X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fexpand.c;h=f783682b4af0b1b0dacf3dc72ffd0603f4dca402;hb=f42deca923414cedcbb6d6646afbef460f50080c;hp=2419161002e2865d8a111f8bfb6c5b7e80d41e08;hpb=1cf59ee7f68960237ad5cd3d599512fdbe5b3954;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/expand.c b/src/src/expand.c index 241916100..f783682b4 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -3851,8 +3851,8 @@ expand_string_internal(const uschar *string, BOOL ket_ends, const uschar **left, { int ptr = 0; int size = Ustrlen(string)+ 64; -int item_type; uschar *yield = store_get(size); +int item_type; const uschar *s = string; uschar *save_expand_nstring[EXPAND_MAXN+1]; int save_expand_nlength[EXPAND_MAXN+1]; @@ -5409,7 +5409,7 @@ while (*s != 0) if (*s++ != '}') { expand_string_message = string_sprintf( - US"missing '}' closing arg %d of extract", i+1); + "missing '}' closing arg %d of extract", i+1); goto EXPAND_FAILED_CURLY; } @@ -5455,7 +5455,7 @@ while (*s != 0) else { expand_string_message = string_sprintf( - US"missing '{' for arg %d of extract", i+1); + "missing '{' for arg %d of extract", i+1); goto EXPAND_FAILED_CURLY; } } @@ -5512,7 +5512,7 @@ while (*s != 0) if (*s != '{') /*}*/ { expand_string_message = string_sprintf( - US"missing '{' for arg %d of listextract", i+1); + "missing '{' for arg %d of listextract", i+1); goto EXPAND_FAILED_CURLY; } @@ -5521,7 +5521,7 @@ while (*s != 0) if (*s++ != '}') { expand_string_message = string_sprintf( - US"missing '}' closing arg %d of listextract", i+1); + "missing '}' closing arg %d of listextract", i+1); goto EXPAND_FAILED_CURLY; } @@ -7631,6 +7631,29 @@ return OK; +/* Avoid potentially exposing a password in a string about to be logged */ + +uschar * +expand_hide_passwords(uschar * s) +{ +return ( ( Ustrstr(s, "failed to expand") != NULL + || Ustrstr(s, "expansion of ") != NULL + ) + && ( Ustrstr(s, "mysql") != NULL + || Ustrstr(s, "pgsql") != NULL + || Ustrstr(s, "redis") != NULL + || Ustrstr(s, "sqlite") != NULL + || Ustrstr(s, "ldap:") != NULL + || Ustrstr(s, "ldaps:") != NULL + || Ustrstr(s, "ldapi:") != NULL + || Ustrstr(s, "ldapdn:") != NULL + || Ustrstr(s, "ldapm:") != NULL + ) ) + ? US"Temporary internal error" : s; +} + + + /************************************************* **************************************************