Return-Path: owner-postman Received: from epoch.CS.Berkeley.EDU (epoch.CS.Berkeley.EDU [128.32.32.79]) by nobozo.CS.Berkeley.EDU (8.6.10/8.6.3) with ESMTP id OAA00973 for ; Sat, 26 Aug 1995 14:02:20 -0700 Received: from epoch.CS.Berkeley.EDU (localhost.Berkeley.EDU [127.0.0.1]) by epoch.CS.Berkeley.EDU (8.6.11/8.6.3) with ESMTP id OAA22564 for ; Sat, 26 Aug 1995 14:01:09 -0700 Message-Id: <199508262101.OAA22564@epoch.CS.Berkeley.EDU> From: aoki@cs.berkeley.edu (Paul M. Aoki) To: postgres-arch@postgres.Berkeley.EDU Reply-To: aoki@cs.berkeley.edu (Paul M. Aoki) Subject: httpd directory Date: Sat, 26 Aug 1995 14:01:09 -0700 Sender: aoki@postgres.Berkeley.EDU #!/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 . # 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: ** ** ** New-style specification of mapfile relative to DocumentRoot: ** ** ** New-style specification of mapfile in user's public HTML directory: ** ** ** 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 #include #if !defined(pyr) && !defined(NO_STDLIB_H) #include #else #include #include char *getenv(); #endif #include #include 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 instructions.

"); 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 here%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("Mapping Server Error"); X printf("

Mapping Server Error

"); X printf("This server encountered an error:

"); 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 , 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 "\nIndex of ", $title, "\n\n"; X print "\n

", $title, "

\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

"; X print "You may use compound searches, such as: postmaster AND core\n"; X print ""; } 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 "\nSearch of ", $title, "\n\n"; X print "\n

", $title, "

\n"; X X print "Index \`$src\' contains the following\n"; X print "items relevant to \`$pquery\':

\n"; X print "

\n"; X X local($hits, $score, $headline, $lines, $bytes, $type, $date); X while () { 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 "
\n"; X X if ($hits == 0) { X print "Nothing found.\n"; X } X print "\n"; } X sub docdone { X if ($headline =~ /Search produced no result/) { X print "
"; X print $headline, "

\n

";
# the following was &'safeopen
X        open(WAISCAT, "$waisd/$src.cat") || die "$src.cat: $!";
X        while () {
X            s#(Catalog for database:)\s+.*#$1 $src.src#;
X            s#Headline:\s+(.*)#Headline: $1#;
X            print;
X        }
X        close(WAISCAT);
X        print "\n
\n"; X } else { X print "
$headline\n"; X print "
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. Options Indexes X # This should be changed to whatever you set DocumentRoot to. X 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 order allow,deny allow from all X 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