<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>45226</bug_id>
          
          <creation_ts>2023-02-09 17:46:14 +0300</creation_ts>
          <short_desc>initconf: не сохраняет текущий конфиг в /etc/net/ifaces для типа сетевой карты с именем, отличным от eth*</short_desc>
          <delta_ts>2023-02-10 18:55:35 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>etcnet</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Николай Степаненко">nixtrian</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>alimektor</cc>
    
    <cc>ldv</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>221443</commentid>
    <comment_count>0</comment_count>
      <attachid>12477</attachid>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-09 17:46:14 +0300</bug_when>
    <thetext>Created attachment 12477
Грязный патч, решающий проблему

Доброго дня!


# /etc/net/scripts/contrib/initconf write 
выдает ошибку об отсутствии файла при условии, что имя сетевой карты enp4s0 например

Вот такой dirty hack решил проблему (во вложении).

Готов по возможности оказать содействие в тестировании, переписывании, дописывании при необходимости

tlg: @NikolayStepanenko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221444</commentid>
    <comment_count>1</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-02-09 17:52:20 +0300</bug_when>
    <thetext>Добрый день!

Пожалуйста, дополнительно предоставьте следующую информацию:

1. Операционная система, версия, на которой воспроизвелась ошибка.
2. Выводы следующих команд:

        $ uname -a
        $ cat /etc/os-release
        $ apt-repo

3. Опишите, пожалуйста, по шагам, что Вы хотели сделать и какого результата ожидали.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221510</commentid>
    <comment_count>2</comment_count>
      <attachid>12494</attachid>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 16:48:03 +0300</bug_when>
    <thetext>Created attachment 12494
etcnet-0.9.27-alt1.noarch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221511</commentid>
    <comment_count>3</comment_count>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 16:50:33 +0300</bug_when>
    <thetext>Доброго дня,

1. ОС - свежеустановленный alt p10 JeOS
Думал что проблема пофикшена в версии etcnet-0.9.27-alt1.noarch
(до этого стояла 0.9.26)
Сегодня воспроизвел проблему на виртуалке, затем обновился и снова воспроизвел (скрин приложил предыдущим комментарием)

2. 

[root@host-15 ~]# uname -a
Linux host-15 5.10.156-std-def-alt1 #1 SMP Wed Nov 30 09:36:34 UTC 2022 i686 GNU/Linux
[root@host-15 ~]#          cat /etc/os-release
NAME=&quot;starter kit&quot;
VERSION=&quot;p10 (Hypericum)&quot;
ID=altlinux
VERSION_ID=p10
PRETTY_NAME=&quot;ALT Starterkit (Hypericum)&quot;
ANSI_COLOR=&quot;1;33&quot;
CPE_NAME=&quot;cpe:/o:alt:starterkit:p10&quot;
HOME_URL=&quot;http://en.altlinux.org/starterkits&quot;
BUG_REPORT_URL=&quot;https://bugs.altlinux.org/&quot;
[root@host-15 ~]# 
[root@host-15 ~]#          apt-repo
-bash: apt-repo: command not found
[root@host-15 ~]# cat /etc/apt/sources.list.d/alt.list 
# ftp.altlinux.org (ALT Linux, Moscow)

# ALT Platform 10
#rpm [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/i586 classic
#rpm [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

#rpm [p10] rsync://ftp.altlinux.org/ALTLinux p10/branch/i586 classic
#rpm [p10] rsync://ftp.altlinux.org/ALTLinux p10/branch/noarch classic

[root@host-15 ~]# rpm -q -l | grep etcnet
rpm: no arguments given for query
[root@host-15 ~]# rpm -q -a | grep etcnet
etcnet-defaults-server-0.9.27-alt1.noarch
etcnet-0.9.27-alt1.noarch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221512</commentid>
    <comment_count>4</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-02-10 16:51:32 +0300</bug_when>
    <thetext>(Ответ для Николай Степаненко на комментарий #2)
&gt; Создано вложение 12494 [подробности]
&gt; etcnet-0.9.27-alt1.noarch

Система установлена в минимальном профиле?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221514</commentid>
    <comment_count>5</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-02-10 16:57:02 +0300</bug_when>
    <thetext>(Ответ для Evgeny Shesteperov на комментарий #4)
&gt; Система установлена в минимальном профиле?

Увидел комментарий #3, попробую воспроизвести на ALT Server 10.0 в минимальном профиле.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221516</commentid>
    <comment_count>6</comment_count>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:01:18 +0300</bug_when>
    <thetext>Я так понимаю, там на искомой строке должно быть

if [[ &quot;${iface//[0-9]*/}&quot; = &quot;eth&quot; || &quot;${iface//[0-9]*/}&quot; = &quot;enp&quot; ]];

Но это опять же только кейс с enp*, а бывают еще всякие ens*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221518</commentid>
    <comment_count>7</comment_count>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:04:53 +0300</bug_when>
    <thetext>[root@host-15 ~]#  /etc/net/scripts/contrib/initconf write
WARNING: /usr/sbin/ethtool is not available, module detection will be skipped
Processing interface &apos;lo&apos;: configuration exists
Processing interface &apos;enp0s3&apos;: finished
[root@host-15 ~]# diff /etc/net/scripts/contrib/initconf write
92c92
&lt;                               if [[ &quot;${iface//[0-9]*/}&quot; = &quot;eth&quot; || &quot;${iface//[0-9]*/}&quot; = &quot;enp&quot; ]]; then
---
&gt;                               if [ &quot;${iface//[0-9]*/}&quot; = &quot;eth&quot; ]; then
[root@host-15 ~]# diff -Naur /etc/net/scripts/contrib/initconf write
--- /etc/net/scripts/contrib/initconf   2023-02-10 14:02:55.232141663 +0000
+++ write       2023-02-10 12:55:08.718191588 +0000
@@ -89,7 +89,7 @@
                                        esac
                                fi
                                # many others try to look as ethernet, so let&apos;s filter by iface name...
-                               if [[ &quot;${iface//[0-9]*/}&quot; = &quot;eth&quot; || &quot;${iface//[0-9]*/}&quot; = &quot;enp&quot; ]]; then
+                               if [ &quot;${iface//[0-9]*/}&quot; = &quot;eth&quot; ]; then
                                        # find and use link-level address
                                        LLADDR=`$IP li sh dev $iface | fgrep &apos;link/ether&apos; | sed &apos;s/^ *link\/ether //&apos; | cut --delimiter=&apos; &apos; --fields=1`
                                        # ...and by valid MAC address</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221519</commentid>
    <comment_count>8</comment_count>
      <attachid>12495</attachid>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:05:39 +0300</bug_when>
    <thetext>Created attachment 12495
менее грязный патч</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221524</commentid>
    <comment_count>9</comment_count>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:45:13 +0300</bug_when>
    <thetext>Вот тут коллега подсказывает

if [[ &quot;${iface}&quot; =~ (enp|eth) ]];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221525</commentid>
    <comment_count>10</comment_count>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:46:20 +0300</bug_when>
    <thetext>[[ &quot;$iface&quot; =~ ^(en[a-z]|eth) ]]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221526</commentid>
    <comment_count>11</comment_count>
      <attachid>12497</attachid>
    <who name="Николай Степаненко">nixtrian</who>
    <bug_when>2023-02-10 17:49:49 +0300</bug_when>
    <thetext>Created attachment 12497
Исправление для определения типа сетевого интерфейса по имени

en[a-z]|eth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221530</commentid>
    <comment_count>12</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-02-10 18:55:35 +0300</bug_when>
    <thetext>Версия
======

- etcnet-0.9.27-alt1

Дистрибутивы
============

- P10 ALT Server 10.0, установленный в профиле Minimal, обновленный до текущего Sisyphus

Окружение
=========

Виртуальная машина на Proxmox Virtual Environment. По умолчанию интерфейсам присваиваются имена ens19, ens20 и так далее. Раздаётся DHCP.

Конфигурация ens19:

    # cat /etc/net/ifaces/ens19/options 
    BOOTPROTO=dhcp
    TYPE=eth
    CONFIG_WIRELESS=no
    SYSTEMD_BOOTPROTO=dhcp4
    CONFIG_IPV4=yes
    DISABLED=no
    NM_CONTROLLED=no
    SYSTEMD_CONTROLLED=no

Шаги воспроизведения
====================

1. Добавить к виртуальной машине ещё один интерфейс (ens20). 
2. На данном этапе интерфейс ens20 не сконфигурирован, так что, скопировать конфигурацию ens19 в ens20:

        # cp -r /etc/net/ifaces/ens19/ /etc/net/ifaces/ens20

3. Перезапустить network:
   
        # systemctl restart network
   
4. На данном этапе ens20 сконфигурирован, так что, удалить его конфигурацию:

        # rm -rf /etc/net/ifaces/ens20

5. Выполнить тест initconf:
   
        # /etc/net/scripts/contrib/initconf
        WARNING: /usr/sbin/ethtool is not available, module detection will be skipped
        Processing interface &apos;lo&apos;: configuration exists
        Processing interface &apos;ens19&apos;: configuration exists
        Processing interface &apos;ens20&apos;:TEST: will write to file /etc/net/ifaces/ens20/ipv4address:
        --------8&lt;--------8&lt;--------8&lt;--------8&lt;
        XX.XX.XX.XX/XX
        
        --------8&lt;--------8&lt;--------8&lt;--------8&lt;
        TEST: will write to file /etc/net/ifaces/ens20/ipv4route:
        --------8&lt;--------8&lt;--------8&lt;--------8&lt;
        default via XX.XX.XX.XX proto dhcp src XX.XX.XX.XX metric 1003 
        
        --------8&lt;--------8&lt;--------8&lt;--------8&lt;
         finished

6. Как видно из описания https://www.altlinux.org/Etcnet#Общие_сведения, шаг 4, данный сценарий с аргументом write должен записать показанные изменения:

        # /etc/net/scripts/contrib/initconf write

Ожидаемый результат: создание конфигурации ens20 в папке /etc/net/ifaces.

Фактический результат: ошибка, несмотря на то, что тест (то есть запуск без опции write) проходит успешно

    Processing interface &apos;ens20&apos;:/etc/net/scripts/contrib/initconf: строка 38: /etc/net/ifaces/ens20/ipv4address: Нет такого файла или каталога
    /etc/net/scripts/contrib/initconf: строка 38: /etc/net/ifaces/ens20/ipv4route: Нет такого файла или каталога
     finished

Дополнительно: если переименовать интерфейс, например, в eth0 (eth1, eth2, и т.д.), то всё работает корректно, например (согласно https://www.altlinux.org/Настройка_сетевой_карты,_краткое_пособие_для_начинающих#Переименование_имени_сетевого_интерфейса):

    # ip link set ens20 down
    # ip link set ens20 name eth0
    # cp -r /etc/net/ifaces/ens19/ /etc/net/ifaces/eth0
    # systemctl restart network
    # ip -c address show eth0 ### адрес получен
    # rm -rf /etc/net/ifaces/eth0
    # /etc/net/scripts/contrib/initconf write
    # stat /etc/net/ifaces/eth0/ipv4address

Воспроизводится в P10.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12477</attachid>
            <date>2023-02-09 17:46:14 +0300</date>
            <delta_ts>2023-02-10 17:49:49 +0300</delta_ts>
            <desc>Грязный патч, решающий проблему</desc>
            <filename>etcnet_dirty.diff</filename>
            <type>text/plain</type>
            <size>872</size>
            <attacher name="Николай Степаненко">nixtrian</attacher>
            
              <data encoding="base64">LS0tIC9ldGMvbmV0L3NjcmlwdHMvY29udHJpYi9pbml0Y29uZi51bm1vZCAgICAgMjAyMi0wNy0y
OCAxNDozMjoyOS4wMDAwMDAwMDAgKzAwMDAKKysrIC9ldGMvbmV0L3NjcmlwdHMvY29udHJpYi9p
bml0Y29uZiAgIDIwMjMtMDItMDkgMTE6MzM6NDguODEyNjYxMDE5ICswMDAwCkBAIC04OSw3ICs4
OSw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2FjCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIG1hbnkgb3RoZXJzIHRyeSB0byBsb29rIGFzIGV0aGVybmV0LCBzbyBsZXQncyBmaWx0
ZXIgYnkgaWZhY2UgbmFtZS4uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFsg
IiR7aWZhY2UvL1swLTldKi99IiA9ICJldGgiIF07IHRoZW4KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAjaWYgWyAiJHtpZmFjZS8vWzAtOV0qL30iID0gImV0aCIgXTsgdGhlbgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFsgIiR7aWZhY2V9IiA9ICJlbnA0czAiIF07
IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmluZCBhbmQg
dXNlIGxpbmstbGV2ZWwgYWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTExBRERSPWAkSVAgbGkgc2ggZGV2ICRpZmFjZSB8IGZncmVwICdsaW5rL2V0aGVyJyB8
IHNlZCAncy9eICpsaW5rXC9ldGhlciAvLycgfCBjdXQgLS1kZWxpbWl0ZXI9JyAnIC0tZmllbGRz
PTFgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC4uLmFuZCBieSB2
YWxpZCBNQUMgYWRkcmVzcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12494</attachid>
            <date>2023-02-10 16:48:03 +0300</date>
            <delta_ts>2023-02-10 17:49:49 +0300</delta_ts>
            <desc>etcnet-0.9.27-alt1.noarch</desc>
            <filename>version27.png</filename>
            <type>image/png</type>
            <size>15356</size>
            <attacher name="Николай Степаненко">nixtrian</attacher>
            
              <data encoding="base64">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
WPkfubGDPts0cwgAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12495</attachid>
            <date>2023-02-10 17:05:39 +0300</date>
            <delta_ts>2023-02-10 17:49:49 +0300</delta_ts>
            <desc>менее грязный патч</desc>
            <filename>patch_etcnet_for_ens.diff</filename>
            <type>text/plain</type>
            <size>1351</size>
            <attacher name="Николай Степаненко">nixtrian</attacher>
            
              <data encoding="base64">W3Jvb3RAaG9zdC0xNSB+XSMgIC9ldGMvbmV0L3NjcmlwdHMvY29udHJpYi9pbml0Y29uZiB3cml0
ZQpXQVJOSU5HOiAvdXNyL3NiaW4vZXRodG9vbCBpcyBub3QgYXZhaWxhYmxlLCBtb2R1bGUgZGV0
ZWN0aW9uIHdpbGwgYmUgc2tpcHBlZApQcm9jZXNzaW5nIGludGVyZmFjZSAnbG8nOiBjb25maWd1
cmF0aW9uIGV4aXN0cwpQcm9jZXNzaW5nIGludGVyZmFjZSAnZW5wMHMzJzogZmluaXNoZWQKW3Jv
b3RAaG9zdC0xNSB+XSMgZGlmZiAvZXRjL25ldC9zY3JpcHRzL2NvbnRyaWIvaW5pdGNvbmYgd3Jp
dGUKOTJjOTIKPCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAiJHtpZmFjZS8v
WzAtOV0qL30iID0gImV0aCIgfHwgIiR7aWZhY2UvL1swLTldKi99IiA9ICJlbnAiIF1dOyB0aGVu
Ci0tLQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFsgIiR7aWZhY2UvL1swLTld
Ki99IiA9ICJldGgiIF07IHRoZW4KW3Jvb3RAaG9zdC0xNSB+XSMgZGlmZiAtTmF1ciAvZXRjL25l
dC9zY3JpcHRzL2NvbnRyaWIvaW5pdGNvbmYgd3JpdGUKLS0tIC9ldGMvbmV0L3NjcmlwdHMvY29u
dHJpYi9pbml0Y29uZiAgIDIwMjMtMDItMTAgMTQ6MDI6NTUuMjMyMTQxNjYzICswMDAwCisrKyB3
cml0ZSAgICAgICAyMDIzLTAyLTEwIDEyOjU1OjA4LjcxODE5MTU4OCArMDAwMApAQCAtODksNyAr
ODksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNhYwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIyBtYW55IG90aGVycyB0cnkgdG8gbG9vayBhcyBldGhlcm5ldCwgc28gbGV0J3MgZmls
dGVyIGJ5IGlmYWNlIG5hbWUuLi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBb
WyAiJHtpZmFjZS8vWzAtOV0qL30iID0gImV0aCIgfHwgIiR7aWZhY2UvL1swLTldKi99IiA9ICJl
bnAiIF1dOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgWyAiJHtpZmFj
ZS8vWzAtOV0qL30iID0gImV0aCIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBmaW5kIGFuZCB1c2UgbGluay1sZXZlbCBhZGRyZXNzCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTEFERFI9YCRJUCBsaSBzaCBkZXYgJGlmYWNl
IHwgZmdyZXAgJ2xpbmsvZXRoZXInIHwgc2VkICdzL14gKmxpbmtcL2V0aGVyIC8vJyB8IGN1dCAt
LWRlbGltaXRlcj0nICcgLS1maWVsZHM9MWAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICMgLi4uYW5kIGJ5IHZhbGlkIE1BQyBhZGRyZXNzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12497</attachid>
            <date>2023-02-10 17:49:49 +0300</date>
            <delta_ts>2023-02-10 17:49:49 +0300</delta_ts>
            <desc>Исправление для определения типа сетевого интерфейса по имени</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>773</size>
            <attacher name="Николай Степаненко">nixtrian</attacher>
            
              <data encoding="base64">LS0tIHdyaXRlICAgICAgIDIwMjMtMDItMTAgMTI6NTU6MDguNzE4MTkxNTg4ICswMDAwCisrKyAv
ZXRjL25ldC9zY3JpcHRzL2NvbnRyaWIvaW5pdGNvbmYgICAyMDIzLTAyLTEwIDE0OjQ3OjQyLjUy
MDU0NDIyNSArMDAwMApAQCAtODksNyArODksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXNhYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBtYW55IG90aGVycyB0cnkgdG8gbG9vayBh
cyBldGhlcm5ldCwgc28gbGV0J3MgZmlsdGVyIGJ5IGlmYWNlIG5hbWUuLi4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiBbICIke2lmYWNlLy9bMC05XSovfSIgPSAiZXRoIiBdOyB0
aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgIiRpZmFjZSIgPX4gXihl
blthLXpdfGV0aCkgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICMgZmluZCBhbmQgdXNlIGxpbmstbGV2ZWwgYWRkcmVzcwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTExBRERSPWAkSVAgbGkgc2ggZGV2ICRpZmFjZSB8IGZncmVw
ICdsaW5rL2V0aGVyJyB8IHNlZCAncy9eICpsaW5rXC9ldGhlciAvLycgfCBjdXQgLS1kZWxpbWl0
ZXI9JyAnIC0tZmllbGRzPTFgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIC4uLmFuZCBieSB2YWxpZCBNQUMgYWRkcmVzcwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>