BUG/MEDIUM: init: don't use environment locale
This patch removes setlocale from the main function. It was introduced by commit 379d9c7 ("MEDIUM: init: allow directory as argument of -f") in 1.7-dev a few commits ago after a discussion on the mailing list. Some regex may have different behaviours depending on the locale. Some LUA scripts may change their behaviour too (http://lua-users.org/wiki/LuaLocales). Without this patch (haproxy is using setlocale) : $ cat locale.cfg defaults mode http frontend test bind :9000 mode http use_backend testbk if { hdr_reg(X-Test) ^\w+$ } backend testbk mode http server s 127.0.0.1:80 $ LANG=fr_FR.UTF-8 ./haproxy -f locale.cfg $ curl -i -H "X-Test: chec" localhost:9000 HTTP/1.1 200 OK ... $ LANG=C ./haproxy -f locale.cfg $ curl -i -H "X-Test: chec" localhost:9000 HTTP/1.0 503 Service Unavailable ...
This commit is contained in:
parent
f34b28aa6e
commit
e3841395ad
@ -35,8 +35,8 @@ instances without risking the system's stability.
|
||||
.TP
|
||||
\fB\-f <configuration file|dir>\fP
|
||||
Specify configuration file or directory path. If the argument is a directory
|
||||
the files (and only files) it containes are added in lexical order (respecting
|
||||
LC_COLLATE) ; only non hidden files with ".cfg" extension are added.
|
||||
the files (and only files) it containes are added in lexical order (using
|
||||
LC_COLLATE=C) ; only non hidden files with ".cfg" extension are added.
|
||||
|
||||
.TP
|
||||
\fB\-L <name>\fP
|
||||
|
@ -136,7 +136,7 @@ list of options is :
|
||||
|
||||
-f <cfgfile|cfgdir> : adds <cfgfile> to the list of configuration files to be
|
||||
loaded. If <cfgdir> is a directory, all the files (and only files) it
|
||||
containes are added in lexical order (respecting LC_COLLATE) to the list of
|
||||
containes are added in lexical order (using LC_COLLATE=C) to the list of
|
||||
configuration files to be loaded ; only files with ".cfg" extension are
|
||||
added, only non hidden files (not prefixed with ".") are added.
|
||||
Configuration files are loaded and processed in their declaration order.
|
||||
|
@ -32,7 +32,6 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <dirent.h>
|
||||
#include <locale.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
@ -1752,9 +1751,6 @@ int main(int argc, char **argv)
|
||||
char errmsg[100];
|
||||
int pidfd = -1;
|
||||
|
||||
/* get the locale from the environment variables */
|
||||
setlocale(LC_ALL, "");
|
||||
|
||||
init(argc, argv);
|
||||
signal_register_fct(SIGQUIT, dump, SIGQUIT);
|
||||
signal_register_fct(SIGUSR1, sig_soft_stop, SIGUSR1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user