mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +03:00
Don't downcase entries within shared_preload_libraries et al.
load_libraries(), which processes the various xxx_preload_libraries GUCs, was parsing them using SplitIdentifierString() which isn't really appropriate for values that could be path names: it downcases unquoted text, and it doesn't allow embedded whitespace unless quoted. Use SplitDirectoriesString() instead. That also allows us to simplify load_libraries() a bit, since canonicalize_path() is now done for it. While this definitely seems like a bug fix, it has the potential to break configuration settings that accidentally worked before because of the downcasing behavior. Also, there's an easy workaround for the bug, namely to double-quote troublesome text. Hence, no back-patch. QL Zhuo, tweaked a bit by me Discussion: https://postgr.es/m/CAB-oJtxHVDc3H+Km3CjB9mY1VDzuyaVH_ZYSz7iXcRqCtb93Ew@mail.gmail.com
This commit is contained in:
@ -3347,7 +3347,9 @@ SplitIdentifierString(char *rawstring, char separator,
|
||||
|
||||
|
||||
/*
|
||||
* SplitDirectoriesString --- parse a string containing directory names
|
||||
* SplitDirectoriesString --- parse a string containing file/directory names
|
||||
*
|
||||
* This works fine on file names too; the function name is historical.
|
||||
*
|
||||
* This is similar to SplitIdentifierString, except that the parsing
|
||||
* rules are meant to handle pathnames instead of identifiers: there is
|
||||
|
Reference in New Issue
Block a user