From 63aa220d849dca2384773bf755358557a1d711c5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 18 Jan 2019 16:37:17 +0100 Subject: [serversetup-bwlp] Make localboot method configurable --- modules-available/serversetup-bwlp/api.inc.php | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'modules-available/serversetup-bwlp/api.inc.php') diff --git a/modules-available/serversetup-bwlp/api.inc.php b/modules-available/serversetup-bwlp/api.inc.php index 4ed316a7..d089584e 100644 --- a/modules-available/serversetup-bwlp/api.inc.php +++ b/modules-available/serversetup-bwlp/api.inc.php @@ -13,10 +13,9 @@ $product = Request::any('product', false, 'string'); $slxExtensions = Request::any('slx-extensions', false, 'int'); if ($platform === false || ($uuid === false && $product === false) || $slxExtensions === false) { - error_log(print_r($_SERVER, true)); - sleep(1); + // Redirect to self with added parameters $url = parse_url($_SERVER['REQUEST_URI']); - if (isset($_SERVER['SCRIPT_URI']) && preg_match('#(\w+://[^/]+)#', $_SERVER['SCRIPT_URI'], $out)) { + if (isset($_SERVER['SCRIPT_URI']) && preg_match('#^(\w+://[^/]+)#', $_SERVER['SCRIPT_URI'], $out)) { $urlbase = $out[1]; } elseif (isset($_SERVER['REQUEST_SCHEME']) && isset($_SERVER['SERVER_NAME'])) { $urlbase = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME']; @@ -62,11 +61,7 @@ HERE; } $platform = strtoupper($platform); -$BOOT_METHODS = [ - 'EXIT' => 'exit 1', - 'COMBOOT' => 'chain /tftp/chain.c32 hd0', - 'SANBOOT' => 'sanboot --no-describe', -]; +$BOOT_METHODS = Localboot::BOOT_METHODS; $ip = $_SERVER['REMOTE_ADDR']; if (substr($ip, 0, 7) === '::ffff:') { @@ -111,15 +106,9 @@ if ($model !== false) { } } if ($localboot === false || !isset($BOOT_METHODS[$localboot])) { - $localboot = Property::get('serversetup.localboot', false); - if ($localboot === false) { - if ($platform === 'EFI') { - // It seems most (all) EFI platforms won't enumerate any drives in ipxe. - // No idea if this can be fixed in ipxe code in the future. - $localboot = 'EXIT'; - } else { - $localboot = 'SANBOOT'; - } + $localboot = Property::get('serversetup.localboot', 'AUTO'); + if (!isset($BOOT_METHODS[$localboot])) { + $localboot = 'AUTO'; } } if (isset($BOOT_METHODS[$localboot])) { -- cgit v1.2.3-55-g7522