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

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

    <bug>
          <bug_id>32462</bug_id>
          
          <creation_ts>2016-09-01 09:42:31 +0300</creation_ts>
          <short_desc>Контейнеры на базе ALT Linux неработоспособны</short_desc>
          <delta_ts>2024-12-10 12:30:14 +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>pve-lxc</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Вадим Илларионов">gbIMoBou</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>aen</cc>
    
    <cc>andy</cc>
    
    <cc>cavetroll</cc>
    
    <cc>dans</cc>
    
    <cc>darisishe</cc>
    
    <cc>dd</cc>
    
    <cc>gbIMoBou</cc>
    
    <cc>ildar</cc>
    
    <cc>imz</cc>
    
    <cc>mike</cc>
    
    <cc>shaba</cc>
    
    <cc>shrek</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>158382</commentid>
    <comment_count>0</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-01 09:42:31 +0300</bug_when>
    <thetext>На альтовом проксмоксе не работает ни один из шаблонов или распакованных контейнеров (что LXC, что OpenVZ) с одинаковой руганью:

# lxc-start -n 101 -F
lxc-start: cgroups/cgmanager.c: cgm_setup_limits: 1519 call to cgmanager_set_value_sync failed: invalid request
lxc-start: cgroups/cgmanager.c: cgm_setup_limits: 1522 Error setting cgroup memory:lxc/101 limit type memory.memsw.limit_in_bytes
lxc-start: start.c: lxc_spawn: 1181 failed to setup the cgroup limits for &apos;101&apos;
lxc-start: start.c: __lxc_start: 1354 failed to spawn &apos;101&apos;
lxc-start: tools/lxc_start.c: main: 344 The container failed to start.
lxc-start: tools/lxc_start.c: main: 348 Additional information can be obtained by setting the --logfile and --logpriority options.

Контейнеры на базе дебиана и кентоси в оригинальным проксмоксе работают, а на базе альта (восстановленные из OpenVZ) - ни там, ни там:
TASK ERROR: unsupported fedora release &apos;ALT Linux &lt;Release Name&gt; (&lt;Niсkname&gt;)&apos;

Последнее - из-за отсутствия альтовой обвязки /usr/share/perl5/PVE/LXC/Setup/AltLinux.pm, долженствующей, в частности, прописывать параметры etcnet. Однако я не мастак в приготовлении перловки - моих познаний для написания этого модуля недостаточно и хватает лишь на добавление приправы:
# diff -u /usr/share/perl5/PVE/LXC/Setup-orig.pm Setup-my.pm 
--- /usr/share/perl5/PVE/LXC/Setup-orig.pm      2016-08-29 01:32:53.349807739 +0800
+++ Setup-my.pm 2016-08-29 01:25:50.807177979 +0800
@@ -10,6 +10,7 @@
 use PVE::LXC::Setup::CentOS;
 use PVE::LXC::Setup::Fedora;
 use PVE::LXC::Setup::SUSE;
+use PVE::LXC::Setup::AltLinux;
 use PVE::LXC::Setup::ArchLinux;
 use PVE::LXC::Setup::Alpine;
 use PVE::LXC::Setup::Gentoo;
@@ -20,6 +21,7 @@
     centos    =&gt; &apos;PVE::LXC::Setup::CentOS&apos;,
     fedora    =&gt; &apos;PVE::LXC::Setup::Fedora&apos;,
     opensuse  =&gt; &apos;PVE::LXC::Setup::SUSE&apos;,
+    altlinux  =&gt; &apos;PVE::LXC::Setup::AltLinux&apos;,
     archlinux =&gt; &apos;PVE::LXC::Setup::ArchLinux&apos;,
     alpine    =&gt; &apos;PVE::LXC::Setup::Alpine&apos;,
     gentoo    =&gt; &apos;PVE::LXC::Setup::Gentoo&apos;,
@@ -40,6 +42,8 @@
        return &quot;debian&quot;;
     } elsif (-f  &quot;$rootdir/etc/SuSE-brand&quot; || -f &quot;$rootdir/etc/SuSE-release&quot;) {
        return &quot;opensuse&quot;;
+    } elsif (-f  &quot;$rootdir/etc/altlinux-release&quot;) {
+       return &quot;altlinux&quot;;
     } elsif (-f  &quot;$rootdir/etc/fedora-release&quot;) {
        return &quot;fedora&quot;;
     } elsif (-f  &quot;$rootdir/etc/centos-release&quot; || -f &quot;$rootdir/etc/redhat-release&quot;) {

Каковая в отсутствие основного блюда ни на что не пригодна.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158390</commentid>
    <comment_count>1</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2016-09-01 16:09:44 +0300</bug_when>
    <thetext>начинать надо с memory.memsw.limit_in_bytes - #32314</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158400</commentid>
    <comment_count>2</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-02 03:02:45 +0300</bug_when>
    <thetext>Я прокомментировал #32314, но чтоб не прыгать между багами, дублирую сюда.

http://cateee.net/lkddb/web-lkddb/MEMCG_SWAP_ENABLED.html

Здесь сказано: General purpose distribution kernels which want to enable the
feature but keep it disabled by default and let the user enable it by
swapaccount=1 boot command line parameter should have this option unselected.

То есть, pve можно грузить с опцией ядра swapaccount=1 без его пересборки.
Проверил, работает - контейнеры (кроме альтовых) запускаются.
Дело за малым: написать перловый модуль для альтов. А вот тут и первые грабли. Часть выпусков идёт с номерами, как, например:
ALT Linux 7.0.5 Centaurus  (Pholus)
ALT Linux 8.0.0 KDesktop  (Centaurea Montana)
Часть - без:
ALT Linux Sisyphus (unstable)
ALT Linux starter kit (Hypericum)

И как прикажете их сортировать, если даже на сайте альта толком нет информации по соответствию наименований/ников/номеров?
Разве что руками в переносимом с OpenVZ контейнере править /etc/altlinux-release как-то так:
ALT Linux 9.0.0 Sisyphus (unstable)
ALT Linux 8.0.1 starter kit (Hypericum)
А при создании шаблона как быть?
Ведь номер потребен следующей проверке в перловом модуле:

my distro = altlinux;
my $release = PVE::Tools::file_read_firstline(&quot;$rootdir/etc/$distro-release&quot;);
die &quot;unable to read version info\n&quot; if !defined($release);
my $version;
if ($release =~ m/release\s+(\d+\.\d+)(\.\d+)?/){
    if ($1 &gt;= 5 &amp;&amp; $1 &lt; 10){ # и ещё вопрос: какой диапазон версий поддерживать?
        $version = $1;
    }
}
die &quot;unsupported $distro release &apos;$release&apos;\n&quot; if !$version;

Или вовсе забить на проверку и сосредоточиться на функции формирования файлов настройки етснет?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158401</commentid>
    <comment_count>3</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-02 03:08:23 +0300</bug_when>
    <thetext>Жаль, нельзя редактировать собственные реплики, так что поправлюсь здесь.
Проверка, полагаю, должна выглядеть примерно так (предыдущий вариант - бездумная калька с проверки на кентось):
if ($release =~ m/Alt\s+Linux\s+(\d+\.\d+\.\d+)/){
    if ($2 &gt;= 5 &amp;&amp; $2 &lt; 10){ # какой диапазон версий поддерживать?
        $version = $2;
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158402</commentid>
    <comment_count>4</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-02 03:23:47 +0300</bug_when>
    <thetext># pct enter 100
Insecure $ENV{ENV} while running with -T switch at /usr/share/perl5/PVE/CLI/pct.pm line 162.

И так с любым контейнером. Выручает лишь возможность входа через консоль из веб-интерфейса.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158403</commentid>
    <comment_count>5</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-02 03:29:47 +0300</bug_when>
    <thetext>Ещё поправка: my $distro = &quot;altlinux&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158404</commentid>
    <comment_count>6</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-02 03:30:02 +0300</bug_when>
    <thetext>Ещё поправка: my $distro = &quot;altlinux&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158431</commentid>
    <comment_count>7</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-04 08:18:54 +0300</bug_when>
    <thetext>Insecure $ENV{ENV} while running with -T switch
устраняется отключением ENV=$HOME/.bashrc из ~/.bashrc

После этого вход в контейнеры работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158437</commentid>
    <comment_count>8</comment_count>
      <attachid>6812</attachid>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-04 18:22:17 +0300</bug_when>
    <thetext>Created attachment 6812
Поддержка контейнеров на базе альта.

Вот, состряпал в меру разумения из кусков других модулей. По крайней мере, под альтовым проксмоксом контейнеры работают, сетевые интерфейсы с маршрутом и шлюзом создаются, а под оригинальным в будни буду попробовать.
1. Не реализована поддержка ipv6 - просто доселе не пользовался и не знаю, куда что прописывать, а догадки отметаю: пусть знающие добавят.
2. Как ни крутил правку модулем /usr/share/perl5/PVE/LXC/Setup/Base.pm рутового пароля в контейнере по маршруту не /etc/shadow, а /etc/tcb/$user/shadow, буде таковой наличествует - без толку. Оставил без изменений - может, кто другой запилит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158439</commentid>
    <comment_count>9</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-05 11:08:48 +0300</bug_when>
    <thetext>На оригинальном проксмоксе со следующими версиями пакетов патч тоже отработал:

# dpkg -l pve-* | awk &apos;/^i/{print $2&quot;\t&quot;$3}&apos;
pve-cluster     4.0-44
pve-container   1.0-73
pve-docs        4.2-8
pve-firewall    2.0-29
pve-firmware    1.1-9
pve-ha-manager  1.0-33
pve-kernel-4.4.16-1-pve 4.4.16-64
pve-libspice-server1    0.12.8-1
pve-manager     4.2-18
pve-qemu-kvm    2.6.1-2

Альтовые контейнеры работают.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158591</commentid>
    <comment_count>10</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-14 11:11:44 +0300</bug_when>
    <thetext>Патч запускать из каталога с ним следующим образом:
# patch=$(pwd)/pve-4.patch; cd /; patch -p1 &lt;$patch

Важно, чтоб в альтовском шаблоне или дампе были удалены симлинки /etc/{fedora,redhat}-release, иначе проксмокс воспримет их как шаблон/дамп федоры или кентоси неизвестной ему версии.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158605</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2016-09-15 16:01:25 +0300</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; Важно, чтоб в альтовском шаблоне или дампе были удалены симлинки
&gt; /etc/{fedora,redhat}-release, иначе проксмокс воспримет их как шаблон/дамп
&gt; федоры или кентоси неизвестной ему версии.
Как вариант, можно их убрать из стартеркитного брендинга.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158705</commentid>
    <comment_count>12</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2016-09-22 13:39:28 +0300</bug_when>
    <thetext>поддержка altlinux контейнеров добавлена в pve-manager 4.2.23-alt3
шаблон ftp://ftp.altlinux.ru/pub/people/shrek/altlinux-p8-x86_64.tar.xz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158713</commentid>
    <comment_count>13</comment_count>
    <who name="Вадим Илларионов">gbIMoBou</who>
    <bug_when>2016-09-23 06:27:44 +0300</bug_when>
    <thetext>А в мейнстрим предложено?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173982</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2018-09-08 17:11:14 +0300</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; поддержка altlinux контейнеров добавлена в pve-manager 4.2.23-alt3
&gt; шаблон ftp://ftp.altlinux.ru/pub/people/shrek/altlinux-p8-x86_64.tar.xz
Валер, а из чего делал?  Давай в стартеркиты добавим, если там не как для ovz:
http://nightly.altlinux.org/p8/permalink/alt-p8-ovz-generic-latest-x86_64.tar.xz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223242</commentid>
    <comment_count>15</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2023-03-22 23:29:14 +0300</bug_when>
    <thetext>(In reply to Вадим Илларионов from comment #13)
&gt; А в мейнстрим предложено?

присоединяюсь к вопросу, т.к. в свежем Proxmox поддержки Альта нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223243</commentid>
    <comment_count>16</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2023-03-22 23:51:05 +0300</bug_when>
    <thetext>+ andy@ , как текущий мэйнтэйнер</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255795</commentid>
    <comment_count>17</comment_count>
    <who name="Илья Демьянов">cavetroll</who>
    <bug_when>2024-12-10 12:30:14 +0300</bug_when>
    <thetext>Подтверждаю по поводу мейнстрима - в Proxmox 8.3.0 создание контейнера заканчивается так:
 
&gt;extracting archive &apos;/var/lib/vz/template/cache/alt-p11-rootfs-systemd-x86_64.tar.xz&apos;
&gt;Total bytes read: 467056640 (446MiB, 37MiB/s)
&gt;unknown ID &apos;altlinux&apos; in /etc/os-release file, trying fallback detection
&gt;TASK ERROR: unable to create CT 200 - unsupported Fedora release &apos;11&apos;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6812</attachid>
            <date>2016-09-04 18:22:17 +0300</date>
            <delta_ts>2016-09-04 18:24:20 +0300</delta_ts>
            <desc>Поддержка контейнеров на базе альта.</desc>
            <filename>pve.patch</filename>
            <type>text/plain</type>
            <size>8242</size>
            <attacher name="Вадим Илларионов">gbIMoBou</attacher>
            
              <data encoding="base64">LS0tIC91c3Ivc2hhcmUvcGVybDUvUFZFL0xYQy5wbS5vcmlnCTIwMTYtMDgtMTIgMTU6Mzc6MDAu
MDAwMDAwMDAwICswODAwCisrKyAvdXNyL3NoYXJlL3Blcmw1L1BWRS9MWEMucG0JMjAxNi0wOS0w
NCAyMDoyNDo1OC4wMTg2NzkzMjkgKzA4MDAKQEAgLTM0Niw3ICszNDYsNyBAQAogICAgIG15ICRj
dXN0b21faWRtYXAgPSBncmVwIHsgJF8tPlswXSBlcSAnbHhjLmlkX21hcCcgfSBAeyRjb25mLT57
bHhjfX07CiAKICAgICBteSAkb3N0eXBlID0gJGNvbmYtPntvc3R5cGV9IHx8IGRpZSAibWlzc2lu
ZyAnb3N0eXBlJyAtIGludGVybmFsIGVycm9yIjsKLSAgICBpZiAoJG9zdHlwZSA9fiAvXig/OmRl
YmlhbiB8IHVidW50dSB8IGNlbnRvcyB8IGZlZG9yYSB8IG9wZW5zdXNlIHwgYXJjaGxpbnV4IHwg
YWxwaW5lIHwgZ2VudG9vIHwgdW5tYW5hZ2VkKSQveCkgeworICAgIGlmICgkb3N0eXBlID1+IC9e
KD86ZGViaWFuIHwgdWJ1bnR1IHwgY2VudG9zIHwgZmVkb3JhIHwgb3JhY2xlIHwgb3BlbnN1c2Ug
fCBhbHRsaW51eCB8IGFyY2hsaW51eCB8IGFscGluZSB8IGdlbnRvbyB8IHVubWFuYWdlZCkkL3gp
IHsKIAlteSAkaW5jID0iL3Vzci9zaGFyZS9seGMvY29uZmlnLyRvc3R5cGUuY29tbW9uLmNvbmYi
OwogCSRpbmMgPSIvdXNyL3NoYXJlL2x4Yy9jb25maWcvY29tbW9uLmNvbmYiIGlmICEtZiAkaW5j
OwogCSRyYXcgLj0gImx4Yy5pbmNsdWRlID0gJGluY1xuIjsKLS0tIC91c3Ivc2hhcmUvcGVybDUv
UFZFL0xYQy9Db25maWcucG0ub3JpZwkyMDE2LTA4LTEyIDE1OjM3OjAwLjAwMDAwMDAwMCArMDgw
MAorKysgL3Vzci9zaGFyZS9wZXJsNS9QVkUvTFhDL0NvbmZpZy5wbQkyMDE2LTA5LTA0IDE5OjQ4
OjU4LjAyMjU2MjE1OSArMDgwMApAQCAtMjg5LDcgKzI4OSw3IEBACiAgICAgb3N0eXBlID0+IHsK
IAlvcHRpb25hbCA9PiAxLAogCXR5cGUgPT4gJ3N0cmluZycsCi0JZW51bSA9PiBbcXcoZGViaWFu
IHVidW50dSBjZW50b3MgZmVkb3JhIG9wZW5zdXNlIGFyY2hsaW51eCBhbHBpbmUgZ2VudG9vIHVu
bWFuYWdlZCldLAorCWVudW0gPT4gW3F3KGRlYmlhbiB1YnVudHUgY2VudG9zIGZlZG9yYSBvcmFs
Y2Ugb3BlbnN1c2UgYWx0bGludXggYXJjaGxpbnV4IGFscGluZSBnZW50b28gdW5tYW5hZ2VkKV0s
CiAJZGVzY3JpcHRpb24gPT4gIk9TIHR5cGUuIFRoaXMgaXMgdXNlZCB0byBzZXR1cCBjb25maWd1
cmF0aW9uIGluc2lkZSB0aGUgY29udGFpbmVyLCBhbmQgY29ycmVzcG9uZHMgdG8gbHhjIHNldHVw
IHNjcmlwdHMgaW4gL3Vzci9zaGFyZS9seGMvY29uZmlnLzxvc3R5cGU+LmNvbW1vbi5jb25mLiBW
YWx1ZSAndW5tYW5hZ2VkJyBjYW4gYmUgdXNlZCB0byBza2lwIGFuZCBPUyBzcGVjaWZpYyBzZXR1
cC4iLAogICAgIH0sCiAgICAgY29uc29sZSA9PiB7Ci0tLSAvdXNyL3NoYXJlL3Blcmw1L1BWRS9M
WEMvU2V0dXAucG0ub3JpZwkyMDE2LTA4LTEyIDE1OjM3OjAwLjAwMDAwMDAwMCArMDgwMAorKysg
L3Vzci9zaGFyZS9wZXJsNS9QVkUvTFhDL1NldHVwLnBtCTIwMTYtMDktMDQgMTI6MTk6MDAuMDAw
MDAwMDAwICswODAwCkBAIC0xMyw2ICsxMyw4IEBACiB1c2UgUFZFOjpMWEM6OlNldHVwOjpBcmNo
TGludXg7CiB1c2UgUFZFOjpMWEM6OlNldHVwOjpBbHBpbmU7CiB1c2UgUFZFOjpMWEM6OlNldHVw
OjpHZW50b287Cit1c2UgUFZFOjpMWEM6OlNldHVwOjpPcmFjbGU7Cit1c2UgUFZFOjpMWEM6OlNl
dHVwOjpBTFRMaW51eDsKIAogbXkgJHBsdWdpbnMgPSB7CiAgICAgZGViaWFuICAgID0+ICdQVkU6
OkxYQzo6U2V0dXA6OkRlYmlhbicsCkBAIC0yMyw2ICsyNSw4IEBACiAgICAgYXJjaGxpbnV4ID0+
ICdQVkU6OkxYQzo6U2V0dXA6OkFyY2hMaW51eCcsCiAgICAgYWxwaW5lICAgID0+ICdQVkU6OkxY
Qzo6U2V0dXA6OkFscGluZScsCiAgICAgZ2VudG9vICAgID0+ICdQVkU6OkxYQzo6U2V0dXA6Okdl
bnRvbycsCisgICAgb3JhY2xlICAgID0+ICdQVkU6OkxYQzo6U2V0dXA6Ok9yYWNsZScsCisgICAg
YWx0bGludXggID0+ICdQVkU6OkxYQzo6U2V0dXA6OkFMVExpbnV4JywKIH07CiAKIG15ICRhdXRv
ZGV0ZWN0X3R5cGUgPSBzdWIgewpAQCAtNDAsNiArNDQsMTAgQEAKIAlyZXR1cm4gImRlYmlhbiI7
CiAgICAgfSBlbHNpZiAoLWYgICIkcm9vdGRpci9ldGMvU3VTRS1icmFuZCIgfHwgLWYgIiRyb290
ZGlyL2V0Yy9TdVNFLXJlbGVhc2UiKSB7CiAJcmV0dXJuICJvcGVuc3VzZSI7CisgICAgfSBlbHNp
ZiAoLWYgICIkcm9vdGRpci9ldGMvYWx0bGludXgtcmVsZWFzZSIpIHsKKwlyZXR1cm4gImFsdGxp
bnV4IjsKKyAgICB9IGVsc2lmICgtZiAgIiRyb290ZGlyL2V0Yy9vcmFjbGUtcmVsZWFzZSIpIHsK
KwlyZXR1cm4gIm9yYWNsZSI7CiAgICAgfSBlbHNpZiAoLWYgICIkcm9vdGRpci9ldGMvZmVkb3Jh
LXJlbGVhc2UiKSB7CiAJcmV0dXJuICJmZWRvcmEiOwogICAgIH0gZWxzaWYgKC1mICAiJHJvb3Rk
aXIvZXRjL2NlbnRvcy1yZWxlYXNlIiB8fCAtZiAiJHJvb3RkaXIvZXRjL3JlZGhhdC1yZWxlYXNl
IikgewotLS0gL3Vzci9zaGFyZS9wZXJsNS9QVkUvTFhDL1NldHVwL09yYWNsZS5wbS5vcmlnCTIw
MTYtMDktMDQgMjA6MDg6MjYuNTEzMzQyMjAyICswODAwCisrKyAvdXNyL3NoYXJlL3Blcmw1L1BW
RS9MWEMvU2V0dXAvT3JhY2xlLnBtCTIwMTYtMDktMDQgMTI6MTA6NTIuODgzNzA1NjU3ICswODAw
CkBAIC0wLDAgKzEsMjQgQEAKK3BhY2thZ2UgUFZFOjpMWEM6OlNldHVwOjpPcmFjbGU7CisKK3Vz
ZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7Cit1c2UgUFZFOjpMWEM6OlNldHVwOjpDZW50T1M7Cit1
c2UgYmFzZSBxdyhQVkU6OkxYQzo6U2V0dXA6OkNlbnRPUyk7CisKK3N1YiBuZXcgeworCW15ICgk
Y2xhc3MsICRjb25mLCAkcm9vdGRpcikgPSBAXzsKKwlteSAkcmVsZWFzZSA9IFBWRTo6VG9vbHM6
OmZpbGVfcmVhZF9maXJzdGxpbmUoIiRyb290ZGlyL2V0Yy9vcmFjbGUtcmVsZWFzZSIpOworCWRp
ZSAidW5hYmxlIHRvIHJlYWQgdmVyc2lvbiBpbmZvXG4iIGlmICFkZWZpbmVkKCRyZWxlYXNlKTsK
KwlteSAkdmVyc2lvbjsKKwlpZiAoJHJlbGVhc2UgPX4gbS9yZWxlYXNlXHMrKFxkK1wuXGQrKShc
LlxkKyk/Lyl7CisJCWlmICgkMSA+PSA2ICYmICQxIDwgOCl7CisJCQkkdmVyc2lvbiA9ICQxOwor
CQl9CisJfQorCWRpZSAidW5zdXBwb3J0ZWQgb3JhY2xlIHJlbGVhc2UgJyRyZWxlYXNlJ1xuIiBp
ZiAhJHZlcnNpb247CisJbXkgJHNlbGYgPSB7IGNvbmYgPT4gJGNvbmYsIHJvb3RkaXIgPT4gJHJv
b3RkaXIsIHZlcnNpb24gPT4gJHZlcnNpb24gfTsKKwkkY29uZi0+e29zdHlwZX0gPSAib3JhY2xl
IjsKKwlyZXR1cm4gYmxlc3MgJHNlbGYsICRjbGFzczsKK30KKworMTsKLS0tIC91c3Ivc2hhcmUv
cGVybDUvUFZFL0xYQy9TZXR1cC9BTFRMaW51eC5wbS5vcmlnCTIwMTYtMDktMDQgMjA6MDg6MjYu
NTEzMzQyMjAyICswODAwCisrKyAvdXNyL3NoYXJlL3Blcmw1L1BWRS9MWEMvU2V0dXAvQUxUTGlu
dXgucG0JMjAxNi0wOS0wNCAxNjoyMjowMC4wMDAwMDAwMDAgKzA4MDAKQEAgLTAsMCArMSw5NSBA
QAorcGFja2FnZSBQVkU6OkxYQzo6U2V0dXA6OkFMVExpbnV4OworCit1c2Ugc3RyaWN0OwordXNl
IHdhcm5pbmdzOwordXNlIFBWRTo6TFhDOjpTZXR1cDo6QmFzZTsKK3VzZSBiYXNlIHF3KFBWRTo6
TFhDOjpTZXR1cDo6QmFzZSk7CisKK3N1YiBuZXcgeworCW15ICRvc3R5cGUgPSAiYWx0bGludXgi
OworCW15ICgkY2xhc3MsICRjb25mLCAkcm9vdGRpcikgPSBAXzsKKwlteSAkdmVyc2lvbiA9IFBW
RTo6VG9vbHM6OmZpbGVfcmVhZF9maXJzdGxpbmUoIiRyb290ZGlyL2V0Yy8kb3N0eXBlLXJlbGVh
c2UiKTsKKwlteSAkc2VsZiA9IHsgY29uZiA9PiAkY29uZiwgcm9vdGRpciA9PiAkcm9vdGRpciwg
dmVyc2lvbiA9PiAkdmVyc2lvbiB9OworCSRjb25mLT57b3N0eXBlfSA9ICRvc3R5cGU7CisJcmV0
dXJuIGJsZXNzICRzZWxmLCAkY2xhc3M7Cit9CisKK3N1YiBzZXRfaG9zdG5hbWUgeworCW15ICgk
c2VsZiwgJGNvbmYpID0gQF87CisJIyBSZWRoYXQgd2FudHMgdGhlIGZxZG4gaW4gL2V0Yy9zeXNj
b25maWcvbmV0d29yaydzIEhPU1ROQU1FCisJbXkgJGhvc3RuYW1lID0gJGNvbmYtPntob3N0bmFt
ZX0gfHwgJ2xvY2FsaG9zdCc7CisJbXkgJHN5c2NvbmZpZ19uZXR3b3JrID0gIi9ldGMvc3lzY29u
ZmlnL25ldHdvcmsiOworCW15ICRvbGRuYW1lOworCW15ICRkYXRhID0gJHNlbGYtPmN0X2ZpbGVf
Z2V0X2NvbnRlbnRzKCRzeXNjb25maWdfbmV0d29yayk7CisJaWYgKCRkYXRhID1+IG0vXkhPU1RO
QU1FPVxzKihcUyspXHMqJC9tKXsKKwkJJG9sZG5hbWUgPSAkMTsKKwl9CisJbXkgJGhvc3RzX2Zu
ID0gIi9ldGMvaG9zdHMiOworCW15ICgkaXB2NCwgJGlwdjYpID0gUFZFOjpMWEM6OmdldF9wcmlt
YXJ5X2lwcygkY29uZik7CisJbXkgJGhvc3RpcCA9ICRpcHY0IHx8ICRpcHY2OworCW15ICgkc2Vh
cmNoZG9tYWlucykgPSAkc2VsZi0+bG9va3VwX2Ruc19jb25mKCRjb25mKTsKKwkkc2VsZi0+dXBk
YXRlX2V0Y19ob3N0cygkaG9zdGlwLCAkb2xkbmFtZSwgJGhvc3RuYW1lLCAkc2VhcmNoZG9tYWlu
cyk7CisJaWYgKCRzZWxmLT5jdF9maWxlX2V4aXN0cygkc3lzY29uZmlnX25ldHdvcmspKXsKKwkJ
bXkgJGRhdGEgPSAkc2VsZi0+Y3RfZmlsZV9nZXRfY29udGVudHMoJHN5c2NvbmZpZ19uZXR3b3Jr
KTsKKwkJaWYgKCRkYXRhICF+IHMvXkhPU1ROQU1FPVxoKihcUyspXGgqJC9IT1NUTkFNRT0kaG9z
dG5hbWUvbSl7CisJCQkkZGF0YSAuPSAiSE9TVE5BTUU9JGhvc3RuYW1lXG4iOworCQl9CisJCSRz
ZWxmLT5jdF9maWxlX3NldF9jb250ZW50cygkc3lzY29uZmlnX25ldHdvcmssICRkYXRhKTsKKwl9
Cit9CisKK3N1YiBzZXR1cF9pbml0IHsKKwlteSAoJHNlbGYsICRjb25mKSA9IEBfOworCW15ICRm
aWxlbmFtZSA9ICIvZXRjL2luaXR0YWIiOworCXJldHVybiBpZiAhJHNlbGYtPmN0X2ZpbGVfZXhp
c3RzKCRmaWxlbmFtZSk7CisJbXkgJHR0eWNvdW50ID0gUFZFOjpMWEM6OkNvbmZpZy0+Z2V0X3R0
eV9jb3VudCgkY29uZik7CisJbXkgJGluaXR0YWIgPSAkc2VsZi0+Y3RfZmlsZV9nZXRfY29udGVu
dHMoJGZpbGVuYW1lKTsKKwlteSBAbGluZXMgPSBncmVwIHsKKwkJIyByZW1vdmUgZ2V0dHkgbGlu
ZXMKKwkJIS9eXHMqXGQrOlxkKzpbXjpdKjouKmdldHR5LyAmJgorCQkjIHJlbW92ZSBwb3dlciBs
aW5lcworCQkhL15ccypwW2ZubzBdOi8KKwl9IHNwbGl0KC9cbi8sICRpbml0dGFiKTsKKwkkaW5p
dHRhYiA9IGpvaW4oIlxuIiwgQGxpbmVzKSAuICJcbiI7CisJJGluaXR0YWIgLj0gInAwOjpwb3dl
cmZhaWw6L3NiaW4vc2h1dGRvd24gLWYgLWggKzIgXCJQb3dlciBmYWlsdXJlLCBzeXN0ZW0gc2h1
dHRpbmcgZG93bi4uLlwiXG4iOworCWZvciAobXkgJGlkID0gMTsgJGlkIDw9ICR0dHljb3VudDsg
JGlkKyspeworCQluZXh0IGlmICRpZCA9PSA3OyAjIHJlc2VydmVkIGZvciBYMTEKKwkJbXkgJGxl
dmVscyA9ICgkaWQgPT0gMSkgPyAnMjM0JyA6ICcyMzQ1JzsKKwkJJGluaXR0YWIgLj0gIiRpZDok
bGV2ZWxzOnJlc3Bhd246L3NiaW4vbWluZ2V0dHkgdHR5JGlkXG4iOworCX0KKwkkc2VsZi0+Y3Rf
ZmlsZV9zZXRfY29udGVudHMoJGZpbGVuYW1lLCAkaW5pdHRhYik7Cit9CisKK3N1YiBzZXR1cF9u
ZXR3b3JrIHsKKwlteSAoJHNlbGYsICRjb25mKSA9IEBfOworIwlteSAkZ3c7CisJZm9yZWFjaCBt
eSAkayAoa2V5cyAlJGNvbmYpIHsKKwkJbmV4dCBpZiAkayAhfiBtL15uZXQoXGQrKSQvOworCQlt
eSAkZCA9IFBWRTo6TFhDOjpDb25maWctPnBhcnNlX2x4Y19uZXR3b3JrKCRjb25mLT57JGt9KTsK
KwkJbmV4dCBpZiAhJGQtPntuYW1lfTsKKwkJbXkgJGlmcGF0aCA9ICIvZXRjL25ldC9pZmFjZXMv
JGQtPntuYW1lfSI7CisJCSRzZWxmLT5jdF9tYWtlX3BhdGgoJGlmcGF0aCk7CisJCW15ICRvcHRm
aWxlID0gIiRpZnBhdGgvb3B0aW9ucyI7CisJCW15ICRhZGRyZmlsZSA9ICIkaWZwYXRoL2lwdjRh
ZGRyZXNzIjsKKwkJbXkgJHJvdXRlZmlsZSA9ICIkaWZwYXRoL2lwdjRyb3V0ZSI7CisJCW15ICRv
cHRpb25zID0gIlRZUEU9ZXRoXG4iOworCQlteSAkYWRkcmVzcyA9ICcnOworCQlteSAkcm91dGVz
ID0gJyc7CisJCWlmICgkZC0+e2lwfSAmJiAkZC0+e2lwfSBuZSAnbWFudWFsJyl7CisJCQlpZiAo
JGQtPntpcH0gZXEgJ2RoY3AnKXsKKwkJCQkkb3B0aW9ucyAuPSAiQk9PVFBST1RPPWRoY3BcbiI7
CisJCQl9IGVsc2UgeworCQkJCSRvcHRpb25zIC49ICJCT09UUFJPVE89c3RhdGljXG4iOworCQkJ
CSRhZGRyZXNzID0gIiRkLT57aXB9XG4iOworCQkJCWlmIChkZWZpbmVkKCRkLT57Z3d9KSl7CisJ
CQkJCSRyb3V0ZXMgLj0gImRlZmF1bHQgdmlhICRkLT57Z3d9XG4iOworCQkJCQkkc2VsZi0+Y3Rf
bW9kaWZ5X2ZpbGUoJHJvdXRlZmlsZSwgJHJvdXRlcywgZGVsZXRlID0+IDEsIHByZXBlbmQgPT4g
MSk7CisJCQkJfQorCQkJCSRzZWxmLT5jdF9maWxlX3NldF9jb250ZW50cygkYWRkcmZpbGUsICRh
ZGRyZXNzKTsKKwkJCX0KKwkJCSRzZWxmLT5jdF9maWxlX3NldF9jb250ZW50cygkb3B0ZmlsZSwg
JG9wdGlvbnMpOworCQl9CisJfQorfQorCisxOwotLS0gL3Vzci9zaGFyZS9seGMvY29uZmlnL2Fs
dGxpbnV4LmNvbW1vbi5jb25mLm9yaWcJMjAxNi0wOS0wNCAyMDo0MTo1Mi45MzY1NzUzMzAgKzA4
MDAKKysrIC91c3Ivc2hhcmUvbHhjL2NvbmZpZy9hbHRsaW51eC5jb21tb24uY29uZgkyMDE2LTA5
LTA0IDE2OjI4OjUyLjg1MzE2MzUwNiArMDgwMApAQCAtMCwwICsxLDI3IEBACisjIFRoaXMgZGVy
aXZlcyBmcm9tIHRoZSBnbG9iYWwgY29tbW9uIGNvbmZpZworbHhjLmluY2x1ZGUgPSAvdXNyL3No
YXJlL2x4Yy9jb25maWcvY29tbW9uLmNvbmYKKworIyBBbGxvdyBmb3IgNiB0dHkgZGV2aWNlcyBi
eSBkZWZhdWx0CitseGMudHR5ID0gNgorCisjIERvZXNuJ3Qgc3VwcG9ydCBjb25zb2xlcyBpbiAv
ZGV2L2x4Yy8KKyNseGMuZGV2dHR5ZGlyID0KKworIyBDYXBhYmlsaXRpZXMKKyMgVW5jb21tZW50
IHRoZXNlIGlmIHlvdSBkb24ndCBydW4gYW55dGhpbmcgdGhhdCBuZWVkcyB0aGUgY2FwYWJpbGl0
eSwgYW5kCisjIHdvdWxkIGxpa2UgdGhlIGNvbnRhaW5lciB0byBydW4gd2l0aCBsZXNzIHByaXZp
bGVnZS4KKyMKKyMgRHJvcHBpbmcgc3lzX2FkbWluIGRpc2FibGVzIGNvbnRhaW5lciByb290IGZy
b20gZG9pbmcgYSBsb3Qgb2YgdGhpbmdzCisjIHRoYXQgY291bGQgYmUgYmFkIGxpa2UgcmUtbW91
bnRpbmcgbHhjIGZzdGFiIGVudHJpZXMgcncgZm9yIGV4YW1wbGUsCisjIGJ1dCBhbHNvIGRpc2Fi
bGVzIHNvbWUgdXNlZnVsIHRoaW5ncyBsaWtlIGJlaW5nIGFibGUgdG8gbmZzIG1vdW50LCBhbmQK
KyMgdGhpbmdzIHRoYXQgYXJlIGFscmVhZHkgbmFtZXNwYWNlZCB3aXRoIG5zX2NhcGFibGUoKSBr
ZXJuZWwgY2hlY2tzLCBsaWtlCisjIGhvc3RuYW1lKDEpLgorIyBseGMuY2FwLmRyb3AgPSBzeXNf
YWRtaW4KKyMgbHhjLmNhcC5kcm9wID0gbmV0X3JhdyAgICAgICAgICAjIGJyZWFrcyBkaGNwL3Bp
bmcKKyMgbHhjLmNhcC5kcm9wID0gc2V0Z2lkICAgICAgICAgICAjIGJyZWFrcyBsb2dpbiAoaW5p
dGdyb3Vwcy9zZXRncm91cHMpCisjIGx4Yy5jYXAuZHJvcCA9IGRhY19yZWFkX3NlYXJjaCAgIyBi
cmVha3MgbG9naW4gKHBhbSB1bml4X2Noa3B3ZCkKKyMgbHhjLmNhcC5kcm9wID0gc2V0dWlkICAg
ICAgICAgICAjIGJyZWFrcyBzc2hkLG5mcyBzdGF0ZAorIyBseGMuY2FwLmRyb3AgPSBhdWRpdF9j
b250cm9sICAgICMgYnJlYWtzIHNzaGQgKHNldF9sb2dpbnVpZCBmYWlsZWQpCisjIGx4Yy5jYXAu
ZHJvcCA9IGF1ZGl0X3dyaXRlCisjIGx4Yy5jYXAuZHJvcCA9IHNldHBjYXAgICAgICAgICAgIyBi
aWcgYmlnIGxvZ2luIGRlbGF5cyBpbiBGZWRvcmEgMjAgc3lzdGVtZAorbHhjLmNhcC5kcm9wID0g
c2V0ZmNhcCBzeXNfbmljZSBzeXNfcGFjY3Qgc3lzX3Jhd2lvCi0tLSAvdXNyL3NoYXJlL2x4Yy9j
b25maWcvYWx0bGludXgudXNlcm5zLmNvbmYub3JpZwkyMDE2LTA5LTA0IDIwOjQxOjQ2LjY4NjU3
NTE2MSArMDgwMAorKysgL3Vzci9zaGFyZS9seGMvY29uZmlnL2FsdGxpbnV4LnVzZXJucy5jb25m
CTIwMTYtMDgtMjMgMDI6MTM6NDEuMDAwMDAwMDAwICswODAwCkBAIC0wLDAgKzEsMiBAQAorIyBU
aGlzIGRlcml2ZXMgZnJvbSB0aGUgZ2xvYmFsIHVzZXJucyBjb25maWcKK2x4Yy5pbmNsdWRlID0g
L3Vzci9zaGFyZS9seGMvY29uZmlnL3VzZXJucy5jb25mCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>