Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 544036 | Differences between
and this patch

Collapse All | Expand All

(-)a/wpa_supplicant-2.4/src/eap_peer/Makefile (-8 / +189 lines)
Lines 1-11 Link Here
1
all:
1
LIBEAP_NAME = libeap
2
	@echo Nothing to be made.
2
LIBEAP_CURRENT = 0
3
LIBEAP_REVISION = 0
4
LIBEAP_AGE = 0
5
6
LIBEAP = $(LIBEAP_NAME).so.$(LIBEAP_CURRENT).$(LIBEAP_REVISION).$(LIBEAP_AGE)
7
LIBEAP_SO = $(LIBEAP_NAME).so.$(LIBEAP_CURRENT)
8
9
.PHONY: all clean install uninstall
10
11
all: $(LIBEAP)
12
13
ifndef CC
14
CC=gcc
15
endif
16
17
ifndef CFLAGS
18
CFLAGS = -MMD -O0 -Wall -g
19
endif
20
21
CONFIG_TLS=openssl
22
23
INCLUDE_INSTALL_DIR=/usr/include/eap_peer
24
25
# Got to use override all across the board, otherwise a 'make
26
# CFLAGS=XX' will kill us because the command line's CFLAGS will
27
# overwrite Make's and we'll loose all the infrastructure it sets.
28
override CFLAGS += -I. -I.. -I../crypto -I../utils -I../common
29
30
# at least for now, need to include config_ssid.h and config_blob.h from
31
# wpa_supplicant directory
32
override CFLAGS += -I ../../wpa_supplicant
33
34
OBJS_both += ../utils/common.o
35
OBJS_both += ../utils/os_unix.o
36
OBJS_both += ../utils/wpa_debug.o
37
OBJS_both += ../utils/base64.o
38
OBJS_both += ../utils/wpabuf.o
39
OBJS_both += ../utils/eloop.o
40
ifneq ($(CONFIG_TLS), openssl)
41
OBJS_both += ../crypto/md5.o
42
OBJS_both += ../crypto/sha1.o
43
endif
44
OBJS_both += ../crypto/sha1-tlsprf.o
45
OBJS_both += ../crypto/aes-encblock.o
46
ifneq ($(CONFIG_TLS), openssl)
47
OBJS_both += ../crypto/aes-wrap.o
48
endif
49
OBJS_both += ../crypto/aes-ctr.o
50
OBJS_both += ../crypto/aes-eax.o
51
OBJS_both += ../crypto/aes-omac1.o
52
OBJS_both += ../crypto/ms_funcs.o
53
OBJS_both += ../crypto/sha256.o
54
OBJS_both += ../crypto/random.o
55
56
57
OBJS_both += ../eap_common/eap_peap_common.o
58
OBJS_both += ../eap_common/eap_psk_common.o
59
OBJS_both += ../eap_common/eap_pax_common.o
60
OBJS_both += ../eap_common/eap_sake_common.o
61
OBJS_both += ../eap_common/eap_gpsk_common.o
62
OBJS_both += ../eap_common/chap.o
63
64
OBJS_peer += ../eap_peer/eap_tls.o
65
OBJS_peer += ../eap_peer/eap_peap.o
66
OBJS_peer += ../eap_peer/eap_ttls.o
67
OBJS_peer += ../eap_peer/eap_md5.o
68
OBJS_peer += ../eap_peer/eap_mschapv2.o
69
OBJS_peer += ../eap_peer/mschapv2.o
70
OBJS_peer += ../eap_peer/eap_otp.o
71
OBJS_peer += ../eap_peer/eap_gtc.o
72
OBJS_peer += ../eap_peer/eap_leap.o
73
OBJS_peer += ../eap_peer/eap_psk.o
74
OBJS_peer += ../eap_peer/eap_pax.o
75
OBJS_peer += ../eap_peer/eap_sake.o
76
OBJS_peer += ../eap_peer/eap_gpsk.o
77
OBJS_peer += ../eap_peer/eap.o
78
OBJS_peer += ../eap_common/eap_common.o
79
OBJS_peer += ../eap_peer/eap_methods.o
80
OBJS_peer += ../eap_peer/eap_tls_common.o
81
82
override CFLAGS += -DEAP_TLS
83
override CFLAGS += -DEAP_PEAP
84
override CFLAGS += -DEAP_TTLS
85
override CFLAGS += -DEAP_MD5
86
override CFLAGS += -DEAP_MSCHAPv2
87
override CFLAGS += -DEAP_GTC
88
override CFLAGS += -DEAP_OTP
89
override CFLAGS += -DEAP_LEAP
90
override CFLAGS += -DEAP_PSK
91
override CFLAGS += -DEAP_PAX
92
override CFLAGS += -DEAP_SAKE
93
override CFLAGS += -DEAP_GPSK -DEAP_GPSK_SHA256
94
override CFLAGS += -DEAP_TLS_FUNCS
95
96
override CFLAGS += -DIEEE8021X_EAPOL
97
98
ifeq ($(CONFIG_TLS), openssl)
99
override CFLAGS += -DEAP_TLS_OPENSSL
100
OBJS_both += ../crypto/tls_openssl.o
101
OBJS_both += ../crypto/crypto_openssl.o
102
LIBS += -lssl -lcrypto
103
override CFLAGS += -DINTERNAL_SHA256
104
endif
105
106
ifeq ($(CONFIG_TLS), internal)
107
OBJS_both += ../crypto/tls_internal.o
108
OBJS_both += ../tls/tlsv1_common.o ../../tls/tlsv1_record.o
109
OBJS_both += ../tls/tlsv1_cred.o
110
OBJS_both += ../tls/asn1.o ../../tls/x509v3.o
111
OBJS_both += ../crypto/crypto_internal.o ../../tls/rsa.o ../../tls/bignum.o
112
113
OBJS_peer += ../tls/tlsv1_client.o
114
OBJS_peer += ../tls/tlsv1_client_write.o ../../tls/tlsv1_client_read.o
115
override CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
116
117
OBJS_server += ../tls/tlsv1_server.o
118
OBJS_server += ../tls/tlsv1_server_write.o ../../tls/tlsv1_server_read.o
119
override CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
120
121
override CFLAGS += -DCONFIG_TLS_INTERNAL
122
override CFLAGS += -DCONFIG_CRYPTO_INTERNAL
123
override CFLAGS += -DCONFIG_INTERNAL_X509
124
override CFLAGS += -DINTERNAL_AES
125
override CFLAGS += -DINTERNAL_SHA1
126
override CFLAGS += -DINTERNAL_SHA256
127
override CFLAGS += -DINTERNAL_MD5
128
override CFLAGS += -DINTERNAL_MD4
129
override CFLAGS += -DINTERNAL_DES
130
ifdef CONFIG_INTERNAL_LIBTOMMATH
131
override CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
132
else
133
LIBS += -ltommath
134
endif
135
endif
136
137
ifndef LDO
138
LDO=$(CC)
139
endif
140
141
142
OBJS_lib=$(OBJS_both) $(OBJS_peer)
143
144
 #$(OBJS_server)
145
146
override CFLAGS  += -fPIC -DPIC
147
LDFLAGS += -shared
148
149
$(LIBEAP): $(OBJS_lib)
150
	$(LDO) $(LDFLAGS) $(OBJS_lib) -Wl,-soname -Wl,$(LIBEAP_SO) -o $(LIBEAP) $(LIBS)
151
152
153
UTIL_HEADERS = ../utils/includes.h ../utils/common.h \
154
	../utils/wpabuf.h ../utils/build_config.h \
155
	../utils/os.h ../utils/wpa_debug.h
156
COMMON_HEADERS = ../common/defs.h 
157
EAP_COMMON_HEADERS = ../eap_common/eap_defs.h 
158
MAIN_HEADERS = eap.h eap_methods.h eap_config.h
159
CRYPTO_HEADERS =  ../crypto/tls.h  
160
161
install: 
162
163
	mkdir -p $(DESTDIR)/usr/lib
164
#	copy the lib file to std lib location
165
	cp $(LIBEAP) $(DESTDIR)/usr/lib
166
	ln -fs $(LIBEAP_SO) $(DESTDIR)/usr/lib/$(LIBEAP_NAME).so
167
	ln -fs $(LIBEAP_NAME).so.0.0.0 $(DESTDIR)/usr/lib/$(LIBEAP_NAME).so.0
168
169
#	copy the headers reqd by apps using eap peer library in its own subfolder under /usr/include
170
	mkdir -p \
171
		$(DESTDIR)/$(INCLUDE_INSTALL_DIR)/eap_common \
172
		$(DESTDIR)/$(INCLUDE_INSTALL_DIR)/common \
173
		$(DESTDIR)/$(INCLUDE_INSTALL_DIR)/util \
174
		$(DESTDIR)/$(INCLUDE_INSTALL_DIR)/crypto
175
	install -m 0644 $(EAP_COMMON_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/eap_common
176
	install -m 0644 $(COMMON_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/common
177
	install -m 0644 $(CRYPTO_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/crypto
178
	install -m 0644 $(UTIL_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/util
179
	install -m 0644 $(MAIN_HEADERS) $(DESTDIR)/$(INCLUDE_INSTALL_DIR)/
180
181
	mkdir -p $(DESTDIR)/usr/lib/pkgconfig
182
	cp libeap0.pc $(DESTDIR)/usr/lib/pkgconfig
183
184
uninstall: 
185
186
	rm $(DESTDIR)/usr/lib/$(LIBEAP)
187
	rm -fr $(DESTDIR)/$(INCLUDE_INSTALL_DIR)
188
	rm -f $(DESTDIR)/usr/lib/pkgconfig/libeap0.pc
3
189
4
clean:
190
clean:
5
	rm -f *~ *.o *.so *.d *.gcno *.gcda *.gcov
191
	rm -f *~ *.o *.so *.d *.gcno *.gcda *.gcov libeap.a $(LIBEAP) $(OBJS_lib)
6
192
7
install:
8
	if ls *.so >/dev/null 2>&1; then \
9
		install -d $(DESTDIR)$(LIBDIR)/wpa_supplicant && \
10
		cp *.so $(DESTDIR)$(LIBDIR)/wpa_supplicant \
11
	; fi
(-)a/wpa_supplicant-2.4/src/eap_peer/eap_methods.c (+114 lines)
Lines 336-341 Link Here
336
336
337
337
338
/**
338
/**
339
 * eap_peer_register_methods - Register all known EAP peer methods
340
 *
341
 * This function is called at program start to register all compiled
342
 * in EAP peer methods.
343
 */
344
int eap_peer_register_methods(void)
345
{
346
	int ret = 0;
347
348
#ifdef EAP_MD5
349
	if (ret == 0)
350
		ret = eap_peer_md5_register();
351
#endif /* EAP_MD5 */
352
353
#ifdef EAP_TLS
354
	if (ret == 0)
355
		ret = eap_peer_tls_register();
356
#endif /* EAP_TLS */
357
358
#ifdef EAP_MSCHAPv2
359
	if (ret == 0)
360
		ret = eap_peer_mschapv2_register();
361
#endif /* EAP_MSCHAPv2 */
362
363
#ifdef EAP_PEAP
364
	if (ret == 0)
365
		ret = eap_peer_peap_register();
366
#endif /* EAP_PEAP */
367
368
#ifdef EAP_TTLS
369
	if (ret == 0)
370
		ret = eap_peer_ttls_register();
371
#endif /* EAP_TTLS */
372
373
#ifdef EAP_GTC
374
	if (ret == 0)
375
		ret = eap_peer_gtc_register();
376
#endif /* EAP_GTC */
377
378
#ifdef EAP_OTP
379
	if (ret == 0)
380
		ret = eap_peer_otp_register();
381
#endif /* EAP_OTP */
382
383
#ifdef EAP_SIM
384
	if (ret == 0)
385
		ret = eap_peer_sim_register();
386
#endif /* EAP_SIM */
387
388
#ifdef EAP_LEAP
389
	if (ret == 0)
390
		ret = eap_peer_leap_register();
391
#endif /* EAP_LEAP */
392
393
#ifdef EAP_PSK
394
	if (ret == 0)
395
		ret = eap_peer_psk_register();
396
#endif /* EAP_PSK */
397
398
#ifdef EAP_AKA
399
	if (ret == 0)
400
		ret = eap_peer_aka_register();
401
#endif /* EAP_AKA */
402
403
#ifdef EAP_AKA_PRIME
404
	if (ret == 0)
405
		ret = eap_peer_aka_prime_register();
406
#endif /* EAP_AKA_PRIME */
407
408
#ifdef EAP_FAST
409
	if (ret == 0)
410
		ret = eap_peer_fast_register();
411
#endif /* EAP_FAST */
412
413
#ifdef EAP_PAX
414
	if (ret == 0)
415
		ret = eap_peer_pax_register();
416
#endif /* EAP_PAX */
417
418
#ifdef EAP_SAKE
419
	if (ret == 0)
420
		ret = eap_peer_sake_register();
421
#endif /* EAP_SAKE */
422
423
#ifdef EAP_GPSK
424
	if (ret == 0)
425
		ret = eap_peer_gpsk_register();
426
#endif /* EAP_GPSK */
427
428
#ifdef EAP_WSC
429
	if (ret == 0)
430
		ret = eap_peer_wsc_register();
431
#endif /* EAP_WSC */
432
433
#ifdef EAP_IKEV2
434
	if (ret == 0)
435
		ret = eap_peer_ikev2_register();
436
#endif /* EAP_IKEV2 */
437
438
#ifdef EAP_VENDOR_TEST
439
	if (ret == 0)
440
		ret = eap_peer_vendor_test_register();
441
#endif /* EAP_VENDOR_TEST */
442
443
#ifdef EAP_TNC
444
	if (ret == 0)
445
		ret = eap_peer_tnc_register();
446
#endif /* EAP_TNC */
447
448
	return ret;
449
}
450
451
452
/**
339
 * eap_peer_unregister_methods - Unregister EAP peer methods
453
 * eap_peer_unregister_methods - Unregister EAP peer methods
340
 *
454
 *
341
 * This function is called at program termination to unregister all EAP peer
455
 * This function is called at program termination to unregister all EAP peer
(-)a/wpa_supplicant-2.4/src/eap_peer/eap_methods.h (+1 lines)
Lines 26-31 Link Here
26
const char * eap_get_name(int vendor, EapType type);
26
const char * eap_get_name(int vendor, EapType type);
27
size_t eap_get_names(char *buf, size_t buflen);
27
size_t eap_get_names(char *buf, size_t buflen);
28
char ** eap_get_names_as_string_array(size_t *num);
28
char ** eap_get_names_as_string_array(size_t *num);
29
int eap_peer_register_methods(void);
29
void eap_peer_unregister_methods(void);
30
void eap_peer_unregister_methods(void);
30
31
31
#else /* IEEE8021X_EAPOL */
32
#else /* IEEE8021X_EAPOL */

Return to bug 544036