Bug 9994

Summary: Искажение полей при экспорте контакта в ldif
Product: Sisyphus Reporter: Michael A. Kangin <mak>
Component: gnokiiAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: rider
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael A. Kangin 2006-09-13 01:17:51 MSD
gnokii 0.6.14

Нашёл контакт, фамилия которого искажается при записи в ldif:
--------------
gnokii --getphonebook ME 57 -l
.....
Message received: 0x03 / 0x00aa
01 57 00 08 00 01 01 00 00 10 00 05 00 39 00 00 |  W           9
00 5e 00 00 00 06 1e 00 00 08 02 01 00 00 0b 00 |  ^
00 24 03 03 00 00 00 1a 00 xx 00 xx 00 xx 00 xx |  $       + x x x
00 xx 00 xx 00 xx 00 xx 00 xx 00 xx 00 xx 00 xx |  x x x x x x x x
00 00 07 00 00 2c 3f 26 04 10 04 3b 04 35 04 3a |      ,?&   ; 5 :
04 41 04 30 04 3d 04 34 04 40 00 20 04 12 00 2e |  A 0 = 4 @     .
00 20 04 22 04 38 04 42 04 3e 04 32 00 00 2f 00 |    " 8 B > 2  /
00 08 00 3f 80 39 46 00 00 20 01 1a 04 10 04 3b |    ?─9F        ;
04 35 04 3a 04 41 04 30 04 3d 04 34 04 40 00 20 |  5 : A 0 = 4 @
04 12 00 2e 00 00 47 00 00 14 04 0c 04 22 04 38 |    .  G      " 8
04 42 04 3e 04 32 00 00 00 00                   |  B > 2
Received message type 03
Received phonebook info
Blockstart: 0x1e
   Group: 0
Blockstart: 0x0b
   Type: 3 (03)
   Number: +xxxxxxxxxxx
Blockstart: 0x07
   Name: Александр В. Титов
Blockstart: 0x2f
Unknown phonebook block 2f
Blockstart: 0x46
   Firstname: Александр В.
Blockstart: 0x47
   Lastname: Титов
dn: cn=Александр В. Титов
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: mozillaAbPersonObsolete
givenName:: 0JDQu9C10LrRgdCw0L3QtNGAINCSLg==
sn:: 0KLQuNGC0L7Q
cn:: 0JDQu9C10LrRgdCw0L3QtNGAINCSLiDQotC40YLQvtCy
mobile: +xxxxxxxxxxx

Serial device: closing device
-----------------

Поле sn искажено:
$ echo 0KLQuNGC0L7Q | base64 -d |iconv -f utf8 -t koi8-r
Титоiconv: incomplete character or shift sequence at end of buffer

Правильное значение: 
$ echo Титов |iconv -f koi8-r -t utf8 |base64 -e
0KLQuNGC0L7Qsgo=


на других контактах вроде не заметил, но на этом воспроизводится устойчиво.
показан вывод от пропатченной gnokii (#9993), но поведение оригинальной версии
точно такое же.
Comment 1 Michael Shigorin 2006-10-18 11:24:17 MSD
Может, заберёте пакет у raorn@ на обмахивание вени^Wнапильником?
Comment 2 Sir Raorn 2007-07-31 22:39:00 MSD
Пихоже, его переклинивает на пятибуквенных восьмибитных именах.
Comment 3 Sir Raorn 2007-08-01 00:55:49 MSD
Проблема в base64_encode().

<pkot> I would need to rewrite it a bit to undestand fully

сказал разработчик.  Немного захачил в 0.6.18-alt1.