Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 249654 Details for
Bug 339841
net-wireless/libeap-0.7.2 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch from http://linuxwimax.org/Download
wpa_supplicant-0.7.2-generate-libeap-peer.patch (text/plain), 10.89 KB, created by
Roman Sergeev
on 2010-10-05 16:44:24 UTC
(
hide
)
Description:
patch from http://linuxwimax.org/Download
Filename:
MIME Type:
Creator:
Roman Sergeev
Created:
2010-10-05 16:44:24 UTC
Size:
10.89 KB
patch
obsolete
>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 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 339841
:
249652
| 249654 |
249664