Christian Hesse wrote:
Hello everybody,
this is an updated version with these changes:
* unicode characters are encoded using octal values
* added two more unicode characters to replace brackets
* made ssh work, but:
Christian Hesse<list@xxxxxxxx> on Mon, 2015/07/06 15:18:
--- a/log.c
+++ b/log.c
@@ -444,7 +444,7 @@ do_log(LogLevel level, const char *fmt, va_list args)
tmp_handler(level, fmtbuf, log_handler_ctx);
log_handler = tmp_handler;
} else if (log_on_stderr) {
- snprintf(msgbuf, sizeof msgbuf, "%s\r\n", fmtbuf);
+ /* we want unicode multi byte characters, so do not use
fmtbuf here */ (void)write(log_stderr_fd, msgbuf, strlen(msgbuf));
} else {
#if defined(HAVE_OPENLOG_R)&& defined(SYSLOG_DATA_INIT)
Does that break anything?
I don't think this is right.. You are logging "msgbuf" to
write(log_stderr, ..) but you just deleted the line that GENERATES that
variable.. So your logging nothing but an undefined string.
At least it needs to swap it to use fmtbuf, but I suspect this screws up
the output as you no longer are doing \r\n in the general case where
this may be required.
So I'm not convinced this is right.
- Ben
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@xxxxxxxxxxx
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev