From 53b16591832dc07e9e15a9078f08a899503bbaa6 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 2 Oct 2002 14:08:40 +0000 Subject: newly generated docs; removing old ones (This used to be commit d72538fd14b8d00ea07f19464b4f3a3d93445cbf) --- docs/htmldocs/portability.html | 272 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 docs/htmldocs/portability.html (limited to 'docs/htmldocs/portability.html') diff --git a/docs/htmldocs/portability.html b/docs/htmldocs/portability.html new file mode 100644 index 0000000000..72a5146892 --- /dev/null +++ b/docs/htmldocs/portability.html @@ -0,0 +1,272 @@ + +Portability
SAMBA Project Documentation
Prev 

Chapter 21. Portability

Samba works on a wide range of platforms but the interface all the +platforms provide is not always compatible. This chapter contains +platform-specific information about compiling and using samba.

21.1. HPUX

HP's implementation of supplementary groups is, er, non-standard (for +hysterical reasons). There are two group files, /etc/group and +/etc/logingroup; the system maps UIDs to numbers using the former, but +initgroups() reads the latter. Most system admins who know the ropes +symlink /etc/group to /etc/logingroup (hard link doesn't work for reasons +too stupid to go into here). initgroups() will complain if one of the +groups you're in in /etc/logingroup has what it considers to be an invalid +ID, which means outside the range [0..UID_MAX], where UID_MAX is (I think) +60000 currently on HP-UX. This precludes -2 and 65534, the usual 'nobody' +GIDs.

If you encounter this problem, make sure that the programs that are failing +to initgroups() be run as users not in any groups with GIDs outside the +allowed range.

This is documented in the HP manual pages under setgroups(2) and passwd(4).

21.2. SCO Unix

+If you run an old version of SCO Unix then you may need to get important +TCP/IP patches for Samba to work correctly. Without the patch, you may +encounter corrupt data transfers using samba.

The patch you need is UOD385 Connection Drivers SLS. It is available from +SCO (ftp.sco.com, directory SLS, files uod385a.Z and uod385a.ltr.Z).

21.3. DNIX

DNIX has a problem with seteuid() and setegid(). These routines are +needed for Samba to work correctly, but they were left out of the DNIX +C library for some reason.

For this reason Samba by default defines the macro NO_EID in the DNIX +section of includes.h. This works around the problem in a limited way, +but it is far from ideal, some things still won't work right.

+To fix the problem properly you need to assemble the following two +functions and then either add them to your C library or link them into +Samba.

+put this in the file setegid.s:

        .globl  _setegid
+_setegid:
+        moveq   #47,d0
+        movl    #100,a0
+        moveq   #1,d1
+        movl    4(sp),a1
+        trap    #9
+        bccs    1$
+        jmp     cerror
+1$:
+        clrl    d0
+        rts

put this in the file seteuid.s:

        .globl  _seteuid
+_seteuid:
+        moveq   #47,d0
+        movl    #100,a0
+        moveq   #0,d1
+        movl    4(sp),a1
+        trap    #9
+        bccs    1$
+        jmp     cerror
+1$:
+        clrl    d0
+        rts

after creating the above files you then assemble them using

as seteuid.s

as setegid.s

that should produce the files seteuid.o and +setegid.o

then you need to add these to the LIBSM line in the DNIX section of +the Samba Makefile. Your LIBSM line will then look something like this:

LIBSM = setegid.o seteuid.o -ln

+You should then remove the line:

#define NO_EID

from the DNIX section of includes.h


PrevHome 
Group mapping HOWTO  
\ No newline at end of file -- cgit