agora inbox for postgres@postgres.berkeley.edu  
help / color / mirror / Atom feed
From: Paul M. Aoki <aoki@cs.berkeley.edu>
To: postgres-arch@postgres.Berkeley.EDU
Subject: httpd directory
Date: Sat, 26 Aug 1995 14:01:09 -0700
Message-ID: <199508262101.OAA22564@epoch.CS.Berkeley.EDU> (raw)

#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.1).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1995-08-26 14:00 PDT by <aoki@epoch.CS.Berkeley.EDU>.
# Source directory was `/private/httpd'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#  10661 -rw-r--r-- cgi-src/imagemap.c
#   2684 -rwxr-xr-x cgi-bin/pgwais.pl
#   1045 -r--r--r-- conf/access.conf
#   2352 -rw-r--r-- conf/httpd.conf
#    124 -r--r--r-- conf/imagemap.conf
#   3411 -r--r--r-- conf/srm.conf
#    328 -r--r--r-- conf/s2khome.map
#    493 -r--r--r-- conf/s2knet.map
#    658 -r--r--r-- conf/turtle.map
#
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  echo 'WARNING: not restoring timestamps.  Consider getting and'
  echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
# ============= cgi-src/imagemap.c ==============
if test ! -d 'cgi-src'; then
  echo 'x - creating directory cgi-src'
  mkdir 'cgi-src'
fi
if test -f 'cgi-src/imagemap.c' && test X"$1" != X"-c"; then
  echo 'x - skipping cgi-src/imagemap.c (file already exists)'
else
  echo 'x - extracting cgi-src/imagemap.c (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'cgi-src/imagemap.c' &&
/*
** mapper 1.2
** 7/26/93 Kevin Hughes, kevinh@pulua.hcc.hawaii.edu
** "macmartinized" polygon code copyright 1992 by Eric Haines, erich@eye.com
** All suggestions, help, etc. gratefully accepted!
**
** 1.1 : Better formatting, added better polygon code.
** 1.2 : Changed isname(), added config file specification.
**
** 11/13/93: Rob McCool, robm@ncsa.uiuc.edu
**
** 1.3 : Rewrote configuration stuff for NCSA /htbin script
**
** 12/05/93: Rob McCool, robm@ncsa.uiuc.edu
** 
** 1.4 : Made CGI/1.0 compliant.
**
** 06/27/94: Chris Hyams, cgh@rice.edu
**          Based on an idea by Rick Troth (troth@rice.edu)
** 
** 1.5 : Imagemap configuration file in PATH_INFO.  Backwards compatible.
**
**  Old-style lookup in imagemap table:
**    <a href="http://foo.edu/cgi-bin/imagemap/oldmap";
**
**  New-style specification of mapfile relative to DocumentRoot:
**    <a href="http://foo.edu/cgi-bin/imagemap/path/for/new.map";
**
**  New-style specification of mapfile in user's public HTML directory:
**    <a href="http://foo.edu/cgi-bin/imagemap/~username/path/for/new.map";
**
** 07/11/94: Craig Milo Rogers, Rogers@ISI.Edu
**
** 1.6 : Added "point" datatype: the nearest point wins.  Overrides "default".
**
** 08/28/94: Carlos Varela, cvarela@ncsa.uiuc.edu
**
** 1.7 : Fixed bug:  virtual URLs are now understood.
**       Better error reporting when not able to open configuration file.
**
** 03/07/95: Carlos Varela, cvarela@ncsa.uiuc.edu
**
** 1.8 : Fixed bug (strcat->sprintf) when reporting error.
**       Included getline() function from util.c in NCSA httpd distribution.
**
*/
X
#include <stdio.h>
#include <string.h>
#if !defined(pyr) && !defined(NO_STDLIB_H)
#include <stdlib.h>
#else
#include <sys/types.h>
#include <ctype.h>
char *getenv();
#endif
#include <sys/types.h>
#include <sys/stat.h>
X
#define CONF_FILE "/private/httpd/conf/imagemap.conf"
X
#define MAXLINE 500
#define MAXVERTS 100
#define X 0
#define Y 1
#define LF 10
#define CR 13
X
int isname(char);
X
int main(int argc, char **argv)
{
X    char input[MAXLINE], *mapname, def[MAXLINE], conf[MAXLINE], errstr[MAXLINE];
X    double testpoint[2], pointarray[MAXVERTS][2];
X    int i, j, k;
X    FILE *fp;
X    char *t;
X    double dist, mindist;
X    int sawpoint = 0;
X    
X    if (argc != 2)
X        servererr("Wrong number of arguments, client may not support ISMAP.");
X    mapname=getenv("PATH_INFO");
X
X    if((!mapname) || (!mapname[0]))
X        servererr("No map name given. Please read the <A HREF=\"http://hoohoo.ncsa.uiuc.edu/docs/setup/admin/Imagemap.html\">instructions</A>.<P>");
X
X
X    mapname++;
X    if(!(t = strchr(argv[1],',')))
X        servererr("Your client doesn't support image mapping properly.");
X    *t++ = '\0';
X    testpoint[X] = (double) atoi(argv[1]);
X    testpoint[Y] = (double) atoi(t);
X
X    /*
X     * if the mapname contains a '/', it represents a unix path -
X     * we get the translated path, and skip reading the configuration file.
X     */
X    if (strchr(mapname,'/')) {
X      strcpy(conf,getenv("PATH_TRANSLATED"));
X      goto openconf;
X    }
X    
X    if ((fp = fopen(CONF_FILE, "r")) == NULL){
X        sprintf(errstr, "Couldn't open configuration file: %s", CONF_FILE);
X        servererr(errstr);
X    }
X
X    while(!(getline(input,MAXLINE,fp))) {
X        char confname[MAXLINE];
X        if((input[0] == '#') || (!input[0]))
X            continue;
X        for(i=0;isname(input[i]) && (input[i] != ':');i++)
X            confname[i] = input[i];
X        confname[i] = '\0';
X        if(!strcmp(confname,mapname))
X            goto found;
X    }
X    /*
X     * if mapname was not found in the configuration file, it still
X     * might represent a file in the server root directory -
X     * we get the translated path, and check to see if a file of that
X     * name exists, jumping to the opening of the map file if it does.
X     */
X    if(feof(fp)) {
X      struct stat sbuf;
X      strcpy(conf,getenv("PATH_TRANSLATED"));
X      if (!stat(conf,&sbuf) && ((sbuf.st_mode & S_IFMT) == S_IFREG))
X	goto openconf;
X      else
X	servererr("Map not found in configuration file.");
X    }
X    
X  found:
X    fclose(fp);
X    while(isspace(input[i]) || input[i] == ':') ++i;
X
X    for(j=0;input[i] && isname(input[i]);++i,++j)
X        conf[j] = input[i];
X    conf[j] = '\0';
X
X  openconf:
X    if(!(fp=fopen(conf,"r"))){
X	sprintf(errstr, "Couldn't open configuration file: %s", conf);
X        servererr(errstr);
X    }
X
X    while(!(getline(input,MAXLINE,fp))) {
X        char type[MAXLINE];
X        char url[MAXLINE];
X        char num[10];
X
X        if((input[0] == '#') || (!input[0]))
X            continue;
X
X        type[0] = '\0';url[0] = '\0';
X
X        for(i=0;isname(input[i]) && (input[i]);i++)
X            type[i] = input[i];
X        type[i] = '\0';
X
X        while(isspace(input[i])) ++i;
X        for(j=0;input[i] && isname(input[i]);++i,++j)
X            url[j] = input[i];
X        url[j] = '\0';
X
X        if(!strcmp(type,"default") && !sawpoint) {
X            strcpy(def,url);
X            continue;
X        }
X
X        k=0;
X        while (input[i]) {
X            while (isspace(input[i]) || input[i] == ',')
X                i++;
X            j = 0;
X            while (isdigit(input[i]))
X                num[j++] = input[i++];
X            num[j] = '\0';
X            if (num[0] != '\0')
X                pointarray[k][X] = (double) atoi(num);
X            else
X                break;
X            while (isspace(input[i]) || input[i] == ',')
X                i++;
X            j = 0;
X            while (isdigit(input[i]))
X                num[j++] = input[i++];
X            num[j] = '\0';
X            if (num[0] != '\0')
X                pointarray[k++][Y] = (double) atoi(num);
X            else {
X                fclose(fp);
X                servererr("Missing y value.");
X            }
X        }
X        pointarray[k][X] = -1;
X        if(!strcmp(type,"poly"))
X            if(pointinpoly(testpoint,pointarray))
X                sendmesg(url);
X        if(!strcmp(type,"circle"))
X            if(pointincircle(testpoint,pointarray))
X                sendmesg(url);
X        if(!strcmp(type,"rect"))
X            if(pointinrect(testpoint,pointarray))
X                sendmesg(url);
X        if(!strcmp(type,"point")) {
X	    /* Don't need to take square root. */
X	    dist = ((testpoint[X] - pointarray[0][X])
X		    * (testpoint[X] - pointarray[0][X]))
X		   + ((testpoint[Y] - pointarray[0][Y])
X		      * (testpoint[Y] - pointarray[0][Y]));
X	    /* If this is the first point, or the nearest, set the default. */
X	    if ((! sawpoint) || (dist < mindist)) {
X		mindist = dist;
X	        strcpy(def,url);
X	    }
X	    sawpoint++;
X	}
X    }
X    if(def[0])
X        sendmesg(def);
X    servererr("No default specified.");
}
X
sendmesg(char *url)
{
X  if (strchr(url, ':'))   /*** It is a full URL ***/
X    printf("Location: ");
X  else                    /*** It is a virtual URL ***/
X    printf("Location: http://%s:%s";, getenv("SERVER_NAME"), 
X           getenv("SERVER_PORT"));
X
X    printf("%s%c%c",url,10,10);
X    printf("This document has moved <A HREF=\"%s\">here</A>%c",url,10);
X    exit(1);
}
X
int pointinrect(double point[2], double coords[MAXVERTS][2])
{
X        return ((point[X] >= coords[0][X] && point[X] <= coords[1][X]) &&
X        (point[Y] >= coords[0][Y] && point[Y] <= coords[1][Y]));
}
X
int pointincircle(double point[2], double coords[MAXVERTS][2])
{
X        int radius1, radius2;
X
X        radius1 = ((coords[0][Y] - coords[1][Y]) * (coords[0][Y] -
X        coords[1][Y])) + ((coords[0][X] - coords[1][X]) * (coords[0][X] -
X        coords[1][X]));
X        radius2 = ((coords[0][Y] - point[Y]) * (coords[0][Y] - point[Y])) +
X        ((coords[0][X] - point[X]) * (coords[0][X] - point[X]));
X        return (radius2 <= radius1);
}
X
int pointinpoly(double point[2], double pgon[MAXVERTS][2])
{
X        int i, numverts, inside_flag, xflag0;
X        int crossings;
X        double *p, *stop;
X        double tx, ty, y;
X
X        for (i = 0; pgon[i][X] != -1 && i < MAXVERTS; i++)
X                ;
X        numverts = i;
X        crossings = 0;
X
X        tx = point[X];
X        ty = point[Y];
X        y = pgon[numverts - 1][Y];
X
X        p = (double *) pgon + 1;
X        if ((y >= ty) != (*p >= ty)) {
X                if ((xflag0 = (pgon[numverts - 1][X] >= tx)) ==
X                (*(double *) pgon >= tx)) {
X                        if (xflag0)
X                                crossings++;
X                }
X                else {
X                        crossings += (pgon[numverts - 1][X] - (y - ty) *
X                        (*(double *) pgon - pgon[numverts - 1][X]) /
X                        (*p - y)) >= tx;
X                }
X        }
X
X        stop = pgon[numverts];
X
X        for (y = *p, p += 2; p < stop; y = *p, p += 2) {
X                if (y >= ty) {
X                        while ((p < stop) && (*p >= ty))
X                                p += 2;
X                        if (p >= stop)
X                                break;
X                        if ((xflag0 = (*(p - 3) >= tx)) == (*(p - 1) >= tx)) {
X                                if (xflag0)
X                                        crossings++;
X                        }
X                        else {
X                                crossings += (*(p - 3) - (*(p - 2) - ty) *
X                                (*(p - 1) - *(p - 3)) / (*p - *(p - 2))) >= tx;
X                        }
X                }
X                else {
X                        while ((p < stop) && (*p < ty))
X                                p += 2;
X                        if (p >= stop)
X                                break;
X                        if ((xflag0 = (*(p - 3) >= tx)) == (*(p - 1) >= tx)) {
X                                if (xflag0)
X                                        crossings++;
X                        }
X                        else {
X                                crossings += (*(p - 3) - (*(p - 2) - ty) *
X                                (*(p - 1) - *(p - 3)) / (*p - *(p - 2))) >= tx;
X                        }
X                }
X        }
X        inside_flag = crossings & 0x01;
X        return (inside_flag);
}
X
servererr(char *msg)
{
X    printf("Content-type: text/html%c%c",10,10);
X    printf("<title>Mapping Server Error</title>");
X    printf("<h1>Mapping Server Error</h1>");
X    printf("This server encountered an error:<p>");
X    printf("%s", msg);
X    exit(-1);
}
X
int isname(char c)
{
X        return (!isspace(c));
}
X
int getline(char *s, int n, FILE *f) {
X    register int i=0;
X
X    while(1) {
X        s[i] = (char)fgetc(f);
X
X        if(s[i] == CR)
X            s[i] = fgetc(f);
X
X        if((s[i] == 0x4) || (s[i] == LF) || (i == (n-1))) {
X            s[i] = '\0';
X            return (feof(f) ? 1 : 0);
X        }
X        ++i;
X    }
}
X
SHAR_EOF
  $shar_touch -am 0527163595 'cgi-src/imagemap.c' &&
  chmod 0644 'cgi-src/imagemap.c' ||
  echo 'restore of cgi-src/imagemap.c failed'
  shar_count="`wc -c < 'cgi-src/imagemap.c'`"
  test 10661 -eq "$shar_count" ||
    echo "cgi-src/imagemap.c: original size 10661, current size $shar_count"
fi
# ============= cgi-bin/pgwais.pl ==============
if test ! -d 'cgi-bin'; then
  echo 'x - creating directory cgi-bin'
  mkdir 'cgi-bin'
fi
if test -f 'cgi-bin/pgwais.pl' && test X"$1" != X"-c"; then
  echo 'x - skipping cgi-bin/pgwais.pl (file already exists)'
else
  echo 'x - extracting cgi-bin/pgwais.pl (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'cgi-bin/pgwais.pl' &&
#!/usr/sww/bin/perl
#
# wais.pl -- WAIS search interface
#
# wais.pl,v 1.2 1994/04/10 05:33:29 robm Exp
#
# Tony Sanders <sanders@bsdi.com>, Nov 1993
#
# Example configuration (in local.conf):
#     map topdir wais.pl &do_wais($top, $path, $query, "database", "title")
#
X
$waisq = "/usr/sww/bin/waisq";
$waisd = "/private/waisd/";
$src = "postmail";
$title = "POSTGRES mailing list archive";
X
sub send_index {
X    print "Content-type: text/html\n\n";
X    
X    print "<HEAD>\n<TITLE>Index of ", $title, "</TITLE>\n</HEAD>\n";
X    print "<BODY>\n<H1>", $title, "</H1>\n";
X
X    print "This is an index of the information on this server. Please\n";
X    print "type a query in the search dialog.\n<P>";
X    print "You may use compound searches, such as: <CODE>postmaster AND core</CODE>\n";
X    print "<ISINDEX>";
}
X
sub do_wais {
#    local($top, $path, $query, $src, $title) = @_;
X
X    do { &'send_index; return; } unless defined @ARGV;
X    local(@query) = @ARGV;
X    local($pquery) = join(" ", @query);
X
X    print "Content-type: text/html\n\n";
X
X    open(WAISQ, "-|") || exec ($waisq, "-c", $waisd,
X                                "-f", "-", "-S", "$src.src", "-g", @query);
X
X    print "<HEAD>\n<TITLE>Search of ", $title, "</TITLE>\n</HEAD>\n";
X    print "<BODY>\n<H1>", $title, "</H1>\n";
X
X    print "Index \`$src\' contains the following\n";
X    print "items relevant to \`$pquery\':<P>\n";
X    print "<DL>\n";
X
X    local($hits, $score, $headline, $lines, $bytes, $type, $date);
X    while (<WAISQ>) {
X        /:score\s+(\d+)/ && ($score = $1);
X        /:number-of-lines\s+(\d+)/ && ($lines = $1);
X        /:number-of-bytes\s+(\d+)/ && ($bytes = $1);
X        /:type "(.*)"/ && ($type = $1);
X        /:headline "(.*)"/ && ($headline = $1);         # XXX
X        /:date "(\d+)"/ && ($date = $1, $hits++, &docdone);
X    }
X    close(WAISQ);
X    print "</DL>\n";
X
X    if ($hits == 0) {
X        print "Nothing found.\n";
X    }
X    print "</BODY>\n";
}
X
sub docdone {
X    if ($headline =~ /Search produced no result/) {
X        print "<HR>";
X        print $headline, "<P>\n<PRE>";
# the following was &'safeopen
X        open(WAISCAT, "$waisd/$src.cat") || die "$src.cat: $!";
X        while (<WAISCAT>) {
X            s#(Catalog for database:)\s+.*#$1 <A HREF="/$top/$src.src">$src.src</A>#;
X            s#Headline:\s+(.*)#Headline: <A HREF="$1">$1</A>#;
X            print;
X        }
X        close(WAISCAT);
X        print "\n</PRE>\n";
X    } else {
X        print "<DT><A HREF=\"$headline\">$headline</A>\n";
X        print "<DD>Score: $score, Lines: $lines, Bytes: $bytes\n";
X    }
X    $score = $headline = $lines = $bytes = $type = $date = '';
}
X
open (STDERR,"> /dev/null");
eval '&do_wais';
SHAR_EOF
  $shar_touch -am 0601164494 'cgi-bin/pgwais.pl' &&
  chmod 0755 'cgi-bin/pgwais.pl' ||
  echo 'restore of cgi-bin/pgwais.pl failed'
  shar_count="`wc -c < 'cgi-bin/pgwais.pl'`"
  test 2684 -eq "$shar_count" ||
    echo "cgi-bin/pgwais.pl: original size 2684, current size $shar_count"
fi
# ============= conf/access.conf ==============
if test ! -d 'conf'; then
  echo 'x - creating directory conf'
  mkdir 'conf'
fi
if test -f 'conf/access.conf' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/access.conf (file already exists)'
else
  echo 'x - extracting conf/access.conf (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/access.conf' &&
# access.conf: Global access configuration
# Online docs at http://hoohoo.ncsa.uiuc.edu/
# I suggest you consult them; this is important and confusing stuff.
X
# /usr/local/etc/httpd/ should be changed to whatever you set ServerRoot to.
<Directory /private/httpd/cgi-bin>
Options Indexes
</Directory>
X
# This should be changed to whatever you set DocumentRoot to.
X
<Directory /epoch/ftp/pub>
X
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", or "FollowSymLinks"
X
# XXX braindeath warning!  "FollowSymLinks" means that you can create 
# links into the file system outside of DocumentRoot!
X
Options Indexes
X
# This controls which options the .htaccess files in directories can
# override. Can also be "None", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
X
AllowOverride None
X
# Controls who can get stuff from this server.
X
<Limit GET>
order allow,deny
allow from all
</Limit>
X
</Directory>
X
# You may place any other directories you wish to have access
# information for after this one.
SHAR_EOF
  $shar_touch -am 0612003694 'conf/access.conf' &&
  chmod 0444 'conf/access.conf' ||
  echo 'restore of conf/access.conf failed'
  shar_count="`wc -c < 'conf/access.conf'`"
  test 1045 -eq "$shar_count" ||
    echo "conf/access.conf: original size 1045, current size $shar_count"
fi
# ============= conf/httpd.conf ==============
if test -f 'conf/httpd.conf' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/httpd.conf (file already exists)'
else
  echo 'x - extracting conf/httpd.conf (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/httpd.conf' &&
# This is the main server configuration file. It is best to 
# leave the directives in this file in the order they are in, or
# things may not go the way you'd like. See URL http://hoohoo.ncsa.uiuc.edu/
# for instructions.
X
# Do NOT simply read the instructions in here without understanding
# what they do, if you are unsure consult the online docs. You have been
# warned.  
X
# Rob McCool (comments, questions to httpd@ncsa.uiuc.edu)
X
# ServerType is either inetd, or standalone.
X
ServerType standalone
X
# If you are running from inetd, go to "ServerAdmin".
X
# Port: The port the standalone listens to. For ports < 1023, you will
# need httpd to be run as root initially.
X
Port 8000
X
# StartServers: The number of servers to launch at startup.  Must be
# compiled without the NO_PASS compile option
X
StartServers 5
X
# MaxServers: The number of servers to launch until mimic'ing the 1.3
# scheme (new server for each connection).  These servers will stay around
# until the server is restarted.  They will be reused as needed, however.
# See the documentation on hoohoo.ncsa.uiuc.edu for more information.
X
MaxServers 10
X
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
X
# User/Group: The name (or #number) of the user/group to run httpd as.
X
User ftp
Group s2k
X
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.
X
ServerAdmin aoki@postgres.Berkeley.EDU
X
# ServerRoot: The directory the server's config, error, and log files
# are kept in
X
ServerRoot /private/httpd
X
# ErrorLog: The location of the error log file. If this does not start
# with /, ServerRoot is prepended to it.
X
ErrorLog logs/error_log
X
# TransferLog: The location of the transfer log file. If this does not
# start with /, ServerRoot is prepended to it.
X
TransferLog logs/access_log
X
# PidFile: The file the server should log its pid to
PidFile logs/httpd.pid
X
# ServerName allows you to set a host name which is sent back to clients for
# your server if it's different than the one the program would get (i.e. use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name you 
# define here must be a valid DNS name for your host. If you don't understand
# this, ask your network administrator.
X
#ServerName new.host.name
X
SHAR_EOF
  $shar_touch -am 0601130795 'conf/httpd.conf' &&
  chmod 0644 'conf/httpd.conf' ||
  echo 'restore of conf/httpd.conf failed'
  shar_count="`wc -c < 'conf/httpd.conf'`"
  test 2352 -eq "$shar_count" ||
    echo "conf/httpd.conf: original size 2352, current size $shar_count"
fi
# ============= conf/imagemap.conf ==============
if test -f 'conf/imagemap.conf' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/imagemap.conf (file already exists)'
else
  echo 'x - extracting conf/imagemap.conf (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/imagemap.conf' &&
s2knet : /private/httpd/conf/s2knet.map
X
turtle : /private/httpd/conf/turtle.map
X
s2khome : /private/httpd/conf/s2khome.map
SHAR_EOF
  $shar_touch -am 0526013794 'conf/imagemap.conf' &&
  chmod 0444 'conf/imagemap.conf' ||
  echo 'restore of conf/imagemap.conf failed'
  shar_count="`wc -c < 'conf/imagemap.conf'`"
  test 124 -eq "$shar_count" ||
    echo "conf/imagemap.conf: original size 124, current size $shar_count"
fi
# ============= conf/srm.conf ==============
if test -f 'conf/srm.conf' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/srm.conf (file already exists)'
else
  echo 'x - extracting conf/srm.conf (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/srm.conf' &&
# With this document, you define the name space that users see of your http
# server.
X
# See the tutorials at http://hoohoo.ncsa.uiuc.edu/docs/tutorials/ for
# more information.
X
# Rob (robm@ncsa.uiuc.edu)
X
X
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
X
DocumentRoot /epoch/ftp/pub
X
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is recieved.
X
UserDir DISABLED
X
# DirectoryIndex: Name of the file to use as a pre-written HTML
# directory index
X
DirectoryIndex index.html
X
# FancyIndexing is whether you want fancy directory indexing or standard
X
FancyIndexing on
X
# AddIcon tells the server which icon to show for different files or filename
# extensions
X
AddIconByType (TXT,/icons/text.xbm) text/*
AddIconByType (IMG,/icons/image.xbm) image/*
AddIconByType (SND,/icons/sound.xbm) audio/*
AddIcon /icons/movie.xbm .mpg .qt
AddIcon /icons/binary.xbm .bin
X
AddIcon /icons/back.xbm ..
AddIcon /icons/menu.xbm ^^DIRECTORY^^
AddIcon /icons/blank.xbm ^^BLANKICON^^
X
# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.
X
DefaultIcon /icons/unknown.xbm
X
# AddDescription allows you to place a short description after a file in
# server-generated indexes.
# Format: AddDescription "description" filename
X
# ReadmeName is the name of the README file the server will look for by
# default. Format: ReadmeName name
#
# The server will first look for name.html, include it if found, and it will
# then look for name and include it as plaintext if found.
#
# HeaderName is the name of a file which should be prepended to
# directory indexes. 
X
ReadmeName README
HeaderName HEADER
X
# IndexIgnore is a set of filenames which directory indexing should ignore
# Format: IndexIgnore name1 name2...
X
IndexIgnore */.??* *~ *# */HEADER* */README* */RCS
X
# AccessFileName: The name of the file to look for in each directory
# for access control information.
X
AccessFileName .htaccess
X
# DefaultType is the default MIME type for documents which the server
# cannot find the type of from filename extensions.
X
DefaultType text/plain
X
# AddType allows you to tweak mime.types without actually editing it, or to
# make certain files to be certain types.
# Format: AddType type/subtype ext1
X
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
# information on the fly. Note: Not all browsers support this.
X
#AddEncoding x-compress Z
#AddEncoding x-gzip gz
X
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect fakename url
X
X
# Aliases: Add here as many aliases as you need, up to 20. The format is 
# Alias fakename realname
X
Alias /icons /private/httpd/icons
Alias /usr/local/devel/postarch/Mail /usr/local/devel/postarch/Mail
X
# ScriptAlias: This controls which directories contain server scripts.
# Format: ScriptAlias fakename realname
X
ScriptAlias /cgi-bin/ /private/httpd/cgi-bin/
X
# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
X
#AddType text/x-server-parsed-html .shtml
#AddType application/x-httpd-cgi .cgi
SHAR_EOF
  $shar_touch -am 0520235894 'conf/srm.conf' &&
  chmod 0444 'conf/srm.conf' ||
  echo 'restore of conf/srm.conf failed'
  shar_count="`wc -c < 'conf/srm.conf'`"
  test 3411 -eq "$shar_count" ||
    echo "conf/srm.conf: original size 3411, current size $shar_count"
fi
# ============= conf/s2khome.map ==============
if test -f 'conf/s2khome.map' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/s2khome.map (file already exists)'
else
  echo 'x - extracting conf/s2khome.map (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/s2khome.map' &&
default /index.html
rect /sequoia/abouts2k.html 0,0 317,441
rect /sequoia/abouts2k.html 319,105 556,135
rect http://www.sdsc.edu/0/Parts_Collabs/S2K/s2k_home.html 319,141 556,171
rect /sequoia 319,179 556,209
rect /sequoia/tech-reports 319,217 556,247
rect /multimedia/ 319,256 556,286
rect /postgres/index.html 319,294 556,324
SHAR_EOF
  $shar_touch -am 0329181295 'conf/s2khome.map' &&
  chmod 0444 'conf/s2khome.map' ||
  echo 'restore of conf/s2khome.map failed'
  shar_count="`wc -c < 'conf/s2khome.map'`"
  test 328 -eq "$shar_count" ||
    echo "conf/s2khome.map: original size 328, current size $shar_count"
fi
# ============= conf/s2knet.map ==============
if test -f 'conf/s2knet.map' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/s2knet.map (file already exists)'
else
  echo 'x - extracting conf/s2knet.map (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/s2knet.map' &&
default /sequoia/demo/demo-none.html
X
rect /sequoia/demo/demo-dwr.html 127,128 155,140
X
rect /sequoia/demo/demo-ucd.html 83,134 110,144
X
rect /sequoia/demo/demo-ucb.html 110,172 136,183
X
rect /sequoia/demo/demo-regis.html 129,188 193,202
X
rect /sequoia/demo/demo-ucsb.html 179,294 214,308 
X
rect /sequoia/demo/demo-ucla.html 236,318 271,332
X
rect /sequoia/demo/demo-ucsd.html 259,350 293,359
X
rect /sequoia/demo/demo-sdsc.html 268,360 303,372
X
rect /sequoia/demo/demo-scr.html 275,373 298,384
SHAR_EOF
  $shar_touch -am 0521030094 'conf/s2knet.map' &&
  chmod 0444 'conf/s2knet.map' ||
  echo 'restore of conf/s2knet.map failed'
  shar_count="`wc -c < 'conf/s2knet.map'`"
  test 493 -eq "$shar_count" ||
    echo "conf/s2knet.map: original size 493, current size $shar_count"
fi
# ============= conf/turtle.map ==============
if test -f 'conf/turtle.map' && test X"$1" != X"-c"; then
  echo 'x - skipping conf/turtle.map (file already exists)'
else
  echo 'x - extracting conf/turtle.map (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'conf/turtle.map' &&
default /postgres/index.html
rect /postgres/research.html 0,0 300,20
rect http://server.Berkeley.EDU/ 0,21 226,40
circle /index.html 378,111 478,111
poly http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/research.html#turtles 6,124 78,55 165,55 214,94 245,90 272,104 274,118 268,130 227,134 240,154 214,204 178,178 114,178 40,190 21,174 28,150
rect http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/index.html#code 4,216 74,234
rect http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/research.html#tioga 87,216 178,234
rect http://s2k-ftp.CS.Berkeley.EDU:8000/mariposa/ 118,216 300,234
rect http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/research.html#storage 312,216 490,234
SHAR_EOF
  $shar_touch -am 0201180695 'conf/turtle.map' &&
  chmod 0444 'conf/turtle.map' ||
  echo 'restore of conf/turtle.map failed'
  shar_count="`wc -c < 'conf/turtle.map'`"
  test 658 -eq "$shar_count" ||
    echo "conf/turtle.map: original size 658, current size $shar_count"
fi
exit 0
--
  Paul M. Aoki          |  University of California at Berkeley
  aoki@CS.Berkeley.EDU  |  Dept. of EECS, Computer Science Division (#1776)
                        |  Berkeley, CA 94720-1776



reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: postgres@postgres.berkeley.edu
  Cc: aoki@cs.berkeley.edu, postgres-arch@postgres.Berkeley.EDU
  Subject: Re: httpd directory
  In-Reply-To: <199508262101.OAA22564@epoch.CS.Berkeley.EDU>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox