[Bug 1795772] Re: rmdir on non-empty samba directory fails silently

Launchpad Bug Tracker 1795772 at bugs.launchpad.net
Tue Nov 20 23:06:13 UTC 2018


This bug was fixed in the package samba - 2:4.7.6+dfsg~ubuntu-0ubuntu2.4

---------------
samba (2:4.7.6+dfsg~ubuntu-0ubuntu2.4) bionic; urgency=medium

  * d/p/fix-rmdir.patch: fix the patch to not apply with offset, which
    previously made it change the wrong, almost identical, function.
    (LP: #1795772)

samba (2:4.7.6+dfsg~ubuntu-0ubuntu2.3) bionic; urgency=medium

  * d/p/fix-rmdir.patch: Fix to make smbclient report directory-not-empty
    errors (LP: #1795772)

 -- Andreas Hasenack <andreas at canonical.com>  Thu, 08 Nov 2018 16:09:36
-0200

** Changed in: samba (Ubuntu Bionic)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to samba in Ubuntu.
https://bugs.launchpad.net/bugs/1795772

Title:
  rmdir on non-empty samba directory fails silently

Status in samba:
  Unknown
Status in samba package in Ubuntu:
  Fix Released
Status in samba source package in Bionic:
  Fix Released

Bug description:
  [Impact]

  The samba client doesn't check the result of rmdir, returning success
  when the directory is not empty. This results in clients reporting
  successful directory removal when in fact the directory was not
  removed.

  This bug affects anything that uses the samba client, including file
  managers, mount, and gvfs.

  [Test Case]

  # lxc launch ubuntu-daily:bionic sambatest
  # lxc exec sambatest bash

  Inside container:

  # apt update
  # apt dist-upgrade -y
  # apt install -y samba samba-client
  # mkdir -p /tmp/shared/testdir/testsubdir
  # chown -R nobody:nogroup /tmp/shared
  # printf "%s" "[global]
      workgroup = WORKGROUP
      server role = standalone server
      security = user
      map to guest = Bad User
      guest ok = yes
      guest only = yes
      guest account = nobody
  [shared]
      path = /tmp/shared
      writable = yes
      browsable = yes
      guest ok = yes
  " | tee "/etc/samba/smb.conf" >/dev/null
  # service smbd restart

  # CLI_FORCE_INTERACTIVE=yes smbclient -U " "%" " //localhost/shared <<EOF
  rmdir testdir
  quit
  EOF

  * Should get NT_STATUS_DIRECTORY_NOT_EMPTY
    - with the bug present one will get no error message, but in both cases 
      the delete didn't happen

  [Upstream Report and Fix]

  https://bugzilla.samba.org/show_bug.cgi?id=13204

  https://attachments.samba.org/attachment.cgi?id=14408

  [Regression Potential]

  If the fix is implemented incorrectly, clients may receive false error
  messages, and report failure even on success when removing
  directories.

  [Original Description]

  When you delete a non-empty directory in Nautilus or Nemo, the Folder-
  Icon disappears and stays away but when you refresh the current
  directory or navigate back there it reappears. No error message at
  all. This bug is very annoying in two ways:

  1) When you only have smb access to the share you have to delete all
  files and directories in sub, subsub and subsubsubdirecories by hand
  to actually delete a directory.

  2) You don't get warned that the delete operation failed. In our case
  this produced a horrible mess in our shares before we recognized what
  was going wrong.

  You can find many people complaining in various forums. I found bug
  reports in bugtrackers of Nemo, Nautilus and Gnome but the root seems
  to be this (upstream fixed) bug in samba:

  https://bugzilla.samba.org/show_bug.cgi?id=13204

  Please cherry pick the fix into current version of samba.

  Thanks a lot for your help!

To manage notifications about this bug go to:
https://bugs.launchpad.net/samba/+bug/1795772/+subscriptions



More information about the foundations-bugs mailing list