diff options
Diffstat (limited to 'docs/htmldocs/portability.html')
-rw-r--r-- | docs/htmldocs/portability.html | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/docs/htmldocs/portability.html b/docs/htmldocs/portability.html new file mode 100644 index 0000000000..cc83f61694 --- /dev/null +++ b/docs/htmldocs/portability.html @@ -0,0 +1,314 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML +><HEAD +><TITLE +>Portability</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK +REL="HOME" +TITLE="SAMBA Project Documentation" +HREF="samba-howto-collection.html"><LINK +REL="PREVIOUS" +TITLE="Group mapping HOWTO" +HREF="groupmapping.html"><LINK +REL="NEXT" +TITLE="Samba and other CIFS clients" +HREF="other-clients.html"></HEAD +><BODY +CLASS="CHAPTER" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SAMBA Project Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="groupmapping.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="other-clients.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="PORTABILITY" +></A +>Chapter 21. Portability</H1 +><P +>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.</P +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AEN3011" +></A +>21.1. HPUX</H1 +><P +>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.</P +><P +>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.</P +><P +>This is documented in the HP manual pages under setgroups(2) and passwd(4).</P +></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AEN3016" +></A +>21.2. SCO Unix</H1 +><P +> +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.</P +><P +>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).</P +></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AEN3020" +></A +>21.3. DNIX</H1 +><P +>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.</P +><P +>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.</P +><P +> +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.</P +><P +> +put this in the file <TT +CLASS="FILENAME" +>setegid.s</TT +>:</P +><P +><PRE +CLASS="PROGRAMLISTING" +> .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</PRE +></P +><P +>put this in the file <TT +CLASS="FILENAME" +>seteuid.s</TT +>:</P +><P +><PRE +CLASS="PROGRAMLISTING" +> .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</PRE +></P +><P +>after creating the above files you then assemble them using</P +><P +><B +CLASS="COMMAND" +>as seteuid.s</B +></P +><P +><B +CLASS="COMMAND" +>as setegid.s</B +></P +><P +>that should produce the files <TT +CLASS="FILENAME" +>seteuid.o</TT +> and +<TT +CLASS="FILENAME" +>setegid.o</TT +></P +><P +>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:</P +><P +><PRE +CLASS="PROGRAMLISTING" +>LIBSM = setegid.o seteuid.o -ln</PRE +></P +><P +> +You should then remove the line:</P +><P +><PRE +CLASS="PROGRAMLISTING" +>#define NO_EID</PRE +></P +><P +>from the DNIX section of <TT +CLASS="FILENAME" +>includes.h</TT +></P +></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AEN3049" +></A +>21.4. RedHat Linux Rembrandt-II</H1 +><P +>By default RedHat Rembrandt-II during installation adds an +entry to /etc/hosts as follows: +<PRE +CLASS="PROGRAMLISTING" +> 127.0.0.1 loopback "hostname"."domainname"</PRE +></P +><P +>This causes Samba to loop back onto the loopback interface. +The result is that Samba fails to communicate correctly with +the world and therefor may fail to correctly negotiate who +is the master browse list holder and who is the master browser.</P +><P +>Corrective Action: Delete the entry after the word loopback + in the line starting 127.0.0.1</P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="groupmapping.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="samba-howto-collection.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="other-clients.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Group mapping HOWTO</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Samba and other CIFS clients</TD +></TR +></TABLE +></DIV +></BODY +></HTML +>
\ No newline at end of file |