lkml.org 
[lkml]   [1998]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patches in this message
    /
    Date
    From
    SubjectRe: 2.1.79 + latest smbfs patch
    On 17 Jan, Eloy A. Paris wrote:
    > Bill Hawes <whawes@star.net> wrote:
    >
    > : No dev_t field, but a uid_t, gid_t and mode_t fields. Would these cause
    > : a problem?
    >
    > Don't go any further, that's the problem: when I compiled ncpfs and
    > smbfs with glibc I faced this problem. uid_t, gid_t and mode_t are 2
    > bytes long in libc5 and in the kernel but are 4 bytes long in libc6
    > (glibc2). If the userland utilities are compiled to use this data
    > types the kernel will receive the wrong values because of the size
    > mismatch.
    >
    > To fix the problem I changed all ocurrences of uid_t, gid_t and mode_t
    > with __kernel_uid_t, __kernel_gid_t and __kernel_mode_t. This change
    > must be done in both the userland utilities _and_ in the kernel
    > headers (linux/ncpfs_mount.h, smbfs_mount.h, etc.)
    >
    > I know RedHat 5.0 had the ncpfs and smbfs packages broken when they
    > first released 5.0. I heard someone said that's fixed now.
    >
    > I would say that the kernel headers must be fixed to have __kernel_uid
    > et al instead of uid_t et al. What do you think?
    >
    > : If you get time, you might want to try building the samba-1.9.18p1
    > : utilities with glibc, since you've already been through the process for
    > : the nfs utils.
    >
    > I don't think that will work since Volker doesn't have yet the patches to
    > make smbfs work under glibc2. I will create the necessary pacthes and
    > send them to him (he's waiting for them).
    >
    > E.-
    >

    I have been able to build (2.1.79 + redhat 5.0) them doing the
    following.

    1- cp /usr/include/linux/smb_fs.h to samba/source/smb_fs.h
    and apply this patch
    --- smb_fs.h.old Fri Jan 16 13:14:38 1998
    +++ smb_fs.h Fri Jan 16 14:40:48 1998
    @@ -9,7 +9,6 @@
    #ifndef _LINUX_SMB_FS_H
    #define _LINUX_SMB_FS_H

    -#include <linux/dirent.h>
    #include <linux/smb.h>

    /*

    2- the following diff against original sources

    diff -urNa samba-1.9.18p1/source/Makefile
    samba-1.9.18p1-new/source/Makefile --- samba-1.9.18p1/source/Makefile
    Fri Jan 9 02:33:59 1998 +++ samba-1.9.18p1-new/source/Makefile Fri Jan
    16 14:53:53 1998 @@ -90,8 +90,8 @@

    # This is for PAM authentication. RedHat Linux uses PAM.
    # If you use PAM, then uncomment the following lines:
    -# PAM_FLAGS = -DUSE_PAM
    -# PAM_LIBS = -ldl -lpam
    +PAM_FLAGS = -DUSE_PAM
    +PAM_LIBS = -ldl -lpam

    # This is for AFS authentication. If you use AFS then set AFS_BASE
    # according to your system layout, and uncomment the other lines as well.
    @@ -193,7 +193,7 @@
    # you must use the smbfs utilities from
    # ftp://ftp.gwdg.de/pub/linux/misc/smbfs

    -# MOUNT_PROGS = smbmount smbmnt smbumount
    +MOUNT_PROGS = smbmount smbmnt smbumount

    # Use this for Linux with shadow passwords - but not using PAM!
    # contributed by Andrew.Tridgell@anu.edu.au
    @@ -235,8 +235,8 @@

    # Use this for Linux with glibc2 (libc6) - RedHat Linux v5.0 with PAM
    # contributed by John H Terpstra <jht@aquasoft.com.au>
    -# FLAGSM = -DLINUX -DNETGROUP -DALLOW_CHANGE_PASSWORD -DFAST_SHARE_MODES -DNO_ASMSIGNALH -DGLIBC2
    -# LIBSM = -lnsl -lcrypt
    +FLAGSM = -DLINUX -DNETGROUP -DALLOW_CHANGE_PASSWORD -DFAST_SHARE_MODES -DNO_ASMSIGNALH -DGLIBC2
    +LIBSM = -lnsl -lcrypt

    # This is for SUNOS5.4 and later (also known as Solaris 2.4 and later)
    # contributed by Andrew.Tridgell@anu.edu.au
    diff -urNa samba-1.9.18p1/source/smbmnt.c samba-1.9.18p1-new/source/smbmnt.c
    --- samba-1.9.18p1/source/smbmnt.c Mon Jan 5 22:56:29 1998
    +++ samba-1.9.18p1-new/source/smbmnt.c Fri Jan 16 14:42:16 1998
    @@ -27,7 +27,6 @@
    #include <sys/mount.h>
    #include <mntent.h>

    -#include <linux/fs.h>
    #include <linux/smb.h>
    #include <linux/smb_mount.h>

    diff -urNa samba-1.9.18p1/source/smbmount.c samba-1.9.18p1-new/source/smbmount.c
    --- samba-1.9.18p1/source/smbmount.c Tue Jan 6 00:13:44 1998
    +++ samba-1.9.18p1-new/source/smbmount.c Fri Jan 16 14:41:02 1998
    @@ -24,7 +24,7 @@
    #endif

    #include "includes.h"
    -#include <linux/smb_fs.h>
    +#include "smb_fs.h"
    static struct smb_conn_opt conn_options;

    #ifndef REGISTER
    diff -urNa samba-1.9.18p1/source/smbumount.c samba-1.9.18p1-new/source/smbumount.c
    --- samba-1.9.18p1/source/smbumount.c Mon Jan 5 22:56:29 1998
    +++ samba-1.9.18p1-new/source/smbumount.c Fri Jan 16 14:42:38 1998
    @@ -28,7 +28,6 @@
    #include <mntent.h>

    #include <sys/ioctl.h>
    -#include <linux/fs.h>
    #include <linux/smb.h>
    #include <linux/smb_mount.h>
    #include <linux/smb_fs.h>
    --
    --
    Manuel J. Galan
    manolow@step.es


    \
     
     \ /
      Last update: 2005-03-22 13:41    [W:2.393 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site