Switch to the C locale before sending messages to syslog. The messages
sent by shadow were not translated, but error messages from PAM returned by pam_strerror() were translated in the users's locale.
This commit is contained in:
parent
4e01ea6c33
commit
6e9078f16c
@ -1,3 +1,10 @@
|
|||||||
|
2008-02-03 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* NEWS, lib/defines.h: Switch to the C locale before sending
|
||||||
|
messages to syslog. The messages sent by shadow were not
|
||||||
|
translated, but error messages from PAM returned by pam_strerror()
|
||||||
|
were translated in the users's locale.
|
||||||
|
|
||||||
2008-02-03 Nicolas François <nicolas.francois@centraliens.net>
|
2008-02-03 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* NEWS: newusers will behave more like useradd.
|
* NEWS: newusers will behave more like useradd.
|
||||||
|
3
NEWS
3
NEWS
@ -9,6 +9,9 @@ shadow-4.1.0 -> shadow-4.1.1 UNRELEASED
|
|||||||
generated in the same second.
|
generated in the same second.
|
||||||
- packaging
|
- packaging
|
||||||
* Do not install the shadow library per default.
|
* Do not install the shadow library per default.
|
||||||
|
- general
|
||||||
|
* Do not translate the messages sent to syslog. This avoids logging
|
||||||
|
PAM error messages in the users's locale.
|
||||||
- chage
|
- chage
|
||||||
* Fix bug which forbid to set the aging information of an account with a
|
* Fix bug which forbid to set the aging information of an account with a
|
||||||
passwd entry, but no shadow entry.
|
passwd entry, but no shadow entry.
|
||||||
|
@ -142,13 +142,15 @@ char *strchr (), *strrchr (), *strtok ();
|
|||||||
syslogd should log the current system time for each event, and not
|
syslogd should log the current system time for each event, and not
|
||||||
trust the formatted time received from the unix domain (or worse,
|
trust the formatted time received from the unix domain (or worse,
|
||||||
UDP) socket. -MM */
|
UDP) socket. -MM */
|
||||||
|
/* Avoid translated PAM error messages: Set LC_ALL to "C".
|
||||||
|
* --Nekral */
|
||||||
#define SYSLOG(x) \
|
#define SYSLOG(x) \
|
||||||
do { \
|
do { \
|
||||||
char *saved_locale = setlocale(LC_ALL, NULL); \
|
char *saved_locale = setlocale(LC_ALL, NULL); \
|
||||||
if (saved_locale) \
|
if (saved_locale) \
|
||||||
saved_locale = strdup(saved_locale); \
|
saved_locale = strdup(saved_locale); \
|
||||||
if (saved_locale) \
|
if (saved_locale) \
|
||||||
setlocale(LC_TIME, "C"); \
|
setlocale(LC_ALL, "C"); \
|
||||||
syslog x ; \
|
syslog x ; \
|
||||||
if (saved_locale) { \
|
if (saved_locale) { \
|
||||||
setlocale(LC_ALL, saved_locale); \
|
setlocale(LC_ALL, saved_locale); \
|
||||||
|
Loading…
Reference in New Issue
Block a user