- The format of the Trivial Database (TDB) files has been updated. The files are upgraded as soon as the new version of the
smbddaemon 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
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 -lcommand to list the available code pages. The mostly used one is Windows encoding corresponding to Latin-1, named CP1252.
net printing dumpand
net printing migratecommands 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.tdbcommand or migrate them with the
net printing migrate encoding=CP1252 /path/to/ntprinters.tdbcommand. When migrating printers, Red Hat suggests to do so in the following order: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
%Gsubstitution character in certain variables did not resolve into a name. As a consequence,
%Gwas replaced by the GID number and not by the group name. This update provides a patch to fix this bug and
%Gis 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 useroption, this flag overrode the creation of the token for the specific share with the
force userset, ensuring that the user had only the guest access. Consequently, files were created as the
nobodyuser. With this update, the guest flag is set under a
force usershare only when the user name being mapped to was the same as the
guestuser. 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.
libsmbclientlibrary toolset did not initialize the default configuration parameters. As a consequence, applications using
libsmbclientterminated unexpectedly when the
$HOMEparameter 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
smbclientcommand-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.
smbservice will be restarted automatically.