mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-29 16:44:03 +00:00
Remove files no longer relevant after latest import.
This commit is contained in:
parent
7b173f654d
commit
bafe3deb75
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=102648
@ -1,96 +0,0 @@
|
||||
@BOTTOM@
|
||||
|
||||
#undef BINDIR
|
||||
#undef LIBDIR
|
||||
#undef LIBEXECDIR
|
||||
#undef SBINDIR
|
||||
|
||||
#undef HAVE_INT8_T
|
||||
#undef HAVE_INT16_T
|
||||
#undef HAVE_INT32_T
|
||||
#undef HAVE_INT64_T
|
||||
#undef HAVE_U_INT8_T
|
||||
#undef HAVE_U_INT16_T
|
||||
#undef HAVE_U_INT32_T
|
||||
#undef HAVE_U_INT64_T
|
||||
#undef HAVE_UINT8_T
|
||||
#undef HAVE_UINT16_T
|
||||
#undef HAVE_UINT32_T
|
||||
#undef HAVE_UINT64_T
|
||||
|
||||
#if defined(HAVE_FOUR_VALUED_KRB_PUT_INT) || !defined(KRB4)
|
||||
#define KRB_PUT_INT(F, T, L, S) krb_put_int((F), (T), (L), (S))
|
||||
#else
|
||||
#define KRB_PUT_INT(F, T, L, S) krb_put_int((F), (T), (S))
|
||||
#endif
|
||||
|
||||
#ifdef BROKEN_REALLOC
|
||||
#define realloc(X, Y) isoc_realloc((X), (Y))
|
||||
#define isoc_realloc(X, Y) ((X) ? realloc((X), (Y)) : malloc(Y))
|
||||
#endif
|
||||
|
||||
#ifdef VOID_RETSIGTYPE
|
||||
#define SIGRETURN(x) return
|
||||
#else
|
||||
#define SIGRETURN(x) return (RETSIGTYPE)(x)
|
||||
#endif
|
||||
|
||||
#define RCSID(msg) \
|
||||
static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg }
|
||||
|
||||
#undef PROTOTYPES
|
||||
|
||||
/* Maximum values on all known systems */
|
||||
#define MaxHostNameLen (64+4)
|
||||
#define MaxPathLen (1024+4)
|
||||
|
||||
#if defined(HAVE_SGTTY_H) && defined(__NeXT__)
|
||||
#define SGTTY
|
||||
#endif
|
||||
|
||||
/* telnet stuff ----------------------------------------------- */
|
||||
|
||||
#if defined(ENCRYPTION) && !defined(AUTHENTICATION)
|
||||
#define AUTHENTICATION 1
|
||||
#endif
|
||||
|
||||
/* Set this to the default system lead string for telnetd
|
||||
* can contain %-escapes: %s=sysname, %m=machine, %r=os-release
|
||||
* %v=os-version, %t=tty, %h=hostname, %d=date and time
|
||||
*/
|
||||
#undef USE_IM
|
||||
|
||||
/* Used with login -p */
|
||||
#undef LOGIN_ARGS
|
||||
|
||||
/* set this to a sensible login */
|
||||
#ifndef LOGIN_PATH
|
||||
#define LOGIN_PATH BINDIR "/login"
|
||||
#endif
|
||||
|
||||
/* random defines */
|
||||
|
||||
/*
|
||||
* Defining this enables lots of useful (and used) extensions on
|
||||
* glibc-based systems such as Linux
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
/*
|
||||
* this assumes that KRB_C_BIGENDIAN is used.
|
||||
* if we can find out endianess at compile-time, do so,
|
||||
* otherwise WORDS_BIGENDIAN should already have been defined
|
||||
*/
|
||||
|
||||
#if ENDIANESS_IN_SYS_PARAM_H
|
||||
# include <sys/types.h>
|
||||
# include <sys/param.h>
|
||||
# if BYTE_ORDER == BIG_ENDIAN
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef ROKEN_RENAME
|
||||
#include "roken_rename.h"
|
||||
#endif
|
@ -1,181 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "ktutil_locl.h"
|
||||
|
||||
RCSID("$Id: srvconvert.c,v 1.11 2000/01/02 03:56:21 assar Exp $");
|
||||
|
||||
/* convert a version 4 srvtab to a version 5 keytab */
|
||||
|
||||
#ifndef KEYFILE
|
||||
#define KEYFILE "/etc/srvtab"
|
||||
#endif
|
||||
|
||||
static char *srvtab = KEYFILE;
|
||||
static int help_flag;
|
||||
static int verbose;
|
||||
|
||||
static struct getargs args[] = {
|
||||
{ "srvtab", 's', arg_string, &srvtab, "srvtab to convert", "file" },
|
||||
{ "help", 'h', arg_flag, &help_flag },
|
||||
{ "verbose", 'v', arg_flag, &verbose },
|
||||
};
|
||||
|
||||
static int num_args = sizeof(args) / sizeof(args[0]);
|
||||
|
||||
int
|
||||
srvconv(int argc, char **argv)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
int optind = 0;
|
||||
int fd;
|
||||
krb5_storage *sp;
|
||||
|
||||
if(getarg(args, num_args, argc, argv, &optind)){
|
||||
arg_printusage(args, num_args, "ktutil srvconvert", "");
|
||||
return 1;
|
||||
}
|
||||
if(help_flag){
|
||||
arg_printusage(args, num_args, "ktutil srvconvert", "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
if (argc != 0) {
|
||||
arg_printusage(args, num_args, "ktutil srvconvert", "");
|
||||
return 1;
|
||||
}
|
||||
|
||||
fd = open(srvtab, O_RDONLY);
|
||||
if(fd < 0){
|
||||
krb5_warn(context, errno, "%s", srvtab);
|
||||
return 1;
|
||||
}
|
||||
sp = krb5_storage_from_fd(fd);
|
||||
if(sp == NULL){
|
||||
close(fd);
|
||||
return 1;
|
||||
}
|
||||
while(1){
|
||||
char *service, *instance, *realm;
|
||||
int8_t kvno;
|
||||
des_cblock key;
|
||||
krb5_keytab_entry entry;
|
||||
|
||||
ret = krb5_ret_stringz(sp, &service);
|
||||
if(ret == KRB5_CC_END) {
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "reading service");
|
||||
break;
|
||||
}
|
||||
ret = krb5_ret_stringz(sp, &instance);
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "reading instance");
|
||||
free(service);
|
||||
break;
|
||||
}
|
||||
ret = krb5_ret_stringz(sp, &realm);
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "reading realm");
|
||||
free(service);
|
||||
free(instance);
|
||||
break;
|
||||
}
|
||||
ret = krb5_425_conv_principal(context, service, instance, realm,
|
||||
&entry.principal);
|
||||
free(service);
|
||||
free(instance);
|
||||
free(realm);
|
||||
if (ret) {
|
||||
krb5_warn(context, ret, "krb5_425_conv_principal (%s.%s@%s)",
|
||||
service, instance, realm);
|
||||
break;
|
||||
}
|
||||
|
||||
ret = krb5_ret_int8(sp, &kvno);
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "reading kvno");
|
||||
krb5_free_principal(context, entry.principal);
|
||||
break;
|
||||
}
|
||||
ret = sp->fetch(sp, key, 8);
|
||||
if(ret < 0){
|
||||
krb5_warn(context, errno, "reading key");
|
||||
krb5_free_principal(context, entry.principal);
|
||||
break;
|
||||
}
|
||||
if(ret < 8) {
|
||||
krb5_warn(context, errno, "end of file while reading key");
|
||||
krb5_free_principal(context, entry.principal);
|
||||
break;
|
||||
}
|
||||
|
||||
entry.vno = kvno;
|
||||
entry.timestamp = time (NULL);
|
||||
entry.keyblock.keyvalue.data = key;
|
||||
entry.keyblock.keyvalue.length = 8;
|
||||
|
||||
if(verbose){
|
||||
char *p;
|
||||
ret = krb5_unparse_name(context, entry.principal, &p);
|
||||
if(ret){
|
||||
krb5_warn(context, ret, "krb5_unparse_name");
|
||||
krb5_free_principal(context, entry.principal);
|
||||
break;
|
||||
} else{
|
||||
fprintf(stderr, "Storing keytab for %s\n", p);
|
||||
free(p);
|
||||
}
|
||||
|
||||
}
|
||||
entry.keyblock.keytype = ETYPE_DES_CBC_MD5;
|
||||
ret = krb5_kt_add_entry(context, keytab, &entry);
|
||||
entry.keyblock.keytype = ETYPE_DES_CBC_MD4;
|
||||
ret = krb5_kt_add_entry(context, keytab, &entry);
|
||||
entry.keyblock.keytype = ETYPE_DES_CBC_CRC;
|
||||
ret = krb5_kt_add_entry(context, keytab, &entry);
|
||||
krb5_free_principal(context, entry.principal);
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "krb5_kt_add_entry");
|
||||
break;
|
||||
}
|
||||
}
|
||||
krb5_storage_free(sp);
|
||||
close(fd);
|
||||
return ret;
|
||||
}
|
@ -1,124 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "ktutil_locl.h"
|
||||
|
||||
RCSID("$Id: srvcreate.c,v 1.3 1999/12/02 17:04:53 joda Exp $");
|
||||
|
||||
/* convert a version 5 keytab to a version 4 srvtab */
|
||||
|
||||
#ifndef KEYFILE
|
||||
#define KEYFILE "/etc/srvtab"
|
||||
#endif
|
||||
|
||||
static char *srvtab = KEYFILE;
|
||||
static int help_flag;
|
||||
static int verbose;
|
||||
|
||||
static struct getargs args[] = {
|
||||
{ "srvtab", 's', arg_string, &srvtab, "srvtab to create", "file" },
|
||||
{ "help", 'h', arg_flag, &help_flag },
|
||||
{ "verbose", 'v', arg_flag, &verbose },
|
||||
};
|
||||
|
||||
static int num_args = sizeof(args) / sizeof(args[0]);
|
||||
|
||||
int
|
||||
srvcreate(int argc, char **argv)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
int optind = 0;
|
||||
int fd;
|
||||
krb5_kt_cursor cursor;
|
||||
krb5_keytab_entry entry;
|
||||
char service[100], instance[100], realm[100];
|
||||
int8_t kvno;
|
||||
|
||||
if(getarg(args, num_args, argc, argv, &optind)){
|
||||
arg_printusage(args, num_args, "ktutil srvcreate", "");
|
||||
return 1;
|
||||
}
|
||||
if(help_flag){
|
||||
arg_printusage(args, num_args, "ktutil srvcreate", "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
if (argc != 0) {
|
||||
arg_printusage(args, num_args, "ktutil srvcreate", "");
|
||||
return 1;
|
||||
}
|
||||
|
||||
ret = krb5_kt_start_seq_get(context, keytab, &cursor);
|
||||
if(ret){
|
||||
krb5_warn(context, ret, "krb5_kt_start_seq_get");
|
||||
return 1;
|
||||
}
|
||||
|
||||
fd = open(srvtab, O_WRONLY |O_APPEND |O_CREAT, 0600);
|
||||
if(fd < 0){
|
||||
krb5_warn(context, errno, "%s", srvtab);
|
||||
return 1;
|
||||
}
|
||||
|
||||
while((ret = krb5_kt_next_entry(context, keytab, &entry, &cursor)) == 0){
|
||||
ret = krb5_524_conv_principal(context, entry.principal,
|
||||
service, instance, realm);
|
||||
if(ret) {
|
||||
krb5_warn(context, ret, "krb5_524_conv_principal");
|
||||
close(fd);
|
||||
return 1;
|
||||
}
|
||||
if ( (entry.keyblock.keyvalue.length == 8) &&
|
||||
(entry.keyblock.keytype == ETYPE_DES_CBC_MD5) ) {
|
||||
if (verbose) {
|
||||
printf ("%s.%s@%s vno %d\n", service, instance, realm,
|
||||
entry.vno);
|
||||
}
|
||||
|
||||
write(fd, service, strlen(service)+1);
|
||||
write(fd, instance, strlen(instance)+1);
|
||||
write(fd, realm, strlen(realm)+1);
|
||||
kvno = entry.vno;
|
||||
write(fd, &kvno, sizeof(kvno));
|
||||
write(fd, entry.keyblock. keyvalue.data, 8);
|
||||
}
|
||||
krb5_kt_free_entry(context, &entry);
|
||||
}
|
||||
|
||||
close(fd);
|
||||
ret = krb5_kt_end_seq_get(context, keytab, &cursor);
|
||||
return ret;
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# Usage:
|
||||
# compile PROGRAM [ARGS]...
|
||||
# `-o FOO.o' is removed from the args passed to the actual compile.
|
||||
|
||||
prog=$1
|
||||
shift
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
args=
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-o)
|
||||
ofile=$2
|
||||
shift
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
args="$args $1"
|
||||
;;
|
||||
*)
|
||||
args="$args $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
test -z "$ofile" && {
|
||||
echo "compile: no \`-o' option seen" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -z "$cfile" && {
|
||||
echo "compile: no \`.c' file seen" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
lockdir=`echo $ofile | sed -e 's|/|_|g'`
|
||||
while true; do
|
||||
if mkdir $lockdir > /dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir $lockdir; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$prog" $args
|
||||
status=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
mv "$cofile" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir $lockdir
|
||||
exit $status
|
@ -1,39 +0,0 @@
|
||||
1999-12-06 Assar Westerlund <assar@sics.se>
|
||||
|
||||
* rkinit.c (doit_host): NAT work-around
|
||||
* kauthd.c (doit): type correctness
|
||||
|
||||
1999-12-05 Assar Westerlund <assar@sics.se>
|
||||
|
||||
* kauthd.c: use getnameinfo instead of inaddr2str and inet_ntoa
|
||||
|
||||
1999-08-31 Johan Danielsson <joda@pdc.kth.se>
|
||||
|
||||
* kauth.c: cleanup usage string; handle `kauth -h' gracefully
|
||||
(print usage); add `-a' flag to get the ticket address (useful for
|
||||
firewall configurations)
|
||||
|
||||
Thu Apr 15 15:05:33 1999 Johan Danielsson <joda@hella.pdc.kth.se>
|
||||
|
||||
* kauth.c: add `-v'
|
||||
|
||||
Thu Mar 18 11:17:14 1999 Johan Danielsson <joda@hella.pdc.kth.se>
|
||||
|
||||
* Makefile.am: include Makefile.am.common
|
||||
|
||||
Sun Nov 22 10:30:47 1998 Assar Westerlund <assar@sics.se>
|
||||
|
||||
* Makefile.in (WFLAGS): set
|
||||
|
||||
Tue May 26 17:41:47 1998 Johan Danielsson <joda@emma.pdc.kth.se>
|
||||
|
||||
* kauth.c: use krb_enable_debug
|
||||
|
||||
Fri May 1 07:15:18 1998 Assar Westerlund <assar@sics.se>
|
||||
|
||||
* rkinit.c: unifdef -DHAVE_H_ERRNO
|
||||
|
||||
Thu Mar 19 16:07:18 1998 Johan Danielsson <joda@emma.pdc.kth.se>
|
||||
|
||||
* kauth.c: Check for negative return value from krb_afslog().
|
||||
|
@ -1,42 +0,0 @@
|
||||
# $Id: Makefile.am,v 1.7 1999/04/09 18:22:45 assar Exp $
|
||||
|
||||
include $(top_srcdir)/Makefile.am.common
|
||||
|
||||
INCLUDES += $(INCLUDE_krb4)
|
||||
|
||||
bin_PROGRAMS = kauth
|
||||
bin_SCRIPTS = ksrvtgt
|
||||
libexec_PROGRAMS = kauthd
|
||||
|
||||
EXTRA_DIST = zrefresh ksrvtgt.in
|
||||
|
||||
kauth_SOURCES = \
|
||||
kauth.c \
|
||||
kauth.h \
|
||||
rkinit.c \
|
||||
marshall.c \
|
||||
encdata.c
|
||||
|
||||
kauthd_SOURCES = \
|
||||
kauthd.c \
|
||||
kauth.h \
|
||||
marshall.c \
|
||||
encdata.c
|
||||
|
||||
ksrvtgt: ksrvtgt.in
|
||||
sed -e "s!%bindir%!$(bindir)!" $(srcdir)/ksrvtgt.in > $@
|
||||
chmod +x $@
|
||||
|
||||
install-exec-local:
|
||||
if test -f $(bindir)/zrefresh -o -r $(bindir)/zrefresh; then \
|
||||
true; \
|
||||
else \
|
||||
$(INSTALL_PROGRAM) $(srcdir)/zrefresh $(bindir)/`echo zrefresh | sed '$(transform)'`; \
|
||||
fi
|
||||
|
||||
LDADD = \
|
||||
$(LIB_kafs) \
|
||||
$(LIB_krb5) \
|
||||
$(LIB_krb4) \
|
||||
$(top_builddir)/lib/des/libdes.la \
|
||||
$(LIB_roken)
|
@ -1,739 +0,0 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
# $Id: Makefile.am,v 1.7 1999/04/09 18:22:45 assar Exp $
|
||||
|
||||
|
||||
# $Id: Makefile.am.common,v 1.3 1999/04/01 14:58:43 joda Exp $
|
||||
|
||||
|
||||
# $Id: Makefile.am.common,v 1.13 1999/11/01 03:19:58 assar Exp $
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ../..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AFS_EXTRA_LD = @AFS_EXTRA_LD@
|
||||
AIX_EXTRA_KAFS = @AIX_EXTRA_KAFS@
|
||||
AWK = @AWK@
|
||||
CANONICAL_HOST = @CANONICAL_HOST@
|
||||
CATMAN = @CATMAN@
|
||||
CATMANEXT = @CATMANEXT@
|
||||
CC = @CC@
|
||||
DBLIB = @DBLIB@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_LIB45 = @EXTRA_LIB45@
|
||||
GROFF = @GROFF@
|
||||
INCLUDE_ = @INCLUDE_@
|
||||
LD = @LD@
|
||||
LEX = @LEX@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_ = @LIB_@
|
||||
LIB_AUTH_SUBDIRS = @LIB_AUTH_SUBDIRS@
|
||||
LIB_kdb = @LIB_kdb@
|
||||
LIB_otp = @LIB_otp@
|
||||
LIB_roken = @LIB_roken@
|
||||
LIB_security = @LIB_security@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_X_PROGS_BIN_PROGS = @MAKE_X_PROGS_BIN_PROGS@
|
||||
MAKE_X_PROGS_BIN_SCRPTS = @MAKE_X_PROGS_BIN_SCRPTS@
|
||||
MAKE_X_PROGS_LIBEXEC_PROGS = @MAKE_X_PROGS_LIBEXEC_PROGS@
|
||||
NEED_WRITEAUTH_FALSE = @NEED_WRITEAUTH_FALSE@
|
||||
NEED_WRITEAUTH_TRUE = @NEED_WRITEAUTH_TRUE@
|
||||
NM = @NM@
|
||||
NROFF = @NROFF@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
VOID_RETSIGTYPE = @VOID_RETSIGTYPE@
|
||||
WFLAGS = @WFLAGS@
|
||||
WFLAGS_NOIMPLICITINT = @WFLAGS_NOIMPLICITINT@
|
||||
WFLAGS_NOUNUSED = @WFLAGS_NOUNUSED@
|
||||
YACC = @YACC@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||
|
||||
SUFFIXES = .et .h .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 .x
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include $(INCLUDE_krb4)
|
||||
|
||||
AM_CFLAGS = $(WFLAGS)
|
||||
|
||||
COMPILE_ET = $(top_builddir)/lib/com_err/compile_et
|
||||
|
||||
buildinclude = $(top_builddir)/include
|
||||
|
||||
LIB_XauReadAuth = @LIB_XauReadAuth@
|
||||
LIB_crypt = @LIB_crypt@
|
||||
LIB_dbm_firstkey = @LIB_dbm_firstkey@
|
||||
LIB_dbopen = @LIB_dbopen@
|
||||
LIB_dlopen = @LIB_dlopen@
|
||||
LIB_dn_expand = @LIB_dn_expand@
|
||||
LIB_el_init = @LIB_el_init@
|
||||
LIB_getattr = @LIB_getattr@
|
||||
LIB_gethostbyname = @LIB_gethostbyname@
|
||||
LIB_getpwent_r = @LIB_getpwent_r@
|
||||
LIB_getpwnam_r = @LIB_getpwnam_r@
|
||||
LIB_getsockopt = @LIB_getsockopt@
|
||||
LIB_logout = @LIB_logout@
|
||||
LIB_logwtmp = @LIB_logwtmp@
|
||||
LIB_odm_initialize = @LIB_odm_initialize@
|
||||
LIB_readline = @LIB_readline@
|
||||
LIB_res_search = @LIB_res_search@
|
||||
LIB_setpcred = @LIB_setpcred@
|
||||
LIB_setsockopt = @LIB_setsockopt@
|
||||
LIB_socket = @LIB_socket@
|
||||
LIB_syslog = @LIB_syslog@
|
||||
LIB_tgetent = @LIB_tgetent@
|
||||
|
||||
HESIODLIB = @HESIODLIB@
|
||||
HESIODINCLUDE = @HESIODINCLUDE@
|
||||
INCLUDE_hesiod = @INCLUDE_hesiod@
|
||||
LIB_hesiod = @LIB_hesiod@
|
||||
|
||||
INCLUDE_krb4 = @INCLUDE_krb4@
|
||||
LIB_krb4 = @LIB_krb4@
|
||||
|
||||
INCLUDE_readline = @INCLUDE_readline@
|
||||
|
||||
LEXLIB = @LEXLIB@
|
||||
|
||||
cat1dir = $(mandir)/cat1
|
||||
cat3dir = $(mandir)/cat3
|
||||
cat5dir = $(mandir)/cat5
|
||||
cat8dir = $(mandir)/cat8
|
||||
|
||||
MANRX = \(.*\)\.\([0-9]\)
|
||||
CATSUFFIX = @CATSUFFIX@
|
||||
|
||||
NROFF_MAN = groff -mandoc -Tascii
|
||||
|
||||
@KRB4_TRUE@LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS)
|
||||
|
||||
@KRB5_TRUE@LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la $(top_builddir)/lib/asn1/libasn1.la
|
||||
@KRB5_TRUE@LIB_gssapi = $(top_builddir)/lib/gssapi/libgssapi.la
|
||||
|
||||
CHECK_LOCAL = $(PROGRAMS)
|
||||
|
||||
bin_PROGRAMS = kauth
|
||||
bin_SCRIPTS = ksrvtgt
|
||||
libexec_PROGRAMS = kauthd
|
||||
|
||||
EXTRA_DIST = zrefresh ksrvtgt.in
|
||||
|
||||
kauth_SOURCES = kauth.c kauth.h rkinit.c marshall.c encdata.c
|
||||
|
||||
|
||||
kauthd_SOURCES = kauthd.c kauth.h marshall.c encdata.c
|
||||
|
||||
|
||||
LDADD = $(LIB_kafs) $(LIB_krb5) $(LIB_krb4) $(top_builddir)/lib/des/libdes.la $(LIB_roken)
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../../include/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
bin_PROGRAMS = kauth$(EXEEXT)
|
||||
libexec_PROGRAMS = kauthd$(EXEEXT)
|
||||
PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir) -I../../include
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS = @X_LIBS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
kauth_OBJECTS = kauth.$(OBJEXT) rkinit.$(OBJEXT) marshall.$(OBJEXT) \
|
||||
encdata.$(OBJEXT)
|
||||
kauth_LDADD = $(LDADD)
|
||||
@KRB4_TRUE@@KRB5_FALSE@kauth_DEPENDENCIES = \
|
||||
@KRB4_TRUE@@KRB5_FALSE@$(top_builddir)/lib/kafs/libkafs.la \
|
||||
@KRB4_TRUE@@KRB5_FALSE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_FALSE@@KRB5_TRUE@kauth_DEPENDENCIES = \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/asn1/libasn1.la \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_FALSE@@KRB5_FALSE@kauth_DEPENDENCIES = \
|
||||
@KRB4_FALSE@@KRB5_FALSE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_TRUE@@KRB5_TRUE@kauth_DEPENDENCIES = \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/kafs/libkafs.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/asn1/libasn1.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/des/libdes.la
|
||||
kauth_LDFLAGS =
|
||||
kauthd_OBJECTS = kauthd.$(OBJEXT) marshall.$(OBJEXT) encdata.$(OBJEXT)
|
||||
kauthd_LDADD = $(LDADD)
|
||||
@KRB4_TRUE@@KRB5_FALSE@kauthd_DEPENDENCIES = \
|
||||
@KRB4_TRUE@@KRB5_FALSE@$(top_builddir)/lib/kafs/libkafs.la \
|
||||
@KRB4_TRUE@@KRB5_FALSE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_FALSE@@KRB5_TRUE@kauthd_DEPENDENCIES = \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/asn1/libasn1.la \
|
||||
@KRB4_FALSE@@KRB5_TRUE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_FALSE@@KRB5_FALSE@kauthd_DEPENDENCIES = \
|
||||
@KRB4_FALSE@@KRB5_FALSE@$(top_builddir)/lib/des/libdes.la
|
||||
@KRB4_TRUE@@KRB5_TRUE@kauthd_DEPENDENCIES = \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/kafs/libkafs.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/asn1/libasn1.la \
|
||||
@KRB4_TRUE@@KRB5_TRUE@$(top_builddir)/lib/des/libdes.la
|
||||
kauthd_LDFLAGS =
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(kauth_SOURCES) $(kauthd_SOURCES)
|
||||
OBJECTS = $(kauth_OBJECTS) $(kauthd_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .1 .3 .5 .8 .S .c .cat1 .cat3 .cat5 .cat8 .et .h .lo .o .obj .s .x
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign appl/kauth/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-binPROGRAMS:
|
||||
|
||||
clean-binPROGRAMS:
|
||||
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
|
||||
|
||||
distclean-binPROGRAMS:
|
||||
|
||||
maintainer-clean-binPROGRAMS:
|
||||
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
|
||||
done
|
||||
|
||||
mostlyclean-libexecPROGRAMS:
|
||||
|
||||
clean-libexecPROGRAMS:
|
||||
-test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
|
||||
|
||||
distclean-libexecPROGRAMS:
|
||||
|
||||
maintainer-clean-libexecPROGRAMS:
|
||||
|
||||
install-libexecPROGRAMS: $(libexec_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libexecdir)
|
||||
@list='$(libexec_PROGRAMS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libexecPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(libexec_PROGRAMS)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
|
||||
done
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
# FIXME: We should only use cygpath when building on Windows,
|
||||
# and only if it is available.
|
||||
.c.obj:
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
.c.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.s.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.S.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
|
||||
maintainer-clean-libtool:
|
||||
|
||||
kauth$(EXEEXT): $(kauth_OBJECTS) $(kauth_DEPENDENCIES)
|
||||
@rm -f kauth$(EXEEXT)
|
||||
$(LINK) $(kauth_LDFLAGS) $(kauth_OBJECTS) $(kauth_LDADD) $(LIBS)
|
||||
|
||||
kauthd$(EXEEXT): $(kauthd_OBJECTS) $(kauthd_DEPENDENCIES)
|
||||
@rm -f kauthd$(EXEEXT)
|
||||
$(LINK) $(kauthd_LDFLAGS) $(kauthd_OBJECTS) $(kauthd_LDADD) $(LIBS)
|
||||
|
||||
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
else if test -f $(srcdir)/$$p; then \
|
||||
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
else :; fi; fi; \
|
||||
done
|
||||
|
||||
uninstall-binSCRIPTS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = appl/kauth
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am: install-binPROGRAMS install-libexecPROGRAMS \
|
||||
install-binSCRIPTS install-exec-local
|
||||
@$(NORMAL_INSTALL)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am: install-data-local
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-libexecPROGRAMS \
|
||||
uninstall-binSCRIPTS
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(PROGRAMS) $(SCRIPTS) all-local
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(libexecdir) \
|
||||
$(DESTDIR)$(bindir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-libexecPROGRAMS \
|
||||
mostlyclean-compile mostlyclean-libtool \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-libexecPROGRAMS clean-compile \
|
||||
clean-libtool clean-tags clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-binPROGRAMS distclean-libexecPROGRAMS \
|
||||
distclean-compile distclean-libtool distclean-tags \
|
||||
distclean-generic clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-binPROGRAMS \
|
||||
maintainer-clean-libexecPROGRAMS \
|
||||
maintainer-clean-compile maintainer-clean-libtool \
|
||||
maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
|
||||
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
|
||||
mostlyclean-libexecPROGRAMS distclean-libexecPROGRAMS \
|
||||
clean-libexecPROGRAMS maintainer-clean-libexecPROGRAMS \
|
||||
uninstall-libexecPROGRAMS install-libexecPROGRAMS mostlyclean-compile \
|
||||
distclean-compile clean-compile maintainer-clean-compile \
|
||||
mostlyclean-libtool distclean-libtool clean-libtool \
|
||||
maintainer-clean-libtool uninstall-binSCRIPTS install-binSCRIPTS tags \
|
||||
mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
|
||||
distdir info-am info dvi-am dvi check-local check check-am \
|
||||
installcheck-am installcheck install-exec-local install-exec-am \
|
||||
install-exec install-data-local install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-local all-redirect all-am all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
install-suid-programs:
|
||||
@foo='$(bin_SUIDS)'; \
|
||||
for file in $$foo; do \
|
||||
x=$(DESTDIR)$(bindir)/$$file; \
|
||||
if chown 0:0 $$x && chmod u+s $$x; then :; else \
|
||||
chmod 0 $$x; fi; done
|
||||
|
||||
install-exec-hook: install-suid-programs
|
||||
|
||||
install-build-headers:: $(include_HEADERS) $(build_HEADERZ)
|
||||
@foo='$(include_HEADERS) $(build_HEADERZ)'; \
|
||||
for f in $$foo; do \
|
||||
f=`basename $$f`; \
|
||||
if test -f "$(srcdir)/$$f"; then file="$(srcdir)/$$f"; \
|
||||
else file="$$f"; fi; \
|
||||
if cmp -s $$file $(buildinclude)/$$f 2> /dev/null ; then \
|
||||
: ; else \
|
||||
echo " cp $$file $(buildinclude)/$$f"; \
|
||||
cp $$file $(buildinclude)/$$f; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
all-local: install-build-headers
|
||||
#NROFF_MAN = nroff -man
|
||||
.1.cat1:
|
||||
$(NROFF_MAN) $< > $@
|
||||
.3.cat3:
|
||||
$(NROFF_MAN) $< > $@
|
||||
.5.cat5:
|
||||
$(NROFF_MAN) $< > $@
|
||||
.8.cat8:
|
||||
$(NROFF_MAN) $< > $@
|
||||
|
||||
dist-cat1-mans:
|
||||
@foo='$(man1_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.1) foo="$$foo $$i";; \
|
||||
esac; done ;\
|
||||
for i in $$foo; do \
|
||||
x=`echo $$i | sed 's/\.[^.]*$$/.cat1/'`; \
|
||||
echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
|
||||
$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
|
||||
done
|
||||
|
||||
dist-cat3-mans:
|
||||
@foo='$(man3_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.3) foo="$$foo $$i";; \
|
||||
esac; done ;\
|
||||
for i in $$foo; do \
|
||||
x=`echo $$i | sed 's/\.[^.]*$$/.cat3/'`; \
|
||||
echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
|
||||
$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
|
||||
done
|
||||
|
||||
dist-cat5-mans:
|
||||
@foo='$(man5_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.5) foo="$$foo $$i";; \
|
||||
esac; done ;\
|
||||
for i in $$foo; do \
|
||||
x=`echo $$i | sed 's/\.[^.]*$$/.cat5/'`; \
|
||||
echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
|
||||
$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
|
||||
done
|
||||
|
||||
dist-cat8-mans:
|
||||
@foo='$(man8_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.8) foo="$$foo $$i";; \
|
||||
esac; done ;\
|
||||
for i in $$foo; do \
|
||||
x=`echo $$i | sed 's/\.[^.]*$$/.cat8/'`; \
|
||||
echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
|
||||
$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
|
||||
done
|
||||
|
||||
dist-hook: dist-cat1-mans dist-cat3-mans dist-cat5-mans dist-cat8-mans
|
||||
|
||||
install-cat1-mans:
|
||||
@ext=1;\
|
||||
foo='$(man1_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.1) foo="$$foo $$i";; \
|
||||
esac; done; \
|
||||
if test "$$foo"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(cat1dir); \
|
||||
for x in $$foo; do \
|
||||
f=`echo $$x | sed 's/\.[^.]*$$/.cat1/'`; \
|
||||
if test -f "$(srcdir)/$$f"; then \
|
||||
b=`echo $$x | sed 's!$(MANRX)!\1!'`; \
|
||||
echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(cat1dir)/$$b.$(CATSUFFIX)";\
|
||||
$(INSTALL_DATA) $(srcdir)/$$g $(DESTDIR)$(cat1dir)/$$b.$(CATSUFFIX);\
|
||||
fi; \
|
||||
done ;\
|
||||
fi
|
||||
|
||||
install-cat3-mans:
|
||||
@ext=3;\
|
||||
foo='$(man3_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.3) foo="$$foo $$i";; \
|
||||
esac; done; \
|
||||
if test "$$foo"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(cat3dir); \
|
||||
for x in $$foo; do \
|
||||
f=`echo $$x | sed 's/\.[^.]*$$/.cat3/'`; \
|
||||
if test -f "$(srcdir)/$$f"; then \
|
||||
b=`echo $$x | sed 's!$(MANRX)!\1!'`; \
|
||||
echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(cat3dir)/$$b.$(CATSUFFIX)";\
|
||||
$(INSTALL_DATA) $(srcdir)/$$g $(DESTDIR)$(cat3dir)/$$b.$(CATSUFFIX);\
|
||||
fi; \
|
||||
done ;\
|
||||
fi
|
||||
|
||||
install-cat5-mans:
|
||||
@ext=5;\
|
||||
foo='$(man5_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.5) foo="$$foo $$i";; \
|
||||
esac; done; \
|
||||
if test "$$foo"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(cat5dir); \
|
||||
for x in $$foo; do \
|
||||
f=`echo $$x | sed 's/\.[^.]*$$/.cat5/'`; \
|
||||
if test -f "$(srcdir)/$$f"; then \
|
||||
b=`echo $$x | sed 's!$(MANRX)!\1!'`; \
|
||||
echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(cat5dir)/$$b.$(CATSUFFIX)";\
|
||||
$(INSTALL_DATA) $(srcdir)/$$g $(DESTDIR)$(cat5dir)/$$b.$(CATSUFFIX);\
|
||||
fi; \
|
||||
done ;\
|
||||
fi
|
||||
|
||||
install-cat8-mans:
|
||||
@ext=8;\
|
||||
foo='$(man8_MANS)'; \
|
||||
bar='$(man_MANS)'; \
|
||||
for i in $$bar; do \
|
||||
case $$i in \
|
||||
*.8) foo="$$foo $$i";; \
|
||||
esac; done; \
|
||||
if test "$$foo"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(cat8dir); \
|
||||
for x in $$foo; do \
|
||||
f=`echo $$x | sed 's/\.[^.]*$$/.cat8/'`; \
|
||||
if test -f "$(srcdir)/$$f"; then \
|
||||
b=`echo $$x | sed 's!$(MANRX)!\1!'`; \
|
||||
echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(cat8dir)/$$b.$(CATSUFFIX)";\
|
||||
$(INSTALL_DATA) $(srcdir)/$$g $(DESTDIR)$(cat8dir)/$$b.$(CATSUFFIX);\
|
||||
fi; \
|
||||
done ;\
|
||||
fi
|
||||
|
||||
install-cat-mans: install-cat1-mans install-cat3-mans install-cat5-mans install-cat8-mans
|
||||
|
||||
install-data-local: install-cat-mans
|
||||
|
||||
.et.h:
|
||||
$(COMPILE_ET) $<
|
||||
.et.c:
|
||||
$(COMPILE_ET) $<
|
||||
|
||||
.x.c:
|
||||
@cmp -s $< $@ 2> /dev/null || cp $< $@
|
||||
|
||||
check-local::
|
||||
@foo='$(CHECK_LOCAL)'; \
|
||||
if test "$$foo"; then \
|
||||
failed=0; all=0; \
|
||||
for i in $$foo; do \
|
||||
all=`expr $$all + 1`; \
|
||||
if ./$$i --version > /dev/null 2>&1; then \
|
||||
echo "PASS: $$i"; \
|
||||
else \
|
||||
echo "FAIL: $$i"; \
|
||||
failed=`expr $$failed + 1`; \
|
||||
fi; \
|
||||
done; \
|
||||
if test "$$failed" -eq 0; then \
|
||||
banner="All $$all tests passed"; \
|
||||
else \
|
||||
banner="$$failed of $$all tests failed"; \
|
||||
fi; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"; \
|
||||
test "$$failed" -eq 0; \
|
||||
fi
|
||||
|
||||
ksrvtgt: ksrvtgt.in
|
||||
sed -e "s!%bindir%!$(bindir)!" $(srcdir)/ksrvtgt.in > $@
|
||||
chmod +x $@
|
||||
|
||||
install-exec-local:
|
||||
if test -f $(bindir)/zrefresh -o -r $(bindir)/zrefresh; then \
|
||||
true; \
|
||||
else \
|
||||
$(INSTALL_PROGRAM) $(srcdir)/zrefresh $(bindir)/`echo zrefresh | sed '$(transform)'`; \
|
||||
fi
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,96 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "kauth.h"
|
||||
|
||||
RCSID("$Id: encdata.c,v 1.10 1999/12/02 16:58:31 joda Exp $");
|
||||
|
||||
int
|
||||
write_encrypted (int fd, void *buf, size_t len, des_key_schedule schedule,
|
||||
des_cblock *session, struct sockaddr_in *me,
|
||||
struct sockaddr_in *him)
|
||||
{
|
||||
void *outbuf;
|
||||
int32_t outlen, l;
|
||||
int i;
|
||||
unsigned char tmp[4];
|
||||
|
||||
outbuf = malloc(len + 30);
|
||||
if (outbuf == NULL)
|
||||
return -1;
|
||||
outlen = krb_mk_priv (buf, outbuf, len, schedule, session, me, him);
|
||||
if (outlen < 0) {
|
||||
free(outbuf);
|
||||
return -1;
|
||||
}
|
||||
l = outlen;
|
||||
for(i = 3; i >= 0; i--, l = l >> 8)
|
||||
tmp[i] = l & 0xff;
|
||||
if (krb_net_write (fd, tmp, 4) != 4 ||
|
||||
krb_net_write (fd, outbuf, outlen) != outlen) {
|
||||
free(outbuf);
|
||||
return -1;
|
||||
}
|
||||
|
||||
free(outbuf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
read_encrypted (int fd, void *buf, size_t len, void **ret,
|
||||
des_key_schedule schedule, des_cblock *session,
|
||||
struct sockaddr_in *him, struct sockaddr_in *me)
|
||||
{
|
||||
int status;
|
||||
int32_t l;
|
||||
MSG_DAT msg;
|
||||
unsigned char tmp[4];
|
||||
|
||||
l = krb_net_read (fd, tmp, 4);
|
||||
if (l != 4)
|
||||
return l;
|
||||
l = (tmp[0] << 24) | (tmp[1] << 16) | (tmp[2] << 8) | tmp[3];
|
||||
if (l > len)
|
||||
return -1;
|
||||
if (krb_net_read (fd, buf, l) != l)
|
||||
return -1;
|
||||
status = krb_rd_priv (buf, l, schedule, session, him, me, &msg);
|
||||
if (status != RD_AP_OK) {
|
||||
fprintf (stderr, "read_encrypted: %s\n",
|
||||
krb_get_err_text(status));
|
||||
return -1;
|
||||
}
|
||||
*ret = msg.app_data;
|
||||
return msg.app_length;
|
||||
}
|
@ -1,385 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Little program that reads an srvtab or password and
|
||||
* creates a suitable ticketfile and associated AFS tokens.
|
||||
*
|
||||
* If an optional command is given the command is executed in a
|
||||
* new PAG and when the command exits the tickets are destroyed.
|
||||
*/
|
||||
|
||||
#include "kauth.h"
|
||||
|
||||
RCSID("$Id: kauth.c,v 1.97 1999/12/02 16:58:31 joda Exp $");
|
||||
|
||||
krb_principal princ;
|
||||
static char srvtab[MaxPathLen];
|
||||
static int lifetime = DEFAULT_TKT_LIFE;
|
||||
static char remote_tktfile[MaxPathLen];
|
||||
static char remoteuser[100];
|
||||
static char *cell = 0;
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Usage:\n"
|
||||
" %s [name]\n"
|
||||
"or\n"
|
||||
" %s [-ad] [-n name] [-r remoteuser] [-t remote ticketfile]\n"
|
||||
" [-l lifetime (in minutes) ] [-f srvtab ] [-c AFS cell name ]\n"
|
||||
" [-h hosts... [--]] [command ... ]\n\n",
|
||||
__progname, __progname);
|
||||
fprintf(stderr,
|
||||
"A fully qualified name can be given: user[.instance][@realm]\n"
|
||||
"Realm is converted to uppercase!\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
#define EX_NOEXEC 126
|
||||
#define EX_NOTFOUND 127
|
||||
|
||||
static int
|
||||
doexec(int argc, char **argv)
|
||||
{
|
||||
int ret = simple_execvp(argv[0], argv);
|
||||
if(ret == -2)
|
||||
warn ("fork");
|
||||
if(ret == -3)
|
||||
warn("waitpid");
|
||||
if(ret < 0)
|
||||
return EX_NOEXEC;
|
||||
if(ret == EX_NOEXEC || ret == EX_NOTFOUND)
|
||||
warnx("Can't exec program ``%s''", argv[0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static RETSIGTYPE
|
||||
renew(int sig)
|
||||
{
|
||||
int code;
|
||||
|
||||
signal(SIGALRM, renew);
|
||||
|
||||
code = krb_get_svc_in_tkt(princ.name, princ.instance, princ.realm,
|
||||
KRB_TICKET_GRANTING_TICKET,
|
||||
princ.realm, lifetime, srvtab);
|
||||
if (code)
|
||||
warnx ("%s", krb_get_err_text(code));
|
||||
else if (k_hasafs())
|
||||
{
|
||||
if ((code = krb_afslog(cell, NULL)) != 0 && code != KDC_PR_UNKNOWN) {
|
||||
warnx ("%s", krb_get_err_text(code));
|
||||
}
|
||||
}
|
||||
|
||||
alarm(krb_life_to_time(0, lifetime)/2 - 60);
|
||||
SIGRETURN(0);
|
||||
}
|
||||
|
||||
static int
|
||||
zrefresh(void)
|
||||
{
|
||||
switch (fork()) {
|
||||
case -1:
|
||||
err (1, "Warning: Failed to fork zrefresh");
|
||||
return -1;
|
||||
case 0:
|
||||
/* Child */
|
||||
execlp("zrefresh", "zrefresh", 0);
|
||||
execl(BINDIR "/zrefresh", "zrefresh", 0);
|
||||
exit(1);
|
||||
default:
|
||||
/* Parent */
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
key_to_key(const char *user,
|
||||
char *instance,
|
||||
const char *realm,
|
||||
const void *arg,
|
||||
des_cblock *key)
|
||||
{
|
||||
memcpy(key, arg, sizeof(des_cblock));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
get_ticket_address(krb_principal *princ, des_cblock *key)
|
||||
{
|
||||
int code;
|
||||
unsigned char flags;
|
||||
krb_principal service;
|
||||
u_int32_t addr;
|
||||
struct in_addr addr2;
|
||||
des_cblock session;
|
||||
int life;
|
||||
u_int32_t time_sec;
|
||||
des_key_schedule schedule;
|
||||
CREDENTIALS c;
|
||||
|
||||
code = get_ad_tkt(princ->name, princ->instance, princ->realm, 0);
|
||||
if(code) {
|
||||
warnx("get_ad_tkt: %s\n", krb_get_err_text(code));
|
||||
return code;
|
||||
}
|
||||
code = krb_get_cred(princ->name, princ->instance, princ->realm, &c);
|
||||
if(code) {
|
||||
warnx("krb_get_cred: %s\n", krb_get_err_text(code));
|
||||
return code;
|
||||
}
|
||||
|
||||
des_set_key(key, schedule);
|
||||
code = decomp_ticket(&c.ticket_st,
|
||||
&flags,
|
||||
princ->name,
|
||||
princ->instance,
|
||||
princ->realm,
|
||||
&addr,
|
||||
session,
|
||||
&life,
|
||||
&time_sec,
|
||||
service.name,
|
||||
service.instance,
|
||||
key,
|
||||
schedule);
|
||||
if(code) {
|
||||
warnx("decomp_ticket: %s\n", krb_get_err_text(code));
|
||||
return code;
|
||||
}
|
||||
memset(&session, 0, sizeof(session));
|
||||
memset(schedule, 0, sizeof(schedule));
|
||||
addr2.s_addr = addr;
|
||||
fprintf(stdout, "ticket address = %s\n", inet_ntoa(addr2));
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int code, more_args;
|
||||
int ret;
|
||||
int c;
|
||||
char *file;
|
||||
int pflag = 0;
|
||||
int aflag = 0;
|
||||
int version_flag = 0;
|
||||
char passwd[100];
|
||||
des_cblock key;
|
||||
char **host;
|
||||
int nhost;
|
||||
char tf[MaxPathLen];
|
||||
|
||||
set_progname (argv[0]);
|
||||
|
||||
if ((file = getenv("KRBTKFILE")) == 0)
|
||||
file = TKT_FILE;
|
||||
|
||||
memset(&princ, 0, sizeof(princ));
|
||||
memset(srvtab, 0, sizeof(srvtab));
|
||||
*remoteuser = '\0';
|
||||
nhost = 0;
|
||||
host = NULL;
|
||||
|
||||
/* Look for kerberos name */
|
||||
if (argc > 1 &&
|
||||
argv[1][0] != '-' &&
|
||||
krb_parse_name(argv[1], &princ) == 0)
|
||||
{
|
||||
argc--; argv++;
|
||||
strupr(princ.realm);
|
||||
}
|
||||
|
||||
while ((c = getopt(argc, argv, "ar:t:f:hdl:n:c:v")) != -1)
|
||||
switch (c) {
|
||||
case 'a':
|
||||
aflag++;
|
||||
break;
|
||||
case 'd':
|
||||
krb_enable_debug();
|
||||
_kafs_debug = 1;
|
||||
aflag++;
|
||||
break;
|
||||
case 'f':
|
||||
strlcpy(srvtab, optarg, sizeof(srvtab));
|
||||
break;
|
||||
case 't':
|
||||
strlcpy(remote_tktfile, optarg, sizeof(remote_tktfile));
|
||||
break;
|
||||
case 'r':
|
||||
strlcpy(remoteuser, optarg, sizeof(remoteuser));
|
||||
break;
|
||||
case 'l':
|
||||
lifetime = atoi(optarg);
|
||||
if (lifetime == -1)
|
||||
lifetime = 255;
|
||||
else if (lifetime < 5)
|
||||
lifetime = 1;
|
||||
else
|
||||
lifetime = krb_time_to_life(0, lifetime*60);
|
||||
if (lifetime > 255)
|
||||
lifetime = 255;
|
||||
break;
|
||||
case 'n':
|
||||
if ((code = krb_parse_name(optarg, &princ)) != 0) {
|
||||
warnx ("%s", krb_get_err_text(code));
|
||||
usage();
|
||||
}
|
||||
strupr(princ.realm);
|
||||
pflag = 1;
|
||||
break;
|
||||
case 'c':
|
||||
cell = optarg;
|
||||
break;
|
||||
case 'h':
|
||||
host = argv + optind;
|
||||
for(nhost = 0; optind < argc && *argv[optind] != '-'; ++optind)
|
||||
++nhost;
|
||||
if(nhost == 0)
|
||||
usage();
|
||||
break;
|
||||
case 'v':
|
||||
version_flag++;
|
||||
print_version(NULL);
|
||||
break;
|
||||
case '?':
|
||||
default:
|
||||
usage();
|
||||
break;
|
||||
}
|
||||
|
||||
if(version_flag) {
|
||||
print_version(NULL);
|
||||
exit(0);
|
||||
}
|
||||
if (princ.name[0] == '\0' && krb_get_default_principal (princ.name,
|
||||
princ.instance,
|
||||
princ.realm) < 0)
|
||||
errx (1, "Could not get default principal");
|
||||
|
||||
/* With root tickets assume remote user is root */
|
||||
if (*remoteuser == '\0') {
|
||||
if (strcmp(princ.instance, "root") == 0)
|
||||
strlcpy(remoteuser, princ.instance, sizeof(remoteuser));
|
||||
else
|
||||
strlcpy(remoteuser, princ.name, sizeof(remoteuser));
|
||||
}
|
||||
|
||||
more_args = argc - optind;
|
||||
|
||||
if (princ.realm[0] == '\0')
|
||||
if (krb_get_lrealm(princ.realm, 1) != KSUCCESS)
|
||||
strlcpy(princ.realm, KRB_REALM, REALM_SZ);
|
||||
|
||||
if (more_args) {
|
||||
int f;
|
||||
|
||||
do{
|
||||
snprintf(tf, sizeof(tf), "%s%u_%u", TKT_ROOT, (unsigned)getuid(),
|
||||
(unsigned)(getpid()*time(0)));
|
||||
f = open(tf, O_CREAT|O_EXCL|O_RDWR);
|
||||
}while(f < 0);
|
||||
close(f);
|
||||
unlink(tf);
|
||||
setenv("KRBTKFILE", tf, 1);
|
||||
krb_set_tkt_string (tf);
|
||||
}
|
||||
|
||||
if (srvtab[0])
|
||||
{
|
||||
signal(SIGALRM, renew);
|
||||
|
||||
code = read_service_key (princ.name, princ.instance, princ.realm, 0,
|
||||
srvtab, (char *)&key);
|
||||
if (code == KSUCCESS)
|
||||
code = krb_get_in_tkt(princ.name, princ.instance, princ.realm,
|
||||
KRB_TICKET_GRANTING_TICKET,
|
||||
princ.realm, lifetime,
|
||||
key_to_key, NULL, key);
|
||||
alarm(krb_life_to_time(0, lifetime)/2 - 60);
|
||||
}
|
||||
else {
|
||||
char prompt[128];
|
||||
|
||||
snprintf(prompt, sizeof(prompt), "%s's Password: ", krb_unparse_name(&princ));
|
||||
if (des_read_pw_string(passwd, sizeof(passwd)-1, prompt, 0)){
|
||||
memset(passwd, 0, sizeof(passwd));
|
||||
exit(1);
|
||||
}
|
||||
code = krb_get_pw_in_tkt2(princ.name, princ.instance, princ.realm,
|
||||
KRB_TICKET_GRANTING_TICKET, princ.realm,
|
||||
lifetime, passwd, &key);
|
||||
|
||||
memset(passwd, 0, sizeof(passwd));
|
||||
}
|
||||
if (code) {
|
||||
memset (key, 0, sizeof(key));
|
||||
errx (1, "%s", krb_get_err_text(code));
|
||||
}
|
||||
|
||||
if(aflag)
|
||||
get_ticket_address(&princ, &key);
|
||||
|
||||
if (k_hasafs()) {
|
||||
if (more_args)
|
||||
k_setpag();
|
||||
if ((code = krb_afslog(cell, NULL)) != 0 && code != KDC_PR_UNKNOWN) {
|
||||
if(code > 0)
|
||||
warnx ("%s", krb_get_err_text(code));
|
||||
else
|
||||
warnx ("failed to store AFS token");
|
||||
}
|
||||
}
|
||||
|
||||
for(ret = 0; nhost-- > 0; host++)
|
||||
ret += rkinit(&princ, lifetime, remoteuser, remote_tktfile, &key, *host);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (more_args) {
|
||||
ret = doexec(more_args, &argv[optind]);
|
||||
dest_tkt();
|
||||
if (k_hasafs())
|
||||
k_unlog();
|
||||
}
|
||||
else
|
||||
zrefresh();
|
||||
|
||||
return ret;
|
||||
}
|
@ -1,116 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* $Id: kauth.h,v 1.21 1999/12/02 16:58:31 joda Exp $ */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif /* HAVE_CONFIG_H */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#include <errno.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_PWD_H
|
||||
#include <pwd.h>
|
||||
#endif
|
||||
#ifdef HAVE_GRP_H
|
||||
#include <grp.h>
|
||||
#endif
|
||||
|
||||
#ifdef TIME_WITH_SYS_TIME
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#elif defined(HAVE_SYS_TIME_H)
|
||||
#include <sys/time.h>
|
||||
#else
|
||||
#include <time.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_RESOURCE_H
|
||||
#include <sys/resource.h>
|
||||
#endif /* HAVE_SYS_RESOURCE_H */
|
||||
#ifdef HAVE_SYS_WAIT_H
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_INET_H
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETDB_H
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
#ifdef SOCKS
|
||||
#include <socks.h>
|
||||
/* This doesn't belong here. */
|
||||
struct tm *localtime(const time_t *);
|
||||
struct hostent *gethostbyname(const char *);
|
||||
#endif
|
||||
|
||||
#include <err.h>
|
||||
|
||||
#include <krb.h>
|
||||
#include <kafs.h>
|
||||
|
||||
#include <roken.h>
|
||||
|
||||
#define KAUTH_PORT 2120
|
||||
|
||||
#define KAUTH_VERSION "RKINIT.0"
|
||||
|
||||
int rkinit (krb_principal*, int, char*, char*, des_cblock*, char*);
|
||||
|
||||
int write_encrypted (int, void*, size_t, des_key_schedule,
|
||||
des_cblock*, struct sockaddr_in*, struct sockaddr_in*);
|
||||
|
||||
int read_encrypted (int, void*, size_t, void **, des_key_schedule,
|
||||
des_cblock*, struct sockaddr_in*, struct sockaddr_in*);
|
||||
|
||||
int pack_args (char *, size_t, krb_principal*, int, const char*, const char*);
|
||||
|
||||
int unpack_args (const char*, krb_principal*, int*, char*, char*);
|
@ -1,207 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997, 1998 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "kauth.h"
|
||||
|
||||
RCSID("$Id: kauthd.c,v 1.27 1999/12/06 16:46:05 assar Exp $");
|
||||
|
||||
krb_principal princ;
|
||||
static char locuser[SNAME_SZ];
|
||||
static int lifetime;
|
||||
static char tktfile[MaxPathLen];
|
||||
|
||||
struct remote_args {
|
||||
int sock;
|
||||
des_key_schedule *schedule;
|
||||
des_cblock *session;
|
||||
struct sockaddr_in *me, *her;
|
||||
};
|
||||
|
||||
static int
|
||||
decrypt_remote_tkt (const char *user,
|
||||
const char *inst,
|
||||
const char *realm,
|
||||
const void *varg,
|
||||
key_proc_t key_proc,
|
||||
KTEXT *cipp)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
void *ptr;
|
||||
int len;
|
||||
KTEXT cip = *cipp;
|
||||
struct remote_args *args = (struct remote_args *)varg;
|
||||
|
||||
write_encrypted (args->sock, cip->dat, cip->length,
|
||||
*args->schedule, args->session, args->me,
|
||||
args->her);
|
||||
len = read_encrypted (args->sock, buf, sizeof(buf), &ptr, *args->schedule,
|
||||
args->session, args->her, args->me);
|
||||
memcpy(cip->dat, ptr, cip->length);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
doit(int sock)
|
||||
{
|
||||
int status;
|
||||
KTEXT_ST ticket;
|
||||
AUTH_DAT auth;
|
||||
char instance[INST_SZ];
|
||||
des_key_schedule schedule;
|
||||
struct sockaddr_in thisaddr, thataddr;
|
||||
int addrlen;
|
||||
int len;
|
||||
char buf[BUFSIZ];
|
||||
void *data;
|
||||
struct passwd *passwd;
|
||||
char version[KRB_SENDAUTH_VLEN + 1];
|
||||
char remotehost[MaxHostNameLen];
|
||||
|
||||
addrlen = sizeof(thisaddr);
|
||||
if (getsockname (sock, (struct sockaddr *)&thisaddr, &addrlen) < 0 ||
|
||||
addrlen != sizeof(thisaddr)) {
|
||||
return 1;
|
||||
}
|
||||
addrlen = sizeof(thataddr);
|
||||
if (getpeername (sock, (struct sockaddr *)&thataddr, &addrlen) < 0 ||
|
||||
addrlen != sizeof(thataddr)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
getnameinfo_verified ((struct sockaddr *)&thataddr, sizeof(thataddr),
|
||||
remotehost, sizeof(remotehost),
|
||||
NULL, 0, 0);
|
||||
|
||||
k_getsockinst (sock, instance, sizeof(instance));
|
||||
status = krb_recvauth (KOPT_DO_MUTUAL, sock, &ticket, "rcmd", instance,
|
||||
&thataddr, &thisaddr, &auth, "", schedule,
|
||||
version);
|
||||
if (status != KSUCCESS ||
|
||||
strncmp(version, KAUTH_VERSION, KRB_SENDAUTH_VLEN) != 0) {
|
||||
return 1;
|
||||
}
|
||||
len = read_encrypted (sock, buf, sizeof(buf), &data, schedule,
|
||||
&auth.session, &thataddr, &thisaddr);
|
||||
if (len < 0) {
|
||||
write_encrypted (sock, "read_enc failed",
|
||||
sizeof("read_enc failed") - 1, schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
if (unpack_args(data, &princ, &lifetime, locuser,
|
||||
tktfile)) {
|
||||
write_encrypted (sock, "unpack_args failed",
|
||||
sizeof("unpack_args failed") - 1, schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if( kuserok(&auth, locuser) != 0) {
|
||||
snprintf(buf, sizeof(buf), "%s cannot get tickets for %s",
|
||||
locuser, krb_unparse_name(&princ));
|
||||
syslog (LOG_ERR, "%s", buf);
|
||||
write_encrypted (sock, buf, strlen(buf), schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
passwd = k_getpwnam (locuser);
|
||||
if (passwd == NULL) {
|
||||
snprintf (buf, sizeof(buf), "No user '%s'", locuser);
|
||||
syslog (LOG_ERR, "%s", buf);
|
||||
write_encrypted (sock, buf, strlen(buf), schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
if (setgid (passwd->pw_gid) ||
|
||||
initgroups(passwd->pw_name, passwd->pw_gid) ||
|
||||
setuid(passwd->pw_uid)) {
|
||||
snprintf (buf, sizeof(buf), "Could not change user");
|
||||
syslog (LOG_ERR, "%s", buf);
|
||||
write_encrypted (sock, buf, strlen(buf), schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
write_encrypted (sock, "ok", sizeof("ok") - 1, schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
|
||||
if (*tktfile == 0)
|
||||
snprintf(tktfile, sizeof(tktfile), "%s%u", TKT_ROOT, (unsigned)getuid());
|
||||
krb_set_tkt_string (tktfile);
|
||||
|
||||
{
|
||||
struct remote_args arg;
|
||||
|
||||
arg.sock = sock;
|
||||
arg.schedule = &schedule;
|
||||
arg.session = &auth.session;
|
||||
arg.me = &thisaddr;
|
||||
arg.her = &thataddr;
|
||||
|
||||
status = krb_get_in_tkt (princ.name, princ.instance, princ.realm,
|
||||
KRB_TICKET_GRANTING_TICKET,
|
||||
princ.realm,
|
||||
lifetime, NULL, decrypt_remote_tkt, &arg);
|
||||
}
|
||||
if (status == KSUCCESS) {
|
||||
char remoteaddr[INET6_ADDRSTRLEN];
|
||||
|
||||
getnameinfo ((struct sockaddr *)&thataddr, sizeof(thataddr),
|
||||
remoteaddr, sizeof(remoteaddr),
|
||||
NULL, 0, NI_NUMERICHOST);
|
||||
|
||||
syslog (LOG_INFO, "from %s(%s): %s -> %s",
|
||||
remotehost, remoteaddr,
|
||||
locuser,
|
||||
krb_unparse_name (&princ));
|
||||
write_encrypted (sock, "ok", sizeof("ok") - 1, schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 0;
|
||||
} else {
|
||||
snprintf (buf, sizeof(buf), "TGT failed: %s", krb_get_err_text(status));
|
||||
syslog (LOG_NOTICE, "%s", buf);
|
||||
write_encrypted (sock, buf, strlen(buf), schedule,
|
||||
&auth.session, &thisaddr, &thataddr);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
openlog ("kauthd", LOG_ODELAY, LOG_AUTH);
|
||||
|
||||
if(argc > 1 && strcmp(argv[1], "-i") == 0)
|
||||
mini_inetd (k_getportbyname("kauth", "tcp", htons(KAUTH_PORT)));
|
||||
return doit(STDIN_FILENO);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#! /bin/sh
|
||||
# $Id: ksrvtgt.in,v 1.3 1997/09/13 03:39:03 joda Exp $
|
||||
|
||||
usage="Usage: `basename $0` name instance [[realm] srvtab]"
|
||||
|
||||
if [ $# -lt 2 -o $# -gt 4 ]; then
|
||||
echo "$usage"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
srvtab="${4-${3-/etc/srvtab}}"
|
||||
realm="${4+@$3}"
|
||||
|
||||
%bindir%/kauth -n "$1.$2$realm" -l 5 -f "$srvtab"
|
@ -1,126 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "kauth.h"
|
||||
|
||||
RCSID("$Id: marshall.c,v 1.10 1999/12/02 16:58:31 joda Exp $");
|
||||
|
||||
int
|
||||
pack_args (char *buf,
|
||||
size_t sz,
|
||||
krb_principal *pr,
|
||||
int lifetime,
|
||||
const char *locuser,
|
||||
const char *tktfile)
|
||||
{
|
||||
char *p = buf;
|
||||
int len;
|
||||
|
||||
p = buf;
|
||||
|
||||
len = strlen(pr->name);
|
||||
if (len >= sz)
|
||||
return -1;
|
||||
memcpy (p, pr->name, len + 1);
|
||||
p += len + 1;
|
||||
sz -= len + 1;
|
||||
|
||||
len = strlen(pr->instance);
|
||||
if (len >= sz)
|
||||
return -1;
|
||||
memcpy (p, pr->instance, len + 1);
|
||||
p += len + 1;
|
||||
sz -= len + 1;
|
||||
|
||||
len = strlen(pr->realm);
|
||||
if (len >= sz)
|
||||
return -1;
|
||||
memcpy(p, pr->realm, len + 1);
|
||||
p += len + 1;
|
||||
sz -= len + 1;
|
||||
|
||||
if (sz < 1)
|
||||
return -1;
|
||||
*p++ = (unsigned char)lifetime;
|
||||
|
||||
len = strlen(locuser);
|
||||
if (len >= sz)
|
||||
return -1;
|
||||
memcpy (p, locuser, len + 1);
|
||||
p += len + 1;
|
||||
sz -= len + 1;
|
||||
|
||||
len = strlen(tktfile);
|
||||
if (len >= sz)
|
||||
return -1;
|
||||
memcpy (p, tktfile, len + 1);
|
||||
p += len + 1;
|
||||
sz -= len + 1;
|
||||
|
||||
return p - buf;
|
||||
}
|
||||
|
||||
int
|
||||
unpack_args (const char *buf, krb_principal *pr, int *lifetime,
|
||||
char *locuser, char *tktfile)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = strlen(buf);
|
||||
if (len >= SNAME_SZ)
|
||||
return -1;
|
||||
strlcpy (pr->name, buf, ANAME_SZ);
|
||||
buf += len + 1;
|
||||
len = strlen (buf);
|
||||
if (len >= INST_SZ)
|
||||
return -1;
|
||||
strlcpy (pr->instance, buf, INST_SZ);
|
||||
buf += len + 1;
|
||||
len = strlen (buf);
|
||||
if (len >= REALM_SZ)
|
||||
return -1;
|
||||
strlcpy (pr->realm, buf, REALM_SZ);
|
||||
buf += len + 1;
|
||||
*lifetime = (unsigned char)*buf++;
|
||||
len = strlen(buf);
|
||||
if (len >= SNAME_SZ)
|
||||
return -1;
|
||||
strlcpy (locuser, buf, SNAME_SZ);
|
||||
buf += len + 1;
|
||||
len = strlen(buf);
|
||||
if (len >= MaxPathLen)
|
||||
return -1;
|
||||
strlcpy (tktfile, buf, MaxPathLen);
|
||||
buf += len + 1;
|
||||
return 0;
|
||||
}
|
@ -1,226 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "kauth.h"
|
||||
|
||||
RCSID("$Id: rkinit.c,v 1.23 1999/12/06 17:07:20 assar Exp $");
|
||||
|
||||
static struct in_addr *
|
||||
getalladdrs (char *hostname, unsigned *count)
|
||||
{
|
||||
struct hostent *hostent;
|
||||
struct in_addr **h;
|
||||
struct in_addr *addr;
|
||||
unsigned naddr;
|
||||
unsigned maxaddr;
|
||||
|
||||
hostent = gethostbyname (hostname);
|
||||
if (hostent == NULL) {
|
||||
warnx ("gethostbyname '%s' failed: %s\n",
|
||||
hostname,
|
||||
hstrerror(h_errno));
|
||||
return NULL;
|
||||
}
|
||||
maxaddr = 1;
|
||||
naddr = 0;
|
||||
addr = malloc(sizeof(*addr) * maxaddr);
|
||||
if (addr == NULL) {
|
||||
warnx ("out of memory");
|
||||
return NULL;
|
||||
}
|
||||
for (h = (struct in_addr **)(hostent->h_addr_list);
|
||||
*h != NULL;
|
||||
h++) {
|
||||
if (naddr >= maxaddr) {
|
||||
maxaddr *= 2;
|
||||
addr = realloc (addr, sizeof(*addr) * maxaddr);
|
||||
if (addr == NULL) {
|
||||
warnx ("out of memory");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
addr[naddr++] = **h;
|
||||
}
|
||||
addr = realloc (addr, sizeof(*addr) * naddr);
|
||||
if (addr == NULL) {
|
||||
warnx ("out of memory");
|
||||
return NULL;
|
||||
}
|
||||
*count = naddr;
|
||||
return addr;
|
||||
}
|
||||
|
||||
static int
|
||||
doit_host (krb_principal *princ, int lifetime, char *locuser,
|
||||
char *tktfile, des_cblock *key, int s, char *hostname)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
int inlen;
|
||||
KTEXT_ST text;
|
||||
CREDENTIALS cred;
|
||||
MSG_DAT msg;
|
||||
int status;
|
||||
des_key_schedule schedule;
|
||||
struct sockaddr_in thisaddr, thataddr;
|
||||
int addrlen;
|
||||
void *ret;
|
||||
|
||||
addrlen = sizeof(thisaddr);
|
||||
if (getsockname (s, (struct sockaddr *)&thisaddr, &addrlen) < 0 ||
|
||||
addrlen != sizeof(thisaddr)) {
|
||||
warn ("getsockname(%s)", hostname);
|
||||
return 1;
|
||||
}
|
||||
addrlen = sizeof(thataddr);
|
||||
if (getpeername (s, (struct sockaddr *)&thataddr, &addrlen) < 0 ||
|
||||
addrlen != sizeof(thataddr)) {
|
||||
warn ("getpeername(%s)", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (krb_get_config_bool("nat_in_use")) {
|
||||
struct in_addr natAddr;
|
||||
|
||||
if (krb_get_our_ip_for_realm(krb_realmofhost(hostname),
|
||||
&natAddr) == KSUCCESS
|
||||
|| krb_get_our_ip_for_realm (NULL, &natAddr) == KSUCCESS)
|
||||
thisaddr.sin_addr = natAddr;
|
||||
}
|
||||
|
||||
status = krb_sendauth (KOPT_DO_MUTUAL, s, &text, "rcmd",
|
||||
hostname, krb_realmofhost (hostname),
|
||||
getpid(), &msg, &cred, schedule,
|
||||
&thisaddr, &thataddr, KAUTH_VERSION);
|
||||
if (status != KSUCCESS) {
|
||||
warnx ("%s: %s\n", hostname, krb_get_err_text(status));
|
||||
return 1;
|
||||
}
|
||||
inlen = pack_args (buf, sizeof(buf),
|
||||
princ, lifetime, locuser, tktfile);
|
||||
if (inlen < 0) {
|
||||
warn ("cannot marshall arguments to %s", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (write_encrypted(s, buf, inlen, schedule, &cred.session,
|
||||
&thisaddr, &thataddr) < 0) {
|
||||
warn ("write to %s", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
inlen = read_encrypted (s, buf, sizeof(buf), &ret, schedule,
|
||||
&cred.session, &thataddr, &thisaddr);
|
||||
if (inlen < 0) {
|
||||
warn ("read from %s failed", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (strncmp(ret, "ok", inlen) != 0) {
|
||||
warnx ("error from %s: %.*s\n",
|
||||
hostname, inlen, (char *)ret);
|
||||
return 1;
|
||||
}
|
||||
|
||||
inlen = read_encrypted (s, buf, sizeof(buf), &ret, schedule,
|
||||
&cred.session, &thataddr, &thisaddr);
|
||||
if (inlen < 0) {
|
||||
warn ("read from %s", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
{
|
||||
des_key_schedule key_s;
|
||||
|
||||
des_key_sched(key, key_s);
|
||||
des_pcbc_encrypt(ret, ret, inlen, key_s, key, DES_DECRYPT);
|
||||
memset(key_s, 0, sizeof(key_s));
|
||||
}
|
||||
write_encrypted (s, ret, inlen, schedule, &cred.session,
|
||||
&thisaddr, &thataddr);
|
||||
|
||||
inlen = read_encrypted (s, buf, sizeof(buf), &ret, schedule,
|
||||
&cred.session, &thataddr, &thisaddr);
|
||||
if (inlen < 0) {
|
||||
warn ("read from %s", hostname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (strncmp(ret, "ok", inlen) != 0) {
|
||||
warnx ("error from %s: %.*s\n",
|
||||
hostname, inlen, (char *)ret);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
rkinit (krb_principal *princ, int lifetime, char *locuser,
|
||||
char *tktfile, des_cblock *key, char *hostname)
|
||||
{
|
||||
struct in_addr *addr;
|
||||
unsigned naddr;
|
||||
unsigned i;
|
||||
int port;
|
||||
int success;
|
||||
|
||||
addr = getalladdrs (hostname, &naddr);
|
||||
if (addr == NULL)
|
||||
return 1;
|
||||
port = k_getportbyname ("kauth", "tcp", htons(KAUTH_PORT));
|
||||
success = 0;
|
||||
for (i = 0; !success && i < naddr; ++i) {
|
||||
struct sockaddr_in a;
|
||||
int s;
|
||||
|
||||
memset(&a, 0, sizeof(a));
|
||||
a.sin_family = AF_INET;
|
||||
a.sin_port = port;
|
||||
a.sin_addr = addr[i];
|
||||
|
||||
s = socket (AF_INET, SOCK_STREAM, 0);
|
||||
if (s < 0) {
|
||||
warn("socket");
|
||||
return 1;
|
||||
}
|
||||
if (connect(s, (struct sockaddr *)&a, sizeof(a)) < 0) {
|
||||
warn("connect(%s)", hostname);
|
||||
continue;
|
||||
}
|
||||
|
||||
success = success || !doit_host (princ, lifetime,
|
||||
locuser, tktfile, key,
|
||||
s, hostname);
|
||||
close (s);
|
||||
}
|
||||
return !success;
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @(#) $Id: zrefresh,v 1.3 1996/06/09 19:21:59 joda Exp $
|
||||
#
|
||||
# Substitute this script with a real zrefresh if running Zephyr. For
|
||||
# instance:
|
||||
#
|
||||
# if [ -f "$WGFILE" ] ; then
|
||||
# zctl load
|
||||
# fi
|
||||
|
||||
exit 0
|
@ -1,12 +0,0 @@
|
||||
dnl
|
||||
dnl $Id: krb-irix.m4,v 1.2 2000/12/13 12:48:45 assar Exp $
|
||||
dnl
|
||||
|
||||
dnl requires AC_CANONICAL_HOST
|
||||
AC_DEFUN(KRB_IRIX,[
|
||||
irix=no
|
||||
case "$host_os" in
|
||||
irix*) irix=yes ;;
|
||||
esac
|
||||
AM_CONDITIONAL(IRIX, test "$irix" != no)dnl
|
||||
])
|
@ -1,83 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 1998 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "hprop.h"
|
||||
|
||||
RCSID("$Id: hprop-common.c,v 1.7 1999/12/02 17:04:59 joda Exp $");
|
||||
|
||||
krb5_error_code
|
||||
send_priv(krb5_context context, krb5_auth_context ac,
|
||||
krb5_data *data, int fd)
|
||||
{
|
||||
krb5_data packet;
|
||||
krb5_error_code ret;
|
||||
|
||||
ret = krb5_mk_priv (context,
|
||||
ac,
|
||||
data,
|
||||
&packet,
|
||||
NULL);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = krb5_write_message (context, &fd, &packet);
|
||||
krb5_data_free(&packet);
|
||||
return ret;
|
||||
}
|
||||
|
||||
krb5_error_code
|
||||
recv_priv(krb5_context context, krb5_auth_context ac, int fd, krb5_data *out)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
krb5_data data;
|
||||
|
||||
ret = krb5_read_message (context, &fd, &data);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = krb5_rd_priv(context, ac, &data, out, NULL);
|
||||
krb5_data_free (&data);
|
||||
return ret;
|
||||
}
|
||||
|
||||
krb5_error_code
|
||||
send_clear(krb5_context context, int fd, krb5_data data)
|
||||
{
|
||||
return krb5_write_message (context, &fd, &data);
|
||||
}
|
||||
|
||||
krb5_error_code
|
||||
recv_clear(krb5_context context, int fd, krb5_data *out)
|
||||
{
|
||||
return krb5_read_message (context, &fd, out);
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* $Id: kerberos4.h,v 1.2 1999/12/02 17:04:59 joda Exp $ */
|
||||
|
||||
#ifndef __KERBEROS4_H__
|
||||
#define __KERBEROS4_H__
|
||||
|
||||
hdb_entry* db_fetch4(const char *name,
|
||||
const char *instance,
|
||||
const char *realm);
|
||||
|
||||
#endif /* __KERBEROS4_H__ */
|
@ -1,71 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* $Id: err.h,v 1.15 1999/12/02 16:58:45 joda Exp $ */
|
||||
|
||||
#ifndef __ERR_H__
|
||||
#define __ERR_H__
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
extern const char *__progname;
|
||||
|
||||
#if !defined(__GNUC__) && !defined(__attribute__)
|
||||
#define __attribute__(x)
|
||||
#endif
|
||||
|
||||
void warnerr(int doerrno, const char *fmt, va_list ap)
|
||||
__attribute__ ((format (printf, 2, 0)));
|
||||
|
||||
void verr(int eval, const char *fmt, va_list ap)
|
||||
__attribute__ ((noreturn, format (printf, 2, 0)));
|
||||
void err(int eval, const char *fmt, ...)
|
||||
__attribute__ ((noreturn, format (printf, 2, 3)));
|
||||
void verrx(int eval, const char *fmt, va_list ap)
|
||||
__attribute__ ((noreturn, format (printf, 2, 0)));
|
||||
void errx(int eval, const char *fmt, ...)
|
||||
__attribute__ ((noreturn, format (printf, 2, 3)));
|
||||
void vwarn(const char *fmt, va_list ap)
|
||||
__attribute__ ((format (printf, 1, 0)));
|
||||
void warn(const char *fmt, ...)
|
||||
__attribute__ ((format (printf, 1, 2)));
|
||||
void vwarnx(const char *fmt, va_list ap)
|
||||
__attribute__ ((format (printf, 1, 0)));
|
||||
void warnx(const char *fmt, ...)
|
||||
__attribute__ ((format (printf, 1, 2)));
|
||||
|
||||
#endif /* __ERR_H__ */
|
@ -1,49 +0,0 @@
|
||||
/* $NetBSD: fnmatch.h,v 1.5 1994/10/26 00:55:53 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1992, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)fnmatch.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _FNMATCH_H_
|
||||
#define _FNMATCH_H_
|
||||
|
||||
#define FNM_NOMATCH 1 /* Match failed. */
|
||||
|
||||
#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */
|
||||
#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */
|
||||
#define FNM_PERIOD 0x04 /* Period must be matched by period. */
|
||||
|
||||
int fnmatch (const char *, const char *, int);
|
||||
|
||||
#endif /* !_FNMATCH_H_ */
|
@ -1,84 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Guido van Rossum.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)glob.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _GLOB_H_
|
||||
#define _GLOB_H_
|
||||
|
||||
struct stat;
|
||||
typedef struct {
|
||||
int gl_pathc; /* Count of total paths so far. */
|
||||
int gl_matchc; /* Count of paths matching pattern. */
|
||||
int gl_offs; /* Reserved at beginning of gl_pathv. */
|
||||
int gl_flags; /* Copy of flags parameter to glob. */
|
||||
char **gl_pathv; /* List of paths matching pattern. */
|
||||
/* Copy of errfunc parameter to glob. */
|
||||
int (*gl_errfunc) (const char *, int);
|
||||
|
||||
/*
|
||||
* Alternate filesystem access methods for glob; replacement
|
||||
* versions of closedir(3), readdir(3), opendir(3), stat(2)
|
||||
* and lstat(2).
|
||||
*/
|
||||
void (*gl_closedir) (void *);
|
||||
struct dirent *(*gl_readdir) (void *);
|
||||
void *(*gl_opendir) (const char *);
|
||||
int (*gl_lstat) (const char *, struct stat *);
|
||||
int (*gl_stat) (const char *, struct stat *);
|
||||
} glob_t;
|
||||
|
||||
#define GLOB_APPEND 0x0001 /* Append to output from previous call. */
|
||||
#define GLOB_DOOFFS 0x0002 /* Use gl_offs. */
|
||||
#define GLOB_ERR 0x0004 /* Return on error. */
|
||||
#define GLOB_MARK 0x0008 /* Append / to matching directories. */
|
||||
#define GLOB_NOCHECK 0x0010 /* Return pattern itself if nothing matches. */
|
||||
#define GLOB_NOSORT 0x0020 /* Don't sort. */
|
||||
|
||||
#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
|
||||
#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
|
||||
#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
|
||||
#define GLOB_NOMAGIC 0x0200 /* GLOB_NOCHECK without magic chars (csh). */
|
||||
#define GLOB_QUOTE 0x0400 /* Quote special chars with \. */
|
||||
#define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */
|
||||
|
||||
#define GLOB_NOSPACE (-1) /* Malloc call failed. */
|
||||
#define GLOB_ABEND (-2) /* Unignored error. */
|
||||
|
||||
int glob (const char *, int, int (*)(const char *, int), glob_t *);
|
||||
void globfree (glob_t *);
|
||||
|
||||
#endif /* !_GLOB_H_ */
|
@ -1,70 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1998 - 2000 Kungliga Tekniska Högskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
RCSID("$Id: make-print-version.c,v 1.3 2000/08/16 11:30:04 assar Exp $");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef KRB5
|
||||
extern const char *heimdal_version;
|
||||
#endif
|
||||
#ifdef KRB4
|
||||
extern const char *krb4_version;
|
||||
#endif
|
||||
#include <version.h>
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
FILE *f;
|
||||
if(argc != 2)
|
||||
return 1;
|
||||
f = fopen(argv[1], "w");
|
||||
if(f == NULL)
|
||||
return 1;
|
||||
fprintf(f, "#define VERSIONLIST { ");
|
||||
#ifdef KRB5
|
||||
fprintf(f, "\"%s\", ", heimdal_version);
|
||||
#endif
|
||||
#ifdef KRB4
|
||||
fprintf(f, "\"%s\", ", krb4_version);
|
||||
#endif
|
||||
fprintf(f, "}\n");
|
||||
fclose(f);
|
||||
return 0;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
LIBRARY roken BASE=0x68f0000
|
||||
EXPORTS
|
||||
gettimeofday
|
||||
strcasecmp
|
||||
strtok_r
|
||||
snprintf
|
||||
asprintf
|
||||
vsnprintf
|
||||
base64_decode
|
||||
base64_encode
|
||||
roken_concat
|
||||
roken_vconcat
|
||||
roken_vmconcat
|
||||
roken_mconcat
|
||||
getuid
|
||||
dns_free_data
|
||||
dns_lookup
|
@ -1,156 +0,0 @@
|
||||
# Microsoft Developer Studio Project File - Name="roken" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=roken - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "roken.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "roken.mak" CFG="roken - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "roken - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "roken - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "roken - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /GX /O2 /I "..\krb" /I "..\des" /I "..\..\include" /I "..\..\include\win32" /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_CONFIG_H" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x68e7780" /subsystem:windows /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "roken - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\Debug"
|
||||
# PROP Intermediate_Dir ".\Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MDd /Gm /GX /Zi /Od /I "..\krb" /I "..\des" /I "..\..\include" /I "..\..\include\win32" /I "." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_CONFIG_H" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /def:".\roken.def"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "roken - Win32 Release"
|
||||
# Name "roken - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\base64.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\concat.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\gettimeofday.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\getuid.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resolve.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\roken.def
|
||||
|
||||
!IF "$(CFG)" == "roken - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "roken - Win32 Debug"
|
||||
|
||||
# PROP Exclude_From_Build 1
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\snprintf.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\strcasecmp.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\strtok_r.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resolve.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\roken.rc
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
@ -1,316 +0,0 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on roken.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=roken - Win32 Release
|
||||
!MESSAGE No configuration specified. Defaulting to roken - Win32 Release.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "roken - Win32 Release" && "$(CFG)" != "roken - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "roken.mak" CFG="roken - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "roken - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "roken - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "roken - Win32 Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
# Begin Custom Macros
|
||||
OutDir=.\.\Release
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "$(OUTDIR)\roken.dll"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "$(OUTDIR)\roken.dll"
|
||||
|
||||
!ENDIF
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(INTDIR)\concat.obj"
|
||||
-@erase "$(INTDIR)\gettimeofday.obj"
|
||||
-@erase "$(INTDIR)\getuid.obj"
|
||||
-@erase "$(INTDIR)\resolve.obj"
|
||||
-@erase "$(INTDIR)\roken.res"
|
||||
-@erase "$(INTDIR)\snprintf.obj"
|
||||
-@erase "$(INTDIR)\strcasecmp.obj"
|
||||
-@erase "$(INTDIR)\strtok_r.obj"
|
||||
-@erase "$(INTDIR)\vc50.idb"
|
||||
-@erase "$(OUTDIR)\roken.dll"
|
||||
-@erase "$(OUTDIR)\roken.exp"
|
||||
-@erase "$(OUTDIR)\roken.lib"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MT /GX /O2 /I "..\krb" /I "..\des" /I "..\..\include" /I\
|
||||
"..\..\include\win32" /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
|
||||
"HAVE_CONFIG_H" /Fp"$(INTDIR)\roken.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\"\
|
||||
/FD /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\roken.res" /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\roken.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
|
||||
/base:"0x68e7780" /subsystem:windows /dll /incremental:no\
|
||||
/pdb:"$(OUTDIR)\roken.pdb" /machine:I386 /def:".\roken.def"\
|
||||
/out:"$(OUTDIR)\roken.dll" /implib:"$(OUTDIR)\roken.lib"
|
||||
DEF_FILE= \
|
||||
".\roken.def"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"$(INTDIR)\concat.obj" \
|
||||
"$(INTDIR)\gettimeofday.obj" \
|
||||
"$(INTDIR)\getuid.obj" \
|
||||
"$(INTDIR)\resolve.obj" \
|
||||
"$(INTDIR)\roken.res" \
|
||||
"$(INTDIR)\snprintf.obj" \
|
||||
"$(INTDIR)\strcasecmp.obj" \
|
||||
"$(INTDIR)\strtok_r.obj"
|
||||
|
||||
"$(OUTDIR)\roken.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "roken - Win32 Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "$(OUTDIR)\roken.dll"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "$(OUTDIR)\roken.dll"
|
||||
|
||||
!ENDIF
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(INTDIR)\concat.obj"
|
||||
-@erase "$(INTDIR)\gettimeofday.obj"
|
||||
-@erase "$(INTDIR)\getuid.obj"
|
||||
-@erase "$(INTDIR)\resolve.obj"
|
||||
-@erase "$(INTDIR)\roken.res"
|
||||
-@erase "$(INTDIR)\snprintf.obj"
|
||||
-@erase "$(INTDIR)\strcasecmp.obj"
|
||||
-@erase "$(INTDIR)\strtok_r.obj"
|
||||
-@erase "$(INTDIR)\vc50.idb"
|
||||
-@erase "$(INTDIR)\vc50.pdb"
|
||||
-@erase "$(OUTDIR)\roken.dll"
|
||||
-@erase "$(OUTDIR)\roken.exp"
|
||||
-@erase "$(OUTDIR)\roken.ilk"
|
||||
-@erase "$(OUTDIR)\roken.lib"
|
||||
-@erase "$(OUTDIR)\roken.pdb"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /Gm /GX /Zi /Od /I "..\krb" /I "..\des" /I\
|
||||
"..\..\include" /I "..\..\include\win32" /I "." /D "_DEBUG" /D "WIN32" /D\
|
||||
"_WINDOWS" /D "HAVE_CONFIG_H" /Fp"$(INTDIR)\roken.pch" /YX /Fo"$(INTDIR)\\"\
|
||||
/Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_OBJS=.\Debug/
|
||||
CPP_SBRS=.
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\roken.res" /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\roken.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
|
||||
/subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\roken.pdb" /debug\
|
||||
/machine:I386 /def:".\roken.def" /out:"$(OUTDIR)\roken.dll"\
|
||||
/implib:"$(OUTDIR)\roken.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"$(INTDIR)\concat.obj" \
|
||||
"$(INTDIR)\gettimeofday.obj" \
|
||||
"$(INTDIR)\getuid.obj" \
|
||||
"$(INTDIR)\resolve.obj" \
|
||||
"$(INTDIR)\roken.res" \
|
||||
"$(INTDIR)\snprintf.obj" \
|
||||
"$(INTDIR)\strcasecmp.obj" \
|
||||
"$(INTDIR)\strtok_r.obj"
|
||||
|
||||
"$(OUTDIR)\roken.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(CFG)" == "roken - Win32 Release" || "$(CFG)" == "roken - Win32 Debug"
|
||||
SOURCE=.\base64.c
|
||||
DEP_CPP_BASE6=\
|
||||
"..\..\include\win32\config.h"\
|
||||
".\base64.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\base64.obj" : $(SOURCE) $(DEP_CPP_BASE6) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\concat.c
|
||||
DEP_CPP_CONCA=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\concat.obj" : $(SOURCE) $(DEP_CPP_CONCA) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\gettimeofday.c
|
||||
DEP_CPP_GETTI=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\gettimeofday.obj" : $(SOURCE) $(DEP_CPP_GETTI) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\getuid.c
|
||||
DEP_CPP_GETUI=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\getuid.obj" : $(SOURCE) $(DEP_CPP_GETUI) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\resolve.c
|
||||
DEP_CPP_RESOL=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\resolve.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\resolve.obj" : $(SOURCE) $(DEP_CPP_RESOL) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\snprintf.c
|
||||
DEP_CPP_SNPRI=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\snprintf.obj" : $(SOURCE) $(DEP_CPP_SNPRI) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\strcasecmp.c
|
||||
DEP_CPP_STRCA=\
|
||||
"..\..\include\win32\config.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\strcasecmp.obj" : $(SOURCE) $(DEP_CPP_STRCA) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\strtok_r.c
|
||||
DEP_CPP_STRTO=\
|
||||
"..\..\include\win32\config.h"\
|
||||
"..\..\include\win32\roken.h"\
|
||||
".\err.h"\
|
||||
".\roken-common.h"\
|
||||
{$(INCLUDE)}"sys\stat.h"\
|
||||
{$(INCLUDE)}"sys\types.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\strtok_r.obj" : $(SOURCE) $(DEP_CPP_STRTO) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\roken.rc
|
||||
|
||||
"$(INTDIR)\roken.res" : $(SOURCE) "$(INTDIR)"
|
||||
$(RSC) $(RSC_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
@ -1,105 +0,0 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Swedish resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Royal Institute of Technology (KTH)\0"
|
||||
VALUE "FileDescription", "roken\0"
|
||||
VALUE "FileVersion", "4, 0, 9, 9\0"
|
||||
VALUE "InternalName", "roken\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1996 - 1998 Royal Institute of Technology (KTH)\0"
|
||||
VALUE "OriginalFilename", "roken.dll\0"
|
||||
VALUE "ProductName", "KTH Kerberos\0"
|
||||
VALUE "ProductVersion", "4,0,9,9\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
#endif // Swedish resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
@ -1,143 +0,0 @@
|
||||
#! /bin/sh
|
||||
# ylwrap - wrapper for lex/yacc invocations.
|
||||
# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Usage:
|
||||
# ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
|
||||
# * INPUT is the input file
|
||||
# * OUTPUT is file PROG generates
|
||||
# * DESIRED is file we actually want
|
||||
# * PROGRAM is program to run
|
||||
# * ARGS are passed to PROG
|
||||
# Any number of OUTPUT,DESIRED pairs may be used.
|
||||
|
||||
# The input.
|
||||
input="$1"
|
||||
shift
|
||||
case "$input" in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
# Absolute path; do nothing.
|
||||
;;
|
||||
*)
|
||||
# Relative path. Make it absolute.
|
||||
input="`pwd`/$input"
|
||||
;;
|
||||
esac
|
||||
|
||||
# The directory holding the input.
|
||||
input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
|
||||
# Quote $INPUT_DIR so we can use it in a regexp.
|
||||
# FIXME: really we should care about more than `.' and `\'.
|
||||
input_rx=`echo "$input_dir" | sed -e 's,\\\\,\\\\\\\\,g' -e 's,\\.,\\\\.,g'`
|
||||
|
||||
echo "got $input_rx"
|
||||
|
||||
pairlist=
|
||||
while test "$#" -ne 0; do
|
||||
if test "$1" = "--"; then
|
||||
shift
|
||||
break
|
||||
fi
|
||||
pairlist="$pairlist $1"
|
||||
shift
|
||||
done
|
||||
|
||||
# The program to run.
|
||||
prog="$1"
|
||||
shift
|
||||
# Make any relative path in $prog absolute.
|
||||
case "$prog" in
|
||||
[\\/]* | ?:[\\/]*) ;;
|
||||
*[\\/]*) prog="`pwd`/$prog" ;;
|
||||
esac
|
||||
|
||||
# FIXME: add hostname here for parallel makes that run commands on
|
||||
# other machines. But that might take us over the 14-char limit.
|
||||
dirname=ylwrap$$
|
||||
trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
|
||||
mkdir $dirname || exit 1
|
||||
|
||||
cd $dirname
|
||||
|
||||
$prog ${1+"$@"} "$input"
|
||||
status=$?
|
||||
|
||||
if test $status -eq 0; then
|
||||
set X $pairlist
|
||||
shift
|
||||
first=yes
|
||||
# Since DOS filename conventions don't allow two dots,
|
||||
# the DOS version of Bison writes out y_tab.c instead of y.tab.c
|
||||
# and y_tab.h instead of y.tab.h. Test to see if this is the case.
|
||||
y_tab_nodot="no"
|
||||
if test -f y_tab.c || test -f y_tab.h; then
|
||||
y_tab_nodot="yes"
|
||||
fi
|
||||
|
||||
while test "$#" -ne 0; do
|
||||
from="$1"
|
||||
# Handle y_tab.c and y_tab.h output by DOS
|
||||
if test $y_tab_nodot = "yes"; then
|
||||
if test $from = "y.tab.c"; then
|
||||
from="y_tab.c"
|
||||
else
|
||||
if test $from = "y.tab.h"; then
|
||||
from="y_tab.h"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test -f "$from"; then
|
||||
# If $2 is an absolute path name, then just use that,
|
||||
# otherwise prepend `../'.
|
||||
case "$2" in
|
||||
[\\/]* | ?:[\\/]*) target="$2";;
|
||||
*) target="../$2";;
|
||||
esac
|
||||
|
||||
# Edit out `#line' or `#' directives. We don't want the
|
||||
# resulting debug information to point at an absolute srcdir;
|
||||
# it is better for it to just mention the .y file with no
|
||||
# path.
|
||||
sed -e "/^#/ s,$input_rx,," "$from" > "$target" || status=$?
|
||||
else
|
||||
# A missing file is only an error for the first file. This
|
||||
# is a blatant hack to let us support using "yacc -d". If -d
|
||||
# is not specified, we don't want an error when the header
|
||||
# file is "missing".
|
||||
if test $first = yes; then
|
||||
status=1
|
||||
fi
|
||||
fi
|
||||
shift
|
||||
shift
|
||||
first=no
|
||||
done
|
||||
else
|
||||
status=$?
|
||||
fi
|
||||
|
||||
# Remove the directory.
|
||||
cd ..
|
||||
rm -rf $dirname
|
||||
|
||||
exit $status
|
Loading…
Reference in New Issue
Block a user