[devel] nfs mountd --manage-gids problem

Pavel Shilovsky piastry на altlinux.org
Ср Июн 1 12:20:20 UTC 2011


Здравствуйте!

После включения опции --manage-gids появилась такая проблема:
пользователю перестали применяться группы на сервере.

Выяснилось, что getgrouplist как-то некорректно работает со static
переменными groups и group_len в вызове auth_unix_gid в
utils/mountd/cache.c: первый вызов срабатывает, второй - нет с ошибкой
-1, но количество групп у пользователя много меньше чем размер
передаваемого массива. Если убрать static атрибуты - вызовы
завершаются удачно.

Причиной же сломанной работы стал коммит
http://git.altlinux.org/people/piastry/packages/?p=nfs.git;a=commit;h=9274e94db85bac04e170414cb8e0f4be271cde90.
Я его отревертил и всё заработало корректно. Текущий вариант лежит
тут: http://git.altlinux.org/people/piastry/packages/?p=nfs.git;a=summary.

Отправил письмо в апстрим, но пока ответа нет
http://article.gmane.org/gmane.linux.nfs/40958.

Собственно вопроса два:
1) чем может быть объяснено такое странное поведение getgrouplist со
статик переменными (проверял его отдельно, вне кода mountd)?
2) есть ли лучшее решение на текущий момент, чем просто отревертить
сломанной коммит?

--
Best regards,
Pavel Shilovsky.


Подробная информация о списке рассылки Devel