Bug 51190

Summary: Регресс директивы include для переменной %i начиная с версии 4.16
Product: Sisyphus Reporter: GordeevM <max.gordeef>
Component: sambaAssignee: Evgeny Sinelnikov <sin>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alimektor, max.gordeef, shevchenkodyu, sin, zvn
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description GordeevM 2024-08-19 10:55:11 MSK
Для include до версии 4.16 работало, а теперь не работает.

man smb.conf, раздел VARIABLE SUBSTITUTIONS
%i
    the local IP address to which a client connected.
    Before 4.0.0 it could contain IPv4 mapped IPv6 addresses, now it
only contains IPv4 or IPv6 addresses

Похожие баги апстрима для других переменных:
https://bugzilla.samba.org/show_bug.cgi?id=15243
https://bugzilla.samba.org/show_bug.cgi?id=15255
Comment 1 Evgeny Shesteperov 2024-09-01 19:41:29 MSK
Версия

-   samba-4.20.4-alt1

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

На сервере (от рута):

    echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
    sysctl -f
    mkdir -p /data/$(ip route get 1.2.3.4 | awk '{print $7}' | xargs)
    chmod 777 -R /data/
    echo "include = /etc/samba/smb-%i.conf" >> /etc/samba/smb.conf
    cat >> /etc/samba/smb-$(hostname -i).conf <<'EOF'
    [client_data]
      comment = Client Data
      path = /data/%i
      browseable = yes
      writable = yes
      force directory mode = 0770
      force create mode = 0660
      create mask = 0660
      directory mask = 0770
    EOF
    systemctl restart samba
    testparm

На клиенте:

    smbclient -L dc -U testuser

Ожидаемый результат: client_data в списке

    Enter SAMBA\testuser's password: 

        Sharename       Type      Comment
        ---------       ----      -------
        media           Disk      media
        sysvol          Disk      
        netlogon        Disk      
        SHARE           Disk      Share directory for AD users
        client_data     Disk      Client Data
        IPC$            IPC       IPC Service (Samba 4.14.10)

Фактический результат: client_data нет в списке

    Password for [SAMBA\testuser]:

        Sharename       Type      Comment
        ---------       ----      -------
        media           Disk      media
        sysvol          Disk      
        netlogon        Disk      
        SHARE           Disk      Share directory for AD users
        IPC$            IPC       IPC Service (Samba 4.20.4-alt1)

Воспроизводится в P10

Не воспроизводится в P9: версия samba-4.14.10-alt2