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

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

    <bug>
          <bug_id>31202</bug_id>
          
          <creation_ts>2015-08-13 19:36:44 +0300</creation_ts>
          <short_desc>Двойное указание домена при использовании dhcp</short_desc>
          <delta_ts>2019-03-11 17:24:12 +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>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.altlinux.org/pipermail/devel/2015-August/200024.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NMU, patch</keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="solo">solo</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>mrdrew</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>152416</commentid>
    <comment_count>0</comment_count>
    <who name="solo">solo</who>
    <bug_when>2015-08-13 19:36:44 +0300</bug_when>
    <thetext>После обновления до Сизифа, при использовании dhcp, наблюдаю дублирование доменной части при регистрацию хоста в DDNS: -- получаю host.dom.en.dom.en, вместо ожидаемого host.dom.en (см. http://lists.altlinux.org/pipermail/devel/2015-August/200024.html).

Расследование показало, что при использовании комбинации dhcpcd и etcnet на Сизифе наблюдается следующее:

1. Если в /etc/sysconfig/network определён HOSTNAME без точек, например host -- в DNS получаю ожидаемое host.dom.en. (Но похоже, не все скрипты такой HOSTNAME корректно переживают.)

2. Если в /etc/sysconfig/network определён HOSTNAME с точками, одна из которых концевая, например host.dom.en. -- результат получаю двоякий: хост либо регистрируется в DNS как host.dom.en., либо не регистрируется там вообще (что бывает чаще).

3. Если в /etc/sysconfig/network определён HOSTNAME с точками, но без концевой, например host.dom.en -- при регистрации в DNS домен удваивается, что приводит к host.dom.en.dom.en...

Проверял на следующих версиях пакетов на Сизифе:

dhcpcd-1:6.9.1-alt1
etcnet-0.9.10-alt18
etcnet-defaults-server-0.9.10-alt18
sysvinit-2.88-alt5

На p7, сразу после инсталляции с http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/images/centaurus/altlinux-7.0.4-centaurus-x86_64-ru-install-dvd5.iso, данной проблемы нет -- в DNS всегда ожидаемый host.dom.en, независимо от того были ли точки в HOSTNAME.

Версии пакетов:

dhcpcd-1:5.6.8-alt1
etcnet-0.9.10-alt8
etcnet-defaults-server-0.9.10-alt8
sysvinit-2.88-alt5

Дальнейший разбор показал, что изменилось dhcpcd, а etcnet этого не учитывает. С параметрами по умолчанию, разница в следующем:

* Для dhcpcd-1:5.6.8 вызов &quot;dhcpcd -h host.dom.en&quot; приводят к регистрации host.dom.en

* Для dhcpcd-1:6.9.1 вызов &quot;dhcpcd -h host.dom.en&quot; приводят к регистрации host.dom.en.dom.en. Старое поведение можно получить, используя &quot;dhcpcd -F both -h host.dom.en&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152423</commentid>
    <comment_count>1</comment_count>
    <who name="solo">solo</who>
    <bug_when>2015-08-14 11:32:29 +0300</bug_when>
    <thetext>По моему, в свете https://bugzilla.altlinux.org/show_bug.cgi?id=31203, надо в dhcp_cmdline() (см. etc/net/scripts/functions-ip) менять текущий алгоритм на следующий:

1. Есть в HOSTNAME точка, выставляем для:

dhcpcd -- &quot;-F both -h $HOSTNAME&quot;

dhclient -- &quot;-F $HOSTNAME&quot; (текущий вариант)

1. В HOSTNAME нет точки, выставляем для:

dhcpcd -- &quot;-h $HOSTNAME&quot; (текущий вариант)

dhclient -- &quot;-H $HOSTNAME&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152426</commentid>
    <comment_count>2</comment_count>
    <who name="solo">solo</who>
    <bug_when>2015-08-14 14:13:40 +0300</bug_when>
    <thetext>Предлагаемый алгоритм реализован в бранче fix-dhcp-hostname (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=shortlog;h=refs/heads/fix-dhcp-hostname), репозитория git://git.altlinux.org/people/solo/packages/etcnet.git.

Краткое описание изменений:

1. Для dhcpcd -- в строку аргументов добавляется &quot;-F both&quot;, если в HOSTNAME найдена точка (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commitdiff;h=6ea116925aca188376eb05bc4b079918a869d0c7).

2. Для dhclient -- в строке аргументов используется &quot;-F $HOSTNAME&quot;, если в HOSTNAME найдена точка. Если же точки там нет -- используется &quot;-H $HOSTNAME&quot; (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commitdiff;h=cc7f150ddea5bb8ffa62146e87c31a169116ba96).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152427</commentid>
    <comment_count>3</comment_count>
    <who name="solo">solo</who>
    <bug_when>2015-08-14 14:56:45 +0300</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; Предлагаемый алгоритм реализован в бранче fix-dhcp-hostname (см.
&gt; http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=shortlog;h=refs/heads/fix-dhcp-hostname),
&gt; репозитория git://git.altlinux.org/people/solo/packages/etcnet.git.

Для себя я подготовил NMU с данными изменениями (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commit;h=e59153241306d0e0b40dbbadde021696bdbd0e2e и http://git.altlinux.org/tasks/147728/). Тестирование прошло успешно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152619</commentid>
    <comment_count>4</comment_count>
    <who name="solo">solo</who>
    <bug_when>2015-08-31 16:44:21 +0300</bug_when>
    <thetext>Считаю что данная бага блокирующая для p8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153652</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2015-11-11 21:45:48 +0300</bug_when>
    <thetext>Я, наконец, добрался с этим разобраться. В целом я согласен с solo@, только мне не нравится его патч:
1. DHCP_HOSTNAME тоже должен проверяться
2. Использование subshell с echo и fgrep это как-то слишком.
Здесь мой вариант патча:
http://git.altlinux.org/people/sem/packages/etcnet.git?p=etcnet.git;a=commit;h=5c4700b22e7450e3669ebcff74d80c0202a3ac87

Возвращать старое поведение в dhcpcd действительно не стоит, пожалуй. С этим патчем будет работать и с более старыми версиями dhcpcd, -F там есть уже давно.
И short_hostname в конфиге dhcpcd в любом случае тоже не вариант, etcnet не должен полагаться на то, что эта опция там будет. Так что зависимость от #31203 убираю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153664</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2015-11-12 17:43:00 +0300</bug_when>
    <thetext>В dhcpcd-6.9.3-alt1 я вернул старое поведение по умолчанию, так что этот баг больше не distro-blocker. Но все равно в etcnet использовать DHCP-опцию FQDN вместо hostname мне кажется хороше</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153665</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2015-11-12 17:44:19 +0300</bug_when>
    <thetext>...хорошей идеей, так что патч актуален.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179376</commentid>
    <comment_count>8</comment_count>
    <who name="mrdrew@altlinux.org">mrdrew</who>
    <bug_when>2019-03-11 17:24:12 +0300</bug_when>
    <thetext>Закрываю, т.к. не воспроизводится.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>