W dniu 3 września 2010 22:54 użytkownik Jakub Zawadzki
<darkja...@darkjames.ath.cx> napisał:
Witam,
Nieoficjalnym standardem[1] szyfrowania wiadomości w gg jest wykorzystanie
kluczy RSA w kodowaniu WINDOWS-1250.
W ekg2 jak implementowaliśmy obsługę UTF-8 w gg, niechcący zmieniliśmy
również kodowanie szyfrowanej wiadomości ;)
Zastanawiam się czy w pozostałych projektach nastąpiła podobna zmiana
a jeśli nie to na ile chętni bylibyście ją przeprowadzić?
Jeśli chcemy (a miłoby było) zachować kompatylibność ze starymi klientami.
To w nagłówku sim_message_header jest pole 'flags' w których można by zachować
informacje o kodowaniu. Ktoś może wie które bity z niego są używane?
#v+
typedef struct {
unsigned char init[8];
uint16_t magic; /* SIM_MAGIC_V1 0x2391 */
uint8_t flags;
} sim_message_header;
#v-
[1] http://ekg.chmurka.net/docs/sim.txt ekg,ekg2,Kadu,PowerGG ktoś jeszcze?
Cześć,
Odnalazłem tę trochę starą wiadomość i stwierdzam, że Kadu jest bardzo
zainteresowane obsługą UTF-8 w szyfrowaniu sim. Pole 'flags' jest przez
ekg, ekg2 i Kadu (tyle sprawdziłem) w ogóle nieużywane, ale memset
zapewnia jego wartość równą 0. Korzystając z wolnego czasu zrobiłem
wstępną implementację w Kadu[1] i z moich testów wynika, że działa to
całkiem sprawnie i zachowuje kompatybilność ze starymi wersjami. Moja
propozycja flag jest taka:
/* Flaga oznaczająca, że potrafimy przyjąć wiadomość UTF-8.
Ustawiamy zawsze. */
#define SIM_FLAG_SUPPORT_UTF8 0x01
/* Flaga oznaczająca, że wiadomość, którą właśnie wysyłamy, jest
zakodowana w UTF-8. Powinniśmy jej używać po otrzymaniu
od rozmówcy wiadomości z flagą SIM_FLAG_SUPPORT_UTF8. */
#define SIM_FLAG_UTF8_MESSAGE 0x02
Kadu zapamiętuje, czy dany rozmówca wspiera UTF-8 również pomiędzy
uruchomieniami programu, ale nie jest to funkcja konieczna ani nawet
szczególnie istotna.
Pozdrawiam,
Bartosz
[1] branch simlite-utf8, istotne commity:
http://gitorious.org/kadu/kadu/commit/18a1f5c
http://gitorious.org/kadu/kadu/commit/8c33c9a
_______________________________________________
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel