-
Notifications
You must be signed in to change notification settings - Fork 3.5k
/
Makefile
149 lines (122 loc) · 4.56 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
include $(TOPDIR)/rules.mk
PKG_NAME:=hs20
PKG_RELEASE:=10
PKG_SOURCE_URL:=http://w1.fi/hostap.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2020-06-08
PKG_SOURCE_VERSION:=5a8b366233f5585e68a4ffbb604fbb4a848eb325
PKG_SOURCE_NAME:=hostapd
PKG_MIRROR_HASH:=1b2a4947034142587a3f81eac2ea27dd64650e77f8943d973623b47533be2393
PKG_MIRROR_VERSION:=$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION))
PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_MIRROR_VERSION).tar.xz
PKG_SOURCE_SUBDIR:=$(PKG_SOURCE_NAME)-$(PKG_MIRROR_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_SOURCE_NAME)-$(PKG_MIRROR_VERSION)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3-Clause
PKG_CPE_ID:=cpe:/a:w1.fi:hostapd
define Download/dm-ddf-dtd
URL:=http://www.openmobilealliance.org/tech/DTD
FILE:=dm_ddf-v1_3.dtd
HASH:=9b3e1dc66a2d38fc6e1300e9fb6f06f95d042206dabc94ae989739feaeb0733e
endef
define Download/spp-xsd
URL:=https://raw.githubusercontent.com/greearb/hostap-ct/7a7b81d0e58c81796c7408a47082c9cc7587aa21/hs20/server/examples/Fedora20/hs20/spp
URL_FILE:=spp.xsd
FILE:=spp-v1_0.xsd
HASH:=83be16db72e96cca8d654d7f0b446cdd017090d5512a4cd5f7172204331fd8f2
endef
PKG_BUILD_PARALLEL:=1
PKG_ASLR_PIE_REGULAR:=1
ifdef CONFIG_USE_GLIBC
TARGET_LDFLAGS += -lrt
TARGET_LDFLAGS_C += -lrt
endif
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/hs20-common
SECTION:=net
CATEGORY:=Network
SUBMENU:=WirelessAPD
TITLE:=Hotspot 2.0 OSU common files
URL:=http://hostap.epitest.fi/
endef
define Package/hs20-common/description
Hotspot 2.0 OSU common files
Hotspot 2.0 SPP and OMA DM XML schema/DTD files
endef
define Package/hs20-client
SECTION:=net
CATEGORY:=Network
SUBMENU:=WirelessAPD
TITLE:=Hotspot 2.0 OSU client
URL:=http://hostap.epitest.fi/
DEPENDS:=+hs20-common +libopenssl +libcurl +libxml2
endef
define Package/hs20-client/description
Hotspot 2.0 OSU client
endef
define Package/hs20-server
SECTION:=net
CATEGORY:=Network
SUBMENU:=WirelessAPD
TITLE:=Hotspot 2.0 OSU server
URL:=http://hostap.epitest.fi/
DEPENDS:=+hs20-common +libopenssl +libsqlite3 +libxml2 +php8 +php8-cgi +php8-mod-xml +php8-mod-pdo-sqlite +openssl-util +sqlite3-cli +uhttpd +xxd
endef
define Package/hs20-server/description
Hotspot 2.0 OSU server
This implementation and the example configuration is meant only for
testing purposes in a lab environment. This design is not secure to be
installed in a publicly available Internet server without considerable
amount of modification and review for security issues.
endef
define Build/Prepare
$(call Build/Prepare/Default)
$(eval $(call Download,dm-ddf-dtd))
$(eval $(call Download,spp-xsd))
endef
define Build/Configure
$(CP) ./files/hostapd.config $(PKG_BUILD_DIR)/hostapd/.config
endef
define Build/RunMake
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \
$(TARGET_CONFIGURE_OPTS) \
LIBS="$(TARGET_LDFLAGS) $(2)" \
LIBS_c="$(TARGET_LDFLAGS_C)" \
AR="$(TARGET_CROSS)gcc-ar" \
BCHECK= CONFIG_NO_BROWSER=y \
$(3)
endef
define Build/Compile
$(call Build/RunMake,hostapd,-lssl -lcrypto -lsqlite3,hostapd hlr_auc_gw)
$(call Build/RunMake,hs20/server,-lsqlite3 -lxml2,all)
$(call Build/RunMake,hs20/client,-lssl -lcrypto -lcurl -lxml2,all)
endef
define Package/hs20-common/install
$(INSTALL_DIR) $(1)/etc/hs20/spp
$(INSTALL_DATA) $(DL_DIR)/dm_ddf-v1_3.dtd $(1)/etc/hs20/spp
$(INSTALL_DATA) $(DL_DIR)/spp-v1_0.xsd $(1)/etc/hs20/spp/spp.xsd
endef
define Package/hs20-client/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hs20/client/hs20-osu-client $(1)/usr/sbin/
endef
define Package/hs20-server/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/share/hs20/ca $(1)/www/hs20 $(1)/etc/uci-defaults $(1)/etc/hs20/spp $(1)/etc/config $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/hostapd-hs20-radius-server
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hlr_auc_gw $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hs20/server/hs20_spp_server $(1)/usr/sbin/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hs20/server/www/* $(1)/www/hs20
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hs20/server/sql.txt $(1)/usr/share/hs20
$(CP) $(PKG_BUILD_DIR)/hs20/server/ca/* $(1)/usr/share/hs20/ca
$(INSTALL_BIN) ./files/hs20-server.defaults $(1)/etc/uci-defaults/hs20-server
$(INSTALL_CONF) ./files/hs20.config $(1)/etc/config/hs20
$(INSTALL_BIN) ./files/hs20.init $(1)/etc/init.d/hs20
endef
define Package/hs20-server/conffiles
/etc/config/hs20
endef
$(eval $(call BuildPackage,hs20-common))
$(eval $(call BuildPackage,hs20-client))
$(eval $(call BuildPackage,hs20-server))