[devel] xvfb-run -a

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Сен 26 20:56:44 MSD 2008


On Fri, Sep 26, 2008 at 08:39:58PM +0400, Valery V. Inozemtsev wrote:
> В сообщении от 25 сентября 2008 Dmitry V. Levin написал(a):
> > On Thu, Sep 25, 2008 at 05:19:48AM +0000, Alexey Tourbin wrote:
> > > On Mon, Sep 22, 2008 at 03:00:24PM +0400, Dmitry V. Levin wrote:
> > > > > Когда в хост-системе уже запущен X сервер, то в сборочном чруте
> > > > > xvfb-run с опцией "-a" (автоматический подбор свободного номера)
> > > > > вообще не работает. Причем xvfb-run в таком случае не отваливает.
> > > > >
> > > > > [builder на solemn ~]$ xvfb-run -a /bin/echo 666
> > > > > xauth:  creating new authority file /usr/src/.Xauthority
> > > > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
> > > >
> > > > Нет, это UNIXCreateListener, стало быть, дело не в хост-системе, а том,
> > > > что в сборочном чруте остались неисправимые следы предыдущего запуска
> > > > сервера, возможно, даже целый X сервер.
> > >
> > > По-моему, дело в хост-системе.  В начисто сформированном чруте всё это
> > > воспроизводится.
> > >
> > > $ hsh --init && hsh-install xvfb-run && hsh-run -- sh -c 'cd; xvfb-run -a
> > > /bin/echo 666' ...
> > > <13>Sep 25 05:16:55 rpmi: xorg-xvfb-2:1.5.1-alt1 installed
> > > <13>Sep 25 05:16:55 rpmi: xvfb-run-1.3-alt1 installed
> > > xauth:  creating new authority file /usr/src/.Xauthority
> > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
> > > _XSERVTransMakeAllCOTSServerListeners: server already running
> > > Fatal server error:
> > > Cannot establish any listening sockets - Make sure an X server isn't
> > > already running
> >
> > Тогда это regression в SocketCreateListener.
> 
> нет, это abstract socket
> $ netstat -l | grep X11
> unix  2      [ ACC ]     STREAM     LISTENING     664311 @/tmp/.X11-unix/X0
> unix  2      [ ACC ]     STREAM     LISTENING     664312 /tmp/.X11-unix/X0
> 
> проделки RH
> commit 2afe206ec9569e0d62caa6d91c3fb057b0efa23d
> Author: Adam Jackson <ajax на redhat.com>
> Date:   Wed Mar 5 20:48:59 2008 -0500
> 
>     Add support for the abstract socket namespace under Linux.
> 
>     Unlike normal unix sockets, the abstract namespace is not bound to the
>     filesystem.  This has some notable advantages; /tmp need not exist, the
>     socket directory need not have magic permissions, etc.  xtrans servers
>     will listen on both the normal and abstract socket endpoints; clients
>     will attempt to connect to the abstract socket before connecting to the
>     corresponding filesystem socket.
> 
>     Based on a patch by Bill Crawford.

Это известный класс граблей:
abstract namespace не имеет никаких разграничений доступа; можно легко и
непринуждённо устроить DoS, так что X server нельзя будет запустить совсем.

Так что я считаю это изменение ошибочным.
Надо откатить и написать в upstream.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080926/0f36234f/attachment-0002.bin>


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