aboutsummaryrefslogtreecommitdiff
path: root/net/hs20/patches
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2020-08-17 02:13:44 +0100
committerDaniel Golle <daniel@makrotopia.org>2020-08-17 14:12:05 +0100
commit6855683e3e1ce0c5e710c4cf67f4373aedddd6b2 (patch)
tree4c0dbee5e7e367e8c7214df21a820151b244796d /net/hs20/patches
parent2512c8dcd0e5bb89029f41739e4aa2198c5526a9 (diff)
hs20: prepare server using uci-defaults and ship files
Setup user database if non-existent, configure uhttpd .php interpreter and patch php scripts to work out-of-the-box. Also ship Hotspot 2.0 SPP and OMA DM XML schema/DTD files needed at run-time for both client and server. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'net/hs20/patches')
-rw-r--r--net/hs20/patches/100-fix-hs20_spp_server-path.patch11
-rw-r--r--net/hs20/patches/200-adapt-config-php.patch17
-rw-r--r--net/hs20/patches/300-paths-in-ca-setup-sh.patch24
3 files changed, 52 insertions, 0 deletions
diff --git a/net/hs20/patches/100-fix-hs20_spp_server-path.patch b/net/hs20/patches/100-fix-hs20_spp_server-path.patch
new file mode 100644
index 000000000..5b2f3c337
--- /dev/null
+++ b/net/hs20/patches/100-fix-hs20_spp_server-path.patch
@@ -0,0 +1,11 @@
+--- a/hs20/server/www/spp.php
++++ b/hs20/server/www/spp.php
+@@ -141,7 +141,7 @@ $addr = $_SERVER["REMOTE_ADDR"];
+ putenv("HS20ADDR=$addr");
+ putenv("HS20TEST=$test");
+
+-$last = exec("$osu_root/spp/hs20_spp_server -r$osu_root -f/tmp/hs20_spp_server.log", $output, $ret);
++$last = exec("/usr/sbin/hs20_spp_server -r$osu_root -f/tmp/hs20_spp_server.log", $output, $ret);
+
+ if ($ret == 2) {
+ if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
diff --git a/net/hs20/patches/200-adapt-config-php.patch b/net/hs20/patches/200-adapt-config-php.patch
new file mode 100644
index 000000000..6494bd036
--- /dev/null
+++ b/net/hs20/patches/200-adapt-config-php.patch
@@ -0,0 +1,17 @@
+--- a/hs20/server/www/config.php
++++ b/hs20/server/www/config.php
+@@ -1,7 +1,11 @@
+ <?php
+-$osu_root = "/home/user/hs20-server";
++$osu_root = "/etc/hs20";
+ $osu_db = "sqlite:$osu_root/AS/DB/eap_user.db";
+ $t_c_file = "$osu_root/terms-and-conditions";
+-$t_c_timestamp = 123456789;
+-$hostapd_ctrl = "udg:///home/user/hs20-server/AS/ctrl/as"
++if (file_exists($t_c_file)) {
++ $t_c_timestamp = filemtime($t_c_file);
++} else {
++ $t_c_timestamp = filemtime($osu_root);
++}
++$hostapd_ctrl = "udg:///var/run/hostapd/hs20-radius/lo"
+ ?>
diff --git a/net/hs20/patches/300-paths-in-ca-setup-sh.patch b/net/hs20/patches/300-paths-in-ca-setup-sh.patch
new file mode 100644
index 000000000..5e98ac49b
--- /dev/null
+++ b/net/hs20/patches/300-paths-in-ca-setup-sh.patch
@@ -0,0 +1,24 @@
+--- a/hs20/server/ca/setup.sh
++++ b/hs20/server/ca/setup.sh
+@@ -3,7 +3,7 @@
+ if [ -z "$OPENSSL" ]; then
+ OPENSSL=openssl
+ fi
+-export OPENSSL_CONF=$PWD/openssl.cnf
++export OPENSSL_CONF=/usr/share/hs20/ca/openssl.cnf
+ PASS=whatever
+ if [ -z "$DOMAIN" ]; then
+ DOMAIN=w1.fi
+@@ -83,10 +83,10 @@ then
+ fi
+
+ # Set the passphrase and some other common config accordingly.
+-cat openssl-root.cnf | sed "s/@PASSWORD@/$PASS/" \
++cat /usr/share/hs20/ca/openssl-root.cnf | sed "s/@PASSWORD@/$PASS/" \
+ > my-openssl-root.cnf
+
+-cat openssl.cnf | sed "s/@PASSWORD@/$PASS/" |
++cat /usr/share/hs20/ca/openssl.cnf | sed "s/@PASSWORD@/$PASS/" |
+ sed "s,@OCSP_URI@,$OCSP_URI," |
+ sed "s,@LOGO_URI@,$LOGO_URI," |
+ sed "s,@LOGO_HASH1@,$LOGO_HASH1," |