Bug 89292
Summary: | many UTF-8 symbols appear garbled in syslog | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Alexander Smolin <smolin> | ||||||||||
Component: | sysklogd | Assignee: | Jason Vas Dias <jvdias> | ||||||||||
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | medium | ||||||||||||
Version: | rawhide | CC: | fedora-ja-list, mjc, sekine.t | ||||||||||
Target Milestone: | --- | Keywords: | i18n | ||||||||||
Target Release: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2004-08-18 19:12:14 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Attachments: |
|
Description
Alexander Smolin
2003-04-22 10:27:57 UTC
Created attachment 91223 [details]
test program for syslog(3)
Created attachment 91224 [details]
wrong content-type above
This has nothing to do with glibc, which just creates the requrested message (similarly to what sprintf does - your testcase should setlocale (LC_ALL, "") first before feeding UTF-8 chars to syslog BTW) and writes it to the desired recipients (which is sometimes console, sometimes apps stderr and usually syslog'd socket). It is syslogd which decides which characters to print and which should not be printed. Oh, thank you for pointing to syslogd! For myself, the problem was happily solved by a quick hack to printline() function of syslogd.c, so looking forward for updated sysklogd package from RedHat :) I think that this is the same ofbug #61296. Created attachment 100873 [details]
Quick hacked patch
Still 0x00-0x1F, 0x7F, 0xFE, 0xFF are escaped.
See Also the ENCODING section of utf-8 man page.
Comment #5 is my misunderstanding. I also think that printline() function of syslogd.c should be fixed. BTW, Please add keyword "i18n" (I can't change keyword :-<). http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00813.html Please fix platform. This problem doesn't depend on architecture (I also can't change platform). Created attachment 101117 [details]
printline patch for sysklogd-1.4.1-18
This patch fix printline() problems on sysklogd-1.4.1-17/sysklogd-1.4.1-18.
Comment on attachment 101117 [details]
printline patch for sysklogd-1.4.1-18
Please ignore "Only in ..." lines.
I forgot "make clean".
Would the fix in #6 be enough to get everything logged or do we have to go to that patch that only handels '\n', but outputs everything else? No security concern about this either? greetings, Florian La Roche What does mean "security concern"? I can't access both #71170 and #112519. Because I think that syslogging should be "AS IS", I prefer the '\n' only patch. But what is the best depends on what "security concern" means. This is still happening in FC3/rawhide latest build - changed LANG to "fr_FR:UTF-8" in /etc/sysconfig/i18n, then did 'service syslogd restart' - messages appear fine in French on the terminal, but are garbled in log. I'm investigating and will fix this time! Whoops ! Sorry, please ignore previous entry. The encoding is now '#if 0'd out in syslogd. It was xterm not displaying unicode correctly! An errata has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2004-335.html |