[Pkg-samba-maint] Fwd: [Announce] Samba 4.6.1, 4.5.7 and 4.4.12 Security Releases Available for Download

Roberto C. Sánchez roberto at connexer.com
Sun Mar 26 12:39:16 UTC 2017


On Thu, Mar 23, 2017 at 11:30:09AM +0100, Mathieu Parent wrote:
> 
> See attached the backported patches for 3.6 (those are from the samba
> bugzilla which is still embargoed).
> 
> Please take care of it.
> 

Hi Mathieu,

I wanted to let you know that I had to make a minor tweak to patch 08/15
in order to get the build to succeed on wheezy.  I wanted let everyone
know in the event that I have missed something important and for general
awareness.

I had to change this hunk:

-       if (fsp->is_directory && fsp->fh->fd != -1) {
-               dirp->dir = SMB_VFS_FDOPENDIR(fsp, mask, attr);
-               if (dirp->dir != NULL) {
-                       dirp->fsp = fsp;
-               } else {
-                       DEBUG(10,("OpenDir_fsp: SMB_VFS_FDOPENDIR on %s returned "
-                               "NULL (%s)\n",
-                               dirp->dir_path,
-                               strerror(errno)));
-                       if (errno != ENOSYS) {
-                               return NULL;
-                       }
+       dirp->dir = SMB_VFS_FDOPENDIR(fsp, mask, attr);
+       if (dirp->dir != NULL) {
+               dirp->fsp = fsp;
+       } else {
+               DEBUG(10,("OpenDir_fsp: SMB_VFS_FDOPENDIR on %s returned "
+                       "NULL (%s)\n",
+                       dirp->dir_path,
+                       strerror(errno)));
+               if (errno != ENOSYS) {
+                       return NULL;

At first the hunk failed to apply cleanly (because dirp->dir != NULL
was present as dirp->dir == NULL) and the code from the else was in the
if.  I made the change manually and refreshed the patch but then the
build failed.  Apparently, the smb_Dir struct does not have a member
called fsp (a back pointer to the file_structure, based on looking in
the Samba 4 source code), so it would not compile.  I ended up changing
it to this:

-       if (fsp->is_directory && fsp->fh->fd != -1) {
-               dirp->dir = SMB_VFS_FDOPENDIR(fsp, mask, attr);
-               if (dirp->dir == NULL) {
-                       DEBUG(10,("OpenDir_fsp: SMB_VFS_FDOPENDIR on %s returned "
-                               "NULL (%s)\n",
-                               dirp->dir_path,
-                               strerror(errno)));
-                       if (errno != ENOSYS) {
-                               return NULL;
-                       }
+       dirp->dir = SMB_VFS_FDOPENDIR(fsp, mask, attr);
+       if (dirp->dir == NULL) {
+               DEBUG(10,("OpenDir_fsp: SMB_VFS_FDOPENDIR on %s returned "
+                       "NULL (%s)\n",
+                       dirp->dir_path, 
+                       strerror(errno)));
+               if (errno != ENOSYS) {
+                       return NULL;

Also, patch 02/15 introduces a change which fails the build for a
different reason:

+       if (ISDOT(data->smb_fname->base_name)) {
+               data->smb_fname->base_name = vfs_GetWd(data, handle->conn);
+       }
+

Compiling modules/vfs_dirsort.c
modules/vfs_dirsort.c: In function 'dirsort_fdopendir':
modules/vfs_dirsort.c:145:6: error: 'struct dirsort_privates' has no member named 'smb_fname'
modules/vfs_dirsort.c:145:6: error: 'struct dirsort_privates' has no member named 'smb_fname'
modules/vfs_dirsort.c:146:7: error: 'struct dirsort_privates' has no member named 'smb_fname'
The following command failed:
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -I. -I/network/scratch/roberto/freexian/samba-3.6.6/source3 -I/network/scratch/roberto/freexian/samba-3.6.6/source3/../lib/iniparser/src -Iinclude -I./include  -I. -I. -I./../lib/replace -I./../lib/tevent -I./librpc -I./.. -I/usr/include -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -Iinclude -I./include -I. -I. -I./../lib/replace -I./../lib/tevent -I./librpc -I./.. -I./../lib/popt -DLDAP_DEPRECATED  -I/network/scratch/roberto/freexian/samba-3.6.6/source3/lib -I.. -D_SAMBA_BUILD_=3 -D_SAMBA_BUILD_=3 -fPIC -c modules/vfs_dirsort.c -o modules/vfs_dirsort.o
make[2]: *** [modules/vfs_dirsort.o] Error 1

The resolution for this one is not obvious to me.  I intend to dig into
it, but if anyone has a suggestion, I welcome it.

Regards,

-Roberto

-- 
Roberto C. Sánchez
http://people.connexer.com/~roberto
http://www.connexer.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-samba-maint/attachments/20170326/ef056a1c/attachment.sig>


More information about the Pkg-samba-maint mailing list