diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-09-23 03:30:25 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-09-23 03:30:25 +0000 |
commit | 819197a8668f31c42fd4606377c82c6ac2ee8274 (patch) | |
tree | 78c87c94bc7ad9e6a22a6848bf948ebdeeb3519d | |
parent | 81e3bbc708e88a54b4ea97592a0535c39225c47e (diff) | |
download | pfsense-819197a8668f31c42fd4606377c82c6ac2ee8274.zip pfsense-819197a8668f31c42fd4606377c82c6ac2ee8274.tar.gz |
Go back to mini_httpd
-rw-r--r-- | etc/inc/system.inc | 161 | ||||
-rwxr-xr-x | usr/local/www/system_firmware.php | 21 |
2 files changed, 75 insertions, 107 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc index 5eca8f8..88bf7e3 100644 --- a/etc/inc/system.inc +++ b/etc/inc/system.inc @@ -315,113 +315,96 @@ function system_pccard_start() { return $res; } + function system_webgui_start() { - global $config, $g; + global $config, $g; - if ($g['booting']) - echo "Starting webConfigurator... "; + if ($g['booting']) + echo "Starting webGUI... "; - /* kill any running mini_httpd */ - killbypid("{$g['varrun_path']}/lighty-webConfigurator.pid"); + /* kill any running mini_httpd */ + killbypid("{$g['varrun_path']}/mini_httpd.pid"); - /* generate password file */ - system_password_configure(); + /* generate password file */ + system_password_configure(); - chdir($g['www_path']); + chdir($g['www_path']); - /* non-standard port? */ - if ($config['system']['webgui']['port']) - $portarg = "-p {$config['system']['webgui']['port']}"; - else - $portarg = ""; + /* non-standard port? */ + if ($config['system']['webgui']['port']) + $portarg = "-p {$config['system']['webgui']['port']}"; + else + $portarg = ""; - if ($config['system']['webgui']['protocol'] == "https") { + if ($config['system']['webgui']['protocol'] == "https") { - if ($config['system']['webgui']['certificate'] && $config['system']['webgui']['private-key']) { - $cert = base64_decode($config['system']['webgui']['certificate']); - $key = base64_decode($config['system']['webgui']['private-key']); - } else { - /* default certificate/key */ - $cert = <<<EOD + if ($config['system']['webgui']['certificate'] && $config['system']['webgui']['private-key']) { + $cert = base64_decode($config['system']['webgui']['certificate']); + $key = base64_decode($config['system']['webgui']['private-key']); + } else { + /* default certificate/key */ + $cert = <<<EOD -----BEGIN CERTIFICATE----- -MIIC4zCCAkygAwIBAgIBADANBgkqhkiG9w0BAQQFADBbMQswCQYDVQQGEwJOQTEL -MAkGA1UECBMCTkExCzAJBgNVBAcTAk5BMQswCQYDVQQKEwJOQTELMAkGA1UECxMC -TkExCzAJBgNVBAMTAk5BMQswCQYDVQQGEwJVUzAeFw0wNTAzMDYwMDE1NDJaFw0x -NTAzMDQwMDE1NDJaMFsxCzAJBgNVBAYTAk5BMQswCQYDVQQIEwJOQTELMAkGA1UE -BxMCTkExCzAJBgNVBAoTAk5BMQswCQYDVQQLEwJOQTELMAkGA1UEAxMCTkExCzAJ -BgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDF7luuy70OvHrl -xnW9ID6srsfxEFCF4d9LmlZ6XdW1rEUHQ6KTgz4iSD+pxEOxxlY+bCH6HTkAy5Sa -zt3eT7javvF+ILZgarwoY2x+NbDctd0VBJVkH0fEvBf1xqU7wpkOiWkw1RmfEvZI -6XnGi6VSjSmkm0UoQMKg9R7niRtE4QIDAQABo4G2MIGzMB0GA1UdDgQWBBTgvk9F -alPK6/OcZrkaE8BhBrRo2DCBgwYDVR0jBHwweoAU4L5PRWpTyuvznGa5GhPAYQa0 -aNihX6RdMFsxCzAJBgNVBAYTAk5BMQswCQYDVQQIEwJOQTELMAkGA1UEBxMCTkEx -CzAJBgNVBAoTAk5BMQswCQYDVQQLEwJOQTELMAkGA1UEAxMCTkExCzAJBgNVBAYT -AlVTggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAv9+GXdYIWs2R -8B0zI4jAbHcaRsfohuzpNHD5re7ZK8H4fYbHIfmPY2UM3yOU7J2rLP8KGfKztay1 -Z3RNW7SKJI/CagbdQOuYdMrlEyA4ZImM6NNzUbH6rNKtmDIDo1kHL3cXjzXEjBE+ -ZZYTREFcdhtzUH5lYzJz1uVFeCSwozk= +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQKEwhtMG4wd2FsbDAe +Fw0wNTA1MTAxMjI0NDRaFw0wNzA1MTAxMjI0NDRaMBMxETAPBgNVBAoTCG0wbjB3 +YWxsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAShszhFz+o8lsMWTGgTxs +TMPR+v4+qL5jXDyY97MLTGFK7aqQOtpIQc+TcTc4jklgOVlHoR7oBXrsi8YrbCd+ +83LPQmQoSPC0VqhfU3uYf3NzxiK8r97aPCsmWgwT2pQ6TcESTm6sF7nLprOf/zFP +C4jE2fvjkbzyVolPywBuewIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFR962c4R5tV +cTn0OQcszYoW6WC+ini9tQQh5ku5jYDAiC+00atawJEVLnL3lwAcpSKTIWlTkD20 +tl3lz5br1qFgYky+Rd0kwS2nk9jRbkxSXxd6KJVnNRCKre28aw3ENzZfCSurPQsX +UPp5er+NtwMT1g7s/JDmKTC4w1rGr5/c -----END CERTIFICATE----- + EOD; - $key = <<<EOD + $key = <<<EOD -----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDF7luuy70OvHrlxnW9ID6srsfxEFCF4d9LmlZ6XdW1rEUHQ6KT -gz4iSD+pxEOxxlY+bCH6HTkAy5Sazt3eT7javvF+ILZgarwoY2x+NbDctd0VBJVk -H0fEvBf1xqU7wpkOiWkw1RmfEvZI6XnGi6VSjSmkm0UoQMKg9R7niRtE4QIDAQAB -AoGAF9dMJ9PWo+3EB+VNzUgTBI3Q+5JxgI7ibKLcg8TFtypW7jcRYB9Q3qRBNtuz -I7i2LrKrrQrUEOp0rej5BIwpwcjtEE2NsZwgYwDyywptoqt3WO86nPXYz2KhkQmP -YCDmPrff4vXCv6zgefb/AIgrOkgD3ViEoePhCAg+0l3fEIECQQD7C68Nb6KAWUND -Q9B0RxYrlgXikQ8yVHhlyM433APe/NCJ9kl5dLXpyjuvrWB+ml6TlLrcroLGejbd -tYXvIiyJAkEAydZVHqB4MpMtuY7VJoHNgl06YBoeTI+BJptPaOUNl4SlUKIYJMhX -oOXIGk9uDjfSNS7HvunZBjgz092GShWvmQJAQ8NhmwTZHj/58fwqFljh2R4DtKZn -LbSzUvYjA9z1holDWRoLtycTu2mFNuRbuZC9mqR40/ye/CgdCzdmUagt0QJBAKq1 -00ySINd10Cive+yTwMPQIj2CGbpbbbq/hYyMntBWapQmZRFHOYZmkrZeFBGGeQ5u -QJdipiIyivNY2+nxKZECQCvumJPfZYxCeCAEC+G2xezrP6bC6FhzUOw6410UARTM -fuFjHpSfOiG62lfRdZgCPAr1L/1pJF+8RqjGlFfAuFA= +MIICXQIBAAKBgQDAShszhFz+o8lsMWTGgTxsTMPR+v4+qL5jXDyY97MLTGFK7aqQ +OtpIQc+TcTc4jklgOVlHoR7oBXrsi8YrbCd+83LPQmQoSPC0VqhfU3uYf3NzxiK8 +r97aPCsmWgwT2pQ6TcESTm6sF7nLprOf/zFPC4jE2fvjkbzyVolPywBuewIDAQAB +AoGAbJJrQW9fQrggJuLMz/hwsYW2m31oyOBmf5u463YQtjRuSuxe/gj87weZuNqY +H2rXq2k2K+ehl8hgW+egASyUL3L7kCkEAsVREujKTEyhSqqIRDPWTxo9S/YA9Gvn +2ZnJvkrcKjqCO9aHX3rvJOK/ErYI6akctgI3KmgkYw5XNmECQQDuZU97RTWH9rmP +aQr57ysNXxgFsyhetOOqeYkPtIVwpOiNbfwE1zi5RGdtO4Ku3fG1lV4J2UoWJ9yD +awdoyYIHAkEAzn0xJ90IjPsHk+8SODEj5JGdHSZPNu1tgtrbjEi9sfGWg4K7XTxr +QW90pWb1bKKU1uh5FzW6OhnFfuQXt1kC7QJAPSthqY+onKqCEnoxhtAHi/bKgyvl +P+fKQwPMV2tKkgy+XwvJjrRqqZ8TqsOKVLQ+QQmCh6RpjiXMPyxHSmvqIQJBAKLR +HF1ucDuaBROkwx0DwmWMW/KMLpIFDQDNSaiIAuu4rxHrl4mhBoGGPNffI04RtILw +s+qVNs5xW8T+XaT4ztECQQDFHPnZeoPWE5z+AX/UUQIUWaDExz3XRzmIxRbOrlFi +CsF1s0TdJLi/wzNQRAL37A8vqCeVFR/ng3Xpg96Yg+8Z -----END RSA PRIVATE KEY----- -EOD; - } - } else { - $cert = ""; - $key = ""; - } - - /* non-standard port? */ - if ($config['system']['webgui']['port'] <> "") { - $port = $config['system']['webgui']['port']; - } else { - if($config['system']['webgui']['protocol'] == "https") - $port = "443"; - elseif($config['system']['webgui']['protocol'] == "http") - $port = "80"; - else - $port = "80"; - } - /* if we are strapped for memory, do not use fast cgi */ - $memory = get_memory(); - $avail_mem = $memory[1]; - if($avail_mem < 120) - $use_fastcgi = false; - else - $use_fastcgi = true; - - /* generate lighttpd configuration */ - system_generate_lighty_config("{$g['varetc_path']}/lighty-webConfigurator.conf", - $key, $cert, "lighty-webConfigurator.pid", $port, "/usr/local/www/", - "cert.pem", "1", "1", $use_fastcgi); +EOD; + } - /* attempt to start lighthttpd */ - $res = mwexec("/usr/local/sbin/lighttpd -f {$g['varetc_path']}/lighty-webConfigurator.conf"); + $fd = fopen("{$g['varetc_path']}/cert.pem", "w"); + if (!$fd) { + printf("Error: cannot open cert.pem in system_webgui_start().\n"); + return 1; + } + chmod("{$g['varetc_path']}/cert.pem", 0600); + fwrite($fd, $cert); + fwrite($fd, "\n"); + fwrite($fd, $key); + fclose($fd); + + $res = mwexec("/usr/local/sbin/mini_httpd -S -E {$g['varetc_path']}/cert.pem" . + " -c \"**.php|**.cgi\" -u root -maxproc 16 $portarg" . + " -i {$g['varrun_path']}/mini_httpd.pid"); + } else { + $res = mwexec("/usr/local/sbin/mini_httpd -c \"**.php|**.cgi\" -u root" . + " -maxproc 16 $portarg -i {$g['varrun_path']}/mini_httpd.pid"); + } - if ($g['booting']) { - if ($res == 0) - echo "done.\n"; - else - echo "failed!\n"; - } + if ($g['booting']) { + if ($res == 0) + echo "done\n"; + else + echo "failed\n"; + } - return $res; + return $res; } function system_generate_lighty_config($filename, $cert, $key, $pid_file, diff --git a/usr/local/www/system_firmware.php b/usr/local/www/system_firmware.php index c0c8a78..e711fda 100755 --- a/usr/local/www/system_firmware.php +++ b/usr/local/www/system_firmware.php @@ -64,22 +64,16 @@ if ($_POST && !file_exists($d_firmwarelock_path)) { $mode = "upgrade"; else if ($_POST['sig_no']) { if(file_exists("{$g['tmp_path']}/firmware.tgz")) - unlink("{$g['tmp_path']}/firmware.tgz"); + unlink("{$g['tmp_path']}/firmware.tgz"); } if ($mode) { if ($mode == "enable") { exec_rc_script("/etc/rc.firmware enable"); - chdir($g['www_path']); - $command = "/usr/local/sbin/mini_httpd " . - " -c \"**.php|**.cgi\" -u root -maxproc 2 -p 8041" . - " -i {$g['varrun_path']}/mini_httpd.pid"; - $res = mwexec($command); touch($d_fwupenabled_path); } else if ($mode == "disable") { exec_rc_script("/etc/rc.firmware disable"); if (file_exists($d_fwupenabled_path)) unlink($d_fwupenabled_path); - system("/usr/bin/killall mini_httpd"); } else if ($mode == "upgrade") { if (is_uploaded_file($_FILES['ulfile']['tmp_name'])) { /* verify firmware image(s) */ @@ -160,12 +154,10 @@ print_info_box($sig_warning); ?> <input name="sig_override" type="submit" class="formbtn" id="sig_override" value=" Yes "> <input name="sig_no" type="submit" class="formbtn" id="sig_no" value=" No "> - +</form> <?php else: ?> <?php if (!file_exists($d_firmwarelock_path)): ?> - <?php - $myip = "http://{$_SERVER['SERVER_NAME']}:8041/system_firmware.php"; - ?> +<form action="system_firmware.php" method="post" enctype="multipart/form-data"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> @@ -187,7 +179,6 @@ print_info_box($sig_warning); </tr> <td width="22%" valign="baseline" class="vncell"> </td> <td width="78%" class="vtable"> - <form action="system_firmware.php" method="post"> <p>Click "Enable firmware upload" below, then choose the image file (<?=$g['platform'];?>-*.tgz) to be uploaded.<br>Click "Upgrade firmware" @@ -198,12 +189,6 @@ print_info_box($sig_warning); <?php else: ?> <input name="Submit" type="submit" class="formbtn" value="Disable firmware upload"> <br><br> - </form> - <?php - if(file_exists($d_fwupenabled_path)) { - echo "<form action=\"{$myip}\" method=\"post\" enctype=\"multipart/form-data\">"; - } - ?> <strong>Firmware image file: </strong> <input type="hidden" name="UPLOAD_IDENTIFIER" value="<?=$id?>"> <input name="ulfile" type="file" class="formfld"> |