Fix 2004/hibachi/src/localhost/index.html

Many links no longer worked, had changed or are https enabled now. In at
least two cases the Internet Wayback Machine was required but most were
just changed to https. The link to cygwin had changed entirely. The link
to lynx(1) had changed too.

Typo fixes in src/localhost/test0.sh.

Minor updates to README.md.
This commit is contained in:
Cody Boone Ferguson committed 2024-01-20 09:20:55 -08:00
1 parent 8bcf460db4
commit 73512d2e81
4 files changed
+49 -42

No files matched your search

+5 -12
View File
@@ -11,18 +11,11 @@ make
cd build; ./hibachi-start.sh & cd build; ./hibachi-start.sh &
``` ```
## Try:
```sh
cd build; ./hibachi-start.sh &
```
Then use your web browser to visit `http://localhost:8008/`. When you're Then use your web browser to visit `http://localhost:8008/`. When you're
finished make sure to kill `hibachi`. finished make sure to kill `hibachi`.
NOTE: you must be in the `build` directory when running `hibachi` for this to NOTE: you must be in the `build` directory when running `hibachi-start.sh` for
work. this to work right.
## Judges' remarks: ## Judges' remarks:
@@ -45,9 +38,9 @@ so the file does not exist here.
`Hibachi` is a simple, small, and (probably) very secure web server. `Hibachi` is a simple, small, and (probably) very secure web server.
There is a `hibachi.tgz` file that unpacks several support There is a `hibachi.tgz` file (NOTE: this file was removed by the judges after
files and a subdirectory tree containing the documentation and extraction) that unpacks several support files and a subdirectory tree
examples. It can be viewed by: containing the documentation and examples. It can be viewed by:
```sh ```sh
tar -zxf hibachi.tgz tar -zxf hibachi.tgz
+34 -28
View File
@@ -49,7 +49,7 @@ Snert . Com - Software - Hibachi
they're completely portable. they're completely portable.
<p class="small">- <p class="small">-
<a href="http://eat.epicurious.com/dictionary/food/index.ssf?DEF_ID=2150"> <a href="https://www.epicurious.com/?DEF_ID=2150">
epicurious.com food dictionary</a> epicurious.com food dictionary</a>
</p> </p>
</blockquote> </blockquote>
@@ -60,20 +60,20 @@ Snert . Com - Software - Hibachi
<p> <p>
<span class="hibachi">HIBACHI</span> is a simple, small, and secure web server with virtual <span class="hibachi">HIBACHI</span> is a simple, small, and secure web server with virtual
host and CGI support. It is a limited implementation of <a href="reference/rfc2616.html">RFC 2616</a> host and CGI support. It is a limited implementation of <a href="reference/rfc2616.html">RFC 2616</a>
and the <a href="http://www.w3.org/CGI/">CGI/1.1 Specification</a>. and the <a href="https://www.w3.org/CGI/">CGI/1.1 Specification</a>.
<span class="hibachi">HIBACHI</span> was written as an entry for the <span class="hibachi">HIBACHI</span> was written as an entry for the
<a href="https://www.ioccc.org/">International Obfuscated C Code Contest</a> and works <a href="https://www.ioccc.org/">International Obfuscated C Code Contest</a> and works
for any Unix variant including the <a href="http://sources.redhat.com/cygwin/">Cygwin</a> for any Unix variant including the <a href="https://www.cygwin.com">Cygwin</a>
environment for Windows. environment for Windows.
</p> </p>
<p> <p>
<span class="hibachi">HIBACHI</span> supports dynamic web content through the use of the <span class="hibachi">HIBACHI</span> supports dynamic web content through the use of the
<a href="http://www.w3.org/CGI/">Common Gateway Interface (CGI)</a> specification. <a href="https://www.w3.org/CGI/">Common Gateway Interface (CGI)</a> specification.
Just about any scripting or programming language can be used, such as a POSIX shell, Just about any scripting or programming language can be used, such as a POSIX shell,
<a href="http://www.perl.com/">Perl</a>, <a href="https://www.perl.com/">Perl</a>,
<a href="http://www.php.net/">PHP</a>, <a href="https://www.php.net/">PHP</a>,
<a href="http://www.python.org/">Python</a>, and/or <a href="https://www.python.org/">Python</a>, and/or
<a href="http://www.ruby-lang.org/">Ruby</a>. <a href="https://www.ruby-lang.org/">Ruby</a>.
Existing CGI scripts can be used with little or no modification. Existing CGI scripts can be used with little or no modification.
Hibachi executes all CGI scripts as though they were "nph" prefixed, which is to say that it is Hibachi executes all CGI scripts as though they were "nph" prefixed, which is to say that it is
the script's responsibility to send the HTTP status line and necessary headers direct to the client. the script's responsibility to send the HTTP status line and necessary headers direct to the client.
@@ -97,9 +97,10 @@ document tree is rooted at /usr/local/share/hibachi, then:
<p> <p>
<span class="hibachi">HIBACHI</span> is ideal <span class="hibachi">HIBACHI</span> is ideal
for special floppy-Linux distributions, like for special floppy-Linux distributions, like
<a href="http://leka.muumilaakso.org/">Leka</a>, which can be used for rescue, firewall, <a href="https://web.archive.org/web/20040727072140/http://leka.muumilaakso.org/">Leka</a>, which can be used for rescue, firewall,
demo, or dedicated servers. In theory, with some modifications, demo, or dedicated servers. In theory, with some modifications,
<span class="hibachi">HIBACHI</span> and a script interpreter, like <a href="http://www.php.net/">PHP</a>, could also be <span class="hibachi">HIBACHI</span> and a script interpreter, like <a
href="https://www.php.net/">PHP</a>, could also be
bundled with CDROMS that require a means of presenting dynamic web pages. bundled with CDROMS that require a means of presenting dynamic web pages.
</p> </p>
@@ -109,22 +110,26 @@ bundled with CDROMS that require a means of presenting dynamic web pages.
<ul> <ul>
<li>Supports virtual hosts.</li> <li>Supports virtual hosts.</li>
<li>Supports all MIME types.</li> <li>Supports all MIME types.</li>
<li>Supports Common Gateway Interface (<a href="http://www.w3.org/CGI/">CGI</a>) scripts and programs.</li> <li>Supports Common Gateway Interface (<a href="https://www.w3.org/CGI/">CGI</a>) scripts and programs.</li>
<li>Supports multiple index.* file types, ie. index.html, index.php, index.pl</li> <li>Supports multiple index.* file types, ie. index.html, index.php, index.pl</li>
<li>Supports subset of <a href="reference/rfc2616.html">RFC 2616</a> HTTP/1.1 methods GET, HEAD, and POST.</li> <li>Supports subset of <a href="reference/rfc2616.html">RFC 2616</a> HTTP/1.1 methods GET, HEAD, and POST.</li>
<li>Simple &amp; straight forward configuration using environment variables.</li> <li>Simple &amp; straight forward configuration using environment variables.</li>
<li>Portability across Unix-like environments, ie. <a href="http://sources.redhat.com/cygwin/">Cygwin</a>, <a href="http://www.freebsd.org/">FreeBSD</a>, Linux, SunOS.</li> <li>Portability across Unix-like environments, ie. <a
<li>Known to work with <a href="http://lynx.isc.org/lynx-2.8.3/index.html">Lynx</a>, <a href="http://www.mozilla.org/">Mozilla</a>, <a href="http://www.opera.com/">Opera</a>, and Internet Explorer web browsers.</li> href="https://www.cygwin.com">Cygwin</a>, <a href="https://www.freebsd.org/">FreeBSD</a>, Linux, SunOS.</li>
<li>Known to work with <a href="https://lynx.invisible-island.net">Lynx</a>, <a
href="https://www.mozilla.org/">Mozilla</a>, <a href="https://www.opera.com/">Opera</a>, and Internet Explorer web browsers.</li>
<li>Is a dedicated process-forking server that does not use inetd.</li> <li>Is a dedicated process-forking server that does not use inetd.</li>
<li>Is secure against relative path file snooping.</li> <li>Is secure against relative path file snooping.</li>
<li>Is secure against directory searches.</li> <li>Is secure against directory searches.</li>
<li>~155 lines of source, 1940 bytes long by <a href="https://www.ioccc.org/">IOCCC</a> 2004 rules, ~6KB compiled &amp; stripped on FreeBSD.</li> <li>~155 lines of source, 1940 bytes long by <a href="https://www.ioccc.org/">IOCCC</a> 2004 rules, ~6KB compiled &amp; stripped on FreeBSD.</li>
<li>Superior &amp; smaller than <a href="http://www.acme.com/software/micro_httpd/">micro_httpd</a> from <a href="http://www.acme.com/">ACME</a>.</li> <li>Superior &amp; smaller than <a
href="https://www.acme.com/software/micro_httpd/">micro_httpd</a>
from <a href="https://www.acme.com/">ACME</a>.</li>
<li>And has a really cool animated logo too.</li> <li>And has a really cool animated logo too.</li>
</ul> </ul>
<!-- <!--
<a href="http://www.borland.com/products/downloads/download_cbuilder.html">Borland C++ 5.5</a> free command-line compiler and debugger <a href="https://web.archive.org/web/20041231023050/http://www.borland.com/products/downloads/download_cbuilder.html">Borland C++ 5.5</a> free command-line compiler and debugger
--> -->
<a name="Installation"></a> <a name="Installation"></a>
@@ -212,7 +217,7 @@ you should be able to access the server from the Internet using an IP or host na
</p> </p>
<blockquote><pre> <blockquote><pre>
http://64.81.251.233:8008/ https://185.199.111.153
https://www.ioccc.org:8008/ https://www.ioccc.org:8008/
</pre></blockquote> </pre></blockquote>
@@ -241,21 +246,21 @@ These CGI scripts perform some basic tests on the handling of GET and POST reque
cookies, and the passing of environment variables to CGI scripts. These CGI scripts cookies, and the passing of environment variables to CGI scripts. These CGI scripts
assume that <span class="path">/bin/sh</span> is a POSIX compliant shell and the assume that <span class="path">/bin/sh</span> is a POSIX compliant shell and the
standard set of POSIX utilities are available. Should work for all Unix variants standard set of POSIX utilities are available. Should work for all Unix variants
and <a href="http://sources.redhat.com/cygwin/">Cygwin</a>. and <a href="https://www.cygwin.com">Cygwin</a>.
</dd> </dd>
<dt><a href="test/perl/">Perl Example</a></dt> <dt><a href="test/perl/">Perl Example</a></dt>
<dd> <dd>
<a href="http://www.perl.com/"><img alt="Powered by Perl" src="Img/rectangle_power_perl.gif" width="88" height="31" border="0" hspace="20" align="right"></a> <a href="https://www.perl.com/"><img alt="Powered by Perl" src="Img/rectangle_power_perl.gif" width="88" height="31" border="0" hspace="20" align="right"></a>
This example queries the Yahoo web site for a stock quote to insert into a web page. This example queries the Yahoo web site for a stock quote to insert into a web page.
<u><i>This example requires a browser with JavaScript support </i></u> and <u><i>This example requires a browser with JavaScript support </i></u> and
should work for all Unix variants and <a href="http://sources.redhat.com/cygwin/">Cygwin</a>, when Perl is installed. should work for all Unix variants and <a href="https://www.cygwin.com">Cygwin</a>, when Perl is installed.
</dd> </dd>
<dt><a href="test/php/">PHP Example</a></dt> <dt><a href="test/php/">PHP Example</a></dt>
<dd> <dd>
<a href="http://www.php.net/"><img alt="Powered by PHP" src="Img/php-small-trans-light.gif" width="88" height="31" border="0" hspace="20" align="right"></a> <a href="https://www.php.net/"><img alt="Powered by PHP" src="Img/php-small-trans-light.gif" width="88" height="31" border="0" hspace="20" align="right"></a>
This PHP example generates a calendar complete with ISO 8601:2000 week numbers. This PHP example generates a calendar complete with ISO 8601:2000 week numbers.
<!-- <!--
This example shows how PHP might be used to format the result of a web form into This example shows how PHP might be used to format the result of a web form into
@@ -264,7 +269,7 @@ something human readable suitable for sending by email.
<p> <p>
The Windows PHP CGI binary distribution from the The Windows PHP CGI binary distribution from the
<a href="http://www.php.net/">PHP</a> web site does not work within the <a href="http://sources.redhat.com/cygwin/">Cygwin</a> <a href="https://www.php.net/">PHP</a> web site does not work within the <a href="https://www.cygwin.com">Cygwin</a>
environment. Instead, download the source distribution and build the PHP CGI and CLI versions from scratch environment. Instead, download the source distribution and build the PHP CGI and CLI versions from scratch
from within Cygwin. <!-- The CLI is desired, since it behaves more like an nph-CGI. --> from within Cygwin. <!-- The CLI is desired, since it behaves more like an nph-CGI. -->
The following commands were used to build: The following commands were used to build:
@@ -311,7 +316,7 @@ Click here to display the <a href="test/php/info.php">PHP Info</a> configuration
<dt><a href="test/ruby/">Ruby Example</a></dt> <dt><a href="test/ruby/">Ruby Example</a></dt>
<dd> <dd>
This example validates and/or generates Luhn check-digits. This example validates and/or generates Luhn check-digits.
Should work for all Unix variants and <a href="http://sources.redhat.com/cygwin/">Cygwin</a>, Should work for all Unix variants and <a href="https://www.cygwin.com/">Cygwin</a>,
when Ruby is installed. when Ruby is installed.
</dd> </dd>
</dl> </dl>
@@ -323,7 +328,7 @@ when Ruby is installed.
<table border="0" cellspacing="4" cellpadding="0"> <table border="0" cellspacing="4" cellpadding="0">
<tr valign="middle"> <tr valign="middle">
<td align="right"> <td align="right">
<a href="http://www.freebsd.org/"><img alt="FreeBSD" src="Img/freebsd.gif" width="94" height="39" border="0" hspace="20" border="0"></a> <a href="https://www.freebsd.org/"><img alt="FreeBSD" src="Img/freebsd.gif" width="94" height="39" border="0" hspace="20" border="0"></a>
</td> </td>
<td rowspan="4">&nbsp;&nbsp;&nbsp;</td> <td rowspan="4">&nbsp;&nbsp;&nbsp;</td>
<td> <td>
@@ -340,7 +345,7 @@ when Ruby is installed.
</tr> </tr>
<tr valign="middle"> <tr valign="middle">
<td bgcolor="#594FBF" align="right"> <td bgcolor="#594FBF" align="right">
<a href="http://www.sun.com/"><img src="Img/sun_logo.gif" width="94" height="39" border="0" alt="Sun Microsystems Logo" vspace="0" hspace="20"></a> <a href="https://www.oracle.com/it-infrastructure/"><img src="Img/sun_logo.gif" width="94" height="39" border="0" alt="Sun Microsystems Logo" vspace="0" hspace="20"></a>
</td> </td>
<td> <td>
5.8 5.8
@@ -348,12 +353,13 @@ when Ruby is installed.
</tr> </tr>
<tr valign="middle"> <tr valign="middle">
<td align="right"> <td align="right">
<!-- <span class="large" style="position: relative; top: -8px">+</span> --><a href="http://sources.redhat.com/cygwin/"><img alt="Cygwin Unix Emulation" src="Img/cygwin-icon.gif" width="28" height="28" border="0" hspace="20" vspace="8" align="right"></a> <!-- <span class="large" style="position: relative; top:
-8px">+</span> --><a href="https://www.cygwin.com"><img alt="Cygwin Unix Emulation" src="Img/cygwin-icon.gif" width="28" height="28" border="0" hspace="20" vspace="8" align="right"></a>
<img alt="Microsoft Windows" src="Img/win.gif" width="40" height="40" border="0" style="padding: 3px 6px 0 0;" align="right"> <img alt="Microsoft Windows" src="Img/win.gif" width="40" height="40" border="0" style="padding: 3px 6px 0 0;" align="right">
</td> </td>
<td> <td>
Windows 2000 SP4, Windows XP Pro SP1 Windows 2000 SP4, Windows XP Pro SP1
<br>with <a href="http://sources.redhat.com/cygwin/">Cygwin</a>, gcc 2.95.3-5 <br>with <a href="https://www.cygwin.com">Cygwin</a>, gcc 2.95.3-5
</td> </td>
</tr> </tr>
</table> </table>
@@ -371,7 +377,7 @@ this is an original work and placed in the public domain.
<!-- <!--
<p> <p>
In all cases a monetary donation and/or <a href="http://www.amazon.com/">Amazon</a> In all cases a monetary donation and/or <a href="https://www.amazon.com/">Amazon</a>
wishlist gifts to the author are welcomed, but not required, for the continued wishlist gifts to the author are welcomed, but not required, for the continued
encouragment, moral support, and ego pumping needed to work in foriegn non-english encouragment, moral support, and ego pumping needed to work in foriegn non-english
speaking lands. speaking lands.
@@ -406,7 +412,7 @@ enhancements requests and problem reports are welcome (see logo above).
<div align="center"> <div align="center">
<a href="http://hibachi.snert.org:8008/"> <a href="https://hibachi.snert.org:8008/">
<img alt="Powered by Hibachi" src="Img/powered-by-hibachi-150x75.png" width="150" height="75" border="1" style="color: #000000"></a> <img alt="Powered by Hibachi" src="Img/powered-by-hibachi-150x75.png" width="150" height="75" border="1" style="color: #000000"></a>
</div> </div>
@@ -58,14 +58,14 @@ else
echo "<tr><td>[ BAD ] DOCUMENT_ROOT</td></tr>" echo "<tr><td>[ BAD ] DOCUMENT_ROOT</td></tr>"
fi fi
# Test for existance only, since the location changes. # Test for existence only, since the location changes.
if [ X"$SCRIPT_FILENAME" = X ]; then if [ X"$SCRIPT_FILENAME" = X ]; then
echo "<tr><td>[ BAD ] SCRIPT_FILENAME</td></tr>" echo "<tr><td>[ BAD ] SCRIPT_FILENAME</td></tr>"
else else
echo "<tr><td>[ OK ] SCRIPT_FILENAME</td></tr>" echo "<tr><td>[ OK ] SCRIPT_FILENAME</td></tr>"
fi fi
# Test for existance only, since the default value might change. # Test for existence only, since the default value might change.
if [ X"$SERVER_PORT" = X ]; then if [ X"$SERVER_PORT" = X ]; then
echo "<tr><td>[ BAD ] SERVER_PORT</td></tr>" echo "<tr><td>[ BAD ] SERVER_PORT</td></tr>"
else else
+8
View File
@@ -2994,6 +2994,14 @@ is done this way to prevent extraction from the entry directory overwriting the
files and causing `make clobber` to wipe some of them out. files and causing `make clobber` to wipe some of them out.
## <a name="2004_hibachi"></a>[2004/hibachi](/2004/hibachi/hibachi.c) ([README.md](/2004/hibachi/README.md]))
[Cody](#cody) fixed a bunch of links in the index.html provided with the entry
(web server) that no longer exist or have changed in some other way (`https`
instead of `http` for instance). In most cases a new link or change to https was
all that was necessary but at least one or two URLs required the Internet
Wayback Machine.
## <a name="2004_jdalbec"></a>[2004/jdalbec](/2004/jdalbec/jdalbec.c) ([README.md](/2004/jdalbec/README.md)) ## <a name="2004_jdalbec"></a>[2004/jdalbec](/2004/jdalbec/jdalbec.c) ([README.md](/2004/jdalbec/README.md))