Bug 9994 - Искажение полей при экспорте контакта в ldif
: Искажение полей при экспорте контакта в ldif
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/gnokii)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2006-09-13 01:17 by
Modified: 2007-08-01 00:55 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-09-13 01:17:51
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 From 2006-10-18 11:24:17 -------
Может, заберёте пакет у raorn@ на обмахивание вени^Wнапильником?
------- Comment #2 From 2007-07-31 22:39:00 -------
Пихоже, его переклинивает на пятибуквенных восьмибитных именах.
------- Comment #3 From 2007-08-01 00:55:49 -------
Проблема в base64_encode().

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

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