On Jan 15, 2012, at 7:28 PM, Devin Teske wrote: > > On Jan 15, 2012, at 5:57 PM, Devin Teske wrote: > >> >> On Jan 15, 2012, at 10:43 AM, Devin Teske wrote: >> >>> >>> On Jan 15, 2012, at 10:11 AM, Devin Teske wrote: >>>> On Jan 13, 2012, at 7:28 PM, Devin Teske wrote: >>>>> Trying to buildworld in RELENG_9 with -DWITHOUT_OPENSSL and getting >>>>> failures. >>>>> >>>>> First failure we encountered required the following patch to get past >>>>> "lib/libarchive (depend)"... >>>>> >>>>>> >>>>>> --- lib/libarchive/config_freebsd.h.orig 2012-01-05 03:44:55.000000000 >>>>>> -0800 >>>>>> +++ lib/libarchive/config_freebsd.h 2012-01-13 18:43:46.000000000 >>>>>> -0800 >>>>>> @@ -176,9 +176,4 @@ >>>>>> #define ARCHIVE_HASH_SHA256_OPENSSL 1 >>>>>> #define ARCHIVE_HASH_SHA384_OPENSSL 1 >>>>>> #define ARCHIVE_HASH_SHA512_OPENSSL 1 >>>>>> -#else >>>>>> -#define ARCHIVE_HASH_MD5_LIBC 1 >>>>>> -#define ARCHIVE_HASH_SHA1_LIBC 1 >>>>>> -#define ARCHIVE_HASH_SHA256_LIBC 1 >>>>>> -#define ARCHIVE_HASH_SHA512_LIBC 1 >>>>>> #endif >>>>>> >>>>>> The above patch allowed the mkdep to succeed and later-compilation in >>>>>> the same directory succeeded (yay). >>>>> >>>>> However, you don't get far before the next error. >>>>> >>>>> Making all in lib/libbsnmp/libbsnmp with -DWITHOUT_OPENSSL... >>>>> >>>>> cc -I/usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib >>>>> -DHAVE_ERR_H -DHAVE_GETADDRINFO -DHAVE_STRLCPY -DHAVE_STDINT_H >>>>> -DHAVE_INTTYPES_H -DQUADFMT='"llu"' -DQUADXFMT='"llx"' -std=gnu99 >>>>> -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W >>>>> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes >>>>> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch >>>>> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline >>>>> -Wnested-externs -Wredundant-decls -Wold-style-definition >>>>> -Wno-pointer-sign -c >>>>> /usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib/snmpcrypto.c >>>>> /usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib/snmpcrypto.c:371: >>>>> error: conflicting types for 'snmp_passwd_to_keys' >>>>> /usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib/snmp.h:273: >>>>> error: previous declaration of 'snmp_passwd_to_keys' was here >>>>> /usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib/snmpcrypto.c:384: >>>>> error: conflicting types for 'snmp_get_local_keys' >>>>> /usr/src/lib/libbsnmp/libbsnmp/../../../contrib/bsnmp/lib/snmp.h:274: >>>>> error: previous declaration of 'snmp_get_local_keys' was here >>>>> >>>> >>>> The solution to this appears to be the following patch: >>>> >>>> ========= BEGIN PATCH ========== >>>> --- contrib/bsnmp/lib/snmpcrypto.c.orig 2011-09-22 17:51:37.000000000 >>>> -0700 >>>> +++ contrib/bsnmp/lib/snmpcrypto.c 2012-01-15 09:49:27.000000000 -0800 >>>> @@ -366,7 +366,7 @@ snmp_pdu_decrypt(const struct snmp_pdu * >>>> return (SNMP_CODE_OK); >>>> } >>>> >>>> -int >>>> +enum snmp_code >>>> snmp_passwd_to_keys(struct snmp_user *user, char *passwd __unused) >>>> { >>>> if (user->auth_proto == SNMP_AUTH_NOAUTH && >>>> @@ -378,7 +378,7 @@ snmp_passwd_to_keys(struct snmp_user *us >>>> return (SNMP_CODE_FAILED); >>>> } >>>> >>>> -int >>>> +enum snmp_code >>>> snmp_get_local_keys(struct snmp_user *user, uint8_t *eid __unused, >>>> uint32_t elen __unused) >>>> { >>>> >>>> ========== END PATCH ========== >>>> >>> >>> Then you churn along for some lengthy time (even making it all the way >>> through clang successfully), but then stop again at usr.sbin/wpa/hostapd >>> (depend) (output at end). >>> >>> Probably going to be a patch similar to the libarchive one. >>> -- >>> Devin >>> >>> >>> ===> usr.sbin/wpa/hostapd (depend) >>> rm -f .depend >>> mkdep -f .depend -a -DDRUID -I/usr/src/usr.sbin/wpa/hostapd >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/common >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/l2_packet >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils >>> -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/drivers >>> -DCONFIG_DRIVER_BSD -DHOSTAPD -DCONFIG_DRIVER_RADIUS_ACL -DCONFIG_IPV6 >>> -DEAP_TLS_NONE -DINTERNAL_AES -DINTERNAL_SHA1 -DINTERNAL_MD5 >>> -I/usr/src/usr.sbin/wpa/hostapd >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/common >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/l2_packet >>> -I/usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils >>> -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/accounting.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/aes-wrap.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ap_config.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ap_drv_ops.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ap_mlme.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/authsrv.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_common/chap.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/common.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd/config_file.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd/ctrl_iface.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ctrl_iface_ap.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/drivers/drivers.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/drv_callbacks.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd/dump_state.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_common/eap_common.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_common/eap_peap_common.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd/eap_register.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_gtc.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_identity.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_md5.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_methods.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_mschapv2.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_peap.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_tls.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_tls_common.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eap_server/eap_server_ttls.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eapol_auth/eapol_auth_dump.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/eapol_auth/eapol_auth_sm.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/eloop.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/hostapd.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ieee802_11_auth.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/common/ieee802_11_common.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ieee802_11_ht.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/ieee802_1x.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/ip_addr.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/md5.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//hostapd/main.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/ms_funcs.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/peerkey_auth.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/pmksa_cache_auth.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/preauth_auth.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/radius/radius.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/radius/radius_client.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/sta_info.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/sha1-pbkdf2.c >>> >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/sha1-tlsprf.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/sha1-tprf.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/sha1.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/tkip_countermeasures.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/utils.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/vlan_init.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/wpa_auth.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/wpa_auth_glue.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/ap/wpa_auth_ie.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/common/wpa_common.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/wpa_debug.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/wpabuf.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/l2_packet/l2_packet_freebsd.c >>> /usr/src/usr.sbin/wpa/hostapd/driver_freebsd.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/utils/os_unix.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/tls_none.c >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:16:30: >>> error: openssl/opensslv.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:17:25: >>> error: openssl/err.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:18:25: >>> error: openssl/des.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:19:25: >>> error: openssl/aes.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:20:24: >>> error: openssl/bn.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:21:25: >>> error: openssl/evp.h: No such file or directory >>> /usr/src/usr.sbin/wpa/hostapd/../../../contrib/wpa//src/crypto/crypto_openssl.c:22:24: >>> error: openssl/dh.h: No such file or directory >>> mkdep: compile failed >>> *** Error code 1 >>> >>> Stop in /usr/src/usr.sbin/wpa/hostapd. >>> *** Error code 1 >> >> Quick and dirty way around this one is the following patch: >> >> ========== BEGIN PATCH ========== >> --- usr.sbin/wpa/hostapd/Makefile.orig 2011-09-22 17:51:37.000000000 >> -0700 >> +++ usr.sbin/wpa/hostapd/Makefile 2012-01-15 11:01:49.000000000 -0800 >> @@ -14,7 +14,7 @@ >> PROG= hostapd >> SRCS= accounting.c aes-wrap.c ap_config.c \ >> ap_drv_ops.c ap_mlme.c authsrv.c \ >> - chap.c common.c config_file.c ctrl_iface.c crypto_openssl.c \ >> + chap.c common.c config_file.c ctrl_iface.c \ >> ctrl_iface_ap.c drivers.c drv_callbacks.c dump_state.c \ >> eap_common.c eap_peap_common.c eap_register.c eap_server.c \ >> eap_server_gtc.c eap_server_identity.c eap_server_md5.c \ >> @@ -28,6 +28,9 @@ >> tkip_countermeasures.c utils.c \ >> vlan_init.c wpa_auth.c wpa_auth_glue.c wpa_auth_ie.c wpa_common.c \ >> wpa_debug.c wpabuf.c >> +.if ${MK_OPENSSL} != "no" >> +SRCS+= crypto_openssl.c >> +.endif >> SRCS+= l2_packet_freebsd.c driver_freebsd.c os_unix.c >> >> MAN= hostapd.8 hostapd.conf.5 >> ========== END PATCH ========== >> >> And that gets you a bit further, stopping next at >> "usr.sbin/wpa/wpa_supplicant" making all. >> >> Error is: >> >> cc -I/usr/src/usr.sbin/wpa/wpa_supplicant >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/common >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/crypto >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/l2_packet >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/utils >> -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//wpa_supplicant >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/drivers >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/rsn_supp >> -DCONFIG_DRIVER_BSD -DCONFIG_DRIVER_NDIS -DCONFIG_DRIVER_WIRED >> -DCONFIG_TERMINATE_ONLASTIF -DCONFIG_DEBUG_SYSLOG -DCONFIG_BACKEND_FILE >> -DIEEE8021X_EAPOL -DEAP_TLS_NONE -DINTERNAL_AES -DINTERNAL_SHA1 >> -DINTERNAL_MD5 -I/usr/src/usr.sbin/wpa/wpa_supplicant >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/common >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/crypto >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/l2_packet >> -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/utils >> -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -std=gnu99 -fstack-protector >> -o wpa_supplicant aes-cbc.o aes-ctr.o aes-eax.o aes-encblock.o >> aes-internal.o aes-omac1.o aes-unwrap.o aes-wrap.o bss.o blacklist.o >> common.o config.o ctrl_iface.o ctrl_iface_unix.o drivers.o eloop.o events.o >> l2_packet_freebsd.o main.o md5.o notify.o preauth.o pmksa_cache.o scan.o >> sha1-pbkdf2.o sha1-tlsprf.o sha1-tprf.o sha1.o wpa.o wpa_common.o >> wpa_debug.o wpa_ie.o wpa_supplicant.o wpabuf.o wpas_glue.o driver_ndis.o >> Packet32.o driver_wired.o driver_freebsd.o os_unix.o config_file.o base64.o >> eapol_supp_sm.o eap.o eap_common.o eap_methods.o eap_register.o tls_none.o >> -lpcap >> aes-cbc.o: In function `aes_128_cbc_encrypt': >> aes-cbc.c:(.text+0x37): undefined reference to `aes_encrypt_init' >> aes-cbc.c:(.text+0xba): undefined reference to `aes_encrypt' >> aes-cbc.c:(.text+0xe6): undefined reference to `aes_encrypt_deinit' >> aes-cbc.o: In function `aes_128_cbc_decrypt': >> aes-cbc.c:(.text+0x147): undefined reference to `aes_decrypt_init' >> aes-cbc.c:(.text+0x1a7): undefined reference to `aes_decrypt' >> aes-cbc.c:(.text+0x20c): undefined reference to `aes_decrypt_deinit' >> aes-ctr.o: In function `aes_128_ctr_encrypt': >> aes-ctr.c:(.text+0x42): undefined reference to `aes_encrypt_init' >> aes-ctr.c:(.text+0x84): undefined reference to `aes_encrypt' >> aes-ctr.c:(.text+0x12d): undefined reference to `aes_encrypt_deinit' >> aes-encblock.o: In function `aes_128_encrypt_block': >> aes-encblock.c:(.text+0x1e): undefined reference to `aes_encrypt_init' >> aes-encblock.c:(.text+0x43): undefined reference to `aes_encrypt' >> aes-encblock.c:(.text+0x4c): undefined reference to `aes_encrypt_deinit' >> aes-omac1.o: In function `omac1_aes_128_vector': >> aes-omac1.c:(.text+0xdf): undefined reference to `aes_encrypt_init' >> aes-omac1.c:(.text+0x204): undefined reference to `aes_encrypt' >> aes-omac1.c:(.text+0x238): undefined reference to `aes_encrypt' >> aes-omac1.c:(.text+0x32d): undefined reference to `aes_encrypt' >> aes-omac1.c:(.text+0x336): undefined reference to `aes_encrypt_deinit' >> aes-unwrap.o: In function `aes_unwrap': >> aes-unwrap.c:(.text+0x62): undefined reference to `aes_decrypt_init' >> aes-unwrap.c:(.text+0xfb): undefined reference to `aes_decrypt' >> aes-unwrap.c:(.text+0x14d): undefined reference to `aes_decrypt_deinit' >> aes-wrap.o: In function `aes_wrap': >> aes-wrap.c:(.text+0x6b): undefined reference to `aes_encrypt_init' >> aes-wrap.c:(.text+0xdf): undefined reference to `aes_encrypt' >> aes-wrap.c:(.text+0x15b): undefined reference to `aes_encrypt_deinit' >> md5.o: In function `hmac_md5_vector': >> md5.c:(.text+0x80): undefined reference to `md5_vector' >> md5.c:(.text+0x198): undefined reference to `md5_vector' >> md5.c:(.text+0x24d): undefined reference to `md5_vector' >> sha1.o: In function `hmac_sha1_vector': >> sha1.c:(.text+0x80): undefined reference to `sha1_vector' >> sha1.c:(.text+0x198): undefined reference to `sha1_vector' >> sha1.c:(.text+0x24d): undefined reference to `sha1_vector' >> wpa.o: In function `wpa_supplicant_process_1_of_2_wpa': >> wpa.c:(.text+0x2bc1): undefined reference to `rc4_skip' >> wpa.o: In function `wpa_supplicant_decrypt_key_data': >> wpa.c:(.text+0x34a6): undefined reference to `rc4_skip' >> eapol_supp_sm.o: In function `eapol_sm_processKey': >> eapol_supp_sm.c:(.text+0x1846): undefined reference to `rc4_skip' >> eap.o: In function `eap_sm_parseEapReq': >> eap.c:(.text+0x2362): undefined reference to `md5_vector' >> *** Error code 1 >> >> Stop in /usr/src/usr.sbin/wpa/wpa_supplicant. >> *** Error code 1 >> >> I'm seeing that the INTERNAL_MD5 stuff was removed from >> src/contrib/wpa/src/crypto/md5.c >> > > > to answer myself... moved to src/contrib/wpa/src/crypto/md5-internal.c which > isn't being included when -DWITHOUT_OPENSSL is passed to buildworld. > > This patch does the job to get past that... > > ========== BEGIN PATCH ========== > --- usr.sbin/wpa/wpa_supplicant/Makefile.orig 2011-09-22 17:51:37.000000000 > -0700 > +++ usr.sbin/wpa/wpa_supplicant/Makefile 2012-01-15 18:57:58.000000000 > -0800 > @@ -20,6 +20,10 @@ > driver_ndis.c Packet32.c \ > driver_wired.c \ > driver_freebsd.c os_unix.c > +.if ${MK_OPENSSL} == "no" > +SRCS+= aes-internal-dec.c aes-internal-enc.c md5-internal.c sha1-internal.c \ > + rc4.c > +.endif > > MAN= wpa_supplicant.8 wpa_supplicant.conf.5 > > ========== END PATCH ========== > > However, now I have to go back and add-to my earlier patch to > src/usr.sbin/wpa/hostapd/Makefile as this is the next roadblock: > > ===> usr.sbin/wpa/hostapd (all) > make: don't know how to make /usr/obj/usr/src/tmp/usr/lib/libssl.a. Stop >
I revised my earlier patch to src/usr.sbin/wpa/hostapd/Makefile... ========== BEGIN PATCH ========== --- usr.sbin/wpa/hostapd/Makefile.orig 2011-09-22 17:51:37.000000000 -0700 +++ usr.sbin/wpa/hostapd/Makefile 2012-01-15 21:08:02.000000000 -0800 @@ -9,12 +9,13 @@ ${WPA_DISTDIR}/src/eapol_auth \ ${WPA_DISTDIR}/src/drivers \ ${WPA_DISTDIR}/src/radius \ + ${WPA_DISTDIR}/src/crypto \ ${WPA_DISTDIR} PROG= hostapd SRCS= accounting.c aes-wrap.c ap_config.c \ ap_drv_ops.c ap_mlme.c authsrv.c \ - chap.c common.c config_file.c ctrl_iface.c crypto_openssl.c \ + chap.c common.c config_file.c ctrl_iface.c \ ctrl_iface_ap.c drivers.c drv_callbacks.c dump_state.c \ eap_common.c eap_peap_common.c eap_register.c eap_server.c \ eap_server_gtc.c eap_server_identity.c eap_server_md5.c \ @@ -28,6 +29,12 @@ tkip_countermeasures.c utils.c \ vlan_init.c wpa_auth.c wpa_auth_glue.c wpa_auth_ie.c wpa_common.c \ wpa_debug.c wpabuf.c +.if ${MK_OPENSSL} != "no" +SRCS+= crypto_openssl.c +.else +SRCS+= aes-internal.c aes-internal-enc.c des-internal.c md4-internal.c \ + md5-internal.c rc4.c sha1-internal.c +.endif SRCS+= l2_packet_freebsd.c driver_freebsd.c os_unix.c MAN= hostapd.8 hostapd.conf.5 @@ -46,8 +53,8 @@ CFLAGS+= -DCONFIG_IPV6 .endif #CFLAGS+= -g -DPADD+= ${LIBPCAP} ${LIBSSL} -LDADD+= -lpcap -lssl +DPADD+= ${LIBPCAP} +LDADD+= -lpcap # User customizations for wpa_supplicant/hostapd build environment CFLAGS+=${HOSTAPD_CFLAGS} ========== END PATCH ========== And success! Voila! To recap, in order to compile cleanly with -DWITHOUT_OPENSSL, I had to patch the following four (4) files: src/contrib/bsnmp/lib/snmpcrypto.c src/lib/libarchve/config_freebsd.h src/usr.sbin/wpa/hostapd/Makefile src/usr.sbin/wpa/wpa_supplicant/Makefile All patches above (in reply-text). I'll file a PR tomorrow, containing the above patches, restoring the ability to buildworld without openssl. -- Devin _____________ The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you. _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"