*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
* Copyright 2001 hereUare Communications, Inc. <raghud@hereuare.com>
* Copyright 2003 Alan DeKok <aland@freeradius.org>
+ * Copyright 2006 The FreeRADIUS server project
*/
#ifndef _EAP_TLS_H
#define _EAP_TLS_H
+#include <freeradius-devel/ident.h>
+RCSIDH(eap_tls_h, "$Id$")
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
unsigned int size);
unsigned int (*record_minus)(record_t *buf, void *ptr,
unsigned int size);
-
+
/*
* Framed-MTU attribute in RADIUS,
} EAPTLS_PACKET;
-/* configured values goes right here */
-typedef struct eap_tls_conf {
- char *private_key_password;
- char *private_key_file;
- char *certificate_file;
- char *random_file;
- char *ca_path;
- char *ca_file;
- char *dh_file;
- char *rsa_file;
- int rsa_key;
- int dh_key;
- int rsa_key_length;
- int dh_key_length;
- int verify_depth;
- int file_type;
- int include_length;
-
- /*
- * Always < 4096 (due to radius limit), 0 by default = 2048
- */
- int fragment_size;
- int check_crl;
- char *check_cert_cn;
-} EAP_TLS_CONF;
-
-
-/* This structure gets stored in arg */
-typedef struct _eap_tls_t {
- EAP_TLS_CONF *conf;
- SSL_CTX *ctx;
-} eap_tls_t;
-
-
/* EAP-TLS framework */
EAPTLS_PACKET *eaptls_alloc(void);
void eaptls_free(EAPTLS_PACKET **eaptls_packet_ptr);
/* Callbacks */
int cbtls_password(char *buf, int num, int rwflag, void *userdata);
void cbtls_info(const SSL *s, int where, int ret);
-int cbtls_verify(int ok, X509_STORE_CTX *ctx);
void cbtls_msg(int write_p, int msg_version, int content_type,
const void *buf, size_t len, SSL *ssl, void *arg);
RSA *cbtls_rsa(SSL *s, int is_export, int keylength);