8.208. samba

Updated samba packages that fix numerous bugs and add several enhancements are now available for Red Hat Enterprise Linux 6.
Samba is an open-source implementation of the Server Message Block (SMB) or Common Internet File System (CIFS) protocol, which allows PC-compatible machines to share files, printers, and other information.

Upgrade to an upstream version

The samba packages have been upgraded to upstream version 3.6.23, which provides a number of bug fixes and enhancements over the previous version. The notable changes are:
  • The format of the Trivial Database (TDB) files has been updated. The files are upgraded as soon as the new version of the smbd daemon is started. Note that it is not possible to downgrade to an older Samba version without backups of the old TDB files.
  • Printing subsystem TDB files, such as ntprinting.tdb, ntforms.tdb, ntdrivers.tdb, for old versions of Samba may contain non-UTF-8 strings in Latin-1 or other 8-bit encodings. When updating to Samba 3.6 these files have to be migrated to the new registry-based printing management. The migration has to be done manually because there is no information about the charset encoding in the files. To do so, specify the correct code page for the conversion. Use the icony -l command to list the available code pages. The mostly used one is Windows encoding corresponding to Latin-1, named CP1252.
  • The net printing dump and net printing migrate commands were extended to define the new encoding of the TDB files. As a result, it is possible to view the files with the net printing dump encoding=CP1252/path/to/ntprinters.tdb command or migrate them with the net printing migrate encoding=CP1252 /path/to/ntprinters.tdb command. When migrating printers, Red Hat suggests to do so in the following order:
    1. ntforms.tdb
    2. ntdrivers.tdb
    3. ntprinting.tdb
    Note that the migration has to be done when the Samba processes are shut down and that after migration it is needed to rename, move, or delete the files in the /var/lib/samba/ directory. (BZ#1003921)

Bug Fixes

The %G substitution character in certain variables did not resolve into a name. As a consequence, %G was replaced by the GID number and not by the group name. This update provides a patch to fix this bug and %G is now successfully substituted into a name.
When the user logs in as a guest, the guest boolean flag is attached to the user's token. When the user connected to a share with the force user option, this flag overrode the creation of the token for the specific share with the force user set, ensuring that the user had only the guest access. Consequently, files were created as the nobody user. With this update, the guest flag is set under a force user share only when the user name being mapped to was the same as the guest user. As a result, the files are created as the specified user.
The function that is used to authenticate the user did not provide all information about the user. When this function was used with another call to authenticate the user over a secure channel, the field for the path to the home directory was empty. Now, the correct DCPRC() function is called and all required fields are filled out as expected.
The libsmbclient library toolset did not initialize the default configuration parameters. As a consequence, applications using libsmbclient terminated unexpectedly when the $HOME parameter was not properly set. With this update, the default configuration values are loaded correctly and the applications no longer crashe in the described scenario.
Due to missing support for partial data and small size of certain buffers, clients were unable to cope with the buffer size returned by the server. The missing support has been added and Samba now works as expected.
With the SMB2 and SMB3 protocols, the filenama_convert() function was not called on the full path, which caused that the last component of the path was not normalized. Consequently, listing of large directories did not work correctly with SMB2 and SMB3. This bug has been fixed and large directories can be listed properly.


BZ#1081539, BZ#1099693
A timeout option has been added to the smbclient command-line utility. This allows users to customize the timeout value for Samba file operations.
It is now possible to set a different OS version for the Printing subsystem (spoolss) configuration. This allows users to work around situations where printing drivers do not interact with the printing server because they detect that its version is too old.
Users of samba are advised to upgrade to these updated packages, which fix these bugs and add these enhancements. After installing this update, the smb service will be restarted automatically.