Package: kuvert
Version: 2.1.0
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


kuvert failed to start for me today (i.e. at the first start after
upgrading to 2.1.0) with

Wide character in syswrite at /usr/lib/x86_64-linux-gnu/perl/5.24/Sys/Syslog.pm 
line 544.

Some digging around shows that this happens while reading the keys
and weeding out revoked keys, when "syslog" is turned on in the
config, and the message passed to the logit() function contains (in
this case [0]) cyrillic characters.

The same happens when writing to a logfile (after enabling the option
in the config):

Wide character in print at /usr/bin/kuvert line 1357.


So it looks like the messages need to be encoded again before being
passed to Sys::Sylog or written to a local file.


The attached patch seems to fix to problem for me and might serve as
an inspiration.


Cheers,
gregor


[0]

% gpg --list-key --list-options show-unusable-uids 0xEA12A906DE0E1C1B
gpg: please do a --check-trustdb
pub   dsa1024/0xEA12A906DE0E1C1B 2008-09-22 [SCA]
      Key fingerprint = 655A 86EB 653C 6D6C BB16  2550 EA12 A906 DE0E 1C1B
uid                   [ unknown] Roman V. Nikolaev <rsha...@rambler.ru>
uid                   [ revoked] Николаев Роман <rsha...@rambler.ru>
uid                   [ revoked] Николаев Роман <nikolaev.ro...@rbscorp.ru>
uid                   [ revoked] Николаев Роман (РБС) <nikolae...@rbscorp.ru>
uid                   [ unknown] [jpeg image of size 4915]
uid                   [ unknown] Roman V. Nikolaev <ru...@rshadow.ru>
uid                   [ revoked] Николаев Роман (РБС) 
<nikolaev.ro...@rbscorp.ru>
uid                   [ unknown] Roman V. Nikolaev <rshadowa...@gmail.com>
uid                   [ unknown] Roman V. Nikolaev 
(http://search.cpan.org/~rshadow/) <rsha...@cpan.org>
sub   elg2048/0xDBC0C083950A7796 2008-09-22 [E]



-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAljpfNNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgb95RAAilg5KJGvAgyqoCO1kbC4mwqfmebt9CarumqVn56WjG/fniqCeHrQMSz9
5KWgybAh5qWHRYAn4R22/CLSS80FTxg1vSUzL6kaqk9f9b9gklwHNacEKYRQV+h+
Bm0Abgwau5p8syA5EBEBui8HA+5GDjGT1I4WW7L0eeqMj0k1GXkz/1+HOAHtphsb
dOxqoRMuJYh/HxE35I/MvW6zhwWCRCTp+HvVxbqNDi4oj8Entykf0k/zVXhdk2xA
NnYMVZxRFcnGAs8f8Ud9X1Hptyh3euURg80h5YPFSaMCPf57lv11oNv5Nz+lJLvT
shSVE+cz9K5OyGXBzz4fnYNeU51mlCt/eU4xd3dwL0JKKnier98k/ydCz8CyJtnQ
e/wAJX23eKT82xTLwVY6bTOrC/lKZbXBatB6vg7miDqTDkwTjmZjox/NZAB1MQqr
DQjMAsI3e3RgbDs2MYaWEhJjNZ9oeaq4ftV9VWyvdLnDpNYVej2KX9II9GdINeSe
sA46VkdJ2sEkesV4wfo1G4ffVwtw2ufO2p3ho9wSXSNUBsXgARH9VzbLmKmtzXU3
4jKlRBZxCzKwAMmEbt28ez/4Roacj+BINjCtH8OYjBROkneC9XsVhcfEiXuFfUs8
EvvpCADYchimFgxgToNE0QyJJrOaezCN43eLnVHWNY1GdFa+DbM=
=MVBI
-----END PGP SIGNATURE-----
--- a/usr/bin/kuvert    2017-04-01 15:36:39.000000000 +0200
+++ b/usr/bin/kuvert    2017-04-09 02:11:25.412361947 +0200
@@ -1344,6 +1344,7 @@
 {
        my (@msgs)=@_;
 
+       my @umsgs = map {Encode::encode('utf-8', $_, Encode::FB_WARN)} @msgs;
        if ($config{logfile})   # our own logfile?
        {
                if (!$config{logfh})    # not open yet?
@@ -1354,14 +1355,14 @@
            $config{logfh}->autoflush(1);
                }
 
-               print { $config{logfh} } scalar(localtime)." 
".join("\n\t",@msgs)."\n";
+               print { $config{logfh} } scalar(localtime)." 
".join("\n\t",@umsgs)."\n";
        }
 
        if ($config{syslog})
        {
                setlogsock('unix');
                openlog($progname,"pid,cons",$config{syslog});
-               syslog("notice",join("\n",@msgs));
+               syslog("notice",join("\n",@umsgs));
                closelog;
        }
 }

Reply via email to