Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Andrey Tataranovich
Спасибо всем ответившим на вопрос.

On Thu, 1 Dec 2016 22:20:38 -0500
Tim Sattarov  wrote:

> Нашёл такой же вопрос, буквально один в один, на стэковерфлоу:
> http://stackoverflow.com/questions/8677546/bash-for-in-looping-on-null-delimited-string-variable

Я уже видел подобные ответы и потому изначально писал, что знаю как
обойти ограничение при помощи while/read или xargs -0.

Но я не нашел ответа, почему оно не работает с for. Кстати я как-то
заметил, что echo "$(seq 1 10 | tr '\n' '\0')" | hexdump -C вырезает
нулевой символ из строки, но почему-то не придал этому факту значения.

-- 
WBR, Andrey Tataranovich



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Tim Sattarov
On 30/11/16 10:25 AM, Andrey Tataranovich wrote:
> Доброго времени суток.
>
> В shell скрипте обрабатывается список в котором в качестве разделителя
> используется нулевой символ '\0'. Вроде совместимо с POSIX, но нужное
> поведение есть только в zsh. В bash и dash ведет себя неправильно.
>
> Код ---
> IFS=$(printf '\0')
> for i in $(seq 1 10 | tr '\n' '\0')
> do
> echo "i = $i"
> done
>
> Вывод -
> zsh /tmp/list.sh
> i = 1
> i = 2
> i = 3
> i = 4
> i = 5
> i = 6
> i = 7
> i = 8
> i = 9
> i = 10
> i =
>
> bash /tmp/list.sh
> i = 12345678910
>
> dash /tmp/list.sh
> i = 12345678910
>
> Пробовал различные варианты задания IFS: IFS=; IFS=''; IFS=$'\0';
> IFS=$(echo -en "\0") и т.д., но это не решает проблему.
>
> Как обойти проблему с помощью того же xargs или while/read я знаю. Меня
> интересует почему не работает вариант с for. Подозреваю, что я где-то
> заблуждаюсь и потому у меня не работает - может кто-то подскажет в чем
> моя ошибка?
>

Нашёл такой же вопрос, буквально один в один, на стэковерфлоу:
http://stackoverflow.com/questions/8677546/bash-for-in-looping-on-null-delimited-string-variable



[DONE] wml://{security/2016/dsa-3728.wml}

2016-12-01 Пенетрантность Lev Lamberov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

- --- english/security/2016/dsa-3728.wml2016-12-01 19:35:31.0 
+0500
+++ russian/security/2016/dsa-3728.wml  2016-12-01 23:42:28.939092140 +0500
@@ -1,14 +1,15 @@
- -security update
+#use wml::debian::translation-check translation="1.1" maintainer="Lev Lamberov"
+обновление 
безопасности
 
- -A use-after-free vulnerability in the SVG Animation was discovered in
- -the Mozilla Firefox web browser, allowing a remote attacker to cause a
- -denial of service (application crash) or execute arbitrary code, if a
- -user is tricked into opening a specially crafted website.
+В веб-браузере Mozilla Firefox в коде поддержки 
анимации SVG было обнаружено
+использование указателей после 
освобождения памяти, позволяющее 
удалённому злоумышленнику
+вызывать отказ в обслуживании (аварийная 
остановка приложения) или выполнять 
произвольный код в случае
+открытия специально сформированного 
веб-сайта.
 
- -For the stable distribution (jessie), this problem has been fixed in
- -version 45.5.1esr-1~deb8u1.
+В стабильном выпуске (jessie) эта проблема 
была исправлена в
+версии 45.5.1esr-1~deb8u1.
 
- -We recommend that you upgrade your firefox-esr packages.
+Рекомендуется обновить пакеты firefox-esr.
 
 
 # do not modify the following line
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEE3mumcdV9mwCc9oZQXudu4gIW0qUFAlhAbxoACgkQXudu4gIW
0qXE7A//QSZYjeo6oMOzbJGeEg3ecyhGt3+6MYbnDxqkD3+ZWLU4Mlo818G+cvR2
xNdI0oPke5O67l6SO6y0mYWYbvB953DVacfRQQSeIoNs9/Wh8jMKvJf0hwk8q6VW
7tLIlV4iYktavfvVymRnh3lVis/yyVC0iwsIT8adX1RkLi+7uOKee4hAUMIQXZ5K
gSjS3jY528beeOVRZ4K+dWY4AbcQBLQAdUF2tpK0ahsOCfZYcMIZnBtjr8z+5XS8
fEjBc+YKEd8IaZrGUBpzoKE/A06Kb7+PRGELXkbzIKq0FSI/+DVc3vP6t839T1ky
ylgBzrOtTzmkNerBvecRmDod4IYJeLTVcKeiemyVd5X4PyHJDSiTla791u4XaD4P
8PEh5A49P1DrOwwoBzosCcmU3r46VVXIQOP8mKIQwJKpkvSXu2eeebGRyjfH7U5I
+0lBY+NQDeyGlvizQKp6rG9M42UayNyrQmedZMFvrzAfmWwaPzgwHIldIteQz4y4
DE9UPL/W0oq5YPyT0u77SqNIOTIOABFirZlr/wsTB3grqSYVDuU/yvjdTQZ4UZQT
vcVQ0SCNwBdsdBuPjoXxHyH4PrNQFUKrJzHbp9pNfHpsqSHOAHR+bzvAAbxGPSKf
4aOFt77zFCFleqDmYYC0zjql2RQoYdwE8zKvlihOw35sBLERXdA=
=510r
-END PGP SIGNATURE-



Validation failed

2016-12-01 Пенетрантность Debian Webmaster
*** Errors validating
/srv/www.debian.org/www/international/l10n/po/en_GB.ru.html: ***
Line 1294, character 241:  "128513" is not a character number in the
document character set

--
 You received this mail for the language code ru.
 Please edit webwml/english/devel/website/validation.data if this is not 
accurate
 Please also update webwml/english/devel/website/ with the new coordinator(s) 
data



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Dmitry Alexandrov
> Dmitry Alexandrov -> debian-russian@lists.debian.org  @ Thu, 01 Dec 2016 
> 14:17:22 +0300:
>
>  >>  >>  >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов 
> соблюдения
>  >>  >>  >> стандартов. В команде zsh на этом изрядно заморочены, в команде 
> dash -
>  >>  >>  >> так себе, они скорее делают свой шелл таким, чтобы то, что он 
> понимает,
>  >>  >>  >> без сюрпризов работало в любом другом шелле, делающем вид, что он
>  >>  >>  >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.
>  >>  >>
>  >>  >>  > Последнее на первый взгляд звучит как чушь.  Можно источник?
>  >>  >>
>  >>  >> bash
>  >>
>  >>  > И пара примеров, конечно, без труда найдется (в позиксном режиме,
>  >>  > который при запуске за «sh», разумеется)?
>  >>
>  >> Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое
>  >> неприятное, ВНЕЗАПНО крив.
>
>  > Ну а на это-то заявление пара примеров найдется сходу?
>
> Приходите лет на 10 раньше, когда я пытался еще писать на баше и ходил
> по этим граблям.
>
>  >> Но в принципе, уже достаточно полистать историю правок к скриптам
>  >> пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в
>  >> dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на
>  >> #!/bin/sh.
>
>  > Простите, а это здесь каким боком?
>
> Элементарно, Ватсон. Понимание башем башизма в режиме совместимости с
> /bin/sh не является POSIX-совместимым. Потому что не позволяет заменить
> /bin/sh на другой POSIX-совместимый для выполнения этого скрипта.

Э...  Дорогой Холмс, вы всерьез полагаете, что ПОЗИКС предписывает оболочке 
(или любой другой программе) быть урезанным обрубком?

Если да, то как вы это ухитряетесь сочетать с верой в то, что «в команде zsh 
изрядно заморочены [на стандартах]»?



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Artem Chuprina
Dmitry Alexandrov -> debian-russian@lists.debian.org  @ Thu, 01 Dec 2016 
14:17:22 +0300:

 >>  >>  >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения
 >>  >>  >> стандартов. В команде zsh на этом изрядно заморочены, в команде 
 >> dash -
 >>  >>  >> так себе, они скорее делают свой шелл таким, чтобы то, что он 
 >> понимает,
 >>  >>  >> без сюрпризов работало в любом другом шелле, делающем вид, что он
 >>  >>  >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.
 >>  >>
 >>  >>  > Последнее на первый взгляд звучит как чушь.  Можно источник?
 >>  >>
 >>  >> bash
 >>
 >>  > И пара примеров, конечно, без труда найдется (в позиксном режиме,
 >>  > который при запуске за «sh», разумеется)?
 >>
 >> Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое
 >> неприятное, ВНЕЗАПНО крив.

 > Ну а на это-то заявление пара примеров найдется сходу?

Приходите лет на 10 раньше, когда я пытался еще писать на баше и ходил
по этим граблям.

 >> Но в принципе, уже достаточно полистать историю правок к скриптам
 >> пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в
 >> dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на
 >> #!/bin/sh.

 > Простите, а это здесь каким боком?

Элементарно, Ватсон. Понимание башем башизма в режиме совместимости с
/bin/sh не является POSIX-совместимым. Потому что не позволяет заменить
/bin/sh на другой POSIX-совместимый для выполнения этого скрипта.



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Dmitry Alexandrov
>  >>  >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения
>  >>  >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash -
>  >>  >> так себе, они скорее делают свой шелл таким, чтобы то, что он 
> понимает,
>  >>  >> без сюрпризов работало в любом другом шелле, делающем вид, что он
>  >>  >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.
>  >>
>  >>  > Последнее на первый взгляд звучит как чушь.  Можно источник?
>  >>
>  >> bash
>
>  > И пара примеров, конечно, без труда найдется (в позиксном режиме,
>  > который при запуске за «sh», разумеется)?
>
> Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое
> неприятное, ВНЕЗАПНО крив.

Ну а на это-то заявление пара примеров найдется сходу?

> Но в принципе, уже достаточно полистать историю правок к скриптам
> пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в
> dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на
> #!/bin/sh.

Простите, а это здесь каким боком?



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Artem Chuprina
Dmitry Alexandrov -> debian-russian@lists.debian.org  @ Thu, 01 Dec 2016 
14:01:01 +0300:

 >>  >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения
 >>  >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash -
 >>  >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает,
 >>  >> без сюрпризов работало в любом другом шелле, делающем вид, что он
 >>  >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.
 >>
 >>  > Последнее на первый взгляд звучит как чушь.  Можно источник?
 >>
 >> bash

 > И пара примеров, конечно, без труда найдется (в позиксном режиме,
 > который при запуске за «sh», разумеется)?

Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое
неприятное, ВНЕЗАПНО крив.

Но в принципе, уже достаточно полистать историю правок к скриптам
пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в
dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на
#!/bin/sh.



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Dmitry Alexandrov
>  >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения
>  >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash -
>  >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает,
>  >> без сюрпризов работало в любом другом шелле, делающем вид, что он
>  >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.
>
>  > Последнее на первый взгляд звучит как чушь.  Можно источник?
>
> bash

И пара примеров, конечно, без труда найдется (в позиксном режиме, который при 
запуске за «sh», разумеется)?



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Artem Chuprina
Dmitry Alexandrov -> debian-russian@lists.debian.org  @ Thu, 01 Dec 2016 
03:11:10 +0300:

 >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения
 >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash -
 >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает,
 >> без сюрпризов работало в любом другом шелле, делающем вид, что он
 >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX.

 > Последнее на первый взгляд звучит как чушь.  Можно источник?

bash



Re: Null в качестве разделителя в скрипте

2016-12-01 Пенетрантность Михаил Касаджиков
30.11.2016 18:25, Andrey Tataranovich пишет:
> Доброго времени суток.
>
> В shell скрипте обрабатывается список в котором в качестве разделителя
> используется нулевой символ '\0'. Вроде совместимо с POSIX, но нужное
> поведение есть только в zsh. В bash и dash ведет себя неправильно.
>
> Код ---
> IFS=$(printf '\0')
> for i in $(seq 1 10 | tr '\n' '\0')
> do
> echo "i = $i"
> done
>
> Вывод -
> zsh /tmp/list.sh
> i = 1
> i = 2
> i = 3
> i = 4
> i = 5
> i = 6
> i = 7
> i = 8
> i = 9
> i = 10
> i =
>
> bash /tmp/list.sh
> i = 12345678910
>
> dash /tmp/list.sh
> i = 12345678910
>
> Пробовал различные варианты задания IFS: IFS=; IFS=''; IFS=$'\0';
> IFS=$(echo -en "\0") и т.д., но это не решает проблему.
>
> Как обойти проблему с помощью того же xargs или while/read я знаю. Меня
> интересует почему не работает вариант с for. Подозреваю, что я где-то
> заблуждаюсь и потому у меня не работает - может кто-то подскажет в чем
> моя ошибка?
>
Поведение ksh тоже не совпадает с ожиданием.

$ cat test_null.sh
#!/bin/ksh -x

IFS=$(printf '\0')
for i in $(seq 1 10 | tr '\n' '\0')
do
echo "i = $i"
done

$ ./test_null.sh
+ printf '\0'
+ IFS=''
+ tr '\n' '\0'
+ seq 1 10
+ echo 'i = 1'
i = 1

Похоже, всё таки, ожидание не совсем верное.



Re: bluetooth device enumeration

2016-12-01 Пенетрантность Dmitry Alexandrov
> А можно как-нить уговорить linux запомнить порядок (или имена) bluetooth
> устройств? Или убрать из системы лишние устройства?

В 2009-м товарищи из linux-blueto...@vger.kernel.org писали, что нет:

,[Re: Renaming hci interfaces with udev]
| > I would like to change the default name of bluetooth interfaces (hci0, 
hci1, ...)
| > using udev rules.
| > 
| > While with wlan usb dongles it works with the line:
| > KERNEL=="wlan*", NAME="foo0"
| > the analogous for the bt:
| > KERNEL=="hci*", NAME="foo0"
| > doesn't work, while
| > KERNEL=="hci*", RUN+="/usr/bin/touch /tmp/foo"
| > works.
| > 
| > I'm using kernel 2.6.30.1, udev 125 and bluez 4.46.
| 
| we don't support renaming HCI devices. However feel free to send a
| kernel patch to enable it.
| 
| Regards
| 
| Marcel
`(https://www.spinics.net/lists/linux-bluetooth/msg02912.html)