AminetAminet
Search:
84799 packages online
About
Recent
Browse
Search
Upload
Setup
Services

comm/www/hiawatha-6.12-bin-m68k.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric icon
No screenshot available
Short:Small and robust MT webserver
Author:Hugo Leisink
Uploader:megacz usa com
Type:comm/www
Version:6.12
Architecture:m68k-amigaos
Date:2010-12-07
Download:comm/www/hiawatha-6.12-bin-m68k.lha - View contents
Readme:comm/www/hiawatha-6.12-bin-m68k.readme
Downloads:886

----==================================================================----
THIS IS VERY SPECIAL AMINET UPLOAD SINCE SOME FILES DISAPPEARED FROM BTTR
AFTER THE DISK ARRAY CRASH...
----==================================================================----

hiawatha-6.12
--------------

---

Hiawatha is a secure webserver for Unix(and Amiga of course). It has been
written with 'being secure' as its main goal. Hiawatha has lots of features
that no other webserver has. This and the fact that Hiawatha's source code
is free of security-bugs, makes Hiawatha the most secure webserver available.

(Hiawatha v6.12, cache, CommandChannel, SSL, URL toolkit, XSLT)

---

NEWS:
     [31-May-09]   6.12  * Added AmiSSL support(more in PROBS).
                         * Compiled with XSLT support.
                         * Linked against 'mst' - new single tasking/
                           multi-node signal ticker(turn on by def.)
                         * Fixed nasty IXPIPE issues.
                         * AmigaDOS and ARexx scripts are treated
                           like binaries(execution timeouts allowed).

     [18-Oct-08]   6.9   * This port does not use signal ticker by
                           default to circumvalent signal clobbering
                           issue, but it is still available - just
                           in case(btw it uses much better impl. now).
                         * File sizes are displayed correctly now
                           in directory listings.
                         * 'PUT' method should now work properly.
                         * 'TimeForCGI=time' can be set per 'Virtual
                           host' and 'Directory' as well.
                         * Increased stacksize of a thread to 80 k.

---

NOTES:

[*]
All builds require 68020+(no FPU), OS 2.04+, 2(4 recommended)+ MiB of
free memory, ixemul 48+, ixnet 48+, bsdsocket 3+, ixpipe-handler 1.1 plus
in case of 'hiawatha[ssl]' AmiSSL 3.5+ has to be installed and properly
configured, and libxml2.ixlibrary, libxslt.ixlibrary and libgcrypt.ixlibrary
(relies on 'RANDOM:'(random-handler)!) must be present.

[*]
Important! 'ixpipe-handler' in 'ixemul' 48.0 and probably less is broken.

[*]
The server works excellent, is stable, very responsive, has working Common
Gateway Interface that allows AmigaShell/Arexx to be utilised, cache
facility, command channel, ssl support, xslt support, and most important
thing, it is both user and cpu friendly. I have squeezed ~600 kilos per
second from my 68040/33 equipped Miggy and OS was still quite responsive.

[*]
This server has working CGI with AGI facility(see 'var/www/hiawatha/cgi-bin/'
directory to get familiar with AGI and 'etc/hiawatha.conf' for config
details). Older scripts can be found in version 6.7 of the server.

[*]
This server is customized to be usable from under one directory(dont copy
anything to your 'gg:'!!!) Just unpack, assign, configure and launch.
You have to assign 'hiawatha:' to the directory where the server is.

[*]
Available native extensions(hardcoded!): .rx, .xgi, .rgi, .bgi and .agi .
To use binaries as CGI add new entry like this one 'CGIhandler = <none>:rgi'
to the config. Difference between (.rx, .xgi, .rgi) and (.bgi, .agi.) is that
that to the first group such template is passed: <sessionport> <method> <contlen>
<rootpath> <uri> <remoteip> <query>, and to the second only <query> with
'&' translated to ' '. This is because ARexx cant read environment variables.
Chars '`', '|' and ':' are always translated to '_' in <query> for security
reasons.

[*]
When using Amiga native applications through BGI make sure they react to
Control-C, it is quite important because you can then use timeout handler
which will terminate lenghty process freeing memory, which is needless to
say precious where its amount is low. Generally you should use BGI for 
large projects where signalling is important, otherwise use scripts.

[*]
When making your own AmigaDOS or ARexx scripts, remember to 'protect' them
with '+se' flags('protect <script> +se')!

[*]
To improve performance of your AGI, place it in 'RAM:' along with its
childern(if possible). You can use 'assign' to create assign tree. For
example:

   ; our base: hiawatha:var/www/hiawatha/cgi-bin/
   makedir ram:hiawatha ram:hiawatha/www ram:hiawatha/www/hiawatha ram:hiawatha/www/hiawatha/cgi-bin
   copy myscript.agi ram:hiawatha/www/hiawatha/cgi-bin/
   assign hiawatha: ram:hiawatha add

Now your script will be acting as a ghost, you wont see it in the 'Index of',
but it is there :)

[*]
Memory consumption of a thread is something like 80 kilos, plus if you spawn
some new process through CGI you need to add amount of stack 'hiawatha' was
launched with - by default 32 kilos, so 80 + 32 = 112 kilos per thread without
any extra memory allocations. At most ~128 kilos per thread is needed. In
practise each thread consumes ~180 kilos.

[*]
'RunOnAlter' related program/script should not block as there is no timeout
handler and we must get rid of zombie(nothing bad will happen if it blocks
but this will cause memory not to be returned after request, so you may run
out of free memory pretty quick if someone calls it frequently) If you need
to do anything in the background then call 'agirun' along with your script
or binary and 'run' that something from under it with lower 'stack', or use 
'SystemTagList()' with 'SYS_Asynch' turned on.

[*]
SIGKILL has been turned into SIGINT in timeout handlers, so no brutal process
removal can take place. But that is not all, signalling tasks is also improved.
From now on you start anything(scripts, bins) and it can be safely terminated.

[*]
'cgi-wrapper' and 'php-fcgi' are not tested!

[*]
'Broken pipe' or 'The requested document contains no data.' messages you will
be receiving if there is not enough memory, 'MaxRequestSize' is smaller than
request or if there is no sockets left. 

[*]
Be extremally careful with req. size value, its amount of memory that will be
allocated each time someone POST/GET something to your server. Its best to keep
it low and hook up a script-daemon that can handle POST at other port.

[*]
There are two new command line options:

         -s <num>: set new stack size for threads(def:80, 64-512 k).
         -D <num>: set new mst(signal ticker) delay(def:8, 0(off)-60 s).

First is to set new stack for threads, it was fixed value of 512 k, but 80 k
is fair enough imo, at least watchdogs of any kind remain silent - no memory
trashes detected.

The second one is to activate/set MasterSignalTicker delay. What is MST?
Its a handler that is able to emit signals to the tasks, in this case we
want to receive 0x80000000 signal every 8 seconds to get rid of possible
thread lockups. What the hell are thread lockups? These occur mostly
with emulated by 'pthread' system timers used in functions like 'sleep()',
'usleep()', 'nanosleep()', 'select()' and so on. MST is a kind of watchdog
that helps to resume the scheduler. Altough, i have minimised the risk of
thread lockups to nearly zero i cant predict everything, so this option
is still of help.

[*]
As to 'CommandChannel' you need 'md5' utility to generate password(letters
in hex string must be lower case), the def. password is "hctrl". 'hctrl'
utility can be in your 'c:' for more comfortable use.

[*]
If you can not afford multiple domains, then you can use 'ln' to add symbolic
links(known to work well on latest FFS and SFS), thus make possible to map
every drawer anywhere to the one where the root directory is. You may try to
put some names bound to '127.0.0.1' in file 'hosts' of your TCP/IP stack
as well.

[*]
When you do mods to the configuration files you should invoke the server
directly instead of using control utility to be able to see potential errors.

[*]
Changing process priority of server to 1 and up is not recommended, not even
if your Amiga acts as a server only. It best to keep it on 0 or minus value.

[*]
By default server listens on any interface on port 8008. '127.0.0.1' and any
other interface is bound to weclome site and 'localhost' gives listings.

[*]
In order to configure Ami(Open)SSL, copy 'openssl.cnf' to 'AmiSSL:'!

[*]
Please dont bother Hugo Leisink(the author) about Amiga specific stuff, but
send your questions directly to me(email at the end of this file).

---

PROBS:

[*]
Avoid programs who read data only from standard input and do not quit peacefully
on error but wait for input on 'Input()' or 'stdin' - this will hang CGI process,
unless there is a way to send EOF('FIFO:' is the most powerful and allows lots of
tricks to be performed thru it) to such proggy.

[*]
Remember! When making your own CGI in C avoid 'Write()' to 'Output()' - this is
evil, so use 'FWrite()' or everything that is buffered. If you need to sync.
the unbuffered output with buffered one, use call to some buffered function in
the process that typically uses unbuffered ones. Yes, i know this might be
difficult to do, so it will probably work for scripts only.

[*]
AmiSSL is not thread-safe, but i have solved the problem of stealing the time by
one thread, however there are drawbacks anyway... First is, AmiSSL is slow with
long keys(heavy cpu load). Second, AmiSSL connections slow down non-AmiSSL ones
considerably when they are not throttled. 5 KiB/s per thread on 68040 is perhaps
reasonable value. What i recommend is to use SSL only for login purposes and
then use standard protocol.

---

USAGE:

Usage: bin/hiawatha [options]
Options: -c <path>: path to where the configrationfiles are located.
         -s <num>: set new stack size for threads(def:80, 64-512 k).
         -D <num>: set new mst(signal ticker) delay(def:8, 0(off)-60 s).
         -h: show this information and exit.
         -k: check configuration and exit.
         -v: show version and compile information and exit.

---

EXAMPLES:

   ; out of the box usage(http://127.0.0.1:8008, http://localhost:8008) 
   cd hiawatha-6.12-bin-m68k/
   assign hiawatha: hiawatha/
   hiawatha:bin/hctrl start

   ; add new drawer(s) to the 'filesystem' directory
   hiawatha:bin/ln -s /ram /hiawatha/var/www/hiawatha/filesystem
   hiawatha:bin/ln -s /fonts /hiawatha/var/www/hiawatha/filesystem

   ; give yourself some more comfort while others download a lot
   ktm [hiawatha:bin/hiawatha] -1

   ; stopping the server
   hiawatha:bin/hctrl stop

---

SSL(key and cert generation):

   ; dont forget to setup proper SSL binding in the config!
   cd hiawatha-6.12-bin-m68k/etc/
   openssl genrsa -out privkey.pem 512
   openssl req -new -x509 -days 365 -key privkey.pem -out privcert.pem
   type >serverkey.pem privcert.pem
   echo >>serverkey.pem ""
   type >>serverkey.pem privkey.pem
   echo >>serverkey.pem ""

---
megacz@usa.com


Contents of comm/www/hiawatha-6.12-bin-m68k.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                  627    1256  49.9% -lh5- d63c Jun 17  2008 hiawatha-6.12-bin-m68k/agitools/agidump.c
[generic]                  620    1245  49.8% -lh5- 5a8a Oct 23  2008 hiawatha-6.12-bin-m68k/agitools/agidumpln.c
[generic]                  845    1800  46.9% -lh5- 6fe0 Jun 12  2008 hiawatha-6.12-bin-m68k/agitools/agirun.c
[generic]                  942    2731  34.5% -lh5- 38d8 Jun 17  2008 hiawatha-6.12-bin-m68k/agitools/agistrlen.c
[generic]                  258     565  45.7% -lh5- 4617 Oct 23  2008 hiawatha-6.12-bin-m68k/agitools/Makefile
[generic]                  315     722  43.6% -lh5- a876 Oct 23  2008 hiawatha-6.12-bin-m68k/agitools/SMakefile
[generic]                   61      61 100.0% -lh0- 1015 Jun  7  2007 hiawatha-6.12-bin-m68k/AUTHORS
[generic]                 8679   28496  30.5% -lh5- c31b Sep 12  2008 hiawatha-6.12-bin-m68k/ChangeLog
[generic]                 2955   10316  28.6% -lh5- 7be4 Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/cgi-wrapper.c
[generic]                 5989   23322  25.7% -lh5- 1d8f Jul 26  2009 hiawatha-6.12-bin-m68k/chunks/cgi.c
[generic]                 3078   12899  23.9% -lh5- 120c Jul 25  2009 hiawatha-6.12-bin-m68k/chunks/client.c
[generic]                 3116   10329  30.2% -lh5- f9a8 May 27  2009 hiawatha-6.12-bin-m68k/chunks/command.c
[generic]                 1050    3638  28.9% -lh5- ce8d Jul 25  2009 hiawatha-6.12-bin-m68k/chunks/config.h.in
[generic]                50590  226991  22.3% -lh5- 1286 Apr  9  2009 hiawatha-6.12-bin-m68k/chunks/configure
[generic]                  113     161  70.2% -lh5- 43c0 Oct 13  2008 hiawatha-6.12-bin-m68k/chunks/configure-ami
[generic]                 2247    8130  27.6% -lh5- 6e7f Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/envir.c
[generic]                13697   53952  25.4% -lh5- 2659 Jul 27  2009 hiawatha-6.12-bin-m68k/chunks/hiawatha.c
[generic]                 1166    3845  30.3% -lh5- dcb7 May 25  2009 hiawatha-6.12-bin-m68k/chunks/libip.c
[generic]                  432    1073  40.3% -lh5- d4f2 Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/libip.h
[generic]                 2977   10495  28.4% -lh5- eedf May 27  2009 hiawatha-6.12-bin-m68k/chunks/libssl.c
[generic]                 2484    9471  26.2% -lh5- 627e Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/log.c
[generic]                10409   70438  14.8% -lh5- 8fd5 Jul 25  2009 hiawatha-6.12-bin-m68k/chunks/Makefile.in
[generic]                  873    2735  31.9% -lh5- 3e39 Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/mimetype.c
[generic]                  792    1945  40.7% -lh5- 0717 May 30  2009 hiawatha-6.12-bin-m68k/chunks/natsocket.c
[generic]                 2724    9383  29.0% -lh5- 6cad Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/php-fcgi.c
[generic]                 3933   17332  22.7% -lh5- 6d5c Jul 26  2009 hiawatha-6.12-bin-m68k/chunks/send.c
[generic]                11478   54630  21.0% -lh5- 4b7b May 27  2009 hiawatha-6.12-bin-m68k/chunks/serverconfig.c
[generic]                 1936    7096  27.3% -lh5- 7dc2 Apr 12  2009 hiawatha-6.12-bin-m68k/chunks/serverconfig.h
[generic]                11275   44909  25.1% -lh5- 69ca Jul 27  2009 hiawatha-6.12-bin-m68k/chunks/target.c
[generic]                 7244   18687  38.8% -lh5- 041e Apr 25  2007 hiawatha-6.12-bin-m68k/COPYING
[generic]                 3132   10464  29.9% -lh5- 3c7e Oct 18  2008 hiawatha-6.12-bin-m68k/hctrl/hctrl.c
[generic]                  152     191  79.6% -lh5- 367b Jun 10  2008 hiawatha-6.12-bin-m68k/hctrl/Makefile
[generic]                  299     356  84.0% -lh5- b2b1 Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/bin/agidump
[generic]                  294     356  82.6% -lh5- 09fa Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/bin/agidumpln
[generic]                  372     452  82.3% -lh5- ca86 Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/bin/agirun
[generic]                  371     532  69.7% -lh5- 601c Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/bin/agistrlen
[generic]                14164   25640  55.2% -lh5- 27b2 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/cgi-wrapper
[generic]                 4426    8276  53.5% -lh5- d5c8 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/hctrl
[generic]               100992  198436  50.9% -lh5- 1302 Jul 27  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/hiawatha
[generic]               107284  209660  51.2% -lh5- 969c Jul 27  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/hiawatha[ssl]
[generic]                26481   51460  51.5% -lh5- c780 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/ln
[generic]                14163   25124  56.4% -lh5- e61a Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/php-fcgi
[generic]                27383   53688  51.0% -lh5- f879 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/bin/wigwam
[generic]                12157   40000  30.4% -lh5- a6d5 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/doc/html/hiawatha.html
[generic]                 1374    2969  46.3% -lh5- 2745 Jul 25  2009 hiawatha-6.12-bin-m68k/hiawatha/doc/man/man1/cgi-wrapper.1
[generic]                10565   32669  32.3% -lh5- 3d95 Jul 25  2009 hiawatha-6.12-bin-m68k/hiawatha/doc/man/man1/hiawatha.1
[generic]                  374     638  58.6% -lh5- 952a Oct  9  2008 hiawatha-6.12-bin-m68k/hiawatha/doc/man/man1/newroot.1
[generic]                  909    1933  47.0% -lh5- 039a Jul 25  2009 hiawatha-6.12-bin-m68k/hiawatha/doc/man/man1/php-fcgi.1
[generic]                  769    1548  49.7% -lh5- baf6 Oct  9  2008 hiawatha-6.12-bin-m68k/hiawatha/doc/man/man1/wigwam.1
[generic]                  231     404  57.2% -lh5- dbd9 May 30  2008 hiawatha-6.12-bin-m68k/hiawatha/etc/cgi-wrapper.conf
[generic]                 1681    3685  45.6% -lh5- 1bfb Oct  1  2009 hiawatha-6.12-bin-m68k/hiawatha/etc/httpd.conf
[generic]                 1164    2458  47.4% -lh5- 9f00 May 30  2008 hiawatha-6.12-bin-m68k/hiawatha/etc/httpd.conf_orig
[generic]                  663    1604  41.3% -lh5- 7efb Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/etc/mimetype.conf
[generic]                  258     526  49.0% -lh5- 9c71 May 30  2008 hiawatha-6.12-bin-m68k/hiawatha/etc/php-fcgi.conf
[generic]                  446     676  66.0% -lh5- d76c May 27  2009 hiawatha-6.12-bin-m68k/hiawatha/etc/privcert.pem
[generic]                  390     497  78.5% -lh5- dfde May 27  2009 hiawatha-6.12-bin-m68k/hiawatha/etc/privkey.pem
[generic]                  796    1175  67.7% -lh5- b1c7 May 27  2009 hiawatha-6.12-bin-m68k/hiawatha/etc/serverkey.pem
[generic]                  616    1400  44.0% -lh5- 9971 Sep 21  2007 hiawatha-6.12-bin-m68k/hiawatha/sh/hiawatha
[generic]                  116     220  52.7% -lh5- fe7f Jan  9  2007 hiawatha-6.12-bin-m68k/hiawatha/sh/mkcert
[generic]                 1002    2488  40.3% -lh5- d07f Apr 25  2007 hiawatha-6.12-bin-m68k/hiawatha/sh/newroot
[generic]                  422     939  44.9% -lh5- bf9b Feb  9  2007 hiawatha-6.12-bin-m68k/hiawatha/sh/php-fcgi
[generic]                 1205    2474  48.7% -lh5- 8f2c Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/backsel.agi
[generic]                17820   17820 100.0% -lh0- 6450 Oct 22  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/data_backsel/2day.gif
[generic]                15726   15726 100.0% -lh0- 698f Oct 22  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/data_backsel/phridai.gif
[generic]                14423   14423 100.0% -lh0- c959 Oct 22  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/data_backsel/xeld.gif
[generic]                 2253    7109  31.7% -lh5- 09ee Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/data_megaget/megaget.c
[generic]                  223     432  51.6% -lh5- 082f Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/data_megaget/SMakefile
[generic]                 1336    2485  53.8% -lh5- 33dc Oct 25  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/megaget.agi
[generic]                 1511    2212  68.3% -lh5- 4d05 Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/megaget.bgi
[generic]                 1210    2483  48.7% -lh5- 420a Oct 25  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/megaget.rx
[generic]                 3237    8499  38.1% -lh5- 1a39 Nov  5  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/post.rx
[generic]                 1437    3336  43.1% -lh5- 5212 Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/sendmsg.agi
[generic]                 1578    3423  46.1% -lh5- 3acc Nov  5  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/stdin.rx
[generic]                 1319    3170  41.6% -lh5- d287 Oct 23  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/cgi-bin/variables.agi
[generic]                 7022    7180  97.8% -lh5- 8534 May 30  2008 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/welcome/feather.jpeg
[generic]                  866    1991  43.5% -lh5- c88e Jul 26  2009 hiawatha-6.12-bin-m68k/hiawatha/var/www/hiawatha/welcome/index.html
[generic]                 1190    2972  40.0% -lh5- 53b3 May 26  2009 hiawatha-6.12-bin-m68k/openssl.cnf
[generic]                  767    1839  41.7% -lh5- e4f0 Oct 23  2008 hiawatha-6.12-bin-m68k/README.agitools
[generic]                 4790   10500  45.6% -lh5- 26f1 Jul 27  2009 hiawatha-6.12-bin-m68k/README.amiga
[generic]                  633    1207  52.4% -lh5- 6931 Oct 18  2008 hiawatha-6.12-bin-m68k/README.hctrl
[generic]                  295     443  66.6% -lh5- f10a Jul 27  2009 hiawatha-6.12-bin-m68k/README.ixlibrary
[generic]                  100     114  87.7% -lh5- d06a Jun 18  2008 hiawatha-6.12-bin-m68k/README.ixstack
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        82 files  565292 1428955  39.6%            Dec  6 20:25
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>