summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-11-26 22:06:23 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-11-26 22:06:23 +0000
commit877ac35dc99371c7a854a4b9d0a79aa04901bb22 (patch)
treed0356122a49948f5f77dc9f777ecef33b8bede39 /etc
parent51bb9b9467620bd60a857ae988efd5d79af692f4 (diff)
downloadpfsense-877ac35dc99371c7a854a4b9d0a79aa04901bb22.zip
pfsense-877ac35dc99371c7a854a4b9d0a79aa04901bb22.tar.gz
Use Lighty. Hopefully it's here to stay, and mini_httpd is dead, jim.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/captiveportal.inc40
-rw-r--r--etc/inc/system.inc90
2 files changed, 102 insertions, 28 deletions
diff --git a/etc/inc/captiveportal.inc b/etc/inc/captiveportal.inc
index ebf6271..34167e7 100644
--- a/etc/inc/captiveportal.inc
+++ b/etc/inc/captiveportal.inc
@@ -187,32 +187,18 @@ EOD;
$procs = 16;
}
- /* start web server */
- mwexec("/usr/local/sbin/mini_httpd -a -M 0 -u root -maxproc {$procs}" .
- " -p 8000 -i {$g['varrun_path']}/mini_httpd.cp.pid");
-
- /* fire up another one for HTTPS if requested */
- if (isset($config['captiveportal']['httpslogin']) &&
- $config['captiveportal']['certificate'] && $config['captiveportal']['private-key']) {
-
- $cert = base64_decode($config['captiveportal']['certificate']);
- $key = base64_decode($config['captiveportal']['private-key']);
-
- $fd = fopen("{$g['varetc_path']}/cert-portal.pem", "w");
- if (!$fd) {
- printf("Error: cannot open cert-portal.pem in system_webgui_start().\n");
- return 1;
- }
- chmod("{$g['varetc_path']}/cert-portal.pem", 0600);
- fwrite($fd, $cert);
- fwrite($fd, "\n");
- fwrite($fd, $key);
- fclose($fd);
-
- mwexec("/usr/local/sbin/mini_httpd -S -a -M 0 -E {$g['varetc_path']}/cert-portal.pem" .
- " -u root -maxproc 16 -p 8001" .
- " -i {$g['varrun_path']}/mini_httpd.cps.pid");
- }
+ /* TEMPORARY! FAST_CGI reports _FALSE_ client ip
+ * addresses.
+ */
+ $use_fastcgi = false;
+
+ /* generate lighttpd configuration */
+ system_generate_lighty_config("{$g['varetc_path']}/lighty-CaptivePortal.conf",
+ $key, $cert, "lighty-CaptivePortal.pid", "8000", "/usr/local/captiveportal/",
+ "cert-portal.pem", "1", $procs, $use_fastcgi);
+
+ /* attempt to start lighttpd */
+ $res = mwexec("/usr/local/sbin/lighttpd -f {$g['varetc_path']}/lighty-CaptivePortal.conf");
/* start pruning process (interval = 60 seconds) */
mwexec("/usr/local/bin/minicron 60 {$g['varrun_path']}/minicron.pid " .
@@ -792,4 +778,4 @@ function captiveportal_logportalauth($user,$mac,$ip,$status) {
closelog();
}
-?> \ No newline at end of file
+?>
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index 30a7366..e732a97 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -332,6 +332,94 @@ function system_pccard_start() {
function system_webgui_start() {
global $config, $g;
+
+ if ($g['booting'])
+ echo "Starting webConfigurator... ";
+
+ /* kill any running mini_httpd */
+ killbypid("{$g['varrun_path']}/lighty-webConfigurator.pid");
+
+ /* generate password file */
+ system_password_configure();
+
+ chdir($g['www_path']);
+
+ /* 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']['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=
+-----END CERTIFICATE-----
+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=
+-----END RSA PRIVATE KEY-----
+EOD;
+ }
+ } else {
+ $cert = "";
+ $key = "";
+ }
+
+ /* generate lighttpd configuration */
+ system_generate_lighty_config("{$g['varetc_path']}/lighty-webConfigurator.conf",
+ $key, $cert, "lighty-webConfigurator.pid", "/usr/local/www/");
+
+ /* attempt to start lighthttpd */
+ $res = mwexec("/usr/local/sbin/lighttpd -f {$g['varetc_path']}/lighty-webConfigurator.conf");
+
+ if ($g['booting']) {
+ if ($res == 0)
+ echo "done.\n";
+ else
+ echo "failed!\n";
+ }
+
+ return $res;
+}
+
+function system_webgui_start_old() {
+ global $config, $g;
if(isset($config['system']['developerspew'])) {
$mt = microtime();
echo "system_webgui_start() being called $mt\n";
@@ -902,4 +990,4 @@ function system_enable_arp_wrong_if() {
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud