diff options
author | Daniel Golle <daniel@makrotopia.org> | 2020-08-17 02:13:44 +0100 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2020-08-17 14:12:05 +0100 |
commit | 6855683e3e1ce0c5e710c4cf67f4373aedddd6b2 (patch) | |
tree | 4c0dbee5e7e367e8c7214df21a820151b244796d /net/hs20/patches | |
parent | 2512c8dcd0e5bb89029f41739e4aa2198c5526a9 (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.patch | 11 | ||||
-rw-r--r-- | net/hs20/patches/200-adapt-config-php.patch | 17 | ||||
-rw-r--r-- | net/hs20/patches/300-paths-in-ca-setup-sh.patch | 24 |
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," | |