Hello. Przy okazji debugowania bledu w obsludze grup w nss_ldap natknalem sie na taki sam blad w PAM. Dla przykladu posluze sie modulem pam_limits. Otoz jest sobie system z ustawionymi limitami w /etc/security/limits.conf. Limity owe sa na grupy grupax, grupay, grupaz gdzie grupax ma 7 czlonkow, grypay kilkudziesieciu, a grupaz kilka tysiecy. PAM przelatujac odwolanie do pam_limits dochodzi w kodzie do wywloania _pammodutil_getgrnam() znajdujacego sie w modules/pammodutil/modutil_getgrnam.c:41. Wszystko dziala pieknie dla wszystkich trzech grup jezeli nie jest zdefiniowane HAVE_GETGRNAM_R. Jezeli natomiast uzywane jest getgrnam_r to wszystko pieknie zadziala dla grupax i grupay, a nie zadziala dla grupaz. Powod: wywolanie getgrnam_r (modutil_getgrnam.c:68) zwroci blad i ustawi errno na "Numerical result out of range" - z testow mi wyszlo ze bufor podany w parametrach wywolania byl za maly na pomieszczenie informacji o grupie grupaz. Konczy sie to tym, ze dla duzych grup limity systemowe narzucane przez PAM przy logowaniu itp mozna sobie w 4 litery wsadzic.
Jezeli jakis magik mialby pomysl jak to poprawic to bylbym niezmiernie wdzieczny, bo przekompilowywanie PAM z wymuszeniem uzycia getgrnam() jest bezsensowne. M. _______________________________________________ pld-devel-pl mailing list pld-devel-pl@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl