Fix 2004/hibachi/README.md

In order for connecting to the webserver one needs to start it from the
build subdirectory.

Format fix README.md.

Added links(1) :-) to the README.md.

Fix country in winners.csv.
This commit is contained in:
Cody Boone Ferguson committed 2023-04-25 06:03:54 -07:00
1 parent 60e9d4210f
commit f3cf06eb85
2 files changed
+60 -50

No files matched your search

+59 -49
View File
@@ -1,12 +1,8 @@
# Best Abuse of the Guidelines
Anthony Howe
Snert
42 av. Isola Bella
06400 Cannes
France
http://www.snert.com/
Anthony Howe
Canada
<http://www.snert.com/>
## To build:
@@ -17,45 +13,52 @@ make
## To run:
```sh
cd build; ./hibachi-start.sh
cd build; ./hibachi-start.sh &
```
## Try:
```sh
cd build; ./hibachi-start.sh
cd build; ./hibachi-start.sh &
```
Then use your web browser to visit http://localhost:8008/
Then use your web browser to visit `http://localhost:8008/`. When you're
finished make sure to kill `hibachi`.
NOTE: you must be in the `build` directory when running `hibachi` for this to
work.
## Judges' remarks:
This entry violates the guidelines in so many ways! We are not
exactly sure how many org's will be upset with this entry, but we
are considering starting an IOCCC standards body just to reign in
the likes Mr Howe.
This entry violates the [guidelines](/2004/guidelines.txt) in so many ways! We
are not exactly sure how many organisations will be upset with this entry, but
we are considering starting an IOCCC standards body just to reign in the likes
of Mr Howe.
This entry also has the dubious honour of being the only one to have
been submitted with its own ./configure script.
This entry also has the dubious honour of being the only one to have been
submitted with its own [configure](build/configure) script.
NOTE: the author states there is a tarball `hibachi.tgz` but this was extracted
so the file does not exist here.
## Author's remarks:
### README.TXT (Feb 2004)
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 that unpacks several support
files and a sub-directory tree containing the documentation and
examples. It can be viewed by:
tar -zxf hibachi.tgz
lynx hibachi/localhost/index.html
```sh
tar -zxf hibachi.tgz
lynx hibachi/localhost/index.html
```
Or once Hibachi is running, use a web browser, preferably one that
Or once `Hibachi` is running, use a web browser, preferably one that
supports images and JavaScript, to view the documentation and try
some of the CGI examples:
http://localhost:8008/
some of the CGI examples, visit: http://localhost:8008/.
### Building
@@ -71,7 +74,7 @@ For Linux (older):
```sh
gcc -DSHUT_WR=1 -o hibachi hibachi.c
``
```
For SunOS:
@@ -79,12 +82,12 @@ For SunOS:
gcc -o hibachi hibachi.c -lnsl -lsocket
```
Since some systems place socket and network functions into other
libraries, a GNU autoconf ./configure script has been provided to
figure out the necessary link libraries, to verify all the
necessary headers and functions are present, and setup the #!
paths for the CGI examples. In which case the preferred build
commands are:
Since some systems place socket and network functions into other libraries, a
[GNU autoconf](https://en.wikipedia.org/wiki/Autoconf)
[configure](https://en.wikipedia.org/wiki/Configure_script) script has been
provided to figure out the necessary link libraries, to verify all the necessary
headers and functions are present, and setup the `#!` paths for the CGI
examples. In which case the preferred build commands are:
```
./configure [--enable-port=number]
@@ -94,6 +97,7 @@ make
To start the server on the default port (8008):
```sh
cd build;
./hibachi-start.sh &
```
@@ -113,31 +117,33 @@ kill %1
* Supports virtual hosts.
* Supports all MIME types.
* Supports all [MIME](https://en.wikipedia.org/wiki/MIME) types.
* Supports Common Gateway Interface (CGI) scripts and programs.
* Supports [Common Gateway Interface
(CGI)](https://en.wikipedia.org/wiki/Common_Gateway_Interface) scripts and programs.
* Supports multiple index.* file types:
index.htm, index.html, index.php, index.pl,
index.sh, index.rb, index.py
index.htm, index.html, index.php, index.pl, index.sh, index.rb, index.py
* Supports subset of RFC 2616 HTTP/1.1 methods:
* Supports subset of [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616)
[HTTP](https://en.wikipedia.org/wiki/HTTP)/1.1 methods:
GET, HEAD, and POST
`GET`, `HEAD`, and `POST`
* Simple & straight forward configuration using environment variables.
* Portability across Unix-like environments, such as:
Cygwin, FreeBSD, Linux, SunOS.
* Portability across Unix-like environments, such as: Cygwin, FreeBSD, Linux,
SunOS.
* Known to work with Lynx, Mozilla, Opera, and Internet Explorer
web browsers.
* Is a dedicated process-forking server that does not use inetd.
* Is a dedicated process-forking server that does not use
[inetd](https://en.wikipedia.org/wiki/Inetd).
* Is secure against relative path file snooping.
* Is secure against [relative path file
snooping](https://cwe.mitre.org/data/definitions/23.html).
* Is secure against directory searches.
@@ -147,27 +153,31 @@ kill %1
1940 bytes long by IOCCC 2004 rules,
~6KB compiled & stripped for FreeBSD.
* Superior & smaller than micro_httpd from http://www.acme.com/
* Superior & smaller than
[micro_httpd](http://www.acme.com/software/micro_httpd/) from <http://www.acme.com/>.
* And has a really cool tongue-in-cheek animated logo too.
### Comments
* This code is properly indented using the One True Brace style.
* This code is properly indented using the [One True Brace
style](https://wiki.c2.com/?OneTrueBraceStyle).
* HTTP/1.0 200 OK == HTTP/1.1 200 OK CRLF Connection: close ?
* `HTTP/1.0 200 OK` == `HTTP/1.1 200 OK CRLF Connection: close` ?
* getenv() == putenv() ?
* `getenv()` == `putenv()` ?
* Hibachi can serve www.ioccc.org.
* `Hibachi` can serve [www.ioccc.org](https://www.ioccc.org).
* Commented spoiler available.
### Known Issues
* The "links" text browser does not support RFC 2616 section 7.2.1
* The [links][1] text browser does not support RFC 2616 section 7.2.1
paragraph 3 sentence 2, and so fails to display responses from
hibachi.
`hibachi`.
[1]: https://en.wikipedia.org/wiki/Links_(web_browser)
### Suggested IOCCC Categories
+1 -1
View File
@@ -17,7 +17,7 @@ Andrea Marangoni,Andrea_Marangoni,http://www.andreamarangoni.it,null,andrea@andr
Andreas Gustafsson,Andreas_Gustafsson,http://www.araneus.fi/gson/,null,gson@araneus.fi,null,null
Andrew T. Shapiro,Andrew_Shapiro,null,null,null,null,null
Andy Sloane,Andy_Sloane,null,null,null,US,null
Anthony C. Howe,Anthony_C._Howe,http://www.snert.com/,null,achowe@snert.com,Montreal, Quebec
Anthony C. Howe,Anthony_C._Howe,http://www.snert.com/,achowe@snert.com,Canada,null
Anton Älgmyr,Anton_Älgmyr,null,null,algmyr@student.chalmers.se,null,@aalgmyr
Arch D. Robison,Arch_D_Robison,null,null,null,null,null
Arne "Timwi" Heizmann,Arne_"Timwi"_Heizmann,null,null,timwi@gmx.net,Germany,null
Can't render this file because it contains an unexpected character in line 23 and column 6.