Witam Czy ktoś mógłby spojrzeć na w/w patch dołączany do cyrus-sasl.spec? Wygląda na to, że niepoprawnie liczy skrót MD5 czego efektem jest błędne działanie (brak autoryzacji) - czy wina leży po stronie funkcji _sasl_MD5* czy też niewłaściwego ich wykorzystania to tego nie wiem.
Zmieniłem nieco kod aby zobaczyć co się w środku wyprawia: const char *_sasl_md5sum(const char *src) { [...] FILE *flog; umask (022); flog = fopen ("/tmp/md5.log", "a+"); fprintf (flog, "->1<->%s<-\n", src); _sasl_MD5Init(&ctx); _sasl_MD5Update(&ctx, src, strlen(src)); _sasl_MD5Final(&md5, &ctx); fprintf (flog, "->2<->%s<-\n", md5); [...] md5sum[j] = 0; fprintf (flog, "->3<->%s<-\n", md5sum); fclose (flog); return(md5sum); } i efekt był zdecydowanie daleki od właściwego: ->1<->haslo<- ->2<->[tutaj 10-cio bajtowy ciąg binarny]<- ->3<->207023<- Z powyższego widać, że coś jest nie tak - md5 (poz. 2) powinno mieć długość 16-tu bajtów, a nie 10. Wynik w postaci hex (poz. 3) powinien mieć 32 bajty. W związku z powyższym mam pytanie czy komuś to kiedykolwiek chodziło? Potrzebne mi to jest aby hasła przechowywać w db, jako skrót md5. Pozdrawiam, Andrzej _______________________________________________ pld-devel-pl mailing list pld-devel-pl@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl