[41] in Kerberos-V5-bugs
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