summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorSteve Price <steve@FreeBSD.org>1998-08-09 00:28:23 +0000
committerSteve Price <steve@FreeBSD.org>1998-08-09 00:28:23 +0000
commit9141fabc31da050f21e33eb503d5bc53dc4ad3a3 (patch)
tree94f51d5b4e587ba9353bfe2fba5106d23a332dfc /www
parentUpdate to the June 1998 sources. (diff)
Initial import of Xitami version 2.3d.
A fast, portable multithreaded web server. PR: 4770 Submitted by: Ian Vaudrey <i.vaudrey@cableinet.co.uk>
Notes
Notes: svn path=/head/; revision=12351
Diffstat (limited to 'www')
-rw-r--r--www/xitami/Makefile41
-rw-r--r--www/xitami/distinfo1
-rw-r--r--www/xitami/files/default.html14
-rw-r--r--www/xitami/files/defaults.cfg.tmpl7
-rw-r--r--www/xitami/files/patch-aa48
-rw-r--r--www/xitami/files/patch-ab21
-rw-r--r--www/xitami/files/patch-ac40
-rw-r--r--www/xitami/files/xitami.aut9
-rw-r--r--www/xitami/files/xitami.sh.tmpl27
-rw-r--r--www/xitami/pkg-comment1
-rw-r--r--www/xitami/pkg-deinstall15
-rw-r--r--www/xitami/pkg-descr15
-rw-r--r--www/xitami/pkg-plist31
13 files changed, 270 insertions, 0 deletions
diff --git a/www/xitami/Makefile b/www/xitami/Makefile
new file mode 100644
index 000000000000..72820731c199
--- /dev/null
+++ b/www/xitami/Makefile
@@ -0,0 +1,41 @@
+# New ports collection makefile for: Xitami HTTP Server
+# Version required: 2.3d
+# Date created: 15 Oct 1997
+# Whom: Ian Vaudrey <i.vaudrey@cableinet.co.uk>
+#
+# $Id$
+#
+
+DISTNAME= xiuni23d
+PKGNAME= xitami-2.3d
+CATEGORIES= www
+MASTER_SITES= http://www.imatix.com/pub/xitami/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= i.vaudrey@cableinet.co.uk
+
+NO_WRKSUBDIR= yes
+
+do-build:
+ @/bin/chmod +x ${WRKSRC}/xibuild
+ @${SETENV} TOPDIR=${WRKSRC} ${SH} ${WRKSRC}/xibuild
+
+do-install:
+ @${MKDIR} ${PREFIX}/xitami/cgi-bin
+ @${MKDIR} ${PREFIX}/xitami/webpages
+ @${CAT} ${FILESDIR}/defaults.cfg.tmpl | ${SED} s:PREFIX:${PREFIX}: > ${WRKDIR}/defaults.cfg
+ @${INSTALL_DATA} ${WRKDIR}/defaults.cfg ${PREFIX}/xitami
+ @${INSTALL_DATA} ${FILESDIR}/xitami.aut ${PREFIX}/xitami
+ @/bin/chmod u+w ${PREFIX}/xitami/*
+ @${INSTALL_DATA} ${WRKSRC}/src/smt/xitami.cfg ${PREFIX}/xitami
+ @${INSTALL_PROGRAM} ${WRKSRC}/src/smt/xitami ${PREFIX}/xitami
+ @${INSTALL_PROGRAM} ${WRKSRC}/cgi-src/testcgi ${PREFIX}/xitami/cgi-bin
+ @${CAT} ${FILESDIR}/xitami.sh.tmpl | ${SED} s:PREFIX:${PREFIX}: > ${WRKDIR}/xitami.sh
+ @${INSTALL_SCRIPT} ${WRKDIR}/xitami.sh ${PREFIX}/etc/rc.d
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${PREFIX}/share/doc/xitami/html
+ @${INSTALL_MAN} ${WRKSRC}/webpages/xitami/* ${PREFIX}/share/doc/xitami/html
+ @${INSTALL_MAN} ${FILESDIR}/default.html ${PREFIX}/xitami/webpages
+.endif
+
+.include <bsd.port.mk>
diff --git a/www/xitami/distinfo b/www/xitami/distinfo
new file mode 100644
index 000000000000..536ac446bf88
--- /dev/null
+++ b/www/xitami/distinfo
@@ -0,0 +1 @@
+MD5 (xiuni23d.tgz) = aa5d9505d03241e89095e6b6bae744bb
diff --git a/www/xitami/files/default.html b/www/xitami/files/default.html
new file mode 100644
index 000000000000..d942a189101a
--- /dev/null
+++ b/www/xitami/files/default.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<HTML>
+
+<HEAD>
+<TITLE>Redirecting to Xitami documentation...</TITLE>
+<META HTTP-EQUIV="REFRESH" CONTENT="0; URL= /xitami/index.htm">
+</HEAD>
+
+<BODY BACKGROUND="" BGCOLOR="#ffffff" TEXT="#000000" LINK="#0000ff" VLINK="#800080" ALINK="#ff0000">
+
+</BODY>
+
+</HTML>
diff --git a/www/xitami/files/defaults.cfg.tmpl b/www/xitami/files/defaults.cfg.tmpl
new file mode 100644
index 000000000000..da7ed9c13c48
--- /dev/null
+++ b/www/xitami/files/defaults.cfg.tmpl
@@ -0,0 +1,7 @@
+#*END
+
+[Alias]
+ Xitami=PREFIX/share/doc/xitami/html
+
+[Ftp]
+ Enabled=0
diff --git a/www/xitami/files/patch-aa b/www/xitami/files/patch-aa
new file mode 100644
index 000000000000..ce02c16fb6e2
--- /dev/null
+++ b/www/xitami/files/patch-aa
@@ -0,0 +1,48 @@
+--- xibuild.orig Sat Aug 8 15:42:27 1998
++++ xibuild Sat Aug 8 15:44:23 1998
+@@ -8,7 +8,6 @@
+ # This script builds the SFL and SMT packages, then installs XITAMI ready
+ # for use. XITAMI is installed in the current directory.
+
+-TOPDIR=$PWD
+ SRCDIR=$TOPDIR/src
+ SFLDIR=$TOPDIR/src/sfl
+ SMTDIR=$TOPDIR/src/smt
+@@ -52,18 +51,13 @@
+ echo "--------------------------------------------------------------------"
+ echo "Welcome to the Xitami web server, copyright (c) 1991-97 iMatix."
+ echo "This script will compile and link XITAMI, ready for use on this"
+-echo "$SYSTEM system. Please confirm this information:"
++echo "$SYSTEM system."
+ echo " System . . . . . .: $SYSTEM"
+ echo " ANSI C compiler. .: $COMPILE"
+ echo ""
+-echo "If the ANSI C compile command is wrong, you will have to modify the"
+-echo "'c' scripts in these directories:"
+-echo " $SFLDIR"
+-echo " $SMTDIR"
+-echo ""
+-echo "If this information looks okay, press [Enter] to start installation."
++echo " SFL Source Path...: $SFLDIR"
++echo " SMT Source Path...: $SMTDIR"
+ echo "--------------------------------------------------------------------"
+-read pause
+
+ # Now, rebuild the SFL package
+
+@@ -103,14 +97,4 @@
+ fi
+ cd $TOPDIR
+
+-# Install XITAMI in its own directory
+-echo xibuild: Installing XITAMI files...
+-test ! -d $CGIBIN && mkdir $CGIBIN
+-cp $SMTDIR/xitami .
+-cp $CGISRC/testcgi $CGIBIN
+-cp $CGISRC/testcgi? $CGIBIN
+-
+-echo xibuild completed. Please see 'readme' file for info on using
+-echo Xitami. The Xitami web pages are the main source of information.
+-echo You can run Xitami now by typing 'xitami' or 'xitami -b 5000'.
+-echo browser and the URL http://hostname or http://hostname:5080.
++echo xibuild completed.
diff --git a/www/xitami/files/patch-ab b/www/xitami/files/patch-ab
new file mode 100644
index 000000000000..ce40b9891bb6
--- /dev/null
+++ b/www/xitami/files/patch-ab
@@ -0,0 +1,21 @@
+--- src/smt/xitami.c.orig Sat Aug 8 15:48:29 1998
++++ src/smt/xitami.c Sat Aug 8 15:50:15 1998
+@@ -163,13 +163,17 @@
+ fclose (stdout); /* Kill standard output */
+ fclose (stderr); /* and standard error */
+ }
+- else
++ else if (*background == '0')
++ {
+ puts (COPYRIGHT);
++ }
+
+ if (*background == '1')
+ {
+ puts ("Moving into the background");
+ process_server (NULL, NULL); /* Put process into background */
++ if (process_server (NULL, "/var/run/xitami.pid") != 0)
++ exit (EXIT_FAILURE);
+ }
+ /* Initialise SMT and run the HTTP agent until it has finished */
+ server_name = "Xitami";
diff --git a/www/xitami/files/patch-ac b/www/xitami/files/patch-ac
new file mode 100644
index 000000000000..2714f4680105
--- /dev/null
+++ b/www/xitami/files/patch-ac
@@ -0,0 +1,40 @@
+--- src/sfl/sflproc.c.orig Tue Sep 30 02:52:30 1997
++++ src/sfl/sflproc.c Sun Oct 12 18:39:01 1997
+@@ -1021,8 +1021,6 @@
+ file_handle;
+ char
+ pid_buffer [10];
+- struct flock
+- lock_file; /* flock() argument block */
+
+ /* We recreate our process as a child of init. The process continues */
+ /* to exit in the background. UNIX calls wait() for all children of */
+@@ -1065,17 +1063,21 @@
+
+ if (lockfile && strused (lockfile))
+ {
+- file_handle = open (lockfile, O_RDWR | O_CREAT, 0640);
+- if (file_handle < 0)
++ if ((file_handle = (open (lockfile, O_RDONLY | O_CREAT, 0640))) == -1)
+ return (-1); /* We could not open lock file */
+- else
++ if (flock(file_handle, LOCK_EX | LOCK_NB) == -1 && errno == EWOULDBLOCK)
+ {
+- lock_file.l_type = F_WRLCK;
+- if (fcntl (file_handle, F_SETLK, &lock_file))
+- return (-1); /* We could not obtain a lock */
++ close (file_handle);
++ return (-1); /* The file is already locked */
+ }
++ close (file_handle);
++
++ if ((file_handle = (open (lockfile, O_RDWR | O_TRUNC, 0640))) == -1)
++ return (-1); /* We could not open lock file */
++ if (flock(file_handle, LOCK_EX | LOCK_NB) == -1)
++ return (-1); /* We could not obtain a lock */
+ /* We record the server's process id in the lock file */
+- sprintf (pid_buffer, "%6d\n", getpid ());
++ sprintf (pid_buffer, "%ld\n", (long)getpid ());
+ write (file_handle, pid_buffer, strlen (pid_buffer));
+ }
+
diff --git a/www/xitami/files/xitami.aut b/www/xitami/files/xitami.aut
new file mode 100644
index 000000000000..b421d43c160d
--- /dev/null
+++ b/www/xitami/files/xitami.aut
@@ -0,0 +1,9 @@
+# Authorization file for XITAMI
+# Each [Entry] defines a protected subdirectory
+# The directory name is followed by user=password pairs
+#
+# A sample entry to control access to the admin pages
+# follows. CHANGE IT AS SOON AS POSSIBLE!
+#
+[admin]
+admin=letmein
diff --git a/www/xitami/files/xitami.sh.tmpl b/www/xitami/files/xitami.sh.tmpl
new file mode 100644
index 000000000000..b1f53c1f5b0e
--- /dev/null
+++ b/www/xitami/files/xitami.sh.tmpl
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+
+case "$1" in
+
+start)
+ if [ -x PREFIX/xitami/xitami ]
+ then
+ cd PREFIX/xitami
+ ./xitami -s && echo -n " xitami"
+ fi
+ ;;
+
+stop)
+ if [ -r /var/run/xitami.pid ]
+ then
+ kill `cat /var/run/xitami.pid` && echo -n " xitami"
+ fi
+ ;;
+
+*)
+ echo "usage: $0 {start|stop}" 1>&2
+ exit 64
+ ;;
+
+esac
+
diff --git a/www/xitami/pkg-comment b/www/xitami/pkg-comment
new file mode 100644
index 000000000000..8eed21da5894
--- /dev/null
+++ b/www/xitami/pkg-comment
@@ -0,0 +1 @@
+A fast, portable multithreaded web server.
diff --git a/www/xitami/pkg-deinstall b/www/xitami/pkg-deinstall
new file mode 100644
index 000000000000..63576bbd02c5
--- /dev/null
+++ b/www/xitami/pkg-deinstall
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+
+if [ -f /var/run/xitami.pid ]
+then
+ ${PKG_PREFIX}/etc/rc.d/xitami.sh stop > /dev/null
+ rm /var/run/xitami.pid
+fi
+
+echo "When pkg_delete has completed, you should examine ${PKG_PREFIX}/xitami"
+echo "and it's subdirectories for content that you may wish to keep. Once you"
+echo "have determined that it is safe to do so, you may nuke the entire tree"
+echo "with \"rm -R ${PKG_PREFIX}/xitami\"."
+
+exit 0
diff --git a/www/xitami/pkg-descr b/www/xitami/pkg-descr
new file mode 100644
index 000000000000..6dab848d5ae5
--- /dev/null
+++ b/www/xitami/pkg-descr
@@ -0,0 +1,15 @@
+Based on the SMT multithreading kernel from iMatix, the Xitami ['shi-tami']
+web server is scalable and efficient, especially at high loads. Unlike Apache,
+NCSA httpd, Netscape's Enterprise Server, or IIS, Xitami handles all
+connections (except CGI) within a single process, without creating child
+processes or multiple threads. The cost of a connection ('hit') is extremely
+low.
+
+Xitami supports the main HTTP operations: GET, POST, HEADER. It also supports
+virtual hosts, CGI, clickable image maps, CERN/NCSA logging, log cycling,
+protected directories, direct execution of Perl programs, and browser-based
+configuration and management. It does not support secure sockets.
+
+Xitami is available for multiple platforms (UNIX, OpenVMS, Win 3.x, Win 95,
+Win NT, OS/2) and is free software. Please read the Xitami license agreement
+for details.
diff --git a/www/xitami/pkg-plist b/www/xitami/pkg-plist
new file mode 100644
index 000000000000..516ef902fdaf
--- /dev/null
+++ b/www/xitami/pkg-plist
@@ -0,0 +1,31 @@
+etc/rc.d/xitami.sh
+share/doc/xitami/html/horizon.gif
+share/doc/xitami/html/im0096c.gif
+share/doc/xitami/html/index.htm
+share/doc/xitami/html/index1.htm
+share/doc/xitami/html/index2.htm
+share/doc/xitami/html/index3.htm
+share/doc/xitami/html/index4.htm
+share/doc/xitami/html/index5.htm
+share/doc/xitami/html/index6.htm
+share/doc/xitami/html/index7.htm
+share/doc/xitami/html/index8.htm
+share/doc/xitami/html/index9.htm
+share/doc/xitami/html/index10.htm
+share/doc/xitami/html/index11.htm
+share/doc/xitami/html/index12.htm
+share/doc/xitami/html/index13.htm
+share/doc/xitami/html/index14.htm
+share/doc/xitami/html/index15.htm
+share/doc/xitami/html/index16.htm
+share/doc/xitami/html/license.htm
+share/doc/xitami/html/newstone.gif
+share/doc/xitami/html/xitami1.gif
+xitami/defaults.cfg
+xitami/xitami
+xitami/xitami.aut
+xitami/xitami.cfg
+xitami/cgi-bin/testcgi
+xitami/webpages/default.html
+@dirrm share/doc/xitami/html
+@dirrm share/doc/xitami