diff options
author | Denis Salmanovich | 2015-11-07 11:40:23 +0000 |
---|---|---|
committer | Denis Salmanovich | 2015-11-07 11:40:23 +0000 |
commit | 318e4f904d26deab7aa97ee8614560703351019b (patch) | |
tree | 47f95b2ecd16497c8f36ab7929c189e19ac8f42a | |
download | aur-318e4f904d26deab7aa97ee8614560703351019b.tar.gz |
Init commit
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | dbus-arch-deps.h | 56 | ||||
-rw-r--r-- | wpa_supplicant-0.7.2-generate-libeap-peer.patch | 395 |
4 files changed, 499 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..9c4c4c22d3c9 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = libeap-modacom-u3500 + pkgdesc = Patched EAP Peer Library API for gctwimax-modacom-u3500 driver + pkgver = 1.0 + pkgrel = 1 + url = https://code.google.com/p/gctwimax + arch = i686 + arch = x86_64 + arch = armv6h + license = custom + depends = dbus + source = http://hostap.epitest.fi/releases/wpa_supplicant-0.7.3.tar.gz + source = wpa_supplicant-0.7.2-generate-libeap-peer.patch + source = dbus-arch-deps.h + md5sums = f516f191384a9a546e3f5145c08addda + md5sums = 9a90a17b05029fbfeefa673b9a01724e + md5sums = 31c5bb3c740fb7c754c3169354e12397 + +pkgname = libeap-modacom-u3500 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..e127fa9b205e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer : Denis Salmanovich <denis.salmanovich@gmail.com> + +pkgname=libeap-modacom-u3500 +pkgver=1.0 +pkgrel=1 +pkgdesc="Patched EAP Peer Library API for gctwimax-modacom-u3500 driver" +arch=('i686' 'x86_64' 'armv6h') +url="https://code.google.com/p/gctwimax" +license=('custom') +depends=('dbus') +source=('http://hostap.epitest.fi/releases/wpa_supplicant-0.7.3.tar.gz' + 'wpa_supplicant-0.7.2-generate-libeap-peer.patch' + 'dbus-arch-deps.h') + +build() +{ + cd ${srcdir}/wpa_supplicant-0.7.3 + patch -p1 < ${srcdir}/wpa_supplicant-0.7.2-generate-libeap-peer.patch + make -C src/eap_peer +} +package() +{ + cd ${srcdir}/wpa_supplicant-0.7.3 + make DESTDIR="$pkgdir" -C src/eap_peer install +} + +md5sums=('f516f191384a9a546e3f5145c08addda' + '9a90a17b05029fbfeefa673b9a01724e' + '31c5bb3c740fb7c754c3169354e12397')
\ No newline at end of file diff --git a/dbus-arch-deps.h b/dbus-arch-deps.h new file mode 100644 index 000000000000..6d19990e28d2 --- /dev/null +++ b/dbus-arch-deps.h @@ -0,0 +1,56 @@ +/* -*- mode: C; c-file-style: "gnu" -*- */ +/* dbus-arch-deps.h Header with architecture/compiler specific information, installed to libdir + * + * Copyright (C) 2003 Red Hat, Inc. + * + * Licensed under the Academic Free License version 2.0 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) +#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." +#endif + +#ifndef DBUS_ARCH_DEPS_H +#define DBUS_ARCH_DEPS_H + +#include <dbus/dbus-macros.h> + +DBUS_BEGIN_DECLS + +#if @DBUS_HAVE_INT64@ +#define DBUS_HAVE_INT64 1 +typedef @DBUS_INT64_TYPE@ dbus_int64_t; +typedef unsigned @DBUS_INT64_TYPE@ dbus_uint64_t; + +#define DBUS_INT64_CONSTANT(val) @DBUS_INT64_CONSTANT@ +#define DBUS_UINT64_CONSTANT(val) @DBUS_UINT64_CONSTANT@ + +#else +#undef DBUS_HAVE_INT64 +#undef DBUS_INT64_CONSTANT +#undef DBUS_UINT64_CONSTANT +#endif + +typedef @DBUS_INT32_TYPE@ dbus_int32_t; +typedef unsigned @DBUS_INT32_TYPE@ dbus_uint32_t; + +typedef @DBUS_INT16_TYPE@ dbus_int16_t; +typedef unsigned @DBUS_INT16_TYPE@ dbus_uint16_t; + +DBUS_END_DECLS + +#endif /* DBUS_ARCH_DEPS_H */ diff --git a/wpa_supplicant-0.7.2-generate-libeap-peer.patch b/wpa_supplicant-0.7.2-generate-libeap-peer.patch new file mode 100644 index 000000000000..a2bbc5c8448e --- /dev/null +++ b/wpa_supplicant-0.7.2-generate-libeap-peer.patch @@ -0,0 +1,395 @@ +From 3de5e59b291b6f58317bb16736f8c0271754378e Mon Sep 17 00:00:00 2001 +From: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> +Date: Sat, 2 Oct 2010 00:11:51 -0700 +Subject: [PATCH] eap_peer: create a libeap library, with header files and pkg-config [v2] + +This adds infrastructe in src/eap_peer to make libeap.so and install +the needed header files and pkg-config files. + +Now, this is quite dirty and probably not what we want in the long +term, but serves as an starting point: + + - we don't build from the wpa_supplicant directory because the + objects the .so have to be built with -fPIC. So if you need to + build both the binary and the library: + + make -C wpa_supplicant + make -C src/eap_peer clean + make -C src/eap_peer + + As I said, it's dirty -- we'd need either wpa_supplicant linking + against the library properly (but that seems not to be desirable) + or a multiple object build approach ala automake. + + - need to use 'override CFLAGS' in src/eap_peer/Makefile, otherwise + any CFLAGS setting will kill the build infrastructure. I miss + AM_CFLAGS. + + - adds 'eap_register_methods()' that will register every compiled in + method. + +Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> +--- + build_release | 12 +++ + src/eap_peer/Makefile | 191 ++++++++++++++++++++++++++++++++++++++++++-- + src/eap_peer/eap_methods.c | 114 ++++++++++++++++++++++++++ + src/eap_peer/eap_methods.h | 1 + + src/eap_peer/libeap0.pc | 10 +++ + 5 files changed, 320 insertions(+), 8 deletions(-) + create mode 100644 src/eap_peer/libeap0.pc + +diff --git a/src/eap_peer/Makefile b/src/eap_peer/Makefile +index 3651056..58c067a 100644 +--- a/src/eap_peer/Makefile ++++ b/src/eap_peer/Makefile +@@ -1,11 +1,186 @@ +-all: +- @echo Nothing to be made. ++LIBEAP_NAME = libeap ++LIBEAP_CURRENT = 0 ++LIBEAP_REVISION = 0 ++LIBEAP_AGE = 0 ++ ++LIBEAP = $(LIBEAP_NAME).so.$(LIBEAP_CURRENT).$(LIBEAP_REVISION).$(LIBEAP_AGE) ++LIBEAP_SO = $(LIBEAP_NAME).so.$(LIBEAP_CURRENT) ++ ++.PHONY: all clean install uninstall ++ ++all: $(LIBEAP) ++ ++ifndef CC ++CC=gcc ++endif ++ ++ifndef CFLAGS ++CFLAGS = -MMD -O0 -Wall -g ++endif ++ ++CONFIG_TLS=openssl ++ ++INCLUDE_INSTALL_DIR=/usr/include/eap_peer ++ ++# Got to use override all across the board, otherwise a 'make ++# CFLAGS=XX' will kill us because the command line's CFLAGS will ++# overwrite Make's and we'll loose all the infrastructure it sets. ++override CFLAGS += -I. -I.. -I../crypto -I../utils -I../common ++ ++# at least for now, need to include config_ssid.h and config_blob.h from ++# wpa_supplicant directory ++override CFLAGS += -I ../../wpa_supplicant ++ ++OBJS_both += ../utils/common.o ++OBJS_both += ../utils/os_unix.o ++OBJS_both += ../utils/wpa_debug.o ++OBJS_both += ../utils/base64.o ++OBJS_both += ../utils/wpabuf.o ++OBJS_both += ../crypto/md5.o ++OBJS_both += ../crypto/sha1.o ++OBJS_both += ../crypto/sha1-tlsprf.o ++OBJS_both += ../crypto/aes-encblock.o ++OBJS_both += ../crypto/aes-wrap.o ++OBJS_both += ../crypto/aes-ctr.o ++OBJS_both += ../crypto/aes-eax.o ++OBJS_both += ../crypto/aes-omac1.o ++OBJS_both += ../crypto/ms_funcs.o ++OBJS_both += ../crypto/sha256.o ++ ++ ++OBJS_both += ../eap_common/eap_peap_common.o ++OBJS_both += ../eap_common/eap_psk_common.o ++OBJS_both += ../eap_common/eap_pax_common.o ++OBJS_both += ../eap_common/eap_sake_common.o ++OBJS_both += ../eap_common/eap_gpsk_common.o ++OBJS_both += ../eap_common/chap.o ++ ++OBJS_peer += ../eap_peer/eap_tls.o ++OBJS_peer += ../eap_peer/eap_peap.o ++OBJS_peer += ../eap_peer/eap_ttls.o ++OBJS_peer += ../eap_peer/eap_md5.o ++OBJS_peer += ../eap_peer/eap_mschapv2.o ++OBJS_peer += ../eap_peer/mschapv2.o ++OBJS_peer += ../eap_peer/eap_otp.o ++OBJS_peer += ../eap_peer/eap_gtc.o ++OBJS_peer += ../eap_peer/eap_leap.o ++OBJS_peer += ../eap_peer/eap_psk.o ++OBJS_peer += ../eap_peer/eap_pax.o ++OBJS_peer += ../eap_peer/eap_sake.o ++OBJS_peer += ../eap_peer/eap_gpsk.o ++OBJS_peer += ../eap_peer/eap.o ++OBJS_peer += ../eap_common/eap_common.o ++OBJS_peer += ../eap_peer/eap_methods.o ++OBJS_peer += ../eap_peer/eap_tls_common.o ++ ++override CFLAGS += -DEAP_TLS ++override CFLAGS += -DEAP_PEAP ++override CFLAGS += -DEAP_TTLS ++override CFLAGS += -DEAP_MD5 ++override CFLAGS += -DEAP_MSCHAPv2 ++override CFLAGS += -DEAP_GTC ++override CFLAGS += -DEAP_OTP ++override CFLAGS += -DEAP_LEAP ++override CFLAGS += -DEAP_PSK ++override CFLAGS += -DEAP_PAX ++override CFLAGS += -DEAP_SAKE ++override CFLAGS += -DEAP_GPSK -DEAP_GPSK_SHA256 ++override CFLAGS += -DEAP_TLS_FUNCS ++ ++override CFLAGS += -DIEEE8021X_EAPOL ++ ++ifeq ($(CONFIG_TLS), openssl) ++override CFLAGS += -DEAP_TLS_OPENSSL ++OBJS_both += ../crypto/tls_openssl.o ++OBJS_both += ../crypto/crypto_openssl.o ++LIBS += -lssl -lcrypto ++override CFLAGS += -DINTERNAL_SHA256 ++endif ++ ++ifeq ($(CONFIG_TLS), internal) ++OBJS_both += ../crypto/tls_internal.o ++OBJS_both += ../tls/tlsv1_common.o ../../tls/tlsv1_record.o ++OBJS_both += ../tls/tlsv1_cred.o ++OBJS_both += ../tls/asn1.o ../../tls/x509v3.o ++OBJS_both += ../crypto/crypto_internal.o ../../tls/rsa.o ../../tls/bignum.o ++ ++OBJS_peer += ../tls/tlsv1_client.o ++OBJS_peer += ../tls/tlsv1_client_write.o ../../tls/tlsv1_client_read.o ++override CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT ++ ++OBJS_server += ../tls/tlsv1_server.o ++OBJS_server += ../tls/tlsv1_server_write.o ../../tls/tlsv1_server_read.o ++override CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER ++ ++override CFLAGS += -DCONFIG_TLS_INTERNAL ++override CFLAGS += -DCONFIG_CRYPTO_INTERNAL ++override CFLAGS += -DCONFIG_INTERNAL_X509 ++override CFLAGS += -DINTERNAL_AES ++override CFLAGS += -DINTERNAL_SHA1 ++override CFLAGS += -DINTERNAL_SHA256 ++override CFLAGS += -DINTERNAL_MD5 ++override CFLAGS += -DINTERNAL_MD4 ++override CFLAGS += -DINTERNAL_DES ++ifdef CONFIG_INTERNAL_LIBTOMMATH ++override CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH ++else ++LIBS += -ltommath ++endif ++endif ++ ++ifndef LDO ++LDO=$(CC) ++endif ++ ++ ++OBJS_lib=$(OBJS_both) $(OBJS_peer) ++ ++ #$(OBJS_server) ++ ++override CFLAGS += -fPIC -DPIC ++LDFLAGS += -shared ++ ++$(LIBEAP): $(OBJS_lib) ++ $(LDO) $(LDFLAGS) $(OBJS_lib) -Wl,-soname -Wl,$(LIBEAP_SO) -o $(LIBEAP) $(LIBS) ++ ++ ++UTIL_HEADERS = ../utils/includes.h ../utils/common.h \ ++ ../utils/wpabuf.h ../utils/build_config.h \ ++ ../utils/os.h ../utils/wpa_debug.h ++COMMON_HEADERS = ../common/defs.h ++EAP_COMMON_HEADERS = ../eap_common/eap_defs.h ++MAIN_HEADERS = eap.h eap_methods.h eap_config.h ++CRYPTO_HEADERS = ../crypto/tls.h ++ ++install: ++ ++ mkdir -p $(DESTDIR)/usr/lib ++# copy the lib file to std lib location ++ cp $(LIBEAP) $(DESTDIR)/usr/lib ++ ln -fs $(LIBEAP_SO) $(DESTDIR)/usr/lib/$(LIBEAP_NAME).so ++ ++# copy the headers reqd by apps using eap peer library in its own subfolder under /usr/include ++ mkdir -p \ ++ $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/eap_common \ ++ $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/common \ ++ $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/util \ ++ $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/crypto ++ install -m 0644 $(EAP_COMMON_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/eap_common ++ install -m 0644 $(COMMON_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/common ++ install -m 0644 $(CRYPTO_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/crypto ++ install -m 0644 $(UTIL_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/util ++ install -m 0644 $(MAIN_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/ ++ ++ mkdir -p $(DESTDIR)/usr/lib/pkgconfig ++ cp libeap0.pc $(DESTDIR)/usr/lib/pkgconfig ++ ++uninstall: ++ ++ rm $(DESTDIR)/usr/lib/$(LIBEAP) ++ rm -fr $(DESTDIR)/$(INCLUDE_INSTALL_DIR) ++ rm -f $(DESTDIR)/usr/lib/pkgconfig/libeap0.pc + + clean: +- rm -f *~ *.o *.so *.d ++ rm -f *~ *.o *.so *.d libeap.a $(LIBEAP) $(OBJS_lib) + +-install: +- if ls *.so >/dev/null 2>&1; then \ +- install -d $(DESTDIR)$(LIBDIR)/wpa_supplicant && \ +- cp *.so $(DESTDIR)$(LIBDIR)/wpa_supplicant \ +- ; fi ++-include $(OBJS:%.o=%.d) +diff --git a/src/eap_peer/eap_methods.c b/src/eap_peer/eap_methods.c +index 3b0af05..092f266 100644 +--- a/src/eap_peer/eap_methods.c ++++ b/src/eap_peer/eap_methods.c +@@ -340,6 +340,120 @@ int eap_peer_method_register(struct eap_method *method) + + + /** ++ * eap_peer_register_methods - Register all known EAP peer methods ++ * ++ * This function is called at program start to register all compiled ++ * in EAP peer methods. ++ */ ++int eap_peer_register_methods(void) ++{ ++ int ret = 0; ++ ++#ifdef EAP_MD5 ++ if (ret == 0) ++ ret = eap_peer_md5_register(); ++#endif /* EAP_MD5 */ ++ ++#ifdef EAP_TLS ++ if (ret == 0) ++ ret = eap_peer_tls_register(); ++#endif /* EAP_TLS */ ++ ++#ifdef EAP_MSCHAPv2 ++ if (ret == 0) ++ ret = eap_peer_mschapv2_register(); ++#endif /* EAP_MSCHAPv2 */ ++ ++#ifdef EAP_PEAP ++ if (ret == 0) ++ ret = eap_peer_peap_register(); ++#endif /* EAP_PEAP */ ++ ++#ifdef EAP_TTLS ++ if (ret == 0) ++ ret = eap_peer_ttls_register(); ++#endif /* EAP_TTLS */ ++ ++#ifdef EAP_GTC ++ if (ret == 0) ++ ret = eap_peer_gtc_register(); ++#endif /* EAP_GTC */ ++ ++#ifdef EAP_OTP ++ if (ret == 0) ++ ret = eap_peer_otp_register(); ++#endif /* EAP_OTP */ ++ ++#ifdef EAP_SIM ++ if (ret == 0) ++ ret = eap_peer_sim_register(); ++#endif /* EAP_SIM */ ++ ++#ifdef EAP_LEAP ++ if (ret == 0) ++ ret = eap_peer_leap_register(); ++#endif /* EAP_LEAP */ ++ ++#ifdef EAP_PSK ++ if (ret == 0) ++ ret = eap_peer_psk_register(); ++#endif /* EAP_PSK */ ++ ++#ifdef EAP_AKA ++ if (ret == 0) ++ ret = eap_peer_aka_register(); ++#endif /* EAP_AKA */ ++ ++#ifdef EAP_AKA_PRIME ++ if (ret == 0) ++ ret = eap_peer_aka_prime_register(); ++#endif /* EAP_AKA_PRIME */ ++ ++#ifdef EAP_FAST ++ if (ret == 0) ++ ret = eap_peer_fast_register(); ++#endif /* EAP_FAST */ ++ ++#ifdef EAP_PAX ++ if (ret == 0) ++ ret = eap_peer_pax_register(); ++#endif /* EAP_PAX */ ++ ++#ifdef EAP_SAKE ++ if (ret == 0) ++ ret = eap_peer_sake_register(); ++#endif /* EAP_SAKE */ ++ ++#ifdef EAP_GPSK ++ if (ret == 0) ++ ret = eap_peer_gpsk_register(); ++#endif /* EAP_GPSK */ ++ ++#ifdef EAP_WSC ++ if (ret == 0) ++ ret = eap_peer_wsc_register(); ++#endif /* EAP_WSC */ ++ ++#ifdef EAP_IKEV2 ++ if (ret == 0) ++ ret = eap_peer_ikev2_register(); ++#endif /* EAP_IKEV2 */ ++ ++#ifdef EAP_VENDOR_TEST ++ if (ret == 0) ++ ret = eap_peer_vendor_test_register(); ++#endif /* EAP_VENDOR_TEST */ ++ ++#ifdef EAP_TNC ++ if (ret == 0) ++ ret = eap_peer_tnc_register(); ++#endif /* EAP_TNC */ ++ ++ return ret; ++} ++ ++ ++/** + * eap_peer_unregister_methods - Unregister EAP peer methods + * + * This function is called at program termination to unregister all EAP peer +diff --git a/src/eap_peer/eap_methods.h b/src/eap_peer/eap_methods.h +index 384c61b..b83a46f 100644 +--- a/src/eap_peer/eap_methods.h ++++ b/src/eap_peer/eap_methods.h +@@ -32,6 +32,7 @@ EapType eap_peer_get_type(const char *name, int *vendor); + const char * eap_get_name(int vendor, EapType type); + size_t eap_get_names(char *buf, size_t buflen); + char ** eap_get_names_as_string_array(size_t *num); ++int eap_peer_register_methods(void); + void eap_peer_unregister_methods(void); + + #else /* IEEE8021X_EAPOL */ +diff --git a/src/eap_peer/libeap0.pc b/src/eap_peer/libeap0.pc +new file mode 100644 +index 0000000..2f8463a +--- /dev/null ++++ b/src/eap_peer/libeap0.pc +@@ -0,0 +1,10 @@ ++prefix=/usr ++exec_prefix=/usr ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include/eap_peer ++ ++Name: libeap0 ++Description: EAP Peer Library API ++Version: 0.7.2 ++Libs: -L${libdir} -leap ++Cflags: -I${includedir} +-- +1.6.6.1 + |