[41] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

changes for SPARC in krb5

daemon@ATHENA.MIT.EDU (prb@ATHENA.MIT.EDU)
Wed Oct 24 15:59:01 1990

From: prb@ATHENA.MIT.EDU
To: krb5-bugs@ATHENA.MIT.EDU
Date: Wed, 24 Oct 90 15:58:40 EDT

Here is what I have done to get our latest krb5 sources to build on the
SPARC.  Note that I copied the sources from

	/mit/krb5/src

On Oct 23 1990.  Some of these things are to deal with problems with @sys.
(There are some KDC changes here which were not in my first note to John)
Also, John pointed out I probably screwed up my string?.h stuff.  I can
never remember which is BSD and which is SYSV (Sun has both).

I have not tried to run any of this yet.  I will star that this afternoon.

				-Paul

----
Below are my actions in order to build Kerberos V on a SPARC station
runnig SunOS 4.1.
I have isode-beta to supply pepy,posy,pepsy, isode/.../*.h libisode.a
(The is pre isode-7.0)
Appended to the end are my site.def and sun.cf files.

comerr/Imakefile
	Removed:
		COMPILE_ET= ./compile_et
		$(COMPILE_ET): compile_et

ss/Imakefile
	Removed:
		MK_CMDS= ./mk_cmds
		$(MK_CMDS): mk_cmds

ss/mit-sipb-copyright.h
	relinked it (@sys problem)

include/sys/syslog.h
	copied from include/stdc-incl/sys/vax_bsd43/syslog.h
	send syslog.h out with the tar file

comerr/et_lex.lex.l
ss/cmd_tbl.lex.l
	Added to the top:
		%{
		#ifdef  SYSV
		#include <string.h>
		#define	rindex	strrchr
		#else
		#include <strings.h>
		#endif
		%}

ss/cmd_tbl.c
ss/listen.c
ss/list_rqs.c
libos/read_pwd.c
	These all have problems with the return value from signal.  I
	have
		#define HasVoidSignalReturn  YES
	in my sun.cf file, but that does not appear to help.

	I HAVE NOT FIXED THESE


inlcude/krb5/ext-proto.h
	Added before and #includes:
		#ifdef  SYSV
		#define index   strchr
		#define rindex  strrchr
		#endif
	Changed the include for string?.h
		#ifdef  SYSV
		#include <string.h>
		#else
		#include <strings.h>
		#endif

# these next three are all about looking between -1 and unsigned.
# The assignment is probaby OK without the typecast, but the comparison
# is not.  0xffffffff != 0xffff
# The SUN C compiler on SunOS 4.1 has the neat error message:
# 
#	``warning: result of comparison is always false''


admin/create/kdb5_create.c
	Line 120:
	    krb5_enctype etype = -1;
	->
	    krb5_enctype etype = (krb5_enctype)-1;

	Line 164:
	    if (etype == -1)
	->
	    if (etype == (krb5_enctype)-1)

admin/edit/kdb5_edit.c
	Line 111:
	    krb5_enctype etype = -1;
	->
	    krb5_enctype etype = (krb5_enctype)-1;

	Line 171:
	    if (etype == -1)
	->
	    if (etype == (krb5_enctype)-1)

admin/stash/kdb5_stash.c
	Line 64:
	    krb5_enctype etype = -1;
	->
	    krb5_enctype etype = (krb5_enctype)-1;

	Line 110:
	    if (etype == -1)
	->
	    if (etype == (krb5_enctype)-1)

kdc/do_as_req.c
kdc/do_tgs_req.c
kdc/extern.c
kdc/extern.h
	``infinity'' is defined in math.h on the suns.
		%s/infinity/krb5_infinity/g

kdc/Imakefile
	Changed:
    INCLUDES = -I/mit/kerberos/src/include -I/mit/krb5/build/vax_bsd43/include
	->
    INCLUDES = -I./krb4inc

	mkdir krb4inc
	cp /afs/athena.mit.edu/astaff/project/kerberos/src/include/{
		krb.h des.h klog.h prot.h krb_db.h kdc.h krb_conf.h} krb4inc

kdc/kerberos_v4.c
	Line 515:
		in5.contents        = (krb5_octet *) &in5_key;
	->
		in5.contents        = (krb5_octet *) in5_key;

	Line 393:
		bzero( &client_sockaddr.sin_zero, sizeof client_sockaddr.sin_zero);
	->
		bzero( client_sockaddr.sin_zero, sizeof client_sockaddr.sin_zero);

	Line 429:
		#ifndef VARARGS
	->
		#if     !defined(VARARGS) && !defined(sun)
----------- Cut Me for Site.Def --------------
/*****************************************************************************
 *                                                                           *
 *			   SITE-SPECIFIC DEFINITIONS                         *
 *                                                                           *
 * Override any of the defaults in *.tmpl here.                              *
 *                                                                           *
 *                                                                           *
 * Make sure you check the following parameters:                             *
 *                                                                           *
 *     1.  HasLargeTmp                                                       *
 *                                                                           *
 * Note on using DESTDIR:  If you want to install into a scratch directory   *
 * but will eventually move the tree back to the root, compile with DESTDIR  *
 * blank and install with "make install DESTDIR=directory".                  *
 *                                                                           *
 *****************************************************************************/


/* General */
#define InstKmemFlag	-g kmem -m 2755
#define StripInstalledPrograms	YES
#define InstUidFlags	-o root -m 4755

/*
 * SET THESE PARAMETERS FIRST !!!
 */

/*
 * 1.  HasLargeTmp - if your /tmp space is less than a 1meg, you should
 * probably set this to NO
 */
#ifndef HasLargeTmp
#define HasLargeTmp YES
#endif


/*****************************************************************************
 *                                                                           *
 *			       Build Parameters                              *
 *                                                                           *
 *****************************************************************************/

/*
 * If you want to use GCC, set HasGcc in the appropriate .cf files.
 */
#ifndef HasGcc
#define HasGcc NO
#endif

#if HasGcc
#define DefaultCDebugFlags OptimizedCDebugFlags DebuggableCDebugFlags
#else
#define DefaultCDebugFlags DebuggableCDebugFlags
#endif

#if HasNdbm
#define DbmLib
#else
#define DbmLib -ldbm
#endif

#define PepyCmd $(ISODE)/bin/pepy
#define PosyCmd $(ISODE)/bin/posy

#define IsodeLib /usr/lib/libisode.a
#define IsodeDir /usr/local

/* #define UseSSInstalled /* -- turn on if you have the SS library &c installed */
			
/* #define UseComErrInstalled /* -- turn on if you have the com_err library
   				 &c installed */
/* #define UseImakeInstalled /* -- turn on if you have imake installed */
/* #define UseMakedependInstalled /* -- turn on if you have makedepend installed */

/* #define Krb4ApplCompat /* turn this on if you want selected applications to
			  work with both v4 & v5 code */

/* the following might want to be put into a specific architecture
   definition file */

#define HasVfprintf -- /* turn on if you have vfprintf/vsprintf in libc
   			  (might want to be in the architecture-specific
			   configuration file) */
/* #define HasVsyslog -- /* turn on if you have vsyslog in libc
   			  (might want to be in the architecture-specific
			   configuration file) */
/* #define LdLibLocations -L/foo/bar -- alternate library search paths,
					if needed for some system libraries */
/* #define StandardIncludes -I$(TOP)/include/stdc-incl /* -- additional include paths, if
					needed */
/* Perl can be used to split up the output from ISODE to put each
   function in a separate .c file; this means your linked binaries can
   be smaller.  If you don't have perl, you can turn this off, but you
   don't get the benefit.
*/
/* #define HavePerl YES /* */
----------- Cut Me for Sun.Cf --------------
/*
 * SET VERSION NUMBERS BEFORE MAKING MAKEFILES
 */

#define OSName            SunOS 4.1
#define OSMajorVersion    4
#define OSMinorVersion    1
#define SystemV NO
#define HasVoidSignalReturn YES
#define HasPutenv YES
#define HasBsearch YES
#define IsPOSIX NO
#define StandardCppDefines -DBITS32
#define StandardDefines -DBITS32

#undef HasNdbm
#define HasNdbm YES

#define	ArCmd ar cru
#define LintLibFlag -o

#define DesDefines -DBITS32 -DBIG -DMUSTALIGN -DMSBFIRST

home help back first fref pref prev next nref lref last post