Permalink
Browse files

Release 1.7

new:
* New Security Model now mandatory
* PATH_INFO support, based on code by Rob Sayers and Denis Fortin

enhanced:
* Additional security and sanity checks during installation

fixes:
* Repairs taintperl bug introduced in 1.6.2 (will pass perl -T again)
* Redirects now properly aware of port number (except Generic)
  • Loading branch information...
Cameron Kaiser Mark Olesen
Cameron Kaiser authored and Mark Olesen committed Mar 2, 2010
1 parent 568ca98 commit 80e1f891619001fc7c6c2211d9bb1d4ca1addb01
Showing with 294 additions and 157 deletions.
  1. +15 −1 ChangeLog
  2. +43 −42 Manifest
  3. +3 −2 THANKS
  4. +8 −0 TODO
  5. +2 −2 VERSION
  6. +12 −3 configure.demonic
  7. +8 −2 configure.generic
  8. +4 −3 configure.inetd
  9. +4 −3 configure.launchd
  10. +8 −3 configure.stunnel
  11. +8 −3 configure.xinetd
  12. +39 −33 conquests.pl
  13. +43 −7 consubs.pl
  14. +48 −26 httpi.in
  15. +48 −26 stock/httpi.in
  16. +1 −1 tools/noodle
View
@@ -1,3 +1,17 @@
+Changes in 1.7:
+
+ ** This document changes from "since" to "in" starting with this
+ new version of HTTPi, covering changes from 1.6.2 to 1.7.
+
+ new:
+ * New Security Model now mandatory
+ * PATH_INFO support, based on code by Rob Sayers and Denis Fortin
+ enhanced:
+ * Additional security and sanity checks during installation
+ fixes:
+ * Repairs taintperl bug introduced in 1.6.2 (will pass perl -T again)
+ * Redirects now properly aware of port number (except Generic)
+
Changes since 1.6.1:
fixes:
@@ -193,7 +207,7 @@ Changes since first 1.0:
* fixed configure-time bug that caused syntax errors if preparsing
not turned on. duh. (thanks Fergus Gallagher)
* better socket handling for Demonic
-
+
Changes since 0.99:
* logging. one final change: user, since it's not through identd,
View
@@ -1,52 +1,53 @@
-total 293
--rw-r--r-- 1 spectre staff 11167 Nov 04 20:53 ChangeLog
--rw-r--r-- 1 spectre staff 4988 Nov 04 20:53 INSTALL
--rw-r--r-- 1 spectre staff 14951 Nov 04 20:53 LICENSE
--rw-r--r-- 1 spectre staff 3070 Nov 04 20:53 Makefile
--rw-r--r-- 1 spectre staff 206 Nov 04 20:53 Makefile.PL
--rw-r--r-- 1 spectre staff 1120 Nov 04 20:53 README
--rw-r--r-- 1 spectre staff 514 Nov 04 20:53 THANKS
--rw-r--r-- 1 spectre staff 542 Nov 04 20:53 UPGRADING
--rw-r--r-- 1 spectre staff 64 Nov 04 20:53 VERSION
-lrwxrwxrwx 1 spectre staff 15 Nov 04 20:53 configure@ -> configure.inetd
--rw-r--r-- 1 spectre staff 8854 Nov 04 20:53 configure.demonic
--rw-r--r-- 1 spectre staff 2401 Nov 04 20:53 configure.generic
--rw-r--r-- 1 spectre staff 10277 Nov 04 20:53 configure.inetd
--rw-r--r-- 1 spectre staff 8761 Nov 04 20:53 configure.launchd
--rw-r--r-- 1 spectre staff 7697 Nov 04 20:53 configure.stunnel
--rw-r--r-- 1 spectre staff 8528 Nov 04 20:53 configure.xinetd
--rw-r--r-- 1 spectre staff 25512 Nov 04 20:53 conquests.pl
--rw-r--r-- 1 spectre staff 7293 Nov 04 20:53 consubs.pl
--rw-r--r-- 1 spectre staff 20519 Nov 04 20:53 httpi.in
--rw-r--r-- 1 spectre staff 138 Nov 04 20:53 modules.in
--rw-r--r-- 1 spectre staff 592 Nov 04 20:53 sockcons.c
--rw-r--r-- 1 spectre staff 134 Nov 04 20:53 sockcons.pl
-drwxr-xr-x 2 spectre staff 512 Nov 04 20:53 stock/
-drwxr-xr-x 3 spectre staff 512 Nov 04 20:53 tools/
-drwxr-xr-x 2 spectre staff 512 Nov 04 20:53 toys/
--rw-r--r-- 1 spectre staff 967 Nov 04 20:53 userfunc.in
--rw-r--r-- 1 spectre staff 2571 Nov 04 20:53 uservar.in
+total 299
+-rw-r--r-- 1 spectre staff 11636 Feb 22 09:51 ChangeLog
+-rw-r--r-- 1 spectre staff 4988 Feb 22 09:51 INSTALL
+-rw-r--r-- 1 spectre staff 14951 Feb 22 09:51 LICENSE
+-rw-r--r-- 1 spectre staff 3070 Feb 22 09:51 Makefile
+-rw-r--r-- 1 spectre staff 206 Feb 22 09:51 Makefile.PL
+-rw-r--r-- 1 spectre staff 1120 Feb 22 09:51 README
+-rw-r--r-- 1 spectre staff 525 Feb 22 09:51 THANKS
+-rw-r--r-- 1 spectre staff 203 Feb 22 09:51 TODO
+-rw-r--r-- 1 spectre staff 542 Feb 22 09:51 UPGRADING
+-rw-r--r-- 1 spectre staff 62 Feb 22 09:51 VERSION
+lrwxrwxrwx 1 spectre staff 15 Feb 22 09:51 configure@ -> configure.inetd
+-rw-r--r-- 1 spectre staff 8915 Feb 22 09:51 configure.demonic
+-rw-r--r-- 1 spectre staff 2455 Feb 22 09:51 configure.generic
+-rw-r--r-- 1 spectre staff 10316 Feb 22 09:51 configure.inetd
+-rw-r--r-- 1 spectre staff 8800 Feb 22 09:51 configure.launchd
+-rw-r--r-- 1 spectre staff 7748 Feb 22 09:51 configure.stunnel
+-rw-r--r-- 1 spectre staff 8579 Feb 22 09:51 configure.xinetd
+-rw-r--r-- 1 spectre staff 25682 Feb 22 09:51 conquests.pl
+-rw-r--r-- 1 spectre staff 8358 Feb 22 09:51 consubs.pl
+-rw-r--r-- 1 spectre staff 21015 Feb 22 09:51 httpi.in
+-rw-r--r-- 1 spectre staff 138 Feb 22 09:51 modules.in
+-rw-r--r-- 1 spectre staff 592 Feb 22 09:51 sockcons.c
+-rw-r--r-- 1 spectre staff 134 Feb 22 09:51 sockcons.pl
+drwxr-xr-x 2 spectre staff 512 Feb 22 09:51 stock/
+drwxr-xr-x 3 spectre staff 512 Feb 22 09:51 tools/
+drwxr-xr-x 2 spectre staff 512 Feb 22 09:51 toys/
+-rw-r--r-- 1 spectre staff 967 Feb 22 09:51 userfunc.in
+-rw-r--r-- 1 spectre staff 2571 Feb 22 09:51 uservar.in
./stock:
-total 50
--rw-r--r-- 1 spectre staff 20519 Nov 04 20:53 httpi.in
--rw-r--r-- 1 spectre staff 138 Nov 04 20:53 modules.in
--rw-r--r-- 1 spectre staff 967 Nov 04 20:53 userfunc.in
--rw-r--r-- 1 spectre staff 2571 Nov 04 20:53 uservar.in
+total 51
+-rw-r--r-- 1 spectre staff 21015 Feb 22 09:51 httpi.in
+-rw-r--r-- 1 spectre staff 138 Feb 22 09:51 modules.in
+-rw-r--r-- 1 spectre staff 967 Feb 22 09:51 userfunc.in
+-rw-r--r-- 1 spectre staff 2571 Feb 22 09:51 uservar.in
./tools:
total 7
--rwxr-xr-x 1 spectre staff 1402 Nov 04 20:53 browsed*
--rwxr-xr-x 1 spectre staff 598 Nov 04 20:53 crapword*
--rwxr-xr-x 1 spectre staff 327 Nov 04 20:53 noodle*
-drwxr-xr-x 2 spectre staff 512 Nov 04 20:53 phproxy/
+-rwxr-xr-x 1 spectre staff 1402 Feb 22 09:51 browsed*
+-rwxr-xr-x 1 spectre staff 598 Feb 22 09:51 crapword*
+-rwxr-xr-x 1 spectre staff 339 Feb 22 09:51 noodle*
+drwxr-xr-x 2 spectre staff 512 Feb 22 09:51 phproxy/
./tools/phproxy:
total 12
--rw-r--r-- 1 spectre staff 1474 Nov 04 20:53 README
--rw-r--r-- 1 spectre staff 237 Nov 04 20:53 add_to_modules.in
--rwxr-xr-x 1 spectre staff 3245 Nov 04 20:53 phproxy*
--rw-r--r-- 1 spectre staff 21 Nov 04 20:53 phproxy_test.php
+-rw-r--r-- 1 spectre staff 1474 Feb 22 09:51 README
+-rw-r--r-- 1 spectre staff 237 Feb 22 09:51 add_to_modules.in
+-rwxr-xr-x 1 spectre staff 3245 Feb 22 09:51 phproxy*
+-rw-r--r-- 1 spectre staff 21 Feb 22 09:51 phproxy_test.php
./toys:
total 3
--rw-r----- 1 spectre staff 1310 Nov 04 20:53 httpismall.gif
+-rw-r----- 1 spectre staff 1310 Feb 22 09:51 httpismall.gif
View
5 THANKS
@@ -2,6 +2,9 @@ Thanks to those who have reported errors and deficiencies in HTTPi,
contributed code suggestions, and just been generally helpful folks:
Bill Benedetto (since 0.1 :-)
+Mark Olesen
+Rob Sayers
+Chris Dagdigian
Fergus Gallagher
Marc Slemko
Aaron Spangler
@@ -10,10 +13,8 @@ Marcus Kreutzberger
Henry Ptasinski
Denis Fortin
Nick Brown
-Chris Dagdigian
Robert Brown
Al Guintu
-Mark Olesen
See the ChangeLog for specific contributions and notes from users.
View
8 TODO
@@ -0,0 +1,8 @@
+For 1.8:
+-------
+
+explicit error log
+get Mpp.pm working on Perl 5.005 and use the new parser
+allow static gzipped documents (gztest/)
+nurse processes to watch executables and scripts for proper logging
+
View
@@ -1,2 +1,2 @@
-httpi-1.6.2
-Copyright 1998-2009 Cameron Kaiser and Contributors
+httpi-1.7
+Copyright 1998-2010 Cameron Kaiser and Contributors
View
@@ -1,11 +1,15 @@
$DEF_MDEMONIC = 1;
+$DEF_MSTUNNEL = 0;
+$DEF_MGENERIC = 0;
$DEF_CONF_TYPE = "Demonic";
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
+($@)
+
EOF
&prompt(<<"EOF", "") unless ($DEFAULT);
@@ -46,12 +50,14 @@ a proper OS. :-)
EOF
$DEF_CANFORK = 1;
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
the current directory.
+($@)
+
EOF
$DEF_MVIRTFILES = &prompt(<<"EOF", "n", 1);
@@ -259,8 +265,11 @@ print "Writing out the configured httpi to $INSTALL_PATH ... ";
Couldn't write out the new httpi. Check permissions on httpi.in in the
current directory and the destination path.
+(Error was: $!)
+
EOF
-print T &preproc(\*S); close(T); close(S);
+print T &preproc(\*S);
+close(T);
print "done.\n\n";
print "chmod()ding $INSTALL_PATH to 0755 ... ";
View
@@ -1,12 +1,16 @@
$DEF_ARCH = "???";
$DEF_CONF_TYPE = "Generic";
$DEF_MDEMONIC = 0;
+$DEF_MGENERIC = 1;
+$DEF_MSTUNNEL = 0;
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
+($@)
+
EOF
&prompt(<<"EOF", "");
@@ -34,12 +38,14 @@ TO RUN HTTPi IN THE GENERIC CONFIGURATION.
Press ENTER to continue, or BREAK/CTRL-C to bail out now:
EOF
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
the current directory.
+($@)
+
EOF
$j = &prompt(<<"EOF", "");
View
@@ -1,8 +1,9 @@
$DEF_MDEMONIC = 0;
$DEF_MSTUNNEL = 0;
+$DEF_MGENERIC = 0;
$DEF_CONF_TYPE = "inetd";
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
@@ -85,7 +86,7 @@ running and active. You *do* have inetd, don't you?
EOF
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
@@ -174,7 +175,7 @@ hangs when you try to access it, you must disable this restriction ('n').
Restrict HTTPi to a single process?
EOF
-$PORT_NO = &prompt(<<"EOF", "80") unless (!$DO_INSTALL);
+$DEF_TCP_PORT = $PORT_NO = &prompt(<<"EOF", "80") unless (!$DO_INSTALL);
What numerical TCP port do you want the webserver to run on? 80 is the default
but if you're using configure to build multiple HTTPis on multiple ports,
make sure you give a different answer this time.
View
@@ -1,8 +1,9 @@
$DEF_MDEMONIC = 0;
$DEF_MSTUNNEL = 0;
+$DEF_MGENERIC = 0;
$DEF_CONF_TYPE = "launchd";
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
@@ -70,7 +71,7 @@ EOF
&firstchecks;
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
@@ -158,7 +159,7 @@ multiple sockets. Make sure that ports don't conflict either.
Which IP address to bind to?
EOF
-$PORT_NO = &prompt(<<"EOF", "80") unless (!$DO_INSTALL);
+$DEF_TCP_PORT = $PORT_NO = &prompt(<<"EOF", "80") unless (!$DO_INSTALL);
What numerical TCP port do you want the webserver to run on? 80 is the default
but if you're using configure to build multiple HTTPis on multiple ports,
make sure you give a different answer this time.
View
@@ -2,13 +2,16 @@
$DEF_MDEMONIC = 0;
$DEF_MSTUNNEL = 1;
+$DEF_MGENERIC = 0;
$DEF_CONF_TYPE = "stunnel";
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
+($@)
+
EOF
&prompt(<<"EOF", "") unless ($DEFAULT);
@@ -95,12 +98,14 @@ You need to have this file set up and configured BEFORE you run this script.
EOF
}
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
the current directory.
+($@)
+
EOF
unless (!$DO_INSTALL) {
@@ -119,7 +124,7 @@ EOF
$IP_ADDR = ($IP_ADDR eq 'default') ? '' : "${IP_ADDR}:";
-$PORT_NO = &prompt(<<"EOF", "443");
+$DEF_TCP_PORT = $PORT_NO = &prompt(<<"EOF", "443");
What numerical TCP port do you want the webserver to run on? 443 is the default
for HTTPS, but if you're using configure to build multiple HTTPis on multiple
ports, make sure you give a different answer this time.
View
@@ -1,12 +1,15 @@
$DEF_MDEMONIC = 0;
$DEF_MSTUNNEL = 0;
+$DEF_MGENERIC = 0;
$DEF_CONF_TYPE = "xinetd";
-eval 'require "consubs.pl";'; die(<<"EOF") if ($@);
+eval 'require "./consubs.pl";'; die(<<"EOF") if ($@);
Could not load consubs.pl, which is required for running the configure script.
Please make sure it's in the current directory.
+($@)
+
EOF
&prompt(<<"EOF", "") unless ($DEFAULT);
@@ -75,12 +78,14 @@ this message spuriously. Sorry. Symlink it, or something.
EOF
-eval 'require "conquests.pl";'; die(<<"EOF") if ($@);
+eval 'require "./conquests.pl";'; die(<<"EOF") if ($@);
Could not load conquests.pl, which is required as part of the standard
questions suite for all of the configure scripts. Please make sure it's in
the current directory.
+($@)
+
EOF
$USER_ID = &prompt(<<"EOF", $ENV{'SUDO_USER'} || $ENV{'USER'} || 'nobody') unless (!$DO_INSTALL);
@@ -130,7 +135,7 @@ multiple sockets. Make sure that ports don't conflict either.
Which IP address to bind to?
EOF
-$PORT_NO = &prompt(<<"EOF", "80");
+$DEF_TCP_PORT = $PORT_NO = &prompt(<<"EOF", "80");
What numerical TCP port do you want the webserver to run on? 80 is the default
but if you're using configure to build multiple HTTPis on multiple ports,
make sure you give a different answer this time.
Oops, something went wrong.

0 comments on commit 80e1f89

Please sign in to comment.