Samba 2.0 Beta1 released !

Tim Rice tim at trr.metro.NET
Mon Nov 16 00:19:08 GMT 1998


On Sat, 14 Nov 1998, Jeremy Allison wrote:

> The Samba Team are pleased to announce Samba 2.0 Beta1
> 
[snip]
> 
> Please try this code and give us feedback.
> 

I've attached a MUST HAVE patch to config.guess for UnixWare 7
It will not configure without it.

I've also attached a patch I'd like to see included to adress the fact
that some vendors have changed the socket API so that call-by-reference
parameters that give buffer lengths are not int.

> 

Some observations on SCO Unix platforms:
SCO Open Server 3 (3.2v4.2) w/ gcc
The configure test for glob doesn't work corectly.
(formated for readability)
tim(trr)@trrsco 85% gmake
Using FLAGS = -g -O2 -Iinclude -I../include -I../ubiqx -I../smbwrapper
-DSMBLOGFILE="/usr/local/samba/var/log.smb"
-DNMBLOGFILE="/usr/local/samba/var/log.nmb"
-DCONFIGFILE="/usr/local/samba/lib/smb.conf"
-DLMHOSTSFILE="/usr/local/samba/lib/lmhosts"
-DSWATDIR="/usr/local/samba/swat" -DSBINDIR="/usr/local/samba/bin"
-DLOCKDIR="/usr/local/samba/var/locks" -DSMBRUN="/usr/local/samba/bin/smbrun"
-DCODEPAGEDIR="/usr/local/samba/lib/codepages"
-DDRIVERFILE="/usr/local/samba/lib/printers.def"
-DBINDIR="/usr/local/samba/bin" -DHAVE_INCLUDES_H -DPASSWD_PROGRAM="/bin/passwd"
-DSMB_PASSWD_FILE="/usr/local/samba/private/smbpasswd"
-DSMB_PASSWD_PROGRAM="/usr/local/samba/bin/smbpasswd"
Using LIBS = -lsocket -lnsl_s
mkdir smbd
Compiling smbd/server.c
In file included from ../smbd/server.c:22:
../include/includes.h:165: glob.h: No such file or directory
gmake: *** [smbd/server.o] Error 1

tim(trr)@trrsco 87% grep -i glob con*
config.cache:ac_cv_func_glob=${ac_cv_func_glob='yes'}
config.log:configure:3607: checking for glob
config.log:../include/includes.h:165: glob.h: No such file or directory
config.status:${ac_dA}HAVE_GLOB${ac_dB}HAVE_GLOB${ac_dC}1${ac_dD}
config.status:${ac_uA}HAVE_GLOB${ac_uB}HAVE_GLOB${ac_uC}1${ac_uD}
config.status:${ac_eA}HAVE_GLOB${ac_eB}HAVE_GLOB${ac_eC}1${ac_eD}

tim(trr)@trrsco 88% grep -i glob include/config.h
/* Define if you have the glob function.  */
#define HAVE_GLOB 1

----------------------------------------------------------------------

SCO Open Server 5 (5.0.2 & 5.0.4)
(formated for readability)
Using FLAGS = -g -Iinclude -I../include -I../ubiqx -I../smbwrapper
-DSMBLOGFILE="/usr/local/samba/var/log.smb"
-DNMBLOGFILE="/usr/local/samba/var/log.nmb"
-DCONFIGFILE="/usr/local/samba/lib/smb.conf"
-DLMHOSTSFILE="/usr/local/samba/lib/lmhosts"
-DSWATDIR="/usr/local/samba/swat" -DSBINDIR="/usr/local/samba/bin"
-DLOCKDIR="/usr/local/samba/var/locks" -DSMBRUN="/usr/local/samba/bin/smbrun"
-DCODEPAGEDIR="/usr/local/samba/lib/codepages"
-DDRIVERFILE="/usr/local/samba/lib/printers.def"
-DBINDIR="/usr/local/samba/bin" -DHAVE_INCLUDES_H -DPASSWD_PROGRAM="/bin/passwd"
-DSMB_PASSWD_FILE="/usr/local/samba/private/smbpasswd"
-DSMB_PASSWD_PROGRAM="/usr/local/samba/bin/smbpasswd"
Using LIBS = -lsocket -lnsl_s 
mkdir smbd
Compiling smbd/server.c
"/usr/include/sys/tiuser.h", line 215: warning: macro redefined: ROUNDUP
"/usr/include/rpc/auth.h", line 49: error: invalid type combination
"/usr/include/rpc/auth.h", line 49: warning: ANSI C behavior differs; not modifying typedef with "int"
"/usr/include/rpc/auth.h", line 49: error: invalid type combination
"/usr/include/rpc/auth.h", line 49: warning: useless declaration
"/usr/include/rpc/auth.h", line 49: warning: typedef declares no type name
"/usr/include/rpc/rpc_msg.h", line 54: error: Syntax error before or at: 1
"/usr/include/rpc/rpc_msg.h", line 55: warning: syntax violation:  empty declaration
"/usr/include/rpc/rpc_msg.h", line 88: error: incomplete struct/union/enum reject_stat: rj_stat
gmake: *** [smbd/server.o] Error 1

#if (mc68000 || sparc || vax || i386 || u3b2)
typedef ulong uint32;   /* 32-bit unsigned integers */   <--- line 49 auth.h
#endif

enum reject_stat {
        RPC_MISMATCH=0,
        AUTH_ERROR=1		<--- line 54 rpc_msg.h
};


I probably will not have any time to look deeper into the SCO problems.
I'll probably spend my free time getting smbwrapper to work on UnixWare.

-- 
Tim Rice			Multitalents	(707) 887-1469 (voice)
tim at trr.metro.net

-------------- next part --------------
*** config.guess.old	Tue Jul 28 20:14:34 1998
--- config.guess	Sun Nov 15 13:23:27 1998
***************
*** 425,430 ****
--- 425,433 ----
  		echo ${UNAME_MACHINE}-unknown-sysv32
  	fi
  	exit 0 ;;
+     *:UnixWare:*:*)
+ 	echo ${UNAME_MACHINE}-UnixWare-sysv${UNAME_RELEASE}
+ 	exit 0 ;;
      Intel:Mach:3*:*)
  	echo i386-unknown-mach3
  	exit 0 ;;
-------------- next part --------------
*** configure.in.old	Fri Nov 13 17:04:11 1998
--- configure.in	Sun Nov 15 15:41:36 1998
***************
*** 215,221 ****
  		*sco*) AC_DEFINE(SCO);;
  		*next2*) AC_DEFINE(NEXT2);;
  		*dgux*) AC_CHECK_PROG( ROFF, groff, [groff -etpsR -Tascii -man]);;
! 		*sysv4.2*) AC_CHECK_LIB(resolv, strcasecmp);;
  esac
  
  # try to work out how to produce pic code with this compiler
--- 215,224 ----
  		*sco*) AC_DEFINE(SCO);;
  		*next2*) AC_DEFINE(NEXT2);;
  		*dgux*) AC_CHECK_PROG( ROFF, groff, [groff -etpsR -Tascii -man]);;
! 		*sysv4.2*) AC_CHECK_LIB(resolv, strcasecmp)
!     			AC_DEFINE(SOCKARGLENTYPE,size_t)
! 				;;
! 		*sysv5*) AC_DEFINE(SOCKARGLENTYPE,size_t);;
  esac
  
  # try to work out how to produce pic code with this compiler
*** include/config.h.in.old	Fri Nov 13 17:04:11 1998
--- include/config.h.in	Sun Nov 15 15:36:26 1998
***************
*** 782,784 ****
--- 782,788 ----
  
  /* Define if you have the socket library (-lsocket).  */
  #undef HAVE_LIBSOCKET
+ 
+ /* socket API call-by-reference parameters */
+ #undef SOCKARGLENTYPE
+ 
*** include/includes.h.old	Fri Nov 13 13:40:59 1998
--- include/includes.h	Sun Nov 15 15:35:37 1998
***************
*** 710,713 ****
--- 710,724 ----
  /* yuck, I'd like a better way of doing this */
  #define DIRP_SIZE (256 + 32)
  
+ /* 
+ Some vendors have changed the socket API so that
+ call-by-reference parameters that give buffer
+ lengths are not int;
+ */
+ #ifdef SOCKARGLENTYPE
+ 	typedef SOCKARGLENTYPE socklen_t;
+ #else
+ 	typedef int socklen_t;
+ #endif
+ 
  #endif /* _INCLUDES_H */
*** lib/util_sock.c.old	Fri Nov 13 13:41:00 1998
--- lib/util_sock.c	Sun Nov 15 15:26:22 1998
***************
*** 50,57 ****
  ****************************************************************************/
  BOOL is_a_socket(int fd)
  {
!   int v,l;
!   l = sizeof(int);
    return(getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0);
  }
  
--- 50,58 ----
  ****************************************************************************/
  BOOL is_a_socket(int fd)
  {
!   int v;
!   socklen_t l;
!   l = sizeof(socklen_t);
    return(getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0);
  }
  
***************
*** 200,206 ****
  {
    ssize_t ret;
    struct sockaddr_in sock;
!   int socklen;
    
    socklen = sizeof(sock);
    bzero((char *)&sock,socklen);
--- 201,207 ----
  {
    ssize_t ret;
    struct sockaddr_in sock;
!   socklen_t socklen;
    
    socklen = sizeof(sock);
    bzero((char *)&sock,socklen);
***************
*** 777,783 ****
  {
  	struct sockaddr sa;
  	struct sockaddr_in *sockin = (struct sockaddr_in *) (&sa);
! 	int     length = sizeof(sa);
  	static pstring name_buf;
  	struct hostent *hp;
  	static int last_fd=-1;
--- 778,784 ----
  {
  	struct sockaddr sa;
  	struct sockaddr_in *sockin = (struct sockaddr_in *) (&sa);
! 	socklen_t     length = sizeof(sa);
  	static pstring name_buf;
  	struct hostent *hp;
  	static int last_fd=-1;
***************
*** 823,829 ****
  {
  	struct sockaddr sa;
  	struct sockaddr_in *sockin = (struct sockaddr_in *) (&sa);
! 	int     length = sizeof(sa);
  	static fstring addr_buf;
  	static int last_fd = -1;
  
--- 824,830 ----
  {
  	struct sockaddr sa;
  	struct sockaddr_in *sockin = (struct sockaddr_in *) (&sa);
! 	socklen_t     length = sizeof(sa);
  	static fstring addr_buf;
  	static int last_fd = -1;
  
*** smbd/oplock.c.old	Fri Nov 13 13:41:01 1998
--- smbd/oplock.c	Sun Nov 15 15:22:19 1998
***************
*** 45,51 ****
  BOOL open_oplock_ipc(void)
  {
    struct sockaddr_in sock_name;
!   int len = sizeof(sock_name);
  
    DEBUG(3,("open_oplock_ipc: opening loopback UDP socket.\n"));
  
--- 45,51 ----
  BOOL open_oplock_ipc(void)
  {
    struct sockaddr_in sock_name;
!   socklen_t len = sizeof(sock_name);
  
    DEBUG(3,("open_oplock_ipc: opening loopback UDP socket.\n"));
  
***************
*** 91,97 ****
  BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeout)
  {
    struct sockaddr_in from;
!   int fromlen = sizeof(from);
    int32 msg_len = 0;
  
    smb_read_error = 0;
--- 91,97 ----
  BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeout)
  {
    struct sockaddr_in from;
!   socklen_t fromlen = sizeof(from);
    int32 msg_len = 0;
  
    smb_read_error = 0;
*** smbd/server.c.old	Wed Oct 28 09:51:49 1998
--- smbd/server.c	Sun Nov 15 15:21:23 1998
***************
*** 197,203 ****
  		   accept on these. */
  		for( ; num > 0; num--) {
  			struct sockaddr addr;
! 			int in_addrlen = sizeof(addr);
  			
  			s = -1;
  			for(i = 0; i < num_interfaces; i++) {
--- 197,203 ----
  		   accept on these. */
  		for( ; num > 0; num--) {
  			struct sockaddr addr;
! 			socklen_t in_addrlen = sizeof(addr);
  			
  			s = -1;
  			for(i = 0; i < num_interfaces; i++) {


More information about the samba-technical mailing list