You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(45) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(12) |
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2016 |
Jan
(4) |
Feb
(4) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 09:19:18
|
perky 03/09/15 02:19:06
Modified: include eapolerror.h libeapol.h
Added: include eapolconfig.h.in eapolrx.h
Log:
Add rx frames
Revision Changes Path
1.2 +3 -1 libeapol/include/eapolerror.h
Index: eapolerror.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/eapolerror.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eapolerror.h 15 Sep 2003 04:53:40 -0000 1.1
+++ eapolerror.h 15 Sep 2003 09:19:06 -0000 1.2
@@ -56,6 +56,8 @@
/* Non-EAPOL packet */
#define EAPOLERR_VERSION_MISMATCH (-517)
/* EAPOL Version mismatch */
+#define EAPOLERR_NOT_IMPLEMENTED (-518)
+ /* Not implemented feature is needed */
#ifdef __cplusplus
}
@@ -64,6 +66,6 @@
#endif
/*
- * $Id: eapolerror.h,v 1.1 2003/09/15 04:53:40 perky Exp $
+ * $Id: eapolerror.h,v 1.2 2003/09/15 09:19:06 perky Exp $
* ex: ts=8 sts=4 et
*/
1.4 +2 -1 libeapol/include/libeapol.h
Index: libeapol.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/libeapol.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- libeapol.h 15 Sep 2003 07:19:30 -0000 1.3
+++ libeapol.h 15 Sep 2003 09:19:06 -0000 1.4
@@ -154,11 +154,12 @@
#include "eapol.h"
#include "eapolsm.h"
#include "eapolstruct.h"
+#include "eapolrx.h"
#include "eapoltx.h"
#endif
/*
- * $Id: libeapol.h,v 1.3 2003/09/15 07:19:30 perky Exp $
+ * $Id: libeapol.h,v 1.4 2003/09/15 09:19:06 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/include/eapolconfig.h.in
Index: eapolconfig.h.in
===================================================================
/* include/eapolconfig.h.in. Generated from configure.in by autoheader. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
/* Define to 1 if you have the <endian.h> header file. */
#undef HAVE_ENDIAN_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <machine/endian.h> header file. */
#undef HAVE_MACHINE_ENDIAN_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
/* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use
`HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */
#undef HAVE_ST_BLKSIZE
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if libeapol compiled with eap-md5 support */
#undef USE_EAP_MD5
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
1.1 libeapol/include/eapolrx.h
Index: eapolrx.h
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#ifndef INCLUDE_EAPOL_RX_H
#define INCLUDE_EAPOL_RX_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* (INTERNAL) Process received EAPOL EAP-Packet.
*
* @param sess Pointer to an EAPOL session to operate.
* @param pkt Packet data
* @param pktlen Length of `pkt'
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_rx_eap_packet(eapol_t *sess, const uint8_t *pkt, size_t pktlen);
/**
* (INTERNAL) Process received EAPOL-Start.
*
* @param sess Pointer to an EAPOL session to operate.
* @param pkt Packet data
* @param pktlen Length of `pkt'
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_rx_start(eapol_t *sess, const uint8_t *pkt, size_t pktlen);
/**
* (INTERNAL) Process received EAPOL-Logoff.
*
* @param sess Pointer to an EAPOL session to operate.
* @param pkt Packet data
* @param pktlen Length of `pkt'
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_rx_logoff(eapol_t *sess, const uint8_t *pkt, size_t pktlen);
/**
* (INTERNAL) Process received EAPOL-Key.
*
* @param sess Pointer to an EAPOL session to operate.
* @param pkt Packet data
* @param pktlen Length of `pkt'
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_rx_key(eapol_t *sess, const uint8_t *pkt, size_t pktlen);
/**
* (INTERNAL) Process received EAPOL-Encapsulated-ASF-Alert.
*
* @param sess Pointer to an EAPOL session to operate.
* @param pkt Packet data
* @param pktlen Length of `pkt'
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_rx_encapsulated_asf_alert(eapol_t *sess,
const uint8_t *pkt, size_t pktlen);
#ifdef __cplusplus
}
#endif
#endif
/*
* $Id: eapolrx.h,v 1.1 2003/09/15 09:19:06 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 09:19:18
|
perky 03/09/15 02:19:05
Added: . configure
Log:
Add rx frames
Revision Changes Path
1.1 libeapol/configure
Index: configure
===================================================================
#! /bin/sh
# From configure.in Revision: 1.2 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.57 for libeapol 1.0.
#
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
# Support unset when possible.
if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
fi
# Work around bugs in pre-3.0 UWIN ksh.
$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
for as_var in \
LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
LC_TELEPHONE LC_TIME
do
if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
$as_unset $as_var
fi
done
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
# Name of the executable.
as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)$' \| \
. : '\(.\)' 2>/dev/null ||
echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
/^X\/\(\/\/\)$/{ s//\1/; q; }
/^X\/\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
echo "#! /bin/sh" >conf$$.sh
echo "exit 0" >>conf$$.sh
chmod +x conf$$.sh
if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
PATH_SEPARATOR=';'
else
PATH_SEPARATOR=:
fi
rm -f conf$$.sh
fi
as_lineno_1=$LINENO
as_lineno_2=$LINENO
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x$as_lineno_3" = "x$as_lineno_2" || {
# Find who we are. Look in the path if we contain no path at all
# relative or not.
case $0 in
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
{ echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
{ (exit 1); exit 1; }; }
fi
case $CONFIG_SHELL in
'')
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for as_base in sh bash ksh sh5; do
case $as_dir in
/*)
if ("$as_dir/$as_base" -c '
as_lineno_1=$LINENO
as_lineno_2=$LINENO
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
$as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
$as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
CONFIG_SHELL=$as_dir/$as_base
export CONFIG_SHELL
exec "$CONFIG_SHELL" "$0" ${1+"$@"}
fi;;
esac
done
done
;;
esac
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
# line-number line before each line; the second 'sed' does the real
# work. The second script uses 'N' to pair each line-number line
# with the numbered line, and appends trailing '-' during
# substitution so that $LINENO is not a special case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
# second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
sed '=' <$as_myself |
sed '
N
s,$,-,
: loop
s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
s,-$,,
s,^['$as_cr_digits']*\n,,
' >$as_me.lineno &&
chmod +x $as_me.lineno ||
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensible to this).
. ./$as_me.lineno
# Exit status is that of the last command.
exit
}
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ECHO_C='
' ECHO_T=' ' ;;
*c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
# We could just check for DJGPP; but this test a) works b) is more generic
# and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
if test -f conf$$.exe; then
# Don't use ln at all; we don't have any links
as_ln_s='cp -p'
else
as_ln_s='ln -s'
fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
as_mkdir_p=false
fi
as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
# IFS
# We need space, tab and new line, in precisely that order.
as_nl='
'
IFS=" $as_nl"
# CDPATH.
$as_unset CDPATH
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
exec 6>&1
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_config_libobj_dir=.
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
# This variable seems obsolete. It should probably be removed, and
# only ac_max_sed_lines should be used.
: ${ac_max_here_lines=38}
# Identity of this package.
PACKAGE_NAME='libeapol'
PACKAGE_TARNAME='libeapol'
PACKAGE_VERSION='1.0'
PACKAGE_STRING='libeapol 1.0'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#if HAVE_STRING_H
# if !STDC_HEADERS && HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
#if HAVE_STRINGS_H
# include <strings.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
# if HAVE_STDINT_H
# include <stdint.h>
# endif
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION CONFIG_ARGS MACHDEP SGI_ABI SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP RANLIB ac_ct_RANLIB AR EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CCSHARED LDSHARED SOSUFFIX PLATLIBS SUBMODULES python ALLOCA LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
# Accept the important Cygnus configure options, so we can diagnose typos.
case $ac_option in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir=$ac_optarg ;;
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
ac_feature=`echo $ac_feature | sed 's/-/_/g'`
eval "enable_$ac_feature=no" ;;
-enable-* | --enable-*)
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
ac_feature=`echo $ac_feature | sed 's/-/_/g'`
case $ac_option in
*=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
*) ac_optarg=yes ;;
esac
eval "enable_$ac_feature='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
ac_package=`echo $ac_package| sed 's/-/_/g'`
case $ac_option in
*=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
*) ac_optarg=yes ;;
esac
eval "with_$ac_package='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
ac_package=`echo $ac_package | sed 's/-/_/g'`
eval "with_$ac_package=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) { echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
eval "$ac_envvar='$ac_optarg'"
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
{ echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
# Be sure to have absolute paths.
for ac_var in exec_prefix prefix
do
eval ac_val=$`echo $ac_var`
case $ac_val in
[\\/$]* | ?:[\\/]* | NONE | '' ) ;;
*) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; };;
esac
done
# Be sure to have absolute paths.
for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
localstatedir libdir includedir oldincludedir infodir mandir
do
eval ac_val=$`echo $ac_var`
case $ac_val in
[\\/$]* | ?:[\\/]* ) ;;
*) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; };;
esac
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_confdir=`(dirname "$0") 2>/dev/null ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$0" : 'X\(//\)[^/]' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| \
. : '\(.\)' 2>/dev/null ||
echo X"$0" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
/^X\(\/\/\)$/{ s//\1/; q; }
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
{ (exit 1); exit 1; }; }
else
{ echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
fi
(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
{ echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
{ (exit 1); exit 1; }; }
srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
ac_env_build_alias_set=${build_alias+set}
ac_env_build_alias_value=$build_alias
ac_cv_env_build_alias_set=${build_alias+set}
ac_cv_env_build_alias_value=$build_alias
ac_env_host_alias_set=${host_alias+set}
ac_env_host_alias_value=$host_alias
ac_cv_env_host_alias_set=${host_alias+set}
ac_cv_env_host_alias_value=$host_alias
ac_env_target_alias_set=${target_alias+set}
ac_env_target_alias_value=$target_alias
ac_cv_env_target_alias_set=${target_alias+set}
ac_cv_env_target_alias_value=$target_alias
ac_env_CC_set=${CC+set}
ac_env_CC_value=$CC
ac_cv_env_CC_set=${CC+set}
ac_cv_env_CC_value=$CC
ac_env_CFLAGS_set=${CFLAGS+set}
ac_env_CFLAGS_value=$CFLAGS
ac_cv_env_CFLAGS_set=${CFLAGS+set}
ac_cv_env_CFLAGS_value=$CFLAGS
ac_env_LDFLAGS_set=${LDFLAGS+set}
ac_env_LDFLAGS_value=$LDFLAGS
ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
ac_cv_env_LDFLAGS_value=$LDFLAGS
ac_env_CPPFLAGS_set=${CPPFLAGS+set}
ac_env_CPPFLAGS_value=$CPPFLAGS
ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
ac_cv_env_CPPFLAGS_value=$CPPFLAGS
ac_env_CPP_set=${CPP+set}
ac_env_CPP_value=$CPP
ac_cv_env_CPP_set=${CPP+set}
ac_cv_env_CPP_value=$CPP
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures libeapol 1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
_ACEOF
cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--infodir=DIR info documentation [PREFIX/info]
--mandir=DIR man documentation [PREFIX/man]
_ACEOF
cat <<\_ACEOF
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libeapol 1.0:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-eap-md5 Disable EAP-MD5 authentication
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-python=DIR Python Interpreter (Python 2.2 compatible)
--with-ssl=DIR SSL/TLS toolkit (OpenSSL 0.9.6g compatible)
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d $ac_dir || continue
ac_builddir=.
if test "$ac_dir" != .; then
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
# A "../" for each directory in $ac_dir_suffix.
ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
else
ac_dir_suffix= ac_top_builddir=
fi
case $srcdir in
.) # No --srcdir option. We are building in place.
ac_srcdir=.
if test -z "$ac_top_builddir"; then
ac_top_srcdir=.
else
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
fi ;;
[\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir ;;
*) # Relative path.
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
# absolute.
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
cd $ac_dir
# Check for guested configure; otherwise get Cygnus style configure.
if test -f $ac_srcdir/configure.gnu; then
echo
$SHELL $ac_srcdir/configure.gnu --help=recursive
elif test -f $ac_srcdir/configure; then
echo
$SHELL $ac_srcdir/configure --help=recursive
elif test -f $ac_srcdir/configure.ac ||
test -f $ac_srcdir/configure.in; then
echo
$ac_configure --help
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
cd $ac_popdir
done
fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
libeapol configure 1.0
generated by GNU Autoconf 2.57
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit 0
fi
exec 5>config.log
cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libeapol $as_me 1.0, which was
generated by GNU Autoconf 2.57. Invocation command line was
$ $0 $@
_ACEOF
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
echo "PATH: $as_dir"
done
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2)
ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
# Get rid of the leading space.
ac_sep=" "
;;
esac
done
done
$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Be sure not to use single quotes in there, as some shells,
# such as our DU 5.0 friend, will then `close' the trap.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
cat <<\_ASBOX
## ---------------- ##
## Cache variables. ##
## ---------------- ##
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
{
(set) 2>&1 |
case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
*ac_space=\ *)
sed -n \
"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
;;
*)
sed -n \
"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
esac;
}
echo
cat <<\_ASBOX
## ----------------- ##
## Output variables. ##
## ----------------- ##
_ASBOX
echo
for ac_var in $ac_subst_vars
do
eval ac_val=$`echo $ac_var`
echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
## ------------- ##
## Output files. ##
## ------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
eval ac_val=$`echo $ac_var`
echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
fi
if test -s confdefs.h; then
cat <<\_ASBOX
## ----------- ##
## confdefs.h. ##
## ----------- ##
_ASBOX
echo
sed "/^$/d" confdefs.h | sort
echo
fi
test "$ac_signal" != 0 &&
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
rm -f core core.* *.core &&
rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo >confdefs.h
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer explicitly selected file to automatically selected ones.
if test -z "$CONFIG_SITE"; then
if test "x$prefix" != xNONE; then
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
else
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . $cache_file;;
*) . ./$cache_file;;
esac
fi
else
{ echo "$as_me:$LINENO: creating cache $cache_file" >&5
echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in `(set) 2>&1 |
sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val="\$ac_cv_env_${ac_var}_value"
eval ac_new_val="\$ac_env_${ac_var}_value"
case $ac_old_set,$ac_new_set in
set,)
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
{ echo "$as_me:$LINENO: former value: $ac_old_val" >&5
echo "$as_me: former value: $ac_old_val" >&2;}
{ echo "$as_me:$LINENO: current value: $ac_new_val" >&5
echo "$as_me: current value: $ac_new_val" >&2;}
ac_cache_corrupted=:
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
echo "$as_me: error: changes in the environment can compromise the build" >&2;}
{ { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers include/eapolconfig.h"
VERSION=1.0
PACKAGE=libeapol
# Arguments passed to configure.
CONFIG_ARGS="$ac_configure_args"
echo "$as_me:$LINENO: checking MACHDEP" >&5
echo $ECHO_N "checking MACHDEP... $ECHO_C" >&6
if test -z "$MACHDEP"
then
ac_sys_system=`uname -s`
if test "$ac_sys_system" = "AIX" -o "$ac_sys_system" = "Monterey64" \
-o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then
ac_sys_release=`uname -v`
else
ac_sys_release=`uname -r`
fi
ac_md_system=`echo $ac_sys_system |
tr -d '/ ' | tr '[A-Z]' '[a-z]'`
ac_md_release=`echo $ac_ss_release |
tr -d '/ ' | sed 's/^[A-Z]\.//' | sed 's/\..*//'`
MACHDEP="$ac_md_system$ac_md_release"
case $MACHDEP in
cygwin*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
'') MACHDEP="unknown";;
esac
fi
#
# SGI compilers allow the specification of the both the ABI and the
# ISA on the command line. Depending on the values of these switches,
# different and often incompatable code will be generated.
#
# The SGI_ABI variable can be used to modify the CC and LDFLAGS and
# thus supply support for various ABI/ISA combinations. The MACHDEP
# variable is also adjusted.
#
if test ! -z "$SGI_ABI"
then
CC="cc $SGI_ABI"
LDFLAGS="$SGI_ABI $LDFLAGS"
MACHDEP=`echo "${MACHDEP}$SGI_ABI}" | sed 's/ *//g'`
fi
# Darwin tweaks
if test $MACHDEP = "darwin"; then
CFLAGS="$CFLAGS -D_BSD_SOCKLEN_T_=uint32_t"
fi
echo "$as_me:$LINENO: result: $MACHDEP" >&5
echo "${ECHO_T}$MACHDEP" >&6
echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
all:
@echo 'ac_maketemp="$(MAKE)"'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
if test -n "$ac_maketemp"; then
eval ac_cv_prog_make_${ac_make}_set=yes
else
eval ac_cv_prog_make_${ac_make}_set=no
fi
rm -f conftest.make
fi
if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
SET_MAKE=
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
SET_MAKE="MAKE=${MAKE-make}"
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
echo "$as_me:$LINENO: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
CC=$ac_ct_CC
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
echo "$as_me:$LINENO: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
CC=$ac_ct_CC
else
CC="$ac_cv_prog_CC"
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
echo "$as_me:$LINENO: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
echo "$as_me:$LINENO: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
test -n "$ac_ct_CC" && break
done
CC=$ac_ct_CC
fi
fi
test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
echo "$as_me:$LINENO:" \
"checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
(eval $ac_compiler --version </dev/null >&5) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
(eval $ac_compiler -v </dev/null >&5) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
(eval $ac_compiler -V </dev/null >&5) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
echo "$as_me:$LINENO: checking for C compiler default output" >&5
echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
(eval $ac_link_default) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Find the output, starting from the most likely. This scheme is
# not robust to junk in `.', hence go to wildcards (a.*) only as a last
# resort.
# Be careful to initialize this variable, since it used to be cached.
# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
ac_cv_exeext=
# b.out is created by i960 compilers.
for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
;;
conftest.$ac_ext )
# This is the source file.
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
# FIXME: I believe we export ac_cv_exeext for Libtool,
# but it would be cool to find out if it's true. Does anybody
# maintain Libtool? --akim.
export ac_cv_exeext
break;;
* )
break;;
esac
done
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
{ (exit 77); exit 77; }; }
fi
ac_exeext=$ac_cv_exeext
echo "$as_me:$LINENO: result: $ac_file" >&5
echo "${ECHO_T}$ac_file" >&6
# Check the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
echo "$as_me:$LINENO: checking whether the C compiler works" >&5
echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
fi
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
echo "$as_me:$LINENO: result: $cross_compiling" >&5
echo "${ECHO_T}$cross_compiling" >&6
echo "$as_me:$LINENO: checking for suffix of executables" >&5
echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
export ac_cv_exeext
break;;
* ) break;;
esac
done
else
{ { echo "$as_me:$LINENO: error: cannot compute...
[truncated message content] |
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 09:19:18
|
perky 03/09/15 02:19:06
Modified: libeapol Makefile.in eapol.c
Added: libeapol eapolrx.c
Log:
Add rx frames
Revision Changes Path
1.4 +2 -1 libeapol/libeapol/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Makefile.in 15 Sep 2003 07:19:30 -0000 1.3
+++ Makefile.in 15 Sep 2003 09:19:06 -0000 1.4
@@ -35,6 +35,7 @@
libdir= ${top_srcdir}/libeapol
LIBRARY_OBJS= ${libdir}/eapol.o \
${libdir}/eapolsm.o \
+ ${libdir}/eapolrx.o \
${libdir}/eapoltx.o \
${libdir}/eapolutil.o
@@ -57,5 +58,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.3 2003/09/15 07:19:30 perky Exp $
+# $Id: Makefile.in,v 1.4 2003/09/15 09:19:06 perky Exp $
# ex: ts=8 sts=8 noet
1.4 +23 -4 libeapol/libeapol/eapol.c
Index: eapol.c
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/eapol.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- eapol.c 15 Sep 2003 07:19:30 -0000 1.3
+++ eapol.c 15 Sep 2003 09:19:06 -0000 1.4
@@ -143,6 +143,7 @@
static const uint8_t eth_pae_group[]={0x01, 0x80, 0xc2, 0x00, 0x00, 0x03};
struct ETHERNET_PACKET_HEADER *ethhdr;
struct EAPOL_HEADER *eapolhdr;
+ int e;
_MUTEX_BEGIN_
@@ -162,7 +163,8 @@
SETERROR(sess, EAPOLERR_NOT_EAPOL_PACKET);
return -1;
}
- if (pktsize < sizeof(struct ETHERNET_PACKET_HEADER) + sizeof(struct EAPOL_HEADER)) {
+ if (pktsize < sizeof(struct ETHERNET_PACKET_HEADER) +
+ sizeof(struct EAPOL_HEADER)) {
SETERROR(sess, EAPOLERR_INVALID_PACKET);
return -1;
}
@@ -173,13 +175,30 @@
SETERROR(sess, EAPOLERR_VERSION_MISMATCH);
return -1;
}
- if (eapolhdr->type > EAPOL_TYPE_MAX) {
+
+ switch (eapolhdr->type) {
+ case EAPOL_EAP_PACKET:
+ e = eapol_rx_eap_packet(sess, pkt, pktsize);
+ break;
+ case EAPOL_START:
+ e = eapol_rx_start(sess, pkt, pktsize);
+ break;
+ case EAPOL_LOGOFF:
+ e = eapol_rx_logoff(sess, pkt, pktsize);
+ break;
+ case EAPOL_KEY:
+ e = eapol_rx_key(sess, pkt, pktsize);
+ break;
+ case EAPOL_ENCAPSULATED_ASF_ALERT:
+ e = eapol_rx_encapsulated_asf_alert(sess, pkt, pktsize);
+ break;
+ default:
SETERROR(sess, EAPOLERR_INVALID_PACKET);
return -1;
}
_MUTEX_END_
- return 0;
+ return e;
}
int
@@ -272,6 +291,6 @@
}
/*
- * $Id: eapol.c,v 1.3 2003/09/15 07:19:30 perky Exp $
+ * $Id: eapol.c,v 1.4 2003/09/15 09:19:06 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/libeapol/eapolrx.c
Index: eapolrx.c
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#include "libeapol.h"
int
eapol_rx_eap_packet(eapol_t *sess, const uint8_t *pkt, size_t pktlen)
{
SETERROR(sess, EAPOLERR_NOT_IMPLEMENTED);
return -1;
}
int
eapol_rx_start(eapol_t *sess, const uint8_t *pkt, size_t pktlen)
{
SETERROR(sess, EAPOLERR_NOT_IMPLEMENTED);
return -1;
}
int
eapol_rx_logoff(eapol_t *sess, const uint8_t *pkt, size_t pktlen)
{
SETERROR(sess, EAPOLERR_NOT_IMPLEMENTED);
return -1;
}
int
eapol_rx_key(eapol_t *sess, const uint8_t *pkt, size_t pktlen)
{
SETERROR(sess, EAPOLERR_NOT_IMPLEMENTED);
return -1;
}
int
eapol_rx_encapsulated_asf_alert(eapol_t *sess,
const uint8_t *pkt, size_t pktlen)
{
SETERROR(sess, EAPOLERR_NOT_IMPLEMENTED);
return -1;
}
/*
* $Id: eapolrx.c,v 1.1 2003/09/15 09:19:06 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 07:25:05
|
perky 03/09/15 00:19:30
Modified: libeapol Makefile.in eapol.c
Log:
Port to cygwin/win32.
Revision Changes Path
1.3 +3 -1 libeapol/libeapol/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile.in 15 Sep 2003 04:53:40 -0000 1.2
+++ Makefile.in 15 Sep 2003 07:19:30 -0000 1.3
@@ -34,6 +34,8 @@
# Library Objects
libdir= ${top_srcdir}/libeapol
LIBRARY_OBJS= ${libdir}/eapol.o \
+ ${libdir}/eapolsm.o \
+ ${libdir}/eapoltx.o \
${libdir}/eapolutil.o
all: ${TARGETS}
@@ -55,5 +57,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.2 2003/09/15 04:53:40 perky Exp $
+# $Id: Makefile.in,v 1.3 2003/09/15 07:19:30 perky Exp $
# ex: ts=8 sts=8 noet
1.3 +4 -5 libeapol/libeapol/eapol.c
Index: eapol.c
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/eapol.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eapol.c 15 Sep 2003 04:53:40 -0000 1.2
+++ eapol.c 15 Sep 2003 07:19:30 -0000 1.3
@@ -140,14 +140,13 @@
int
eapol_feed(eapol_t *sess, const uint8_t *pkt, size_t pktsize)
{
- static const uint8_t eth_pae_group={0x01, 0x80, 0xc2, 0x00, 0x00, 0x03};
+ static const uint8_t eth_pae_group[]={0x01, 0x80, 0xc2, 0x00, 0x00, 0x03};
struct ETHERNET_PACKET_HEADER *ethhdr;
struct EAPOL_HEADER *eapolhdr;
- int e;
_MUTEX_BEGIN_
- if (pktsize < sizeof(ETHERNET_PACKET_HEADER)) {
+ if (pktsize < sizeof(struct ETHERNET_PACKET_HEADER)) {
SETERROR(sess, EAPOLERR_INVALID_PACKET);
return -1;
}
@@ -163,7 +162,7 @@
SETERROR(sess, EAPOLERR_NOT_EAPOL_PACKET);
return -1;
}
- if (pktsize < sizeof(ETHERNET_PACKET_HEADER) + sizeof(EAPOL_HEADER)) {
+ if (pktsize < sizeof(struct ETHERNET_PACKET_HEADER) + sizeof(struct EAPOL_HEADER)) {
SETERROR(sess, EAPOLERR_INVALID_PACKET);
return -1;
}
@@ -273,6 +272,6 @@
}
/*
- * $Id: eapol.c,v 1.2 2003/09/15 04:53:40 perky Exp $
+ * $Id: eapol.c,v 1.3 2003/09/15 07:19:30 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 07:25:04
|
perky 03/09/15 00:19:30
Modified: . configure.in
Log:
Port to cygwin/win32.
Revision Changes Path
1.3 +8 -4 libeapol/configure.in
Index: configure.in
===================================================================
RCS file: /cvsroot/eap/libeapol/configure.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- configure.in 15 Sep 2003 04:53:40 -0000 1.2
+++ configure.in 15 Sep 2003 07:19:30 -0000 1.3
@@ -23,13 +23,13 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $Id: configure.in,v 1.2 2003/09/15 04:53:40 perky Exp $
+# $Id: configure.in,v 1.3 2003/09/15 07:19:30 perky Exp $
dnl ==
dnl Process this file with autoconf to produce a configure script.
dnl ==
-AC_REVISION($Revision: 1.2 $)
+AC_REVISION($Revision: 1.3 $)
AC_PREQ(2.53)
AC_INIT(libeapol, 1.0)
AC_CONFIG_HEADER(include/eapolconfig.h)
@@ -161,10 +161,12 @@
then
case $ac_sys_system/$ac_sys_release in
Darwin*)
- LDSHARED="$CC -dynamiclib"
+ LDSHARED="\${CC} -dynamiclib"
LDFLAGS="$LDFLAGS -install_name \${LIBDIR}/libeapol.dylib -compatibility_version 1 -current_version 1.0";;
+ CYGWIN*)
+ LDSHARED="\${CC} -shared";;
*)
- LDSHARED="$LD -shared";;
+ LDSHARED="\${LD} -shared";;
esac
fi
AC_MSG_RESULT($LDSHARED)
@@ -177,6 +179,8 @@
case $ac_sys_system/$ac_sys_release in
Darwin*)
SOSUFFIX=".dylib";;
+ CYGWIN*)
+ SOSUFFIX=".dll";;
*)
SOSUFFIX=".so";;
esac
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 07:25:04
|
perky 03/09/15 00:19:30
Modified: include libeapol.h
Log:
Port to cygwin/win32.
Revision Changes Path
1.3 +5 -1 libeapol/include/libeapol.h
Index: libeapol.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/libeapol.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- libeapol.h 15 Sep 2003 04:53:40 -0000 1.2
+++ libeapol.h 15 Sep 2003 07:19:30 -0000 1.3
@@ -113,6 +113,10 @@
# include <machine/endian.h>
#endif
+#ifdef HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif
+
#ifndef BYTE_ORDER
# if defined(__BYTE_ORDER)
# define LITTLE_ENDIAN __LITTLE_ENDIAN
@@ -155,6 +159,6 @@
#endif
/*
- * $Id: libeapol.h,v 1.2 2003/09/15 04:53:40 perky Exp $
+ * $Id: libeapol.h,v 1.3 2003/09/15 07:19:30 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 04:54:06
|
perky 03/09/14 21:53:40
Modified: include eapol.h eapolstruct.h libeapol.h
Added: include eapolerror.h eapolsm.h eapoltx.h
Log:
Add more implements from Chuseok.
Revision Changes Path
1.2 +41 -95 libeapol/include/eapol.h
Index: eapol.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/eapol.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eapol.h 11 Sep 2003 09:20:13 -0000 1.1
+++ eapol.h 15 Sep 2003 04:53:40 -0000 1.2
@@ -86,12 +86,15 @@
#define EAPOL_LOGOFF 2
#define EAPOL_KEY 3
#define EAPOL_ENCAPSULATED_ASF_ALERT 4
+#define EAPOL_TYPE_MAX 4
/*@}*/
-/*! @name Common Network Constants */
+/*! @name Common Constants */
/*@{*/
#define MACADDR_LEN 6
+#define ETHERNET_EAPOL_TYPE "\x88\x8e"
+#define EAPOL_PROTO_VERSION 1
/*@}*/
@@ -111,39 +114,16 @@
from the Authenticator before timing it
out. The initial value of this timer is
authPeriod */
- eapol_time_t aWhile; /*!< A timer used by the Backed Authentication
- state machine in order to determine
- timeout conditions in the exchanges
- between the Authenticator and the
- Supplicant or Authentication Server. The
- initial value of this timer is either
- suppTimeout or serverTimeout, as
- determined by the operation of the
- Backend Authentication state machine. */
eapol_time_t heldWhile; /*!< A timer used by the Supplicant state
machine to define periods of time during
which it will not attempt to acquire an
Authenticator. The initial value of this
timer is heldPeriod. */
- eapol_time_t quietWhile;/*!< A timer used by the Authenticator state
- machine to define periods of time during
- which it will not attempt to acquire a
- Supplicant. The initial value of this
- timer is quietPeriod. */
- eapol_time_t reAuthWhen;/*!< A timer used by the Reauthentication
- Timer state machine to determine when
- reauthentication of the Supplicant takes
- place. The initial value of this timer is
- reAuthPeriod. */
eapol_time_t startWhen; /*!< A timer used by the Supplicant PAE state
machine to determine when an
EAPOL-StartPDU is to be transmitted. The
initial value of this timer is
startPeriod. */
- eapol_time_t txWhen; /*!< A timer used by the Authenticator PAE
- state machine to determine when an EAPOL
- PDU is to be transmitted. The initial
- value of this timer is txPeriod. */
} EAPOL_SM_PORT_TIMERS;
/**
@@ -174,48 +154,10 @@
* State Machine Global variables (IEEE Std. 802.1X-2001 p.34)
*/
typedef struct /* EAPOL_SM_GLOBAL */ {
- bool authAbort; /*!< This variable is set TRUE by the
- Authenticator PAE state machine in order to
- signal to the Backend Authentication state
- machine to abort its authentication
- procedure. Its value is set FALSE by the
- Backend Authentication state machine once the
- authentication procedure has been aborted. */
- bool authFail; /*!< This variable is set TRUE if the
- authentication process (represented by the
- Backend Authentication state machine) fails.
- It is set FALSE by the operation of the
- Authenticator PAE state machine, prior to
- initiating authentication. */
- bool authStart; /*!< This variable is set TRUE if the
- Authenticator PAE state machine in order to
- signal to the Backend Authentication state
- machine to start its authentication
- procedure. Its value is set FALSE by the
- Backend Authentication state machine once the
- authentication procedure has been started. */
- bool authTimeout; /*!< This variable is set TRUE if the
- authentication process (represented by the
- Backend Authentication state machine) fails
- to obtain a response from the Supplicant. The
- variable may be set by management action, or
- by the operation of a timeout while in the
- AUTHENTICATED state. This variable is set
- FALSE by the operation of the Authenticator
- PAE state machine. */
- bool authSuccess; /*!< This variable is set TRUE if the
- authentication process (represented by the
- Backend Authentication state machine)
- succeeds. It is set FALSE by the operation of
- the Authenticator PAE state machine, prior to
- initiating authentication. */
- uint8_t currentId; /*!< The integer in the range 0 through 255 that
- the Authenticator is using to identify its
- current authentication session. */
- bool initialize; /*!< This variable is externally controlled. When
+ /*bool initialize; This variable is externally controlled. When
asserted, it forces all EAPOL state machines
- to their initial state. The EAPOL state
- machines are held in their initial state
+ **THIS VARIABLE IS USED AS to their initial state. The EAPOL state
+ ASSERTION VARIABLE ONLY** machines are held in their initial state
until initialize is deasserted. */
EAPOL_SM_PORTCONTROL portControl;
/*!< This variable is derived from the current
@@ -227,21 +169,6 @@
TRUE if the MAC service supporting the Port
is in an operable condition, and it is
otherwise FALSE. */
- EAPOL_SM_STATUS portStatus;
- /*!< The current authorization state of the
- controlled Port. This variable is set to
- Unauthorized or Authorized by the operation
- of the Authenticator PAE state machine. The
- value of portStatus directly determines the
- value of the AuthControlledPortStatus
- parameter. for the Port. */
- bool reAuthenticate;
- /*!< This variable is set TRUE by the
- Reauthentication Timer state machine on
- expiry of the reAuthWhen timer. This variable
- may also be set TRUE by management action.
- It is set FALSE by the operation of the
- Authenticator PAE state machine. */
uint8_t receivedId; /*!< The value of the Identifier field carried in
the EAP Request frame most recently received
by the Supplicant, in range 0-255. */
@@ -418,8 +345,7 @@
#define EAPTYPES_MAX 16
#define EAPIDENTITY_LEN 256
-
-struct eapol_t_s;
+#define EAPOL_PDULEN_MAX 1536
/**
* Type that will pointer to a function that sends EAPOL packet (ethernet,
@@ -436,29 +362,27 @@
/**
* Type that will pointer to a function that require an exclusive mutex.
*
- * @param sess Pointer to eapol session.
* @param mtx Pointer to host platform's native mutex instance.
* Application must initialize the mutex before pass it into
* libeapol.
* @return nonzero when the function was successful, the function
* return 0. Otherwise, nonzero value may be returned.
*/
-typedef int (*eapol_lockmutex_cb)(struct eapol_t_s *sess, void *mtx);
+typedef int (*eapol_lockmutex_cb)(void *mtx);
/**
* Type that will pointer to a function the release an exclusive mutex.
*
- * @param sess Pointer to eapol session.
* @param mtx Pointer to host platform's native mutex type.
* @return nonzero when the function was successful, the function
* return 0. Otherwise, nonzero value may be returned.
*/
-typedef int (*eapol_unlockmutex_cb)(struct eapol_t_s *sess, void *mtx);
+typedef int (*eapol_unlockmutex_cb)(void *mtx);
/**
* Session object for EAPOL Supplicant
*/
-typedef struct eapol_t_s {
+typedef struct /* eapol_t */ {
uint8_t authaddr[MACADDR_LEN]; /*!< Authenticator address */
uint8_t suppaddr[MACADDR_LEN]; /*!< Supplicant address */
void *eapctx; /*!< EAP context for EAP type
@@ -481,6 +405,22 @@
int lasterror; /*!< Error number that occurred in this
EAPOL session. */
+ const char *lasterrorfile; /*!< Filename that the last error is
+ asserted. */
+ int lasterrorline; /*!< Line number that the last error is
+ asserted. */
+
+ uint8_t lasttxpkt[EAPOL_PDULEN_MAX];
+ /*!< Last transmitted packet. We keep
+ this to cope with retransmission.
+ */
+ size_t lasttxpktlen; /*!< Length of last transmitted packet.
+ */
+ uint8_t lastrxpkt[EAPOL_PDULEN_MAX];
+ /*!< Last received packet. This is used
+ by state machines internally. */
+ size_t lastrxpktlen; /*!< Length of last received packet.
+ */
eapol_lockmutex_cb mutexlock; /*!< Pointer to mutex locking function
*/
@@ -500,7 +440,7 @@
/*!< State of Supplicant PAE state
machine */
EAPOL_SM_KEY_RECEIVE krvars; /*!< Key Receive variables */
- EAPOL_SM_KEY_RECEVIE_STATE krstate; /*!< State of Key Receive state
+ EAPOL_SM_KEY_RECEIVE_STATE krstate; /*!< State of Key Receive state
machine */
} eapol_t;
@@ -534,14 +474,16 @@
* @param txcb Callback function that serves transmission of outgoing
* EAPOL packets.
* @param conf Configuration (mainly timer values) for EAPOL State
- * Machines.
+ * Machines. Because this function doesn't allocate own
+ * memory to copy this, application must keep conf object
+ * until this session ends.
* @return When the creation is successful, pointer to new eapol
* session handle will be returned. Otherwise, NULL
* pointer will be.
*/
eapol_t *eapol_new(const uint8_t *clientmac, const uint8_t *authpaemac,
const uint8_t *identity, size_t identitylen,
- eaptype_t *eaptypes, int neaptypes,
+ const eaptype_t *eaptypes, int neaptypes,
eapol_txcb txcb,
const EAPOL_CONFIGURATION *conf);
@@ -549,6 +491,7 @@
* Terminate an EAPOL session and free all resources of it.
*
* @param sess Pointer to EAPOL session to terminate.
+ * @return nonzero when the function is failed. Otherwise, zero.
*/
void eapol_free(eapol_t *sess);
@@ -601,7 +544,7 @@
* @param tm Seconds to decrease on timers.
* @return nonzero when the function is failed. Otherwise, zero.
*/
-int eapol_dec_timer(eapol_t *sess, eapol_timer_t tm);
+int eapol_dec_timer(eapol_t *sess, eapol_time_t tm);
/**
* Get EAPOL error code that occurred in the EAPOL session.
@@ -628,13 +571,14 @@
EAPOL_SM_KEY_RECEIVE_STATE eapol_get_krstate(eapol_t *sess);
/**
- * Assert `userLogoff' of EAPOL Supplicant PAE state machine. This may trigger sending
- * EAPOL-Logoff.
+ * Set value of `userLogoff' of EAPOL Supplicant PAE state machine. This may trigger
+ * sending EAPOL-Logoff.
*
* @param sess Pointer to an EAPOL session to operate.
+ * @param value New value of the state machine value.
* @return nonzero when the function is failed. Otherwise, zero.
*/
-int eapol_assert_userLogoff(eapol_t *sess);
+int eapol_setvar_userLogoff(eapol_t *sess, bool value);
/**
* Initialize an EAPOL state machine.
@@ -653,6 +597,8 @@
*/
int eapol_setvar_portEnabled(eapol_t *sess, bool value);
+#include "eapolerror.h"
+
#ifdef __cplusplus
}
#endif
@@ -660,6 +606,6 @@
#endif
/*
- * $Id: eapol.h,v 1.1 2003/09/11 09:20:13 perky Exp $
+ * $Id: eapol.h,v 1.2 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.2 +65 -7 libeapol/include/eapolstruct.h
Index: eapolstruct.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/eapolstruct.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eapolstruct.h 11 Sep 2003 09:20:13 -0000 1.1
+++ eapolstruct.h 15 Sep 2003 04:53:40 -0000 1.2
@@ -1,18 +1,76 @@
-/*---------------------------------*
- *-- EAPOL/EAP Packet Structures --*
- *---------------------------------*/
+/*
+ * This file is part of libeapol.
+ *
+ * Copyright (c) 2002-2003 LinuxKorea Inc. 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
+ *
+ * Written by Hye-Shik Chang <pe...@li...>
+ */
+
+#ifndef INCLUDE_EAPOL_STRUCT_H
+#define INCLUDE_EAPOL_STRUCT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* Structure for ethernet packet header
*/
struct ETHERNET_PACKET_HEADER {
- uint8_t dstaddr[MACADDR_LEN]; /*< Destination address */
- uint8_t srcaddr[MACADDR_LEN]; /*< Source address */
- uint8_t type[2]; /*< Ethernet packet type */
+ uint8_t dstaddr[MACADDR_LEN]; /*!< Destination address */
+ uint8_t srcaddr[MACADDR_LEN]; /*!< Source address */
+ uint8_t type[2]; /*!< Ethernet packet type */
+ /* packet body follows */
};
/**
- * Structure for EAPOL packet header
+ * Structure for EAPOL packet header. (IEEE Std 802.1X-2001 p.14)
*/
struct EAPOL_HEADER {
+ uint8_t version; /*!< Protocol Version */
+ uint8_t type; /*!< EAPOL Packet type */
+ uint16_t length; /*!< EAPOL *Body* length */
+ /* packet body follows */
};
+
+/**
+ * Structure for EAP packet header. (IETF rfc2284bis)
+ */
+struct EAP_HEADER {
+ uint8_t code; /*!< Code */
+ uint8_t id; /*!< Id */
+ uint16_t length; /*!< Length */
+ /* packet body follows */
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/*
+ * $Id: eapolstruct.h,v 1.2 2003/09/15 04:53:40 perky Exp $
+ * ex: ts=8 sts=4 et
+ */
1.2 +6 -1 libeapol/include/libeapol.h
Index: libeapol.h
===================================================================
RCS file: /cvsroot/eap/libeapol/include/libeapol.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- libeapol.h 11 Sep 2003 09:20:13 -0000 1.1
+++ libeapol.h 15 Sep 2003 04:53:40 -0000 1.2
@@ -147,9 +147,14 @@
# endif
#endif
+#include "eapol.h"
+#include "eapolsm.h"
+#include "eapolstruct.h"
+#include "eapoltx.h"
+
#endif
/*
- * $Id: libeapol.h,v 1.1 2003/09/11 09:20:13 perky Exp $
+ * $Id: libeapol.h,v 1.2 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/include/eapolerror.h
Index: eapolerror.h
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#ifndef INCLUDE_EAPOL_ERROR_H
#define INCLUDE_EAPOL_ERROR_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef NDEBUG
# define SETERROR(s, n) \
((s)->lasterror = (n)), \
((s)->lasterrorfile = __FILE__), \
((s)->lasterrorline = __LINE__)
#else
# define SETERROR(s, n) \
((s)->lasterror = (n))
#endif
#define EAPOLERR_INVALID_STATEMACHINE (-512)
/* Invalid state machine state */
#define EAPOLERR_MEMORY_ALLOCATION (-513)
/* Memory allocation failed */
#define EAPOLERR_INVALID_PACKET (-514)
/* Invalid or malformed packet */
#define EAPOLERR_NOT_MY_PACKET (-515)
/* Wrong destination address */
#define EAPOLERR_NOT_EAPOL_PACKET (-516)
/* Non-EAPOL packet */
#define EAPOLERR_VERSION_MISMATCH (-517)
/* EAPOL Version mismatch */
#ifdef __cplusplus
}
#endif
#endif
/*
* $Id: eapolerror.h,v 1.1 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/include/eapolsm.h
Index: eapolsm.h
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#ifndef INCLUDE_EAPOL_SM_H
#define INCLUDE_EAPOL_SM_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* (INTERNAL) Check Supplicant PAE state machine state transitions.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_statetransition(eapol_t *sess);
/**
* (INTERNAL) Enter LOGOFF state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_logoff(eapol_t *sess);
/**
* (INTERNAL) Enter DISCONNECTED state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_disconnected(eapol_t *sess);
/**
* (INTERNAL) Enter HELD state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_held(eapol_t *sess);
/**
* (INTERNAL) Enter AUTHENTICATED state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_authenticated(eapol_t *sess);
/**
* (INTERNAL) Enter CONNECTING state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_connecting(eapol_t *sess);
/**
* (INTERNAL) Enter ACQUIRED state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_acquired(eapol_t *sess);
/**
* (INTERNAL) Enter AUTHENTICATING state in Supplicant PAE state machine.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_spsm_authenticating(eapol_t *sess);
#ifdef __cplusplus
}
#endif
#endif
/*
* $Id: eapolsm.h,v 1.1 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/include/eapoltx.h
Index: eapoltx.h
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#ifndef INCLUDE_EAPOL_TX_H
#define INCLUDE_EAPOL_TX_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* (INTERNAL) Transmit EAPOL-Start packet to the Authenticator.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_tx_start(eapol_t *sess);
/**
* (INTERNAL) Transmit EAPOL-Logoff packet to the Authenticator.
*
* @param sess Pointer to an EAPOL session to operate.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_tx_logoff(eapol_t *sess);
/**
* (INTERNAL) Transmit EAPOL frame of type EAP-Packet, containing EAP-Response
* Identity packet to the Authenticator. The value of the Identifier field in
* the EAP packet is the value of the receivedId variable. If receivedId is the
* same as previousId, then the request has been repeated adn the Supplicant
* transmits a copy of th EAP Response packet that was transmitted in the
* response to the previous request.
*
* @param sess Pointer to an EAPOL session to operate.
* @param receivedId Id of the received EAP packet.
* @param previousId Id of the previous received EAP packet.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_tx_rspid(eapol_t *sess,
uint8_t receivedId, uint16_t previousId);
/**
* (INTERNAL) Transmit EAPOL frame of type EAP-Packet, containing an EAP
* Response packet other than an EAP Request/Identity packet to the
* Authenticator. The value of the Identifier field in the EAP packet is the
* value of the receivedId variable. If receivedId is the same as previousId,
* then the request has been repeated and the Suppliant transmits a copy of
* the EAP Response packet that was transmitted in response to the previous
* request.
*
* @param sess Pointer to an EAPOL session to operate.
* @param receivedId Id of the received EAP packet.
* @param previousId Id of the previous received EAP packet.
* @return nonzero when the function is failed. Otherwise, zero.
*/
int eapol_tx_rspauth(eapol_t *sess,
uint8_t receivedId, uint16_t previousId);
#ifdef __cplusplus
}
#endif
#endif
/*
* $Id: eapoltx.h,v 1.1 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 04:54:06
|
perky 03/09/14 21:53:40
Modified: . configure.in
Log:
Add more implements from Chuseok.
Revision Changes Path
1.2 +35 -24 libeapol/configure.in
Index: configure.in
===================================================================
RCS file: /cvsroot/eap/libeapol/configure.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- configure.in 11 Sep 2003 09:20:13 -0000 1.1
+++ configure.in 15 Sep 2003 04:53:40 -0000 1.2
@@ -23,16 +23,16 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $Id: configure.in,v 1.1 2003/09/11 09:20:13 perky Exp $
+# $Id: configure.in,v 1.2 2003/09/15 04:53:40 perky Exp $
dnl ==
dnl Process this file with autoconf to produce a configure script.
dnl ==
-AC_REVISION($Revision: 1.1 $)
+AC_REVISION($Revision: 1.2 $)
AC_PREQ(2.53)
AC_INIT(libeapol, 1.0)
-AC_CONFIG_HEADER(include/eapconfig.h)
+AC_CONFIG_HEADER(include/eapolconfig.h)
AC_SUBST(VERSION)
VERSION=1.0
@@ -146,7 +146,7 @@
fi;;
Monterey*) CCSHARED="-G";;
IRIX*/6*) case $CC in
- *gcc*) CCSHARED="-sared";;
+ *gcc*) CCSHARED="-shared";;
*) CCSHARED="";;
esac;;
CYGWIN*) CCSHARED="-DUSE_DL_IMPORT";;
@@ -155,6 +155,35 @@
AC_MSG_RESULT($CCSHARED)
AC_SUBST(CCSHARED)
+# LDSHARED are the LD flags used to dynamic linked binary
+AC_MSG_CHECKING(LDSHARED)
+if test -z "$LDSHARED"
+then
+ case $ac_sys_system/$ac_sys_release in
+ Darwin*)
+ LDSHARED="$CC -dynamiclib"
+ LDFLAGS="$LDFLAGS -install_name \${LIBDIR}/libeapol.dylib -compatibility_version 1 -current_version 1.0";;
+ *)
+ LDSHARED="$LD -shared";;
+ esac
+fi
+AC_MSG_RESULT($LDSHARED)
+AC_SUBST(LDSHARED)
+
+# SOSUFFIX is suffix for dynamic linked binaries
+AC_MSG_CHECKING(SOSUFFIX)
+if test -z "$SOSUFFIX"
+then
+ case $ac_sys_system/$ac_sys_release in
+ Darwin*)
+ SOSUFFIX=".dylib";;
+ *)
+ SOSUFFIX=".so";;
+ esac
+fi
+AC_MSG_RESULT($SOSUFFIX)
+AC_SUBST(SOSUFFIX)
+
dnl ==
dnl Checks for libraries.
@@ -197,20 +226,6 @@
eap-md5 support])
fi
-USE_EAP_TTLS=1
-AC_ARG_ENABLE(eap-ttls,
-[ --disable-eap-ttls Disable EAP-TTLS authentication],[
- case $enableval in
- no) USE_EAP_TTLS=0
- ;;
- esac
-])
-if test 1 -eq $USE_EAP_TTLS; then
- SUBMODULES="$SUBMODULES eapttls"
- AC_DEFINE(USE_EAP_TTLS, 1, [Define to 1 if libeapol compiled with \
- eap-ttls support])
-fi
-
AC_MSG_RESULT($SUBMODULES)
@@ -349,9 +364,6 @@
dnl ==
AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(
- htole32 le32toh
-)
dnl ==
@@ -360,8 +372,7 @@
AC_ST_BLKSIZE
-AC_OUTPUT([Doxyfile Makefile build/eapconfig.mk
+AC_OUTPUT([Doxyfile Makefile mk/config.mk
libeapol/Makefile modules/Makefile
python/setup.py
- modules/eapmd5/Makefile
- modules/eapttls/Makefile])
+ modules/eapmd5/Makefile])
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 04:54:06
|
perky 03/09/14 21:53:41 Modified: modules/eapmd5 Makefile.in Log: Add more implements from Chuseok. Revision Changes Path 1.2 +2 -2 libeapol/modules/eapmd5/Makefile.in Index: Makefile.in =================================================================== RCS file: /cvsroot/eap/libeapol/modules/eapmd5/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.in 11 Sep 2003 09:20:14 -0000 1.1 +++ Makefile.in 15 Sep 2003 04:53:40 -0000 1.2 @@ -30,7 +30,7 @@ MODULENAME= md5 -include @top_srcdir@/build/eapmodule.mk +include @top_srcdir@/mk/eapmodule.mk -# $Id: Makefile.in,v 1.1 2003/09/11 09:20:14 perky Exp $ +# $Id: Makefile.in,v 1.2 2003/09/15 04:53:40 perky Exp $ # ex: ts=8 sts=8 noet |
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 04:54:06
|
perky 03/09/14 21:53:40
Modified: mk config.mk.in eapmodule.mk
Log:
Add more implements from Chuseok.
Revision Changes Path
1.2 +7 -1 libeapol/mk/config.mk.in
Index: config.mk.in
===================================================================
RCS file: /cvsroot/eap/libeapol/mk/config.mk.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- config.mk.in 11 Sep 2003 09:20:13 -0000 1.1
+++ config.mk.in 15 Sep 2003 04:53:40 -0000 1.2
@@ -40,6 +40,8 @@
LIBS= @LIBS@
CDEFS= -I${includedir}
CCSHARED= @CCSHARED@
+LDSHARED= @LDSHARED@
+SOSUFFIX= @SOSUFFIX@
# Portable install script
INSTALL= @INSTALL@
@@ -75,10 +77,14 @@
HEADERS= ${includedir}/eapolconfig.h \
${includedir}/libeapol.h \
${includedir}/eapol.h \
+ ${includedir}/eapolerror.h \
+ ${includedir}/eapolsm.h \
+ ${includedir}/eapolstruct.h \
+ ${includedir}/eapoltx.h \
${includedir}/eapolutil.h
.c.o: ${HEADERS}
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(CCSHARED) $(CDEFS) -o $@ $<
-# $Id: config.mk.in,v 1.1 2003/09/11 09:20:13 perky Exp $
+# $Id: config.mk.in,v 1.2 2003/09/15 04:53:40 perky Exp $
# ex: ts=8 sts=8 noet
1.2 +3 -3 libeapol/mk/eapmodule.mk
Index: eapmodule.mk
===================================================================
RCS file: /cvsroot/eap/libeapol/mk/eapmodule.mk,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eapmodule.mk 11 Sep 2003 09:20:13 -0000 1.1
+++ eapmodule.mk 15 Sep 2003 04:53:40 -0000 1.2
@@ -27,7 +27,7 @@
include ${top_srcdir}/mk/config.mk
-SOTARGET= eap_${MODULENAME}.so
+SOTARGET= eap_${MODULENAME}${SOSUFFIX}
LIBRARY_OBJS?= eap${MODULENAME}.o
all: ${SOTARGET}
@@ -36,12 +36,12 @@
${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
${SOTARGET}: ${LIBRARY_OBJS}
- ${LD} -shared -o ${SOTARGET} ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
+ ${LD} ${LDSHARED} -o ${SOTARGET} ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
clean:
rm -f ${LIBRARY_OBJS} ${SOTARGET}
distclean: clean
-# $Id: eapmodule.mk,v 1.1 2003/09/11 09:20:13 perky Exp $
+# $Id: eapmodule.mk,v 1.2 2003/09/15 04:53:40 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-15 04:54:05
|
perky 03/09/14 21:53:40
Modified: libeapol Makefile.in eapol.c
Added: libeapol eapolsm.c eapoltx.c
Log:
Add more implements from Chuseok.
Revision Changes Path
1.2 +6 -9 libeapol/libeapol/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile.in 11 Sep 2003 09:20:13 -0000 1.1
+++ Makefile.in 15 Sep 2003 04:53:40 -0000 1.2
@@ -29,34 +29,31 @@
include @top_srcdir@/mk/config.mk
-TARGETS= libeapol.a libeapol.so
+TARGETS= libeapol.a libeapol${SOSUFFIX}
# Library Objects
libdir= ${top_srcdir}/libeapol
LIBRARY_OBJS= ${libdir}/eapol.o \
- ${libdir}/eaphandlers.o \
- ${libdir}/eappacket.o \
- ${libdir}/eapsess.o \
- ${libdir}/eaputils.o
+ ${libdir}/eapolutil.o
all: ${TARGETS}
install: all
${INSTALL_DATA} libeapol.a ${LIBDIR}/
- ${INSTALL_PROGRAM} libeapol.so ${LIBDIR}/
+ ${INSTALL_PROGRAM} libeapol${SOSUFFIX} ${LIBDIR}/
libeapol.a: ${HEADERS} ${LIBRARY_OBJS}
rm -f $@
${AR} cr $@ ${LIBRARY_OBJS}
${RANLIB} $@
-libeapol.so: ${HEADERS} ${LIBRARY_OBJS}
- ${LD} -shared ${LDFLAGS} -o $@ ${LIBS} ${LIBRARY_OBJS}
+libeapol${SOSUFFIX}: ${HEADERS} ${LIBRARY_OBJS}
+ ${LDSHARED} ${LDFLAGS} -o $@ ${LIBS} ${LIBRARY_OBJS}
clean:
rm -f ${TARGETS} ${LIBRARY_OBJS}
distclean: clean
-# $Id: Makefile.in,v 1.1 2003/09/11 09:20:13 perky Exp $
+# $Id: Makefile.in,v 1.2 2003/09/15 04:53:40 perky Exp $
# ex: ts=8 sts=8 noet
1.2 +233 -8 libeapol/libeapol/eapol.c
Index: eapol.c
===================================================================
RCS file: /cvsroot/eap/libeapol/libeapol/eapol.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eapol.c 11 Sep 2003 09:20:13 -0000 1.1
+++ eapol.c 15 Sep 2003 04:53:40 -0000 1.2
@@ -28,26 +28,251 @@
*/
#include "libeapol.h"
-#include "eap.h"
-#include "eap_lcl.h"
+
+#define _MUTEX_BEGIN_ \
+ if (sess->mutex != NULL && sess->mutexlock != NULL) \
+ sess->mutexlock(sess->mutex);
+#define _MUTEX_END_ \
+ if (sess->mutex != NULL && sess->mutexunlock != NULL) \
+ sess->mutexunlock(sess->mutex);
+
+int
+eapol_init(void)
+{
+ return 0;
+}
+
+void
+eapol_exit(void)
+{
+ return;
+}
+
+eapol_t *
+eapol_new(const uint8_t *clientmac, const uint8_t *authpaemac,
+ const uint8_t *identity, size_t identitylen,
+ const eaptype_t *eaptypes, int neaptypes, eapol_txcb txcb,
+ const EAPOL_CONFIGURATION *conf)
+{
+ eapol_t *r;
+
+ r = malloc(sizeof(eapol_t));
+ if (r == NULL)
+ return NULL;
+
+ memset(r, 0, sizeof(eapol_t));
+ memcpy(r->authaddr, authpaemac, MACADDR_LEN);
+ memcpy(r->suppaddr, clientmac, MACADDR_LEN);
+
+ r->identitylen = min(EAPIDENTITY_LEN, identitylen);
+ if (identity != NULL && identitylen > 0)
+ memcpy(r->identity, identity, sizeof(uint8_t) * r->identitylen);
+ /* r->identity[r->identitylen] = '\0';
+ this struct is initialized by zero already. */
+
+ r->numeaptypes = min(EAPTYPES_MAX, neaptypes);
+ if (eaptypes != NULL && neaptypes > 0)
+ memcpy(r->eaptypes, eaptypes, sizeof(eaptype_t) * r->numeaptypes);
+
+ r->txcb = txcb;
+ r->conf = conf;
+
+ r->spstate = sp_DISCONNECTED;
+ r->krstate = kr_NO_KEY_RECEIVE;
+
+ /* the state machines must be initialized by application after here */
+ return r;
+}
+
+void
+eapol_free(eapol_t *sess)
+{
+ _MUTEX_BEGIN_
+
+ /* XXX: put portEnabled=false state machine operations here */
+
+ if (sess->txarg != NULL && sess->txargfree != NULL)
+ sess->txargfree(sess->txarg);
+ if (sess->mutex != NULL && sess->mutexfree != NULL)
+ sess->mutexfree(sess->mutex);
+
+ /* _MUTEX_END_ : no need */
+ free(sess);
+}
+
+int
+eapol_set_txcb_arg(eapol_t *sess,
+ void *arg, void (*freefunc)(void *))
+{
+ _MUTEX_BEGIN_
+
+ if (sess->txarg != NULL && sess->txargfree != NULL)
+ sess->txargfree(sess->txarg);
+
+ sess->txarg = arg;
+ sess->txargfree = freefunc;
+
+ _MUTEX_END_
+ return 0;
+}
+
+int
+eapol_set_mutex(eapol_t *sess, void *mtx,
+ eapol_lockmutex_cb mtxcb, eapol_unlockmutex_cb mtxuncb,
+ void (*mtxfree)(void *))
+{
+ _MUTEX_BEGIN_
+
+ if (sess->mutex != NULL && sess->mutexfree != NULL)
+ sess->mutexfree(sess->mutex);
+
+ if (mtx != NULL && mtxcb != NULL)
+ (void) mtxcb(mtx);
+ sess->mutex = mtx;
+ sess->mutexlock = mtxcb;
+ sess->mutexunlock = mtxuncb;
+ sess->mutexfree = mtxfree;
+
+ _MUTEX_END_
+ return 0;
+}
int
-eap_init(void)
+eapol_feed(eapol_t *sess, const uint8_t *pkt, size_t pktsize)
{
- if (eaphandler_init() < 0)
+ static const uint8_t eth_pae_group={0x01, 0x80, 0xc2, 0x00, 0x00, 0x03};
+ struct ETHERNET_PACKET_HEADER *ethhdr;
+ struct EAPOL_HEADER *eapolhdr;
+ int e;
+
+ _MUTEX_BEGIN_
+
+ if (pktsize < sizeof(ETHERNET_PACKET_HEADER)) {
+ SETERROR(sess, EAPOLERR_INVALID_PACKET);
return -1;
+ }
+ ethhdr = (struct ETHERNET_PACKET_HEADER *)pkt;
+ if (memcmp(sess->suppaddr, ethhdr->dstaddr, MACADDR_LEN) != 0 &&
+ memcmp(eth_pae_group, ethhdr->dstaddr, MACADDR_LEN) != 0) {
+ SETERROR(sess, EAPOLERR_NOT_MY_PACKET);
+ return -1;
+ }
+ if (ethhdr->type[0] != ETHERNET_EAPOL_TYPE[0] ||
+ ethhdr->type[1] != ETHERNET_EAPOL_TYPE[1]) {
+ SETERROR(sess, EAPOLERR_NOT_EAPOL_PACKET);
+ return -1;
+ }
+ if (pktsize < sizeof(ETHERNET_PACKET_HEADER) + sizeof(EAPOL_HEADER)) {
+ SETERROR(sess, EAPOLERR_INVALID_PACKET);
+ return -1;
+ }
+
+ eapolhdr = (struct EAPOL_HEADER *)(pkt +
+ sizeof(struct ETHERNET_PACKET_HEADER));
+ if (eapolhdr->version != EAPOL_PROTO_VERSION) {
+ SETERROR(sess, EAPOLERR_VERSION_MISMATCH);
+ return -1;
+ }
+ if (eapolhdr->type > EAPOL_TYPE_MAX) {
+ SETERROR(sess, EAPOLERR_INVALID_PACKET);
+ return -1;
+ }
+
+ _MUTEX_END_
return 0;
}
-void
-eap_exit(void)
+int
+eapol_dec_timer(eapol_t *sess, eapol_time_t tm)
+{
+ int e;
+
+ _MUTEX_BEGIN_
+ if (sess->timers.authWhile <= tm)
+ sess->timers.authWhile = 0;
+ else
+ sess->timers.authWhile -= tm;
+
+ if (sess->timers.heldWhile <= tm)
+ sess->timers.heldWhile = 0;
+ else
+ sess->timers.heldWhile -= tm;
+
+ if (sess->timers.startWhen <= tm)
+ sess->timers.startWhen = 0;
+ else
+ sess->timers.startWhen -= tm;
+
+ e = eapol_spsm_statetransition(sess);
+ _MUTEX_END_
+
+ return e;
+}
+
+int
+eapol_get_lasterror(eapol_t *sess)
+{
+ return sess->lasterror;
+}
+
+EAPOL_SM_SUPPLICANT_PAE_STATE
+eapol_get_spstate(eapol_t *sess)
+{
+ return sess->spstate;
+}
+
+EAPOL_SM_KEY_RECEIVE_STATE
+eapol_get_krstate(eapol_t *sess)
{
- eaphandler_exit();
+ return sess->krstate;
}
+int
+eapol_setvar_userLogoff(eapol_t *sess, bool value)
+{
+ int e;
+
+ _MUTEX_BEGIN_
+ if (sess->spvars.userLogoff != value) {
+ sess->spvars.userLogoff = value;
+ e = eapol_spsm_statetransition(sess);
+ } else
+ e = 0;
+ _MUTEX_END_
+
+ return e;
+}
+
+int
+eapol_assert_initialize(eapol_t *sess)
+{
+ int e;
+
+ _MUTEX_BEGIN_
+ e = eapol_spsm_disconnected(sess);
+ _MUTEX_END_
+
+ return e;
+}
+
+int
+eapol_setvar_portEnabled(eapol_t *sess, bool value)
+{
+ int e;
+
+ _MUTEX_BEGIN_
+ if (sess->globalvars.portEnabled != value) {
+ sess->globalvars.portEnabled = value;
+ e = eapol_spsm_statetransition(sess);
+ } else
+ e = 0;
+ _MUTEX_END_
+
+ return e;
+}
/*
- * $Id: eapol.c,v 1.1 2003/09/11 09:20:13 perky Exp $
+ * $Id: eapol.c,v 1.2 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/libeapol/eapolsm.c
Index: eapolsm.c
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#include "libeapol.h"
#define S(var) (sess->spvars.var)
#define K(var) (sess->krvars.var)
#define G(var) (sess->globalvars.var)
#define C(var) (sess->conf->var)
#define T(var) (sess->timers.var)
/* Supplicant PAE state machine implementation - IEEE Std. 802.1X-2001 p.52 */
/* because we don't use initialize as normal variable, this function must not
* be called from `initialize' asserters. */
int
eapol_spsm_statetransition(eapol_t *sess)
{
/* global condition transitions */
if (!G(portEnabled)) {
if (sess->spstate != sp_DISCONNECTED)
return eapol_spsm_disconnected(sess);
else
return 0;
} else if (S(userLogoff) && !S(logoffSent))
return eapol_spsm_logoff(sess);
else if (!S(userLogoff) && !S(logoffSent)) {
if (S(eapSuccess))
return eapol_spsm_authenticated(sess);
else if (S(eapFail))
return eapol_spsm_held(sess);
}
switch (sess->spstate) {
case sp_LOGOFF:
if (!S(userLogoff))
return eapol_spsm_disconnected(sess);
break;
case sp_DISCONNECTED:
return eapol_spsm_connecting(sess); /* UCT */
case sp_HELD:
if (T(heldWhile) == 0)
return eapol_spsm_connecting(sess);
/* FALLTHROUGH */
case sp_AUTHENTICATED:
if (S(reqId))
return eapol_spsm_acquired(sess);
break;
case sp_CONNECTING:
if (S(reqId))
return eapol_spsm_acquired(sess);
else if (T(startWhen) == 0) {
if (S(startCount) < C(maxStart))
return eapol_spsm_connecting(sess);
else
return eapol_spsm_authenticated(sess);
}
break;
case sp_ACQUIRED: /* FALLTHROUGH */
case sp_AUTHENTICATING:
if (S(reqId))
return eapol_spsm_acquired(sess);
else if (S(reqAuth))
return eapol_spsm_authenticating(sess);
else if (T(authWhile) == 0)
return eapol_spsm_connecting(sess);
break;
}
return 0;
}
int
eapol_spsm_logoff(eapol_t *sess)
{
int e;
sess->spstate = sp_LOGOFF;
e = eapol_tx_logoff(sess);
if (e == 0) {
S(logoffSent) = true;
G(suppStatus) = ss_Unauthorized;
}
return e;
}
int
eapol_spsm_disconnected(eapol_t *sess)
{
sess->spstate = sp_DISCONNECTED;
S(eapSuccess) = false;
S(eapFail) = false;
S(startCount) = 0;
S(logoffSent) = false;
S(previousId) = 256;
G(suppStatus) = ss_Unauthorized;
if (G(portEnabled))
return eapol_spsm_connecting(sess); /* UCT */
else
return 0;
}
int
eapol_spsm_held(eapol_t *sess)
{
sess->spstate = sp_HELD;
T(heldWhile) = C(heldPeriod);
S(eapFail) = false;
S(eapSuccess) = false;
G(suppStatus) = ss_Unauthorized;
return 0;
}
int
eapol_spsm_authenticated(eapol_t *sess)
{
sess->spstate = sp_AUTHENTICATED;
S(eapFail) = false;
S(eapSuccess) = false;
G(suppStatus) = ss_Authorized;
return 0;
}
int
eapol_spsm_connecting(eapol_t *sess)
{
sess->spstate = sp_CONNECTING;
T(startWhen) = C(startPeriod);
S(startCount)++;
S(reqId) = false;
return eapol_tx_start(sess);
}
int
eapol_spsm_acquired(eapol_t *sess)
{
int e;
sess->spstate = sp_ACQUIRED;
T(authWhile) = C(authPeriod);
S(startCount) = 0;
S(reqId) = false;
S(reqAuth) = false;
e = eapol_tx_rspid(sess, G(receivedId), S(previousId));
if (e == 0)
S(previousId) = G(receivedId);
return e;
}
int
eapol_spsm_authenticating(eapol_t *sess)
{
int e;
sess->spstate = sp_AUTHENTICATING;
T(authWhile) = C(authPeriod);
S(reqId) = false;
e = eapol_tx_rspauth(sess, G(receivedId), S(previousId));
if (e == 0)
S(previousId) = G(receivedId);
return e;
}
/*
* $Id: eapolsm.c,v 1.1 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
1.1 libeapol/libeapol/eapoltx.c
Index: eapoltx.c
===================================================================
/*
* This file is part of libeapol.
*
* Copyright (c) 2002-2003 LinuxKorea Inc. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
*
* Written by Hye-Shik Chang <pe...@li...>
*/
#include "libeapol.h"
static int
eapol_tx_signalframe(eapol_t *sess, uint8_t signal)
{
#define pktsize (sizeof(struct ETHERNET_PACKET_HEADER) + \
sizeof(struct EAPOL_HEADER))
uint8_t pktdata[pktsize];
struct ETHERNET_PACKET_HEADER *ethhdr;
struct EAPOL_HEADER *eapolhdr;
ethhdr = (struct ETHERNET_PACKET_HEADER *)pktdata;
eapolhdr = (struct EAPOL_HEADER *)(pktdata +
sizeof(struct ETHERNET_PACKET_HEADER));
memcpy(ethhdr->dstaddr, sess->authaddr, MACADDR_LEN);
memcpy(ethhdr->srcaddr, sess->suppaddr, MACADDR_LEN);
memcpy(ethhdr->type, ETHERNET_EAPOL_TYPE, 2);
eapolhdr->version = EAPOL_PROTO_VERSION;
eapolhdr->type = signal;
eapolhdr->length = 0; /* no body */
return sess->txcb(pktdata, pktsize, sess->txarg);
#undef pktsize
}
int
eapol_tx_start(eapol_t *sess)
{
return eapol_tx_signalframe(sess, EAPOL_START);
}
int
eapol_tx_logoff(eapol_t *sess)
{
return eapol_tx_signalframe(sess, EAPOL_LOGOFF);
}
int
eapol_tx_rspid(eapol_t *sess, uint8_t receivedId, uint16_t previousId)
{
if (previousId != receivedId) {
/* build new identity packet only if it's not retransmission */
struct ETHERNET_PACKET_HEADER *ethhdr;
struct EAPOL_HEADER *eapolhdr;
struct EAP_HEADER *eaphdr;
uint16_t eapsize;
ethhdr = (struct ETHERNET_PACKET_HEADER *)sess->lasttxpkt;
eapolhdr = (struct EAPOL_HEADER *)(sess->lasttxpkt +
sizeof(struct ETHERNET_PACKET_HEADER));
eaphdr = (struct EAP_HEADER *)(sess->lasttxpkt +
sizeof(struct ETHERNET_PACKET_HEADER) +
sizeof(struct EAPOL_HEADER));
eapsize = sizeof(struct EAP_HEADER) + sess->identitylen;
sess->lasttxpktlen = sizeof(struct ETHERNET_PACKET_HEADER) +
sizeof(struct EAPOL_HEADER) + eapsize;
memcpy(ethhdr->dstaddr, sess->authaddr, MACADDR_LEN);
memcpy(ethhdr->srcaddr, sess->suppaddr, MACADDR_LEN);
memcpy(ethhdr->type, ETHERNET_EAPOL_TYPE, 2);
eapolhdr->version = EAPOL_PROTO_VERSION;
eapolhdr->type = EAPOL_EAP_PACKET;
eapolhdr->length = htons(eapsize);
eaphdr->code = EAP_RESPONSE;
eaphdr->id = receivedId;
eaphdr->length = eapolhdr->length;
memcpy(sess->lasttxpkt + sizeof(struct ETHERNET_PACKET_HEADER) +
sizeof(struct EAPOL_HEADER) + sizeof(struct EAP_HEADER),
sess->identity, sess->identitylen);
}
return sess->txcb(sess->lasttxpkt, sess->lasttxpktlen, sess->txarg);
}
int
eapol_tx_rspauth(eapol_t *sess, uint8_t receivedId, uint16_t previousId)
{
if (previousId != receivedId) {
/* build new identity packet only if it's not retransmission */
struct ETHERNET_PACKET_HEADER *ethhdr;
struct EAPOL_HEADER *eapolhdr;
struct EAP_HEADER *eaphdr;
uint16_t eapsize;
ethhdr = (struct ETHERNET_PACKET_HEADER *)sess->lasttxpkt;
eapolhdr = (struct EAPOL_HEADER *)(sess->lasttxpkt +
sizeof(struct ETHERNET_PACKET_HEADER));
eaphdr = (struct EAP_HEADER *)(sess->lasttxpkt +
sizeof(struct ETHERNET_PACKET_HEADER) +
sizeof(struct EAPOL_HEADER));
/* lasttxpktlen is updated by feed reaction. */
eapsize = sess->lasttxpktlen
- sizeof(struct ETHERNET_PACKET_HEADER)
- sizeof(struct EAPOL_HEADER);
memcpy(ethhdr->dstaddr, sess->authaddr, MACADDR_LEN);
memcpy(ethhdr->srcaddr, sess->suppaddr, MACADDR_LEN);
memcpy(ethhdr->type, ETHERNET_EAPOL_TYPE, 2);
eapolhdr->version = EAPOL_PROTO_VERSION;
eapolhdr->type = EAPOL_EAP_PACKET;
eapolhdr->length = htons(eapsize);
eaphdr->code = EAP_RESPONSE;
eaphdr->id = receivedId;
eaphdr->length = eapolhdr->length;
/* EAP body is generated by feed reaction. */
}
return sess->txcb(sess->lasttxpkt, sess->lasttxpktlen, sess->txarg);
}
/*
* $Id: eapoltx.c,v 1.1 2003/09/15 04:53:40 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2003-09-11 09:20:35
|
perky 03/09/11 02:20:14 Log: Virgin import of libeapol Status: Vendor Tag: LINUXKOREA Release Tags: EAPOL_EPOCH N libeapol/AUTHORS N libeapol/configure.in N libeapol/COPYRIGHT N libeapol/Doxyfile.in N libeapol/install-sh N libeapol/Makefile.in N libeapol/include/eapol.h N libeapol/include/eapolstruct.h N libeapol/include/eapolutil.h N libeapol/include/libeapol.h N libeapol/include/radvalues.h N libeapol/libeapol/eapol.c N libeapol/libeapol/eapolutil.c N libeapol/libeapol/Makefile.in N libeapol/mk/config.mk.in N libeapol/mk/eapmodule.mk N libeapol/modules/Makefile.in N libeapol/modules/eapmd5/eapmd5.c N libeapol/modules/eapmd5/Makefile.in N libeapol/python/setup.py.in No conflicts created by this import |
|
From: Hye-Shik C. <pe...@us...> - 2002-12-18 06:36:42
|
perky 02/12/17 22:36:41
Modified: modules/eapttls avp.c eapttls.c pack.c
Log:
(Merge from DynaRADIUS) Fix memory leaks
avp.c: r1.9 - r1.10
eapttls.c: r1.29 - r1.30
pack.c: r1.6 - r1.7
Revision Changes Path
1.3 +3 -1 libeap/modules/eapttls/avp.c
Index: avp.c
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapttls/avp.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- avp.c 13 Dec 2002 21:23:33 -0000 1.2
+++ avp.c 18 Dec 2002 06:36:41 -0000 1.3
@@ -234,6 +234,8 @@
/*****************************************/
ret = avp_build(buf, &avp);
+ free(avp.value);
+
return ret;
}
@@ -272,6 +274,6 @@
}
/*
- * $Id: avp.c,v 1.2 2002/12/13 21:23:33 perky Exp $
+ * $Id: avp.c,v 1.3 2002/12/18 06:36:41 perky Exp $
* ex: ts=8 sts=4 et
*/
1.4 +3 -1 libeap/modules/eapttls/eapttls.c
Index: eapttls.c
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapttls/eapttls.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- eapttls.c 14 Dec 2002 01:14:49 -0000 1.3
+++ eapttls.c 18 Dec 2002 06:36:41 -0000 1.4
@@ -330,6 +330,8 @@
default:
break;
}
+ if (pkt_in.data != NULL)
+ free(pkt_in.data);
}
else
{
@@ -413,6 +415,6 @@
}
/*
- * $Id: eapttls.c,v 1.3 2002/12/14 01:14:49 perky Exp $
+ * $Id: eapttls.c,v 1.4 2002/12/18 06:36:41 perky Exp $
* ex: ts=8 sts=4 et
*/
1.3 +6 -1 libeap/modules/eapttls/pack.c
Index: pack.c
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapttls/pack.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- pack.c 13 Dec 2002 21:23:33 -0000 1.2
+++ pack.c 18 Dec 2002 06:36:41 -0000 1.3
@@ -68,6 +68,11 @@
}
buf->datalen = len - (uint16_t)(data-raw);
+ if( buf->datalen==0 )
+ {
+ buf->data = NULL;
+ return 0;
+ }
buf->data = (uint8_t*)malloc(buf->datalen);
if( buf->data==NULL )
{
@@ -153,6 +158,6 @@
}
/*
- * $Id: pack.c,v 1.2 2002/12/13 21:23:33 perky Exp $
+ * $Id: pack.c,v 1.3 2002/12/18 06:36:41 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 15:36:08
|
perky 02/12/14 07:36:08
Modified: modules/eapttls Makefile.in
Log:
Make common eapmodule include.
Revision Changes Path
1.6 +3 -16 libeap/modules/eapttls/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapttls/Makefile.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Makefile.in 14 Dec 2002 03:11:35 -0000 1.5
+++ Makefile.in 14 Dec 2002 15:36:08 -0000 1.6
@@ -28,24 +28,11 @@
srcdir= @srcdir@
top_srcdir= @top_srcdir@
-include @top_srcdir@/build/eapconfig.mk
-
-SOTARGET= eap_ttls.so
+MODULENAME= ttls
LIBRARY_OBJS= avp.o callback.o eapttls.o eapttls_impl.o pack.o stream.o \
tls.o tls_sess.o tunnel_eap.o keyblock.o tunnel_auth.o
-all: ${SOTARGET}
-
-install:
- ${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
-
-${SOTARGET}: ${LIBRARY_OBJS}
- ${LD} -shared -o $@ ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
-
-clean:
- rm -f ${LIBRARY_OBJS}
-
-distclean: clean
+include @top_srcdir@/build/eapmodule.mk
-# $Id: Makefile.in,v 1.5 2002/12/14 03:11:35 perky Exp $
+# $Id: Makefile.in,v 1.6 2002/12/14 15:36:08 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 15:36:08
|
perky 02/12/14 07:36:08
Modified: modules/eapmd5 Makefile.in
Log:
Make common eapmodule include.
Revision Changes Path
1.7 +3 -17 libeap/modules/eapmd5/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapmd5/Makefile.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Makefile.in 14 Dec 2002 03:11:34 -0000 1.6
+++ Makefile.in 14 Dec 2002 15:36:08 -0000 1.7
@@ -28,23 +28,9 @@
srcdir= @srcdir@
top_srcdir= @top_srcdir@
-include @top_srcdir@/build/eapconfig.mk
+MODULENAME= md5
-SOTARGET= eap_md5.so
-LIBRARY_OBJS= eapmd5.o
+include @top_srcdir@/build/eapmodule.mk
-all: ${SOTARGET}
-
-install:
- ${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
-
-${SOTARGET}: ${LIBRARY_OBJS}
- ${LD} -shared -o ${SOTARGET} ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
-
-clean:
- rm -f ${LIBRARY_OBJS} ${SOTARGET}
-
-distclean: clean
-
-# $Id: Makefile.in,v 1.6 2002/12/14 03:11:34 perky Exp $
+# $Id: Makefile.in,v 1.7 2002/12/14 15:36:08 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 15:36:08
|
perky 02/12/14 07:36:07
Added: build eapmodule.mk
Log:
Make common eapmodule include.
Revision Changes Path
1.1 libeap/build/eapmodule.mk
Index: eapmodule.mk
===================================================================
# This file is part of libeap.
#
# Copyright (c) 2002 LinuxKorea Inc. 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.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
#
# Written by Hye-Shik Chang <pe...@li...>
include ${top_srcdir}/build/eapconfig.mk
SOTARGET= eap_${MODULENAME}.so
LIBRARY_OBJS?= eap${MODULENAME}.o
all: ${SOTARGET}
install:
${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
${SOTARGET}: ${LIBRARY_OBJS}
${LD} -shared -o ${SOTARGET} ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
clean:
rm -f ${LIBRARY_OBJS} ${SOTARGET}
distclean: clean
# $Id: eapmodule.mk,v 1.1 2002/12/14 15:36:07 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 15:33:44
|
perky 02/12/14 07:33:43
Added: . install-sh
Removed: . install.sh
Log:
Rename install.sh to install-sh.
GNU make doesn't handle correctly install.sh
Revision Changes Path
1.1 libeap/install-sh
Index: install-sh
===================================================================
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 03:11:37
|
perky 02/12/13 19:11:34
Modified: modules/eapmd5 Makefile.in
Log:
Change dlmodule name to eap_type.so
Revision Changes Path
1.6 +2 -2 libeap/modules/eapmd5/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapmd5/Makefile.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Makefile.in 14 Dec 2002 01:42:42 -0000 1.5
+++ Makefile.in 14 Dec 2002 03:11:34 -0000 1.6
@@ -30,7 +30,7 @@
include @top_srcdir@/build/eapconfig.mk
-SOTARGET= mod_eapmd5.so
+SOTARGET= eap_md5.so
LIBRARY_OBJS= eapmd5.o
all: ${SOTARGET}
@@ -46,5 +46,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.5 2002/12/14 01:42:42 perky Exp $
+# $Id: Makefile.in,v 1.6 2002/12/14 03:11:34 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 03:11:37
|
perky 02/12/13 19:11:35 Modified: modules/eapttls Makefile.in Log: Change dlmodule name to eap_type.so Revision Changes Path 1.5 +2 -2 libeap/modules/eapttls/Makefile.in Index: Makefile.in =================================================================== RCS file: /cvsroot/eap/libeap/modules/eapttls/Makefile.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Makefile.in 14 Dec 2002 01:42:42 -0000 1.4 +++ Makefile.in 14 Dec 2002 03:11:35 -0000 1.5 @@ -30,7 +30,7 @@ include @top_srcdir@/build/eapconfig.mk -SOTARGET= mod_eapttls.so +SOTARGET= eap_ttls.so LIBRARY_OBJS= avp.o callback.o eapttls.o eapttls_impl.o pack.o stream.o \ tls.o tls_sess.o tunnel_eap.o keyblock.o tunnel_auth.o @@ -47,5 +47,5 @@ distclean: clean -# $Id: Makefile.in,v 1.4 2002/12/14 01:42:42 perky Exp $ +# $Id: Makefile.in,v 1.5 2002/12/14 03:11:35 perky Exp $ # ex: ts=8 sts=8 noet |
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 02:55:11
|
perky 02/12/13 18:55:10
Modified: include eap_lcl.h
Log:
Add dlhdl element into struct EAPHANDLER
Revision Changes Path
1.3 +2 -1 libeap/include/eap_lcl.h
Index: eap_lcl.h
===================================================================
RCS file: /cvsroot/eap/libeap/include/eap_lcl.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eap_lcl.h 13 Dec 2002 21:23:31 -0000 1.2
+++ eap_lcl.h 14 Dec 2002 02:55:09 -0000 1.3
@@ -33,6 +33,7 @@
struct EAP_TYPEHANDLER {
uint8_t typenum;/* Assigned number of EAP type */
const char *name; /* Friendly name of type */
+ void *dlhdl; /* Handle to Dynamic Library */
/*
* Type Handler global methods
@@ -62,6 +63,6 @@
#endif
/*
- * $Id: eap_lcl.h,v 1.2 2002/12/13 21:23:31 perky Exp $
+ * $Id: eap_lcl.h,v 1.3 2002/12/14 02:55:09 perky Exp $
* ex: ts=8 sts=4 et
*/
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 01:42:43
|
perky 02/12/13 17:42:43
Modified: modules/eapttls Makefile.in
Log:
Make 'install' target.
Revision Changes Path
1.4 +3 -2 libeap/modules/eapttls/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapttls/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Makefile.in 14 Dec 2002 01:14:49 -0000 1.3
+++ Makefile.in 14 Dec 2002 01:42:42 -0000 1.4
@@ -30,13 +30,14 @@
include @top_srcdir@/build/eapconfig.mk
-SOTARGET= libeap_ttls.so
+SOTARGET= mod_eapttls.so
LIBRARY_OBJS= avp.o callback.o eapttls.o eapttls_impl.o pack.o stream.o \
tls.o tls_sess.o tunnel_eap.o keyblock.o tunnel_auth.o
all: ${SOTARGET}
install:
+ ${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
${SOTARGET}: ${LIBRARY_OBJS}
${LD} -shared -o $@ ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
@@ -46,5 +47,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.3 2002/12/14 01:14:49 perky Exp $
+# $Id: Makefile.in,v 1.4 2002/12/14 01:42:42 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 01:42:43
|
perky 02/12/13 17:42:42
Modified: modules Makefile.in
Log:
Make 'install' target.
Revision Changes Path
1.3 +5 -1 libeap/modules/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile.in 14 Dec 2002 01:02:21 -0000 1.2
+++ Makefile.in 14 Dec 2002 01:42:42 -0000 1.3
@@ -47,6 +47,10 @@
done
install:
+ -mkdir -p ${MODULEDIR}
+ @for subdir in ${SUBDIRS}; do \
+ cd $$subdir; ${MAKE} install; cd ..; \
+ done
-# $Id: Makefile.in,v 1.2 2002/12/14 01:02:21 perky Exp $
+# $Id: Makefile.in,v 1.3 2002/12/14 01:42:42 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 01:42:43
|
perky 02/12/13 17:42:42
Modified: modules/eapmd5 Makefile.in
Log:
Make 'install' target.
Revision Changes Path
1.5 +3 -2 libeap/modules/eapmd5/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/modules/eapmd5/Makefile.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Makefile.in 14 Dec 2002 01:05:37 -0000 1.4
+++ Makefile.in 14 Dec 2002 01:42:42 -0000 1.5
@@ -30,12 +30,13 @@
include @top_srcdir@/build/eapconfig.mk
-SOTARGET= libeap_md5.so
+SOTARGET= mod_eapmd5.so
LIBRARY_OBJS= eapmd5.o
all: ${SOTARGET}
install:
+ ${INSTALL_PROGRAM} ${SOTARGET} ${MODULEDIR}/
${SOTARGET}: ${LIBRARY_OBJS}
${LD} -shared -o ${SOTARGET} ${LDFLAGS} ${LIBS} ${LIBRARY_OBJS}
@@ -45,5 +46,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.4 2002/12/14 01:05:37 perky Exp $
+# $Id: Makefile.in,v 1.5 2002/12/14 01:42:42 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 01:42:43
|
perky 02/12/13 17:42:42
Modified: libeap Makefile.in
Log:
Make 'install' target.
Revision Changes Path
1.3 +3 -2 libeap/libeap/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/libeap/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile.in 14 Dec 2002 01:15:59 -0000 1.2
+++ Makefile.in 14 Dec 2002 01:42:42 -0000 1.3
@@ -42,7 +42,8 @@
all: ${TARGETS}
install: all
- ${INSTALL_DATA} ${LIBDR} ${LIBDIR}
+ ${INSTALL_DATA} libeap.a ${LIBDIR}/
+ ${INSTALL_PROGRAM} libeap.so ${LIBDIR}/
libeap.a: ${HEADERS} ${LIBRARY_OBJS}
rm -f $@
@@ -57,5 +58,5 @@
distclean: clean
-# $Id: Makefile.in,v 1.2 2002/12/14 01:15:59 perky Exp $
+# $Id: Makefile.in,v 1.3 2002/12/14 01:42:42 perky Exp $
# ex: ts=8 sts=8 noet
|
|
From: Hye-Shik C. <pe...@us...> - 2002-12-14 01:42:43
|
perky 02/12/13 17:42:42
Modified: . Makefile.in
Log:
Make 'install' target.
Revision Changes Path
1.2 +9 -3 libeap/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /cvsroot/eap/libeap/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile.in 13 Dec 2002 23:49:33 -0000 1.1
+++ Makefile.in 14 Dec 2002 01:42:42 -0000 1.2
@@ -29,10 +29,11 @@
top_srcdir= @top_srcdir@
SUBDIRS= libeap modules
+EXPHEADERS= eap.h
all: recursive-build
-install: recursive-install
+install: install-headers recursive-install
recursive-build:
for subdir in ${SUBDIRS}; do \
@@ -44,12 +45,17 @@
recursive-install: recursive-build
for subdir in ${SUBDIRS}; do \
- cd $$subdir; ${MAKE}; cd ..; \
+ cd $$subdir; ${MAKE} install; cd ..; \
done
if [ ${PYTHON} != "no" ]; then \
cd python; ${PYTHON} setup.py install -c -O1 --prefix="${PREFIX}"; \
fi
+install-headers:
+ for f in ${EXPHEADERS}; do \
+ ${INSTALL_DATA} include/$$f ${INCLUDEDIR}; \
+ done
+
clean:
rm -f ${SERVERS}
-rm -rf python/build || sudo rm -rf python/build
@@ -72,5 +78,5 @@
test:
cd tests; ${MAKE} test
-# $Id: Makefile.in,v 1.1 2002/12/13 23:49:33 perky Exp $
+# $Id: Makefile.in,v 1.2 2002/12/14 01:42:42 perky Exp $
# ex: ts=8 sts=8 noet
|