[devel] /etc/profile.d/*-agent.sh

Dmitry V. Levin ldv на altlinux.org
Пн Фев 8 16:46:46 UTC 2010


On Mon, Feb 08, 2010 at 07:16:10PM +0300, Sergey V Turchin wrote:
> On Monday 08 February 2010, Dmitry V. Levin wrote:
> 
> [...]
> > Тогда надо думать, как преодолеть race condition.
> А в чем он состоит?

Сейчас есть 2 race:
- статический: какой -agent.sh запустится первым, зависит от того, какое
  имя будет у файла в каталоге /etc/profile.d/;
- TOCTOU: может быть запущено более одного агента, если в промежутке между
  проверкой $GNUPGHOME/GPG_AGENT_INFO и записью в этот файл параллельно
  произойдёт ещё одна проверка.

Соответственно, пути преодоления race вырисовываются такие:
- TOCTOU: нужно использовать механизм блокировок:
eval $(script-that-locks-GNUPGHOME-and-handles-GPG_AGENT_INFO)
- либо будет единственный /etc/profile.d/*-agent.sh на все случаи жизни, либо
будет дополнительный конфигурационный параметр для управления поведением
разных /etc/profile.d/*-agent.sh


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100208/58e22f08/attachment-0001.bin>


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