crypto headers are now stable, provide posix krb5-types.h
This commit is contained in:
		| @@ -4,21 +4,26 @@ include $(top_srcdir)/Makefile.am.common | |||||||
|  |  | ||||||
| SUBDIRS = kadm5 hcrypto gssapi | SUBDIRS = kadm5 hcrypto gssapi | ||||||
|  |  | ||||||
| noinst_PROGRAMS = bits make_crypto | noinst_PROGRAMS = bits | ||||||
| CHECK_LOCAL = no-check-local | CHECK_LOCAL = no-check-local | ||||||
|  |  | ||||||
| AM_CPPFLAGS += -DHOST=\"$(CANONICAL_HOST)\" | AM_CPPFLAGS += -DHOST=\"$(CANONICAL_HOST)\" | ||||||
|  |  | ||||||
| nodist_include_HEADERS = krb5-types.h | nodist_include_HEADERS = krb5-types.h | ||||||
| nodist_noinst_HEADERS = crypto-headers.h |  | ||||||
|  |  | ||||||
| noinst_HEADERS = heim_threads.h | noinst_HEADERS = heim_threads.h crypto-headers.h krb5-types.cross | ||||||
|  |  | ||||||
|  | if !CROSS_COMPILE | ||||||
|  |  | ||||||
| krb5-types.h: bits$(EXEEXT) | krb5-types.h: bits$(EXEEXT) | ||||||
| 	./bits$(EXEEXT) krb5-types.h | 	./bits$(EXEEXT) krb5-types.h | ||||||
|  |  | ||||||
| crypto-headers.h: make_crypto$(EXEEXT) | else | ||||||
| 	./make_crypto$(EXEEXT) crypto-headers.h |  | ||||||
|  | krb5-types.h: krb5-types.cross | ||||||
|  | 	cp $(srcdir)/krb5-types.cross krb5-types.h | ||||||
|  |  | ||||||
|  | endif | ||||||
|  |  | ||||||
| CLEANFILES =			\ | CLEANFILES =			\ | ||||||
| 	asn1.h			\ | 	asn1.h			\ | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								include/crypto-headers.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								include/crypto-headers.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | |||||||
|  | #ifndef PACKAGE_NAME | ||||||
|  | #error "need config.h" | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #ifdef HAVE__OPENSSL | ||||||
|  | #ifndef OPENSSL_DES_LIBDES_COMPATIBILITY | ||||||
|  | #define OPENSSL_DES_LIBDES_COMPATIBILITY | ||||||
|  | #endif | ||||||
|  | #include <openssl/evp.h> | ||||||
|  | #include <openssl/des.h> | ||||||
|  | #include <openssl/rc4.h> | ||||||
|  | #include <openssl/rc2.h> | ||||||
|  | #include <openssl/md2.h> | ||||||
|  | #include <openssl/md4.h> | ||||||
|  | #include <openssl/md5.h> | ||||||
|  | #include <openssl/sha.h> | ||||||
|  | #include <openssl/ui.h> | ||||||
|  | #include <openssl/rand.h> | ||||||
|  | #include <openssl/engine.h> | ||||||
|  | #include <openssl/pkcs12.h> | ||||||
|  | #include <openssl/pem.h> | ||||||
|  | #include <openssl/hmac.h> | ||||||
|  | #include <openssl/ec.h> | ||||||
|  | #include <openssl/ecdsa.h> | ||||||
|  | #include <openssl/ecdh.h> | ||||||
|  | #ifndef BN_is_negative | ||||||
|  | #define BN_set_negative(bn, flag) ((bn)->neg=(flag)?1:0) | ||||||
|  | #define BN_is_negative(bn) ((bn)->neg != 0) | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #else /* !HAVE_OPENSSL */ | ||||||
|  |  | ||||||
|  | #ifdef KRB5 | ||||||
|  | #include <krb5-types.h> | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #include <hcrypto/evp.h> | ||||||
|  | #include <hcrypto/des.h> | ||||||
|  | #include <hcrypto/md2.h> | ||||||
|  | #include <hcrypto/md4.h> | ||||||
|  | #include <hcrypto/md5.h> | ||||||
|  | #include <hcrypto/sha.h> | ||||||
|  | #include <hcrypto/rc4.h> | ||||||
|  | #include <hcrypto/rc2.h> | ||||||
|  | #include <hcrypto/ui.h> | ||||||
|  | #include <hcrypto/rand.h> | ||||||
|  | #include <hcrypto/engine.h> | ||||||
|  | #include <hcrypto/pkcs12.h> | ||||||
|  | #include <hcrypto/hmac.h> | ||||||
|  | #include <hcrypto/ec.h> | ||||||
|  | #include <hcrypto/ecdsa.h> | ||||||
|  | #include <hcrypto/ecdh.h> | ||||||
|  |  | ||||||
|  | #endif /* HAVE_OPENSSL */ | ||||||
							
								
								
									
										16
									
								
								include/krb5-types.cross
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								include/krb5-types.cross
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | /* | ||||||
|  |  * generic krb5-types.h for cross compiling, assume system is posix/sus | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef __krb5_types_h__ | ||||||
|  | #define __krb5_types_h__ | ||||||
|  |  | ||||||
|  | #include <inttypes.h> | ||||||
|  | #include <sys/types.h> | ||||||
|  | #include <sys/socket.h> | ||||||
|  |  | ||||||
|  | typedef socklen_t krb5_socklen_t; | ||||||
|  | #include <unistd.h> | ||||||
|  | typedef ssize_t krb5_ssize_t; | ||||||
|  |  | ||||||
|  | #endif /* __krb5_types_h__ */ | ||||||
| @@ -1,115 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright (c) 2002 - 2005 Kungliga Tekniska Högskolan |  | ||||||
|  * (Royal Institute of Technology, Stockholm, Sweden). |  | ||||||
|  * All rights reserved. |  | ||||||
|  * |  | ||||||
|  * Redistribution and use in source and binary forms, with or without |  | ||||||
|  * modification, are permitted provided that the following conditions |  | ||||||
|  * are met: |  | ||||||
|  * |  | ||||||
|  * 1. Redistributions of source code must retain the above copyright |  | ||||||
|  *    notice, this list of conditions and the following disclaimer. |  | ||||||
|  * |  | ||||||
|  * 2. Redistributions in binary form must reproduce the above copyright |  | ||||||
|  *    notice, this list of conditions and the following disclaimer in the |  | ||||||
|  *    documentation and/or other materials provided with the distribution. |  | ||||||
|  * |  | ||||||
|  * 3. Neither the name of the Institute nor the names of its contributors |  | ||||||
|  *    may be used to endorse or promote products derived from this software |  | ||||||
|  *    without specific prior written permission. |  | ||||||
|  * |  | ||||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND |  | ||||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |  | ||||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |  | ||||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE |  | ||||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |  | ||||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |  | ||||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |  | ||||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |  | ||||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |  | ||||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |  | ||||||
|  * SUCH DAMAGE. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifdef HAVE_CONFIG_H |  | ||||||
| #include <config.h> |  | ||||||
| RCSID("$Id$"); |  | ||||||
| #endif |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <string.h> |  | ||||||
| #include <stdlib.h> |  | ||||||
| #include <ctype.h> |  | ||||||
|  |  | ||||||
| int |  | ||||||
| main(int argc, char **argv) |  | ||||||
| { |  | ||||||
|     char *p; |  | ||||||
|     FILE *f; |  | ||||||
|     if(argc != 2) { |  | ||||||
| 	fprintf(stderr, "Usage: make_crypto file\n"); |  | ||||||
| 	exit(1); |  | ||||||
|     } |  | ||||||
|     if (strcmp(argv[1], "--version") == 0) { |  | ||||||
| 	printf("some version"); |  | ||||||
| 	return 0; |  | ||||||
|     } |  | ||||||
|     f = fopen(argv[1], "w"); |  | ||||||
|     if(f == NULL) { |  | ||||||
| 	perror(argv[1]); |  | ||||||
| 	exit(1); |  | ||||||
|     } |  | ||||||
|     for(p = argv[1]; *p; p++) |  | ||||||
| 	if(!isalnum((unsigned char)*p)) |  | ||||||
| 	    *p = '_'; |  | ||||||
|     fprintf(f, "#ifndef __%s__\n", argv[1]); |  | ||||||
|     fprintf(f, "#define __%s__\n", argv[1]); |  | ||||||
| #ifdef HAVE_OPENSSL |  | ||||||
|     fputs("#ifndef OPENSSL_DES_LIBDES_COMPATIBILITY\n", f); |  | ||||||
|     fputs("#define OPENSSL_DES_LIBDES_COMPATIBILITY\n", f); |  | ||||||
|     fputs("#endif\n", f); |  | ||||||
|     fputs("#include <openssl/evp.h>\n", f); |  | ||||||
|     fputs("#include <openssl/des.h>\n", f); |  | ||||||
|     fputs("#include <openssl/rc4.h>\n", f); |  | ||||||
|     fputs("#include <openssl/rc2.h>\n", f); |  | ||||||
|     fputs("#include <openssl/md2.h>\n", f); |  | ||||||
|     fputs("#include <openssl/md4.h>\n", f); |  | ||||||
|     fputs("#include <openssl/md5.h>\n", f); |  | ||||||
|     fputs("#include <openssl/sha.h>\n", f); |  | ||||||
|     fputs("#include <openssl/ui.h>\n", f); |  | ||||||
|     fputs("#include <openssl/rand.h>\n", f); |  | ||||||
|     fputs("#include <openssl/engine.h>\n", f); |  | ||||||
|     fputs("#include <openssl/pkcs12.h>\n", f); |  | ||||||
|     fputs("#include <openssl/pem.h>\n", f); |  | ||||||
|     fputs("#include <openssl/hmac.h>\n", f); |  | ||||||
|     fputs("#include <openssl/ec.h>\n", f); |  | ||||||
|     fputs("#include <openssl/ecdsa.h>\n", f); |  | ||||||
|     fputs("#include <openssl/ecdh.h>\n", f); |  | ||||||
|     fputs("#ifndef BN_is_negative\n", f); |  | ||||||
|     fputs("#define BN_set_negative(bn, flag) ((bn)->neg=(flag)?1:0)\n", f); |  | ||||||
|     fputs("#define BN_is_negative(bn) ((bn)->neg != 0)\n", f); |  | ||||||
|     fputs("#endif\n", f); |  | ||||||
| #else |  | ||||||
|     fputs("#ifdef KRB5\n", f); |  | ||||||
|     fputs("#include <krb5-types.h>\n", f); |  | ||||||
|     fputs("#endif\n", f); |  | ||||||
|     fputs("#include <hcrypto/evp.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/des.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/md2.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/md4.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/md5.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/sha.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/rc4.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/rc2.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/ui.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/rand.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/engine.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/pkcs12.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/hmac.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/ec.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/ecdsa.h>\n", f); |  | ||||||
|     fputs("#include <hcrypto/ecdh.h>\n", f); |  | ||||||
| #endif |  | ||||||
|     fprintf(f, "#endif /* __%s__ */\n", argv[1]); |  | ||||||
|     fclose(f); |  | ||||||
|     exit(0); |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user
	 Love Hornquist Astrand
					Love Hornquist Astrand