ocamlnet-3.7.3/ 0000755 0001750 0001750 00000000000 12210163244 011745 5 ustar gerd gerd ocamlnet-3.7.3/Makefile 0000644 0001750 0001750 00000004255 12210163242 013411 0 ustar gerd gerd # make all: compiles the configured packages with ocamlc # make opt: compiles the configured packages with ocamlopt # make install: installs the configured packages # make clean: cleans everything up # Inclusion of Makefile.conf may fail when cleaning up: -include Makefile.conf NAME=ocamlnet TOP_DIR=. # PKGLIST: should be set in Makefile.conf. It contains the packages to # compile and to install. The following assignment sets it to its # default value if no Makefile.conf exists. PKGLIST ?= netstring cgi .PHONY: all all: for pkg in $(PKGLIST); do \ ( cd src/$$pkg && $(MAKE) -f Makefile.pre generate ) || exit; \ ( cd src/$$pkg && $(MAKE) -f Makefile.pre depend ) || exit; \ ( cd src/$$pkg && $(MAKE) all ) || exit; \ done .PHONY: opt opt: for pkg in $(PKGLIST); do \ ( cd src/$$pkg && $(MAKE) -f Makefile.pre generate ) || exit; \ ( cd src/$$pkg && $(MAKE) -f Makefile.pre depend ) || exit; \ ( cd src/$$pkg && $(MAKE) opt ) || exit; \ done .PHONY: doc doc: for pkg in src/*/.; do \ test ! -f $$pkg/Makefile -o -f $$pkg/doc-ignore || \ { ( cd $$pkg && $(MAKE) -f Makefile.pre generate ) || exit; \ ( cd $$pkg && $(MAKE) -f Makefile.pre depend ) || exit; \ ( cd $$pkg && $(MAKE) ocamldoc.dump ) || exit; \ }; \ done cd doc; $(MAKE) doc # The following PHONY rule is important for Cygwin: .PHONY: install install: for pkg in $(PKGLIST); do \ ( cd src/$$pkg && $(MAKE) -f Makefile.pre install ) || exit; \ done .PHONY: uninstall uninstall: for pkg in src/*/.; do \ test ! -f $$pkg/Makefile || \ ( cd $$pkg && $(MAKE) -f Makefile.pre uninstall); \ done .PHONY: clean clean: for pkg in src/*/.; do \ test ! -f $$pkg/Makefile || \ ( cd $$pkg && $(MAKE) -f Makefile.pre clean); \ done if test -f doc/Makefile; then cd doc && $(MAKE) clean; fi .PHONY: clean-doc clean-doc: for pkg in src/*/.; do \ test ! -f $$pkg/Makefile -o -f $$pkg/doc-ignore || \ ( cd $$pkg && $(MAKE) -f Makefile.pre clean-doc); \ done cd doc && $(MAKE) clean-doc .PHONY: CLEAN CLEAN: clean .PHONY: distclean distclean: rm -f Makefile.conf rm -rf tmp for pkg in src/*/.; do \ test ! -f $$pkg/Makefile || \ ( cd $$pkg && $(MAKE) -f Makefile.pre distclean); \ done ocamlnet-3.7.3/INSTALL 0000644 0001750 0001750 00000021661 12210163242 013002 0 ustar gerd gerd How to install ocamlnet ocamlnet is a quite large library, and is split up into several parts. Usually, it is not necessary to install all of ocamlnet, and there are configuration options allowing you to select what you want. The following table gives a rough overview. The libraries you must build at minimum are tagged as CORE. For the other libraries the configuration option is shown that will select them for build: Library Option What it provides ---------------------------------------------------------------------- cgi CORE This is an alias for netcgi1 equeue CORE Event queues equeue-gtk1 -enable-gtk Event queues - integration into lablgtk equeue-gtk2 -enable-gtk2 Event queues - integration into lablgtk2 equeue-ssl -enable-ssl Event queues - SSL support equeue-tcl -enable-tcl Event queues - integration into labltk netcamlbox CORE Multiprocessing netcgi2 CORE Web applications (revised lib) netcgi2-apache -enable-apache Web applications as Apache module netcgi2-plex CORE Web applications - support for netplex netclient CORE Clients for HTTP, FTP, Telnet nethttpd -with-nethttpd Web server nethttpd-for-netcgi2 (same as nethttpd) netmech-scram -enable-crypto SCRAM authentication mechanism netmulticore CORE Multiprocessing netplex CORE Generic server framework netshm CORE Shared memory for IPC netstring CORE String routines (e.g. URLs, HTML, Mail) netstring-pcre -enable[-full]-pcre PCRE layer netsys CORE System interfaces missing in Unix netzip -enable-zip read/write gzip data using object channels pop CORE POP3 client rpc CORE Sophisticated SunRPC/ONCRPC implementation rpc-auth-dh -with-rpc-auth-dh SunRPC/ONCRPC - Add-on for Diffie-Hellman auth rpc-auth-local CORE (*) SunRPC/ONCRPC - Add-on for local auth rpc-generator CORE SunRPC/ONCRPC - Stub generator rpc-ssl -enable-ssl SunRPC/ONCRPC - Add-on for SSL support rpc-xti CORE (*) SunRPC/ONCRPC - Add-on for XTI-only transports shell CORE Sophisticated version of Sys.command smtp CORE SMTP client ---------------------------------------------------------------------- (*) If the operation system supports it You should know that before ocamlnet-2.2 these libraries were distributed as several software packages (called ocamlnet, equeue, rpc, netclient). If you want to upgrade, you must upgrade all libraries at once and replace them with the versions coming with ocamlnet-2.2. For your convenience, the configuration options allow you to select libraries by prerequisites, e.g. -enable-ssl installs all libraries that need SSL. The following matrix shows which prerequisites are needed for which libraries: Option Prerequisite Version/Where to get/What it is ---------------------------------------------------------------------- CORE findlib >= 1.0 http://www.ocaml-programming.de/packages Library manager -enable-pcre or -enable-full-pcre pcre >= 5 (pcre-ocaml) http://www.ocaml.info/ocaml_sources Regular expressions library CHANGED IN OCAMLNET-3.6.4 !!! PLEASE READ doc/html-main/Regexp.html -enable-gtk lablgtk >= 1.2 (*) http://wwwfun.kurims.kyoto-u.ac.jp/soft/ olabl/lablgtk.html Bindings for gtk GUIs -enable-gtk2 lablgtk2 probably any (*) http://wwwfun.kurims.kyoto-u.ac.jp/soft/ olabl/lablgtk.html Bindings for gtk2 GUIs -enable-ssl ssl probably any (ocaml-ssl) http://savonet.sourceforge.net/ Bindings for openssl -enable-tcl labltk probably any part of the O'Caml distribution Bindings for tcl/tk GUIs -enable-zip camlzip >= 1.01 http://pauillac.inria.fr/~xleroy/software.html Bindings for zlib -enable-crypto cryptokit probably any Xavier Leroy's crypto package -with-nethttpd none none Note: nethttpd must be explicitly selected because it is distributed under different license conditions than the other libraries. See the file LICENSE for more. -with-auth-dh cryptgps probably any http://www.ocaml-programming.de/packages Cryptographic library Note: At runtime, -with-auth-dh needs further prerequisites, namely the so-called keyserv daemon. ---------------------------------------------------------------------- (*) The distribution of this prerequite does not include findlib support. It is, however, silently assumed the prerequisite library is installed in the findlib way. Sorry if this is inconvenient for you. In order to configure ocamlnet, just run the "configure" script with the mentioned options (-enable-X and -with-X). There are a few other options, as listed below. By default, the library archives are installed into the findlib default location. You can find out this location with the command ocamlfind printconf destdir For every ocamlnet library, a subdirectory is created where the files are installed. The few binary executables are installed into the directory where the ocaml compilers are installed. The data files are installed into the same directory as the netstring archives. The "configure" run shows all effective options. Option What it changes ---------------------------------------------------------------------- -bindir
"; out msg; out "
\n"; out ""; out html; out "
\n";
let date = Netdate.create ~zone:Netdate.localzone now in
printf "Date: %s
\n" (Netdate.format "%c" date);
printf "Script: %s
\n" script_name;
printf "Request method: %s
\n" env#cgi_request_method;
printf "Query string: %s
\n" env#cgi_query_string;
printf "Browser: %s
\n" (String.escaped env#user_agent);
out "