Remove cvslargo tools, no longuer used by git or apache.

This commit will also serve as a test for the mailing list on
the SoC server.
This commit is contained in:
Jean-Paul Chaput 2014-02-21 13:57:26 +01:00
parent 621987703a
commit 60f5fded3a
216 changed files with 0 additions and 11127 deletions

View File

@ -1,26 +0,0 @@
This archive server knows the following commands:
get filename ...
ls directory ...
egrep case_insensitive_regular_expression filename ...
maxfiles nnn
version
quit
Aliases for 'get': send, sendme, getme, gimme, retrieve, mail
Aliases for 'ls': dir, directory, list, show
Aliases for 'egrep': search, grep, fgrep, find
Aliases for 'quit': exit
Lines starting with a '#' are ignored.
Multiple commands per mail are allowed.
Setting maxfiles to zero will remove the limit (to protect you against
yourself no more than maxfiles files will be returned per request).
Egrep supports most common flags.
If you append a non-standard signature, you should use the quit command
to prevent the archive server from interpreting the signature.
Examples:
ls latest
get latest/12
egrep some.word latest/*

View File

@ -1,57 +0,0 @@
General info
------------
Subcription/unsubscription/info requests should always be sent to the -request
address of a mailinglist.
If a mailinglist for example is called "thelist@some.domain", then the -request
address can be inferred from this to be: "thelist-request@some.domain".
To subscribe to a mailinglist, simply send a message with the word "subscribe"
in the Subject: field to the -request address of that list.
As in: To: thelist-request@some.domain
Subject: subscribe
To unsubscribe from a mailinglist, simply send a message with the word (you
guessed it :-) "unsubscribe" in the Subject: field to the -request address of
that list.
As in: To: thelist-request@some.domain
Subject: unsubscribe
In the event of an address change, it would probably be the wisest to first
send an unsubscribe for the old address (this can be done from the new
address), and then a new subscribe for the new address (the order is
important).
Most (un)subscription requests are processed automatically without human
intervention.
Do not send multiple (un)subscription or info requests in one mail. Only one
will be processed per mail.
NOTE: The -request server usually does quite a good job in discriminating
between (un)subscribe requests and messages intended for the maintainer.
If you'd like to make sure a human reads your message, make it look
like a reply (i.e. the first word in the Subject: field should be "Re:",
without the quotes of course); the -request server does not react to
replies.
The archive server
------------------
Every submission sent to this list is archived. The size of the archive
depends on the limits set by the list maintainer (it is very well possible
that only, say, the last two mails sent to the list are still archived, the
rest might have expired).
You can look at the header of every mail coming from this list to see
under what name it has been archived. The X-Mailing-List: field contains
the mailaddress of the list and the file in which this submission was
archived.
If you want to access this archive, you have to send mails to the -request
address with the word "archive" as the first word of your Subject:.
To get you started try sending a mail to the -request address with
the following:
Subject: archive help
--

View File

@ -1,119 +0,0 @@
#
# Assign the fully qualified mail address of the maintainer of this list
# to "maintainer". If empty, request-mail will not be mailed to any
# maintainer and will be stored in the "request" file for this list.
#
maintainer = Olivier.Sirol@lip6.fr
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
size_limit = 1524288 # sanity cutoff value for submissions
idcache_size = 8192 # duplicate-msgid cache size in bytes
archive_hist = 20 # number of messages left archived
#archive_log = $LOGFILE # log file for archive retrievals
#subscribe_log = $LOGFILE # log file for administrivia
maxhist = 32 # bounce history limit
minbounce = 4 # no. of bounces before removal
cutoff_bounce = 256 # lines to keep in bounce processing
#match_threshold= 30730 # for close matches to the list
#medium_threshold= 28672 # for not so close matches to the list
#loose_threshold= 24476 # for loosely finding your name
#auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
#off_threshold = $loose_threshold # for unsubscribing
#reject_threshold= $match_threshold # for rejecting subscriptions
#submit_threshold= $medium_threshold # for permitting submissions
#unsub_assist
##unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
#foreign_submit = yes
##foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
#restrict_archive
##restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
#force_subscribe
##force_subscribe= yes # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
#auto_unsubscribe= yes
##auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
#auto_subscribe = yes
##auto_subscribe # uncomment to disable unattended
# subscription handling
#auto_help
##auto_help = yes # uncomment to enable default help
# responses to all undecipherable
# requests
#moderated_flag
##moderated_flag= yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
# set moderator_PASSWORD to get
# stricter checking
#cc_requests
##cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
#cc_unsubrequests
##cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
#divertcheck = yes
##divertcheck # uncomment to disable the check for
# misfiled administrative requests
#pass_diverts
##pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
#reply_to
##reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
# why discouraged? see:
# http://garcon.unicom.com/FAQ/reply-to-harmful.html
#digest_flag
##digest_flag = yes # uncomment this if you want digests
#digest_age = 262144 # maximum age of a digest in seconds
#digest_size = 32768 # maximum size of a digest in bytes
#undigested_list = $list@$domain # Reply-To: address for digests
#moderator_PASSWORD = # put the optional password for
# moderators here, this definition
# can contain regular expression magic
# characters (to support multiple
# passwords)
#X_COMMAND = X-Command
#X_COMMAND_PASSWORD = alcpass # put the literal password for
# X-Command mails here
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM # clear this one from the environment
# so that we include this file only
# once

View File

@ -1,255 +0,0 @@
#
# IMPORTANT variables to check/change: PATH domain listmaster
#
# BEFORE editing this file or any rc.* file in the .etc directory
# you should create the .etc/rc.lock file. As long as this file
# exists, mail delivery to any list will stall (flist checks this file).
#
# Delivery can be temporarily stalled on a per list basis by creating
# the file rc.lock in the respective list's subdirectory.
# ENVIRONMENT:
# list contains the submitting address of the list (sans domain)
# domain should contain the domain for the list, so that $list@$domain
# can be used to submit to the list
# maintainer should contain the fully qualified address of the maintainer
# of $list; maintainter can be left empty
# listmaster should contain the fully qualified address of the supervising
# list maintainer; listmaster can be left empty
# X_ENVELOPE_TO contains the address that the incoming mail was addressed to
# FILES:
# log optional logfile (uncomment the LOGFILE assignment to enable
# it)
# dist the subscriber list, one address per line
# accept the list of people allowed to submit messages (usually a
# link to dist, only checked if $foreign_submit != yes)
# accept2 an optional second accept file
# reject list of people you definitely do not want to subscribe
# subscreen program (e.g. shell script) to screen prospective subscribers
# (see in the examples directory for a sample script)
# request all the messages to request that could not be handled
# automatically (only if maintainer is empty)
# help.txt file sent to help & info requests
# info.txt optional file sent to help & info requests as well,
# it should contain a concise description of what the
# list is all about
# the various info.txt files are optionally gathered in
# order to advertise the availability of the mailinglists
# subscribe.txt file sent to new subscribers
# subscribe.files file containing an arbitrary number of archive server
# commands to be executed on behalf of new subscribers
# unsubscribe.txt file sent to unsubscribers
# accept.txt file sent to people not on the accept list
# archive.txt file sent to people requesting help from the archive server
# archive (link to a) directory below which files can be accessed through
# the archive server
# bounces directory containing the bounce history files
# rc.submit rcfile used when distributing submissions
# rc.request rcfile used when processing requests
# rc.custom rcfile that contains all the customisations per list
# rc.local.* optional rcfiles for any local extensions (to be used in
# conjunction with the RC_LOCAL_* variables which can be set
# in rc.init or rc.custom files)
#$Id: rc.init,v 1.1 2000/04/05 15:09:45 czo Exp $
DELIVERED=yes # we're in control of the mail now, tell sendmail to go away
PATH=.:$PATH:../.bin:/bin:/usr/bin:/usr/local/bin # setup a decent path
SHELL=/bin/sh # to prevent surprises
defaults=.etc
LOCKTIMEOUT=3660 # set these values this high (1 hour)
TIMEOUT=3600 # to give sendmail the time to
# resolve big aliases
###############################################################################
# You have to setup the following two assignments, make sure that the address
# mentioned in listmaster is *not* the address this script runs under; if
# you would end up doing that, then assign listmaster to ""
# The same applies to the maintainer addresses used for every list, if you
# would like to alias them back to this script or to the respective -request
# addresses, then assign maintainer to "" instead.
#
# The mail-domain you have to insert below, must be the fully qualified
# mail-domain for this list; e.g. if the preferred mail address for this
# account would be: list@somemachine.somewhere.universe
# Then you should assign the following:
# domain=somemachine.somewhere.universe
###############################################################################
domain=asim.lip6.fr # the common domain for all the lists
listmaster=Olivier.Sirol@lip6.fr
#UMASK=077 # group can not touch the files
#UMASK=027 # group can read
UMASK=007 # group can write as well
defaults=.etc # the name of the defaults directory
LOGFILE=log
LOGABSTRACT=no
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
#LOGFILE=../$defaults/log # uncomment if you want centralised
# logging
RC_INIT # clear this one from the environment
# so that we include this file only
# once
listaddr=$list@$domain
listreq=$list-request@$domain
listdist=$list-dist@$domain
# the following constants determine the
# behaviour of choplist, the dist-file
# expander (zero means: no limit) which
# calls sendmail
minnames = 32 # minimum number of names per call
mindiffnames = 8 # minimum for maxnames-minnames
maxnames = 64 # maximum number of names per call
maxsplits = 0 # maximum number of parts to split dist in
maxsize = 200000 # maximal disk space to be taken up per mail
maxconcur = 4 # maximum number of concurrent sendmail calls
alt_sendmail="\
choplist $minnames $mindiffnames $maxnames $maxsplits $maxsize $maxconcur dist"
minnames mindiffnames maxnames maxsplits maxsize maxconcur
#alt_sendmail # uncomment if you'd prefer sendmail
# to handle the $listdist expansion
sendmailOPT="-oem -odb -oi -om -f$listreq"
sendmailOPTp=-oep
sendmailOPTq=-odq
sendmailOPTi=-odi
sendmailQflush="$SENDMAIL -q"
#sendmailQflush # uncomment if you don't want the
# queue to be flushed after all archive
# retrieval files have been queued
########################
# sendmail options used:
#
# -t scan the header of the mail for recipients
# -f specify the sender envelope address (requires T entry in sendmail.cf)
# -oi do not regard a single dot on an otherwise empty line as EOF
# -om include myself in any alias expansions
# -odb background deliverymode command returns immediately
# -odq queued deliverymode (put messages in the queue only)
# -odi interactive deliverymode command, wait until most delivered
# -q flush the queue
# -oem mail back error messages
# -oep print error messages
# -onF do not check aliases while expanding them (use it, if available)
########################
#
# If you only have /bin/mail and not some sendmail compatible mailer that
# understands the -t option of sendmail, then you have to uncomment the
# following two lines:
#
#sendmailOPT sendmailOPTp sendmailOPTq sendmailOPTi sendmailQflush
#SENDMAIL=../.bin/sendmails
#
########################
size_limit = 524288 # sanity cutoff value for submissions
idcache_size = 8192 # duplicate-msgid cache size in bytes
archive_hist = 2 # number of messages left archived
archive_log = $LOGFILE # log file for archive retrievals
subscribe_log = $LOGFILE # log file for administrivia
maxhist = 32 # bounce history limit
minbounce = 4 # no. of bounces before removal
cutoff_bounce = 256 # lines to keep in bounce processing
match_threshold = 30730 # for close matches to the list
medium_threshold= 28672 # for not so close matches to the list
loose_threshold = 24476 # for loosely finding your name
auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
off_threshold = $loose_threshold # for unsubscribing
reject_threshold= $match_threshold # for rejecting subscriptions
submit_threshold= $medium_threshold # for permitting submissions
unsub_assist
#unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
foreign_submit = yes
#foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
restrict_archive
#restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
force_subscribe
#force_subscribe= yes # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
auto_unsubscribe= yes
#auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
auto_subscribe = yes
#auto_subscribe # uncomment to disable unattended
# subscription handling
auto_help
#auto_help = yes # uncomment to enable default help
# responses to all undecipherable
# requests
moderated_flag
#moderated_flag = yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
cc_requests
#cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
cc_unsubrequests
#cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
divertcheck = yes
#divertcheck # uncomment to disable the check for
# misfiled administrative requests
pass_diverts
#pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
reply_to
#reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
digest_flag
#digest_flag = yes # uncomment this if you want digests
digest_age = 262144 # maximum age of a digest in seconds
digest_size = 32768 # maximum size of a digest in bytes
X_COMMAND = X-Command
X_COMMAND_PASSWORD = password # put the global password for
# X-Command mails here
# this password can of course be changed/
# customised in the per list rc.custom file
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM=rc.custom

View File

@ -1,348 +0,0 @@
# BEFORE editing this file, you should make sure that it is not linked to
# the master version (../.etc/rc.request) anymore (i.e. "delink rc.request"
# if you do not want your changes to affect all lists).
#
# New mails can be temporarily stalled by creating the file rc.lock (either in
# ../.etc for all lists or in the current directory for this list only).
#$Id: rc.request,v 1.1 2000/04/05 15:09:45 czo Exp $
INCLUDERC=$RC_INIT
INCLUDERC=$RC_CUSTOM
INCLUDERC=$RC_LOCAL_REQUEST_00
LOCKFILE=tmp.lock # for reusing tmp.(request|from)
# also makes sure that the load doesn't go sky-high
# when a lot of mail arrives concurrently
:0 Bfw # concatenate header and body
* $^^$X_COMMAND:
| sed -e '1,/^$/{' -e '/^$/d' -e '}'
#
# We now check:
# If the length is roughly within bounds.
# That it is not a reply or something.
# That we didn't send it ourselves.
# That it wasn't sent by a daemon of some kind.
#
# If everything matches, we extract the sender address into tmp.from
#
:0
* B ?? < 4096
* $$daemon_bias
* $!^(X-(Loop: $\listaddr|Diagnostic:)|$X_COMMAND:)
* -100^0 ^FROM_DAEMON
* 1^0
{
:0
* -100^0 ^Subject:(.*[^a-z])?(Re:|erro|change|problem|((can)?not|.*n't)\>)
* 100^0 B ?? ^^([ ]|$)*\
((archives?:?($|[ ]+)|\
((un)subscribe|(send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^
* 100^0 ^Subject:[ ]*archive
* 1^0
{
:0 whc
| formail -rtzc -xTo: >tmp.from
#
# Store the whole mail in tmp.request, for later reference.
#
:0 wc
| formail -IIn-Reply-To: -ICc: >tmp.request
#
# Check for a missing Subject: line.
#
:0 wfh
* !^Subject:
| formail -a "Subject: "
INCLUDERC=$RC_LOCAL_REQUEST_10
###############################################################################
# Reader beware, the following four regular expressions are not for the faint #
# of heart. It'll suffice to say that they accomplish their intended job 98% #
# of the time. #
###############################################################################
#
# Is it an archive retrieval command?
#
:0 HB w
* 9876543210^0 ^^(.+$)*Subject:[ ]*(([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?\
$(.+$)*(^[ ]*)+)?(archives?:?([ ]|$)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|list|show|\
search|[fe]?grep|find|maxfiles|version)([ ]+[^ ]*)?$)
* 1^0 B ?? ^^([ ]|$)*\
((archives?:?($|[ ]+)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^
{
:0 W
* 9876543210^0 !restrict_archive ?? y
* 2^0 ? formail -rt -R To: "From " -X "From " | \
multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq accept accept2
| arch_retrieve
:0 E fhw
| formail -A "X-Diagnostic: Not on the accept list"
}
#
# Is it an unsubscription request?
#
:0 EHB
* 9876543210^0 ^^(.+$)*Subject:[ ]*([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?(\
($(.+$)*(^[ ]*)+((.+|$)+[,.:;]([ ]+|$)+)?)?\
(Could you )?(please )?\
(sign( [^ ]+ |-)?off|cancel|leave|delete|remove|(un|de)-?sub)\>|\
($(.+$)*$(.*$)*)?(.*[^a-z])?\
((un-?|(un|de)-?sub?)s(cr|c|r)i|\
(leave|(delete|remove) .* from|(sign|take|get) .* off) .* [a-z-]*list\>))
* 1^0 B ?? ^^([ ]|$)*unsub(scribe)?([ ].*)?([ ]|$)*\
[^ a-z]?^^
{
:0 fw:dist.lock
* auto_unsubscribe ?? y
| unsubscribe
:0 Aw ${cc_unsubrequests:+c}
| $SENDMAIL $sendmailOPT `cat tmp.from` ;
:0 Afhw
| formail -A "X-Diagnostic: Processed"
}
#
# Is it a subscription request?
#
:0 EHB
* 9876543210^0 ^^(.+$)*Subject:[ ]*([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?(\
($(.+$)*(^[ ]*)+((.+|$)+[,.:;]([ ]+|$)+)?)?\
(Could you )?(please )?\
(sign( [^ ]+ |-)?on|add|join|sub)\>|\
($(.+$)*$(.*$)*)?(.*[^a-z])?\
(sub?s(cr|c|r)i.*|(join|add .* to|(sign|put) .* on) .* [a-z-]*list\>))
* 1^0 B ?? ^^([ ]|$)*sub(scribe)?([ ].*)?([ ]|$)*\
[^ a-z]?^^
{
#
# Yes, well, then check if the person subscribing isn't on the reject
# list.
#
:0 HB wfh
* ? multigram -b1 -l$reject_threshold reject
| formail -A "X-Diagnostic: Found on the reject list" \
-A "X-Diagnostic: `multigram -b1 -l$reject_threshold reject`"
#
# If not, then let's see if he might already be on the
# mailinglist.
#
:0 E HB wfh
* ? formail -IReceived: -IX-Envelope-To: -IIn-Reply-To: -ICc: | \
multigram -b1 -x$listreq -x$listaddr -l$reject_threshold dist
| formail -A "X-Diagnostic: Already on the subscriber list" \
-A "X-Diagnostic: `multigram -b1 -x$listreq -x$listaddr \
-l$reject_threshold dist`"
#
# If not, add him(/her/it?).
#
:0 E
* auto_subscribe ?? y
{
:0 W ${cc_requests:+c}:dist.lock
| subscribe
:0 awfh
| formail -A "X-Diagnostic: Added to the subscriber list"
:0 Ewfh
| formail -A "X-Diagnostic: Tried to subscribe"
}
}
#
# Is it an info or help request? Send back the help.txt and the
# optional info.txt file.
# We do the same on a complete empty mail (except for perhaps a signature).
#
:0 EHB
* 3^0 ^^(.+$)*Subject:[ ]*\
(([(<]no(ne| subject( (\(file transmission|given))?)[>)])?$\
(.+$)*(^[ ]*)+)?[a-z,. ]*(help|info(rmation)?)\>
* 1^0 ^^(.+$)*Subject:[ ]*\
([(<]no(ne| subject( (\(file transmission|given))?)[>)])?$
* -2^0 ^^(.+$)*(^[ ]*)+[a-z]
* 3^0 ^^(.+$)*^([ ]*$)*--
{
:0 hw ${cc_requests:+c}
| (formail -i"From: $listreq" -rtA"X-Loop: $listaddr"; \
cat help.txt info.txt 2>/dev/null ) | $SENDMAIL $sendmailOPT -t
:0 wfh
| formail -A "X-Diagnostic: help sent"
}
INCLUDERC=$RC_LOCAL_REQUEST_20
LOGABSTRACT=yes
#
# If auto_help is set, anything undecipherable gets back the help.txt and the
# optional info.txt file.
#
:0 EB
* auto_help ?? y
* $!X-Loop: $\listaddr
{
:0 hw ${cc_requests:+c}
| (formail -i"From: $listreq" -rtA"X-Loop: $listaddr"; \
cat help.txt info.txt 2>/dev/null ) | $SENDMAIL $sendmailOPT -t
:0 wfh
| formail -A "X-Diagnostic: undecipherable, help sent"
}
}
}
LOGABSTRACT=yes
#
# Could it be a bounce message from a daemon? Hand it down to procbounce
# which will evaluate it.
#
:0 wic
* $!^(Subject:(.*[^a-z])?Re:|\
X-(Loop: $\listaddr|Diagnostic:)|$X_COMMAND:)
* ^FROM_DAEMON
| sed -e $cutoff_bounce' q' >tmp.request
#
# Sink all messages we can recognise to be queue warnings
#
:0 Ah
* ^Subject: \
(WARNING: message delayed|\
(Returned mail: )?warning: c(an|ould )not send m(essage fo|ail afte)r|\
Undeliverable (RFC822 )?mail: temporarily unable to deliver|\
\*\*\* WARNING - Undelivered mail in mailqueue)
/dev/null
:0 Ah
* ^Subject: (Warning from|mail warning| ?Waiting mail)
* ^(From|Sender):.*(uucp|mmdf)
/dev/null
:0 AhBD
* $^(..?)?X-Loop: $\listaddr \(bounce\)
* ^(..?)?Subject: You have been removed from
/dev/null
#
# Anything that still survived is most likely to be a bounce message.
#
:0 Ahfw
| procbounce
#
# Or is it a remote X-Command from our maintainer?
#
:0 wf:dist.lock
* $^$X_COMMAND:.*$\maintainer[ ]*$\X_COMMAND_PASSWORD
* $!^X-Loop: $\listaddr
| x_command
LOCKFILE # we don't need the lockfile anymore
#
# Anything not taken care of yet will be served to the maintainer of the list.
#
# To make it easier on him, we include a small hint about what might be the
# problem (by adding X-Diagnostic: fields to the header).
#
:0 wfh
* !< $size_limit
| formail -A "X-Diagnostic: Submission size exceeds $size_limit bytes"
:0 wfh
* ^FROM_DAEMON
| formail -A "X-Diagnostic: Mail coming from a daemon, ignored"
:0 HB wfh
* $^X-Loop: $\listaddr
| formail -A "X-Diagnostic: Possible loopback problem"
:0
* !^X-(Diagnostic|Processed):
{
:0 wfh
* $^$X_COMMAND:
| formail -A "X-Diagnostic: Suspicious $X_COMMAND format"
:0 HB wfh
* ? formail -IReceived: -IX-Envelope-To: -IIn-Reply-To: -ICc: | \
multigram -b1 -x$listreq -x$listaddr -l$reject_threshold dist
| formail -A "X-Diagnostic: Already on the subscriber list" \
-A "X-Diagnostic: `multigram -b1 -x$listreq -x$listaddr \
-l$reject_threshold dist`"
}
INCLUDERC=$RC_LOCAL_REQUEST_30
:0 wfh
* !^X-(Diagnostic|Processed):
| formail -A"X-Diagnostic: Unprocessed"
:0 wfh
| formail -A"X-Envelope-To: $X_ENVELOPE_TO"
#
# If this list does not have a maintainer e-mail address, drop things in
# the file request.
#
:0:
* !maintainer ?? .
request
:0 w
| formail -R"From X-From_:" -iDate: -iReturn-Receipt-To: -iRead-Receipt-To: \
-iAcknowledge-To: | $SENDMAIL $sendmailOPT $sendmailOPTp $maintainer
:0 wfh
| formail -A"X-Diagnostic: Maintainer $maintainer could not be reached"
HOST=continue_with_../.etc/rc.post

View File

@ -1,303 +0,0 @@
# BEFORE editing this file, you should make sure that it is not linked to
# the master version (../.etc/rc.submit) anymore (i.e. "delink rc.submit"
# if you do not want your changes to affect all archive servers).
#
# New mails can be temporarily stalled by creating the file rc.lock (either in
# ../.etc for all lists or in the current directory for this list only).
#$Id: rc.submit,v 1.1 2000/04/05 15:09:45 czo Exp $
INCLUDERC=$RC_INIT
INCLUDERC=$RC_CUSTOM
INCLUDERC=$RC_LOCAL_SUBMIT_00
#
# The following recipe makes sure that:
# The mail has a sane size (i.e. it is not inordinately big)
# It does not look like an administrative request.
# It wasn't sent by this list itself.
# It wasn't sent by a daemon (misdirected bounce message perhaps).
#
:0
* < $size_limit
* !$^($X_COMMAND:|X-Loop: $\listaddr)
* ! B ?? $^^$X_COMMAND:
* $$daemon_bias
* -100^0 ^FROM_MAILER|\
^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )\
([^>]*[^(.%@a-z0-9])?(\
LIST(SERV|proc)|NETSERV|bounce|autoanswer|echo|mirror\
)(([^).!:a-z0-9][-_a-z0-9]*)?[%@> ][^<)]*(\(.*\).*)?)?$([^>]|$)
* 1^0
{
:0
* B ?? >640
* 9876543210^0
{ }
#
# Does it look like a regular submission?
# Or perhaps more like an administrative request?
# Look at the start of the body, and see if this could be an administrative
# request, pass it on to rc.request in that case.
#
:0
* $$=^0
* 9876543210^0 !divertcheck ?? y
{ }
:0
* $$=^0
* !B ?? ^^(.*$(.*$(.*$(.*$(.*$(.*$(.*$(.*$)?)?)?)?)?)?)?)?[^]>} a-z0-9]
* 9876543210^0 B ?? ^^.*$.*$.*$.*$.*$.*$.*$.*$.*$
{ }
:0
* $$=^0
* $${maintainer:+9876543210^0 ^From[: ](.*\<)?$\maintainer\>}
* 9876543210^0 ^(Subject:(.*\<)?(Re:|magazine)\>)|X-(Diagnostic|Mailing-List):
* -25^0 ^\
Subject:([ ]*(archives?:?([ ]+(\
(send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ]|$)|[ ]*$)|\
help|info|join|leave|\
(Could you )?(please )?\
(cancel(( my)? subscription)?|add|\
sign( [^ ]+ |-)?o(n|ff)|(un|de)?-?sub)[ ]*$)|\
.*( (join|leave|add .* to|(delete|remove) .* from|\
(take|sign|get) .* off|(put|sign) .* on) .* [a-z-]*list|\
(un-?|sub?)s(cr|c|r)i(be|ption))\>)
* -50^0 ^Subject:[ ]*[(<]no(ne| subject\
( (\(file transmission|given))?)[>)]$
* 50^0 ^Subject:.*[a-z]
* -100^0 B ?? ^^([ ]|$)*\
((((archives?:?($|[ ]+)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^|\
(help|info)[ ]*$|\
(add|join|leave|sign( [^ ]+ |-)?o(n|ff)|(un|de)?-?sub)\>)|\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^|\
.*( (join|leave|add .* to|(delete|remove) .* from|\
(take|sign|get) .* off|(put|sign) .* on) .* [a-z-]*list|\
(un-?|sub?)scri(be|ption))\>|\
^^)
{
#
# Then check to see if the sender is on the accept list (if foreign_submit
# is not set).
#
:0
* 9876543210^0 foreign_submit ?? y
* 2^0 ? formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
-xResent-Reply-To: -xResent-Sender: -xReturn-Path: | \
multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq accept accept2
{
INCLUDERC=$RC_LOCAL_SUBMIT_10
:0
* moderated_flag ?? y
{
:0 Bfw # contract header and body
* ^^Approved:.*$^
| sed -e '1,/^$/{' -e '/^$/d' -e '}'
:0
* !$^Approved:.*$moderator_PASSWORD
| formail -R"From X-Envelope-From:" -uDate: -iReturn-Receipt-To: \
-iRead-Receipt-To: -iAcknowledge-To: | \
$SENDMAIL $sendmailOPT `cat moderators`
:0 fhw
| formail -IApproved:
}
#
# Eliminate duplicate submissions by checking the Message-ID: field.
#
:0 Wh :msgid.lock
| formail -q- -D $idcache_size msgid.cache
#
# Check if we need to autosubscribe anyone not on the dist list.
#
:0
* force_subscribe ?? y
* !? if test y = "$moderated_flag" ;\
then formail -xFrom: -xSender: -xReply-To: ;\
else formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
-xResent-Reply-To: -xResent-Sender: -xReturn-Path: ;\
fi | multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq dist
{
#
# Yes, well, then check if the person isn't on the reject list.
#
:0
* ? multigram -b1 -l$reject_threshold reject
{
:0 wfh
| formail -A "X-Diagnostic: Found on the reject list" \
-A "X-Diagnostic: `multigram -b1 -l$reject_threshold reject`"
HOST=continue_with_rc.request
}
LOCKFILE=tmp.lock
:0 whc
| formail -rtzc -xTo: >tmp.from
:0 Wc :dist.lock
| sed -e '/^$/,/^-- $/ d' | formail -I "Subject: auto subscribe" \
>tmp.request; subscribe <tmp.request && test ! -z "$subscribe_log" \
&& echo "rc.submit: auto subscribed" >>$subscribe_log
LOCKFILE
}
#
# Check if this is a digested mailinglist. If yes, processing stops
# here and the mail will be added to the digest.
#
:0
* digest_flag ?? y
{
#
# Forward the article back to the undigested list, if it hasn't
# come from there.
#
:0 c
* undigested_list ?? y
* $!^X-Loop: $\undigested_list
! $sendmailOPT $undigested_list
#
# Finally digest the mail.
#
:0 w :tmp.lock
| digest
}
ARCHIVE # Wipe ARCHIVE from the environment
#
# Check if we are the first mailinglist to distribute this message, if so
# archive the message.
#
:0
* archive_hist ?? [1-9]
* !^X-Mailing-List:
{
# Czo 98/11/25
# archive dans mbox
CZOBOX=`echo $listaddr | sed "s/@asim.lip6.fr//"`
:0 c
archive/$CZOBOX.mbox
:0 c : $CZOBOX.mbox.hyp-lock
| /users/largo1/czo/cvslargo/listes-rules/hyp $CZOBOX
# End Czo
:0 c
archive/latest/.
ARCHIVE=$LASTFOLDER # Remember where it was archived
#
# Truncate the archive to the correct number of files (and
# possibly other housekeeping chores to keep the archive
# current).
#
:0 c hi
| arch_trunc
}
#
# Main header munger for submissions passing through this list.
#
oldshellmetas="$SHELLMETAS" SHELLMETAS # Save a shell, procmail can
# do this one by itself.
:0 wfh
| formail -b -IFrom\ -IReceived: -IReturn-Receipt-To: -IErrors-To: \
-IX-Pmrqc: -IX-Confirm-Reading-To: -IX-Ack: -IAcknowledge-To: \
-IRead-Receipt-To: -IReturn-Receipt-Requested: -IX-Diagnostic: \
-iStatus: -iReturn-Path: -iX-Envelope-To: -iX-Envelope-From: \
-I"Precedence: list" -I"Resent-Sender: $listreq" \
-uDate: -aMessage-ID: -aResent-Message-ID: \
-a"To: $listaddr" -a"Resent-From: $listaddr" -A"X-Loop: $listaddr" \
-a"Subject: Unidentified subject!" ${reply_to:+"-a$reply_to"} \
-a"X-Mailing-List: <$listaddr> $ARCHIVE"
SHELLMETAS="$oldshellmetas" oldshellmetas
INCLUDERC=$RC_LOCAL_SUBMIT_20
#
# The following recipe will distribute the message to the subscribers
# using the native $SENDMAIL, but only if you disabled the alternative
# sendmail (choplist).
#
:0 w: dist.lock
* !alt_sendmail ?? .
! $sendmailOPT $listdist
#
# Alternate sendmail call (used by default), does not use the file-
# including -dist alias.
#
:0 Ew: dist.lock
| $alt_sendmail $SENDMAIL $sendmailOPT $sendmailOPTi
:0 wfh
| formail -A "X-Diagnostic: $SENDMAIL $listdist failed"
HOST=continue_with_rc.request
}
:0 E wfh
| formail -A "X-Diagnostic: Not on the accept list"
:0 A c
* ? test -f accept.txt
{
:0 fh
| formail -i"From: $listreq" -kbrtA"X-Loop: $listaddr" ; cat accept.txt
:0
! $sendmailOPT -t
}
} }
:0 fhw
* pass_diverts ?? y
* !^X-Diagnostic:
| formail -A "X-Diagnostic: Diverted & unprocessed"
HOST=continue_with_rc.request

View File

@ -1,7 +0,0 @@
This is an automated subscription mechanism. For your verification, a
transcript of the original subscription request is included below.
If the wrong address has been subscribed and you seem to be unable to fix it
yourself, reply to this message now (quoting it entirely (for diagnostic
purposes), and of course adding any comments you see fit).
--

View File

@ -1,6 +0,0 @@
If this wasn't your intention or you are having problems getting yourself
unsubscribed, reply to this mail now (quoting it entirely (for diagnostic
purposes), and of course adding any comments you see fit).
Transcript of unsubscription request follows:
--

View File

@ -1,119 +0,0 @@
#
# Assign the fully qualified mail address of the maintainer of this list
# to "maintainer". If empty, request-mail will not be mailed to any
# maintainer and will be stored in the "request" file for this list.
#
maintainer = Olivier.Sirol@lip6.fr
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
size_limit = 1524288 # sanity cutoff value for submissions
idcache_size = 8192 # duplicate-msgid cache size in bytes
archive_hist = 20 # number of messages left archived
#archive_log = $LOGFILE # log file for archive retrievals
#subscribe_log = $LOGFILE # log file for administrivia
#maxhist = 32 # bounce history limit
#minbounce = 4 # no. of bounces before removal
#cutoff_bounce = 256 # lines to keep in bounce processing
#match_threshold= 30730 # for close matches to the list
#medium_threshold= 28672 # for not so close matches to the list
#loose_threshold= 24476 # for loosely finding your name
#auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
#off_threshold = $loose_threshold # for unsubscribing
#reject_threshold= $match_threshold # for rejecting subscriptions
#submit_threshold= $medium_threshold # for permitting submissions
#unsub_assist
unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
#foreign_submit = yes
##foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
#restrict_archive
restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
#force_subscribe
force_subscribe= no # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
auto_unsubscribe= no
##auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
auto_subscribe = no
##auto_subscribe # uncomment to disable unattended
# subscription handling
#auto_help
auto_help = no # uncomment to enable default help
# responses to all undecipherable
# requests
#moderated_flag
##moderated_flag= yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
# set moderator_PASSWORD to get
# stricter checking
#cc_requests
##cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
#cc_unsubrequests
##cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
#divertcheck = yes
##divertcheck # uncomment to disable the check for
# misfiled administrative requests
#pass_diverts
##pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
#reply_to
##reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
# why discouraged? see:
# http://garcon.unicom.com/FAQ/reply-to-harmful.html
#digest_flag
##digest_flag = yes # uncomment this if you want digests
#digest_age = 262144 # maximum age of a digest in seconds
#digest_size = 32768 # maximum size of a digest in bytes
#undigested_list = $list@$domain # Reply-To: address for digests
#moderator_PASSWORD = # put the optional password for
# moderators here, this definition
# can contain regular expression magic
# characters (to support multiple
# passwords)
X_COMMAND = X-Command
X_COMMAND_PASSWORD = alcpass # put the literal password for
# X-Command mails here
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM # clear this one from the environment
# so that we include this file only
# once

View File

@ -1,11 +0,0 @@
#$Id: .procmailrc,v 1.1 2000/04/05 15:09:45 czo Exp $
LOGFILE=/dev/null
MAILDIR=.etc # chdir to the defaults directory
INCLUDERC=rc.init
:0 wfh
| formail -A"X-Diagnostic: Non-existent mailinglist $X_ENVELOPE_TO"
INCLUDERC=rc.post

View File

@ -1,90 +0,0 @@
# BEFORE editing this file, you should make sure that it is not linked to
# the master version (../.etc/rc.archive) anymore (i.e. "delink rc.request"
# if you do not want your changes to affect all archive servers).
#
# New mails can be temporarily stalled by creating the file rc.lock (either in
# ../.etc for all lists or in the current directory for this list only).
#$Id: rc.archive,v 1.1 2000/04/05 15:09:45 czo Exp $
INCLUDERC=$RC_INIT
INCLUDERC=$RC_CUSTOM
INCLUDERC=$RC_LOCAL_REQUEST_00
LOCKFILE=tmp.lock # for reusing tmp.(request|from)
# also makes sure that the load doesn't go sky-high
# when a lot of mail arrives concurrently
#
# We drop the message in the bitbucket if:
# It's too big.
# We sent it ourselves.
# It was sent by a daemon of some kind.
#
:0 h
* > 32768
/dev/null
:0 h
* !^X-Loop: $listaddr
* $$daemon_bias
* -100^0 ^FROM_DAEMON
* 1^0
{ }
:0 Eh
/dev/null
#
# We now check that it is not a reply or something.
# If it isn't, we extract the sender address into tmp.from
#
:0 whc
* !^Subject:(.*[^a-z])?(Re:|erro|problem|((can)?not|.*n't)\>)
| formail -rtzc -xTo: >tmp.from
#
# Store the whole mail in tmp.request, for later reference.
#
:0 Ac
| cat >tmp.request
#
# Feed it to the archive server.
#
:0 Aw
| arch_retrieve standalone
LOCKFILE # we don't need the lockfile anymore
INCLUDERC=$RC_LOCAL_REQUEST_30
#
# Anything not taken care of yet will be served to the maintainer of the list.
#
:0 fh
| formail -A"X-Envelope-To: $X_ENVELOPE_TO"
#
# If this list does not have a maintainer e-mail address, drop things in
# the file request.
#
:0:
* !maintainer ?? .
request
:0 w
| formail -R"From X-From_:" -iDate: -iReturn-Receipt-To: -iRead-Receipt-To: \
-iAcknowledge-To: | $SENDMAIL $sendmailOPT $sendmailOPTp $maintainer
:0 wfh
| formail -A"X-Diagnostic: Maintainer $maintainer could not be reached"
HOST=continue_with_../.etc/rc.post

View File

@ -1,119 +0,0 @@
#
# Assign the fully qualified mail address of the maintainer of this list
# to "maintainer". If empty, request-mail will not be mailed to any
# maintainer and will be stored in the "request" file for this list.
#
maintainer =
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
#size_limit = 524288 # sanity cutoff value for submissions
#idcache_size = 8192 # duplicate-msgid cache size in bytes
#archive_hist = 2 # number of messages left archived
#archive_log = $LOGFILE # log file for archive retrievals
#subscribe_log = $LOGFILE # log file for administrivia
#maxhist = 32 # bounce history limit
#minbounce = 4 # no. of bounces before removal
#cutoff_bounce = 256 # lines to keep in bounce processing
#match_threshold= 30730 # for close matches to the list
#medium_threshold= 28672 # for not so close matches to the list
#loose_threshold= 24476 # for loosely finding your name
#auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
#off_threshold = $loose_threshold # for unsubscribing
#reject_threshold= $match_threshold # for rejecting subscriptions
#submit_threshold= $medium_threshold # for permitting submissions
#unsub_assist
##unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
#foreign_submit = yes
##foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
#restrict_archive
##restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
#force_subscribe
##force_subscribe= yes # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
#auto_unsubscribe= yes
##auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
#auto_subscribe = yes
##auto_subscribe # uncomment to disable unattended
# subscription handling
#auto_help
##auto_help = yes # uncomment to enable default help
# responses to all undecipherable
# requests
#moderated_flag
##moderated_flag= yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
# set moderator_PASSWORD to get
# stricter checking
#cc_requests
##cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
#cc_unsubrequests
##cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
#divertcheck = yes
##divertcheck # uncomment to disable the check for
# misfiled administrative requests
#pass_diverts
##pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
#reply_to
##reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
# why discouraged? see:
# http://garcon.unicom.com/FAQ/reply-to-harmful.html
#digest_flag
##digest_flag = yes # uncomment this if you want digests
#digest_age = 262144 # maximum age of a digest in seconds
#digest_size = 32768 # maximum size of a digest in bytes
#undigested_list = $list@$domain # Reply-To: address for digests
#moderator_PASSWORD = # put the optional password for
# moderators here, this definition
# can contain regular expression magic
# characters (to support multiple
# passwords)
#X_COMMAND = X-Command
#X_COMMAND_PASSWORD = # put the literal password for
# X-Command mails here
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM # clear this one from the environment
# so that we include this file only
# once

View File

@ -1,255 +0,0 @@
#
# IMPORTANT variables to check/change: PATH domain listmaster
#
# BEFORE editing this file or any rc.* file in the .etc directory
# you should create the .etc/rc.lock file. As long as this file
# exists, mail delivery to any list will stall (flist checks this file).
#
# Delivery can be temporarily stalled on a per list basis by creating
# the file rc.lock in the respective list's subdirectory.
# ENVIRONMENT:
# list contains the submitting address of the list (sans domain)
# domain should contain the domain for the list, so that $list@$domain
# can be used to submit to the list
# maintainer should contain the fully qualified address of the maintainer
# of $list; maintainter can be left empty
# listmaster should contain the fully qualified address of the supervising
# list maintainer; listmaster can be left empty
# X_ENVELOPE_TO contains the address that the incoming mail was addressed to
# FILES:
# log optional logfile (uncomment the LOGFILE assignment to enable
# it)
# dist the subscriber list, one address per line
# accept the list of people allowed to submit messages (usually a
# link to dist, only checked if $foreign_submit != yes)
# accept2 an optional second accept file
# reject list of people you definitely do not want to subscribe
# subscreen program (e.g. shell script) to screen prospective subscribers
# (see in the examples directory for a sample script)
# request all the messages to request that could not be handled
# automatically (only if maintainer is empty)
# help.txt file sent to help & info requests
# info.txt optional file sent to help & info requests as well,
# it should contain a concise description of what the
# list is all about
# the various info.txt files are optionally gathered in
# order to advertise the availability of the mailinglists
# subscribe.txt file sent to new subscribers
# subscribe.files file containing an arbitrary number of archive server
# commands to be executed on behalf of new subscribers
# unsubscribe.txt file sent to unsubscribers
# accept.txt file sent to people not on the accept list
# archive.txt file sent to people requesting help from the archive server
# archive (link to a) directory below which files can be accessed through
# the archive server
# bounces directory containing the bounce history files
# rc.submit rcfile used when distributing submissions
# rc.request rcfile used when processing requests
# rc.custom rcfile that contains all the customisations per list
# rc.local.* optional rcfiles for any local extensions (to be used in
# conjunction with the RC_LOCAL_* variables which can be set
# in rc.init or rc.custom files)
#$Id: rc.init,v 1.1 2000/04/05 15:09:45 czo Exp $
DELIVERED=yes # we're in control of the mail now, tell sendmail to go away
PATH=.:$PATH:../.bin:/bin:/usr/bin:/usr/local/bin # setup a decent path
SHELL=/bin/sh # to prevent surprises
defaults=.etc
LOCKTIMEOUT=3660 # set these values this high (1 hour)
TIMEOUT=3600 # to give sendmail the time to
# resolve big aliases
###############################################################################
# You have to setup the following two assignments, make sure that the address
# mentioned in listmaster is *not* the address this script runs under; if
# you would end up doing that, then assign listmaster to ""
# The same applies to the maintainer addresses used for every list, if you
# would like to alias them back to this script or to the respective -request
# addresses, then assign maintainer to "" instead.
#
# The mail-domain you have to insert below, must be the fully qualified
# mail-domain for this list; e.g. if the preferred mail address for this
# account would be: list@somemachine.somewhere.universe
# Then you should assign the following:
# domain=somemachine.somewhere.universe
###############################################################################
domain=INSERT.YOUR.MAIL.DOMAIN.HERE # the common domain for all the lists
listmaster=
#UMASK=077 # group can not touch the files
#UMASK=027 # group can read
UMASK=007 # group can write as well
defaults=.etc # the name of the defaults directory
LOGFILE=log
LOGABSTRACT=no
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
#LOGFILE=../$defaults/log # uncomment if you want centralised
# logging
RC_INIT # clear this one from the environment
# so that we include this file only
# once
listaddr=$list@$domain
listreq=$list-request@$domain
listdist=$list-dist@$domain
# the following constants determine the
# behaviour of choplist, the dist-file
# expander (zero means: no limit) which
# calls sendmail
minnames = 32 # minimum number of names per call
mindiffnames = 8 # minimum for maxnames-minnames
maxnames = 64 # maximum number of names per call
maxsplits = 0 # maximum number of parts to split dist in
maxsize = 200000 # maximal disk space to be taken up per mail
maxconcur = 4 # maximum number of concurrent sendmail calls
alt_sendmail="\
choplist $minnames $mindiffnames $maxnames $maxsplits $maxsize $maxconcur dist"
minnames mindiffnames maxnames maxsplits maxsize maxconcur
#alt_sendmail # uncomment if you'd prefer sendmail
# to handle the $listdist expansion
sendmailOPT="-oem -odb -oi -om -f$listreq"
sendmailOPTp=-oep
sendmailOPTq=-odq
sendmailOPTi=-odi
sendmailQflush="$SENDMAIL -q"
#sendmailQflush # uncomment if you don't want the
# queue to be flushed after all archive
# retrieval files have been queued
########################
# sendmail options used:
#
# -t scan the header of the mail for recipients
# -f specify the sender envelope address (requires T entry in sendmail.cf)
# -oi do not regard a single dot on an otherwise empty line as EOF
# -om include myself in any alias expansions
# -odb background deliverymode command returns immediately
# -odq queued deliverymode (put messages in the queue only)
# -odi interactive deliverymode command, wait until most delivered
# -q flush the queue
# -oem mail back error messages
# -oep print error messages
# -onF do not check aliases while expanding them (use it, if available)
########################
#
# If you only have /bin/mail and not some sendmail compatible mailer that
# understands the -t option of sendmail, then you have to uncomment the
# following two lines:
#
#sendmailOPT sendmailOPTp sendmailOPTq sendmailOPTi sendmailQflush
#SENDMAIL=../SedBinDir/sendmails
#
########################
size_limit = 524288 # sanity cutoff value for submissions
idcache_size = 8192 # duplicate-msgid cache size in bytes
archive_hist = 2 # number of messages left archived
archive_log = $LOGFILE # log file for archive retrievals
subscribe_log = $LOGFILE # log file for administrivia
maxhist = 32 # bounce history limit
minbounce = 4 # no. of bounces before removal
cutoff_bounce = 256 # lines to keep in bounce processing
match_threshold = 30730 # for close matches to the list
medium_threshold= 28672 # for not so close matches to the list
loose_threshold = 24476 # for loosely finding your name
auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
off_threshold = $loose_threshold # for unsubscribing
reject_threshold= $match_threshold # for rejecting subscriptions
submit_threshold= $medium_threshold # for permitting submissions
unsub_assist
#unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
foreign_submit = yes
#foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
restrict_archive
#restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
force_subscribe
#force_subscribe= yes # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
auto_unsubscribe= yes
#auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
auto_subscribe = yes
#auto_subscribe # uncomment to disable unattended
# subscription handling
auto_help
#auto_help = yes # uncomment to enable default help
# responses to all undecipherable
# requests
moderated_flag
#moderated_flag = yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
cc_requests
#cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
cc_unsubrequests
#cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
divertcheck = yes
#divertcheck # uncomment to disable the check for
# misfiled administrative requests
pass_diverts
#pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
reply_to
#reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
digest_flag
#digest_flag = yes # uncomment this if you want digests
digest_age = 262144 # maximum age of a digest in seconds
digest_size = 32768 # maximum size of a digest in bytes
X_COMMAND = X-Command
X_COMMAND_PASSWORD = password # put the global password for
# X-Command mails here
# this password can of course be changed/
# customised in the per list rc.custom file
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM=rc.custom

View File

@ -1,11 +0,0 @@
#$Id: rc.main,v 1.1 2000/04/05 15:09:45 czo Exp $
LOGFILE=/dev/null
MAILDIR=.etc # chdir to the defaults directory
INCLUDERC=rc.init
:0 wfh
| formail -A"X-Diagnostic: Non-existent mailinglist $X_ENVELOPE_TO"
INCLUDERC=rc.post

View File

@ -1,17 +0,0 @@
#$Id: rc.post,v 1.1 2000/04/05 15:09:45 czo Exp $
MAILDIR=../$defaults # back to the defaults directory
LOGFILE=log # enabled by default, because when processing
# reaches this point, some unusual circumstance
# has occurred.
LOGABSTRACT=yes
:0 :
* !listmaster ?? .
request
:0 w
| formail -R"From X-From_:" -iDate: -iReturn-Receipt-To: -iRead-Receipt-To: \
-iAcknowledge-To: | $SENDMAIL $sendmailOPT $sendmailOPTp $listmaster
:0:
request

View File

@ -1,348 +0,0 @@
# BEFORE editing this file, you should make sure that it is not linked to
# the master version (../.etc/rc.request) anymore (i.e. "delink rc.request"
# if you do not want your changes to affect all lists).
#
# New mails can be temporarily stalled by creating the file rc.lock (either in
# ../.etc for all lists or in the current directory for this list only).
#$Id: rc.request,v 1.1 2000/04/05 15:09:45 czo Exp $
INCLUDERC=$RC_INIT
INCLUDERC=$RC_CUSTOM
INCLUDERC=$RC_LOCAL_REQUEST_00
LOCKFILE=tmp.lock # for reusing tmp.(request|from)
# also makes sure that the load doesn't go sky-high
# when a lot of mail arrives concurrently
:0 Bfw # concatenate header and body
* $^^$X_COMMAND:
| sed -e '1,/^$/{' -e '/^$/d' -e '}'
#
# We now check:
# If the length is roughly within bounds.
# That it is not a reply or something.
# That we didn't send it ourselves.
# That it wasn't sent by a daemon of some kind.
#
# If everything matches, we extract the sender address into tmp.from
#
:0
* B ?? < 4096
* $$daemon_bias
* $!^(X-(Loop: $\listaddr|Diagnostic:)|$X_COMMAND:)
* -100^0 ^FROM_DAEMON
* 1^0
{
:0
* -100^0 ^Subject:(.*[^a-z])?(Re:|erro|change|problem|((can)?not|.*n't)\>)
* 100^0 B ?? ^^([ ]|$)*\
((archives?:?($|[ ]+)|\
((un)subscribe|(send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^
* 100^0 ^Subject:[ ]*archive
* 1^0
{
:0 whc
| formail -rtzc -xTo: >tmp.from
#
# Store the whole mail in tmp.request, for later reference.
#
:0 wc
| formail -IIn-Reply-To: -ICc: >tmp.request
#
# Check for a missing Subject: line.
#
:0 wfh
* !^Subject:
| formail -a "Subject: "
INCLUDERC=$RC_LOCAL_REQUEST_10
###############################################################################
# Reader beware, the following four regular expressions are not for the faint #
# of heart. It'll suffice to say that they accomplish their intended job 98% #
# of the time. #
###############################################################################
#
# Is it an archive retrieval command?
#
:0 HB w
* 9876543210^0 ^^(.+$)*Subject:[ ]*(([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?\
$(.+$)*(^[ ]*)+)?(archives?:?([ ]|$)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|list|show|\
search|[fe]?grep|find|maxfiles|version)([ ]+[^ ]*)?$)
* 1^0 B ?? ^^([ ]|$)*\
((archives?:?($|[ ]+)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^
{
:0 W
* 9876543210^0 !restrict_archive ?? y
* 2^0 ? formail -rt -R To: "From " -X "From " | \
multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq accept accept2
| arch_retrieve
:0 E fhw
| formail -A "X-Diagnostic: Not on the accept list"
}
#
# Is it an unsubscription request?
#
:0 EHB
* 9876543210^0 ^^(.+$)*Subject:[ ]*([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?(\
($(.+$)*(^[ ]*)+((.+|$)+[,.:;]([ ]+|$)+)?)?\
(Could you )?(please )?\
(sign( [^ ]+ |-)?off|cancel|leave|delete|remove|(un|de)-?sub)\>|\
($(.+$)*$(.*$)*)?(.*[^a-z])?\
((un-?|(un|de)-?sub?)s(cr|c|r)i|\
(leave|(delete|remove) .* from|(sign|take|get) .* off) .* [a-z-]*list\>))
* 1^0 B ?? ^^([ ]|$)*unsub(scribe)?([ ].*)?([ ]|$)*\
[^ a-z]?^^
{
:0 fw:dist.lock
* auto_unsubscribe ?? y
| unsubscribe
:0 Aw ${cc_unsubrequests:+c}
| $SENDMAIL $sendmailOPT `cat tmp.from` ;
:0 Afhw
| formail -A "X-Diagnostic: Processed"
}
#
# Is it a subscription request?
#
:0 EHB
* 9876543210^0 ^^(.+$)*Subject:[ ]*([(<]no(ne| subject\
( (\(file transmission|given))?)[>)])?(\
($(.+$)*(^[ ]*)+((.+|$)+[,.:;]([ ]+|$)+)?)?\
(Could you )?(please )?\
(sign( [^ ]+ |-)?on|add|join|sub)\>|\
($(.+$)*$(.*$)*)?(.*[^a-z])?\
(sub?s(cr|c|r)i.*|(join|add .* to|(sign|put) .* on) .* [a-z-]*list\>))
* 1^0 B ?? ^^([ ]|$)*sub(scribe)?([ ].*)?([ ]|$)*\
[^ a-z]?^^
{
#
# Yes, well, then check if the person subscribing isn't on the reject
# list.
#
:0 HB wfh
* ? multigram -b1 -l$reject_threshold reject
| formail -A "X-Diagnostic: Found on the reject list" \
-A "X-Diagnostic: `multigram -b1 -l$reject_threshold reject`"
#
# If not, then let's see if he might already be on the
# mailinglist.
#
:0 E HB wfh
* ? formail -IReceived: -IX-Envelope-To: -IIn-Reply-To: -ICc: | \
multigram -b1 -x$listreq -x$listaddr -l$reject_threshold dist
| formail -A "X-Diagnostic: Already on the subscriber list" \
-A "X-Diagnostic: `multigram -b1 -x$listreq -x$listaddr \
-l$reject_threshold dist`"
#
# If not, add him(/her/it?).
#
:0 E
* auto_subscribe ?? y
{
:0 W ${cc_requests:+c}:dist.lock
| subscribe
:0 awfh
| formail -A "X-Diagnostic: Added to the subscriber list"
:0 Ewfh
| formail -A "X-Diagnostic: Tried to subscribe"
}
}
#
# Is it an info or help request? Send back the help.txt and the
# optional info.txt file.
# We do the same on a complete empty mail (except for perhaps a signature).
#
:0 EHB
* 3^0 ^^(.+$)*Subject:[ ]*\
(([(<]no(ne| subject( (\(file transmission|given))?)[>)])?$\
(.+$)*(^[ ]*)+)?[a-z,. ]*(help|info(rmation)?)\>
* 1^0 ^^(.+$)*Subject:[ ]*\
([(<]no(ne| subject( (\(file transmission|given))?)[>)])?$
* -2^0 ^^(.+$)*(^[ ]*)+[a-z]
* 3^0 ^^(.+$)*^([ ]*$)*--
{
:0 hw ${cc_requests:+c}
| (formail -i"From: $listreq" -rtA"X-Loop: $listaddr"; \
cat help.txt info.txt 2>/dev/null ) | $SENDMAIL $sendmailOPT -t
:0 wfh
| formail -A "X-Diagnostic: help sent"
}
INCLUDERC=$RC_LOCAL_REQUEST_20
LOGABSTRACT=yes
#
# If auto_help is set, anything undecipherable gets back the help.txt and the
# optional info.txt file.
#
:0 EB
* auto_help ?? y
* $!X-Loop: $\listaddr
{
:0 hw ${cc_requests:+c}
| (formail -i"From: $listreq" -rtA"X-Loop: $listaddr"; \
cat help.txt info.txt 2>/dev/null ) | $SENDMAIL $sendmailOPT -t
:0 wfh
| formail -A "X-Diagnostic: undecipherable, help sent"
}
}
}
LOGABSTRACT=yes
#
# Could it be a bounce message from a daemon? Hand it down to procbounce
# which will evaluate it.
#
:0 wic
* $!^(Subject:(.*[^a-z])?Re:|\
X-(Loop: $\listaddr|Diagnostic:)|$X_COMMAND:)
* ^FROM_DAEMON
| sed -e $cutoff_bounce' q' >tmp.request
#
# Sink all messages we can recognise to be queue warnings
#
:0 Ah
* ^Subject: \
(WARNING: message delayed|\
(Returned mail: )?warning: c(an|ould )not send m(essage fo|ail afte)r|\
Undeliverable (RFC822 )?mail: temporarily unable to deliver|\
\*\*\* WARNING - Undelivered mail in mailqueue)
/dev/null
:0 Ah
* ^Subject: (Warning from|mail warning| ?Waiting mail)
* ^(From|Sender):.*(uucp|mmdf)
/dev/null
:0 AhBD
* $^(..?)?X-Loop: $\listaddr \(bounce\)
* ^(..?)?Subject: You have been removed from
/dev/null
#
# Anything that still survived is most likely to be a bounce message.
#
:0 Ahfw
| procbounce
#
# Or is it a remote X-Command from our maintainer?
#
:0 wf:dist.lock
* $^$X_COMMAND:.*$\maintainer[ ]*$\X_COMMAND_PASSWORD
* $!^X-Loop: $\listaddr
| x_command
LOCKFILE # we don't need the lockfile anymore
#
# Anything not taken care of yet will be served to the maintainer of the list.
#
# To make it easier on him, we include a small hint about what might be the
# problem (by adding X-Diagnostic: fields to the header).
#
:0 wfh
* !< $size_limit
| formail -A "X-Diagnostic: Submission size exceeds $size_limit bytes"
:0 wfh
* ^FROM_DAEMON
| formail -A "X-Diagnostic: Mail coming from a daemon, ignored"
:0 HB wfh
* $^X-Loop: $\listaddr
| formail -A "X-Diagnostic: Possible loopback problem"
:0
* !^X-(Diagnostic|Processed):
{
:0 wfh
* $^$X_COMMAND:
| formail -A "X-Diagnostic: Suspicious $X_COMMAND format"
:0 HB wfh
* ? formail -IReceived: -IX-Envelope-To: -IIn-Reply-To: -ICc: | \
multigram -b1 -x$listreq -x$listaddr -l$reject_threshold dist
| formail -A "X-Diagnostic: Already on the subscriber list" \
-A "X-Diagnostic: `multigram -b1 -x$listreq -x$listaddr \
-l$reject_threshold dist`"
}
INCLUDERC=$RC_LOCAL_REQUEST_30
:0 wfh
* !^X-(Diagnostic|Processed):
| formail -A"X-Diagnostic: Unprocessed"
:0 wfh
| formail -A"X-Envelope-To: $X_ENVELOPE_TO"
#
# If this list does not have a maintainer e-mail address, drop things in
# the file request.
#
:0:
* !maintainer ?? .
request
:0 w
| formail -R"From X-From_:" -iDate: -iReturn-Receipt-To: -iRead-Receipt-To: \
-iAcknowledge-To: | $SENDMAIL $sendmailOPT $sendmailOPTp $maintainer
:0 wfh
| formail -A"X-Diagnostic: Maintainer $maintainer could not be reached"
HOST=continue_with_../.etc/rc.post

View File

@ -1,289 +0,0 @@
# BEFORE editing this file, you should make sure that it is not linked to
# the master version (../.etc/rc.submit) anymore (i.e. "delink rc.submit"
# if you do not want your changes to affect all archive servers).
#
# New mails can be temporarily stalled by creating the file rc.lock (either in
# ../.etc for all lists or in the current directory for this list only).
#$Id: rc.submit,v 1.1 2000/04/05 15:09:45 czo Exp $
INCLUDERC=$RC_INIT
INCLUDERC=$RC_CUSTOM
INCLUDERC=$RC_LOCAL_SUBMIT_00
#
# The following recipe makes sure that:
# The mail has a sane size (i.e. it is not inordinately big)
# It does not look like an administrative request.
# It wasn't sent by this list itself.
# It wasn't sent by a daemon (misdirected bounce message perhaps).
#
:0
* < $size_limit
* !$^($X_COMMAND:|X-Loop: $\listaddr)
* ! B ?? $^^$X_COMMAND:
* $$daemon_bias
* -100^0 ^FROM_MAILER|\
^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )\
([^>]*[^(.%@a-z0-9])?(\
LIST(SERV|proc)|NETSERV|bounce|autoanswer|echo|mirror\
)(([^).!:a-z0-9][-_a-z0-9]*)?[%@> ][^<)]*(\(.*\).*)?)?$([^>]|$)
* 1^0
{
:0
* B ?? >640
* 9876543210^0
{ }
#
# Does it look like a regular submission?
# Or perhaps more like an administrative request?
# Look at the start of the body, and see if this could be an administrative
# request, pass it on to rc.request in that case.
#
:0
* $$=^0
* 9876543210^0 !divertcheck ?? y
{ }
:0
* $$=^0
* !B ?? ^^(.*$(.*$(.*$(.*$(.*$(.*$(.*$(.*$)?)?)?)?)?)?)?)?[^]>} a-z0-9]
* 9876543210^0 B ?? ^^.*$.*$.*$.*$.*$.*$.*$.*$.*$
{ }
:0
* $$=^0
* $${maintainer:+9876543210^0 ^From[: ](.*\<)?$\maintainer\>}
* 9876543210^0 ^(Subject:(.*\<)?(Re:|magazine)\>)|X-(Diagnostic|Mailing-List):
* -25^0 ^\
Subject:([ ]*(archives?:?([ ]+(\
(send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ]|$)|[ ]*$)|\
help|info|join|leave|\
(Could you )?(please )?\
(cancel(( my)? subscription)?|add|\
sign( [^ ]+ |-)?o(n|ff)|(un|de)?-?sub)[ ]*$)|\
.*( (join|leave|add .* to|(delete|remove) .* from|\
(take|sign|get) .* off|(put|sign) .* on) .* [a-z-]*list|\
(un-?|sub?)s(cr|c|r)i(be|ption))\>)
* -50^0 ^Subject:[ ]*[(<]no(ne| subject\
( (\(file transmission|given))?)[>)]$
* 50^0 ^Subject:.*[a-z]
* -100^0 B ?? ^^([ ]|$)*\
((((archives?:?($|[ ]+)|\
((send|get)(me)?|gimme|retrieve|mail|ls|dir(ectory)?|\
list|show|search|[fe]?grep|find|maxfiles|version|help|info)\
([ ].*)?$)([ ]|$)*)+\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^|\
(help|info)[ ]*$|\
(add|join|leave|sign( [^ ]+ |-)?o(n|ff)|(un|de)?-?sub)\>)|\
([^ a-z].*$(.*$(.*$(.*$(.*$)?)?)?)?)?^^|\
.*( (join|leave|add .* to|(delete|remove) .* from|\
(take|sign|get) .* off|(put|sign) .* on) .* [a-z-]*list|\
(un-?|sub?)scri(be|ption))\>|\
^^)
{
#
# Then check to see if the sender is on the accept list (if foreign_submit
# is not set).
#
:0
* 9876543210^0 foreign_submit ?? y
* 2^0 ? formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
-xResent-Reply-To: -xResent-Sender: -xReturn-Path: | \
multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq accept accept2
{
INCLUDERC=$RC_LOCAL_SUBMIT_10
:0
* moderated_flag ?? y
{
:0 Bfw # contract header and body
* ^^Approved:.*$^
| sed -e '1,/^$/{' -e '/^$/d' -e '}'
:0
* !$^Approved:.*$moderator_PASSWORD
| formail -R"From X-Envelope-From:" -uDate: -iReturn-Receipt-To: \
-iRead-Receipt-To: -iAcknowledge-To: | \
$SENDMAIL $sendmailOPT `cat moderators`
:0 fhw
| formail -IApproved:
}
#
# Eliminate duplicate submissions by checking the Message-ID: field.
#
:0 Wh :msgid.lock
| formail -q- -D $idcache_size msgid.cache
#
# Check if we need to autosubscribe anyone not on the dist list.
#
:0
* force_subscribe ?? y
* !? if test y = "$moderated_flag" ;\
then formail -xFrom: -xSender: -xReply-To: ;\
else formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
-xResent-Reply-To: -xResent-Sender: -xReturn-Path: ;\
fi | multigram -b1 -m -l$submit_threshold -L$domain \
-x$listaddr -x$listreq dist
{
#
# Yes, well, then check if the person isn't on the reject list.
#
:0
* ? multigram -b1 -l$reject_threshold reject
{
:0 wfh
| formail -A "X-Diagnostic: Found on the reject list" \
-A "X-Diagnostic: `multigram -b1 -l$reject_threshold reject`"
HOST=continue_with_rc.request
}
LOCKFILE=tmp.lock
:0 whc
| formail -rtzc -xTo: >tmp.from
:0 Wc :dist.lock
| sed -e '/^$/,/^-- $/ d' | formail -I "Subject: auto subscribe" \
>tmp.request; subscribe <tmp.request && test ! -z "$subscribe_log" \
&& echo "rc.submit: auto subscribed" >>$subscribe_log
LOCKFILE
}
#
# Check if this is a digested mailinglist. If yes, processing stops
# here and the mail will be added to the digest.
#
:0
* digest_flag ?? y
{
#
# Forward the article back to the undigested list, if it hasn't
# come from there.
#
:0 c
* undigested_list ?? y
* $!^X-Loop: $\undigested_list
! $sendmailOPT $undigested_list
#
# Finally digest the mail.
#
:0 w :tmp.lock
| digest
}
ARCHIVE # Wipe ARCHIVE from the environment
#
# Check if we are the first mailinglist to distribute this message, if so
# archive the message.
#
:0
* archive_hist ?? [1-9]
* !^X-Mailing-List:
{
:0 c
archive/latest/.
ARCHIVE=$LASTFOLDER # Remember where it was archived
#
# Truncate the archive to the correct number of files (and
# possibly other housekeeping chores to keep the archive
# current).
#
:0 c hi
| arch_trunc
}
#
# Main header munger for submissions passing through this list.
#
oldshellmetas="$SHELLMETAS" SHELLMETAS # Save a shell, procmail can
# do this one by itself.
:0 wfh
| formail -b -IFrom\ -IReceived: -IReturn-Receipt-To: -IErrors-To: \
-IX-Pmrqc: -IX-Confirm-Reading-To: -IX-Ack: -IAcknowledge-To: \
-IRead-Receipt-To: -IReturn-Receipt-Requested: -IX-Diagnostic: \
-iStatus: -iReturn-Path: -iX-Envelope-To: -iX-Envelope-From: \
-I"Precedence: list" -I"Resent-Sender: $listreq" \
-uDate: -aMessage-ID: -aResent-Message-ID: \
-a"To: $listaddr" -a"Resent-From: $listaddr" -A"X-Loop: $listaddr" \
-a"Subject: Unidentified subject!" ${reply_to:+"-a$reply_to"} \
-a"X-Mailing-List: <$listaddr> $ARCHIVE"
SHELLMETAS="$oldshellmetas" oldshellmetas
INCLUDERC=$RC_LOCAL_SUBMIT_20
#
# The following recipe will distribute the message to the subscribers
# using the native $SENDMAIL, but only if you disabled the alternative
# sendmail (choplist).
#
:0 w: dist.lock
* !alt_sendmail ?? .
! $sendmailOPT $listdist
#
# Alternate sendmail call (used by default), does not use the file-
# including -dist alias.
#
:0 Ew: dist.lock
| $alt_sendmail $SENDMAIL $sendmailOPT $sendmailOPTi
:0 wfh
| formail -A "X-Diagnostic: $SENDMAIL $listdist failed"
HOST=continue_with_rc.request
}
:0 E wfh
| formail -A "X-Diagnostic: Not on the accept list"
:0 A c
* ? test -f accept.txt
{
:0 fh
| formail -i"From: $listreq" -kbrtA"X-Loop: $listaddr" ; cat accept.txt
:0
! $sendmailOPT -t
}
} }
:0 fhw
* pass_diverts ?? y
* !^X-Diagnostic:
| formail -A "X-Diagnostic: Diverted & unprocessed"
HOST=continue_with_rc.request

View File

@ -1,119 +0,0 @@
#
# Assign the fully qualified mail address of the maintainer of this list
# to "maintainer". If empty, request-mail will not be mailed to any
# maintainer and will be stored in the "request" file for this list.
#
maintainer = Olivier.Sirol@lip6.fr
#LOGABSTRACT=yes # uncomment in case of emergency
#VERBOSE=yes # uncomment in case of real emergency
size_limit = 1524288 # sanity cutoff value for submissions
idcache_size = 8192 # duplicate-msgid cache size in bytes
archive_hist = 20 # number of messages left archived
#archive_log = $LOGFILE # log file for archive retrievals
#subscribe_log = $LOGFILE # log file for administrivia
#maxhist = 32 # bounce history limit
#minbounce = 4 # no. of bounces before removal
#cutoff_bounce = 256 # lines to keep in bounce processing
#match_threshold= 30730 # for close matches to the list
#medium_threshold= 28672 # for not so close matches to the list
#loose_threshold= 24476 # for loosely finding your name
#auto_off_threshold= $medium_threshold # for auto-unsubscribing bouncers
#off_threshold = $loose_threshold # for unsubscribing
#reject_threshold= $match_threshold # for rejecting subscriptions
#submit_threshold= $medium_threshold # for permitting submissions
#unsub_assist
unsub_assist = 8 # uncomment (and change perhaps) this
# line to enable unsubscription
# assistance; it specifies the no. of
# multigram matches an unsuccessful
# unsubscriber will receive back
#foreign_submit = yes
##foreign_submit # uncomment this line if you
# want to restrict submitting to
# people on the accept list
#restrict_archive
##restrict_archive= yes # uncomment this line if you
# want to restrict archive retrievals
# to people on the accept list
#force_subscribe
force_subscribe= yes # uncomment to cause people to
# be autosubscribed upon first
# submission to the list
#auto_unsubscribe= yes
##auto_unsubscribe # uncomment to disable unattended
# unsubscription handling
#auto_subscribe = yes
##auto_subscribe # uncomment to disable unattended
# subscription handling
#auto_help
auto_help = yes # uncomment to enable default help
# responses to all undecipherable
# requests
#moderated_flag
##moderated_flag= yes # uncomment this to make the list
# moderated (you must create a
# `moderators' file for this to work)
# set moderator_PASSWORD to get
# stricter checking
#cc_requests
##cc_requests = yes # uncomment if you want subscribe
# and help requests to be Cc'd to
# the maintainer
#cc_unsubrequests
##cc_unsubrequests= yes # uncomment if you want unsubscribe
# requests to be Cc'd to the maintainer
#divertcheck = yes
##divertcheck # uncomment to disable the check for
# misfiled administrative requests
#pass_diverts
##pass_diverts = yes # uncomment to pass on administrative
# requests diverted from the normal
# list to the maintainer unprocessed
# (instead of trying to handle them)
#reply_to
##reply_to = "Resent-Reply-To: $listaddr" # uncomment (and perhaps change
# it to "Reply-To") to force replies
# to go to the list (discouraged)
# why discouraged? see:
# http://garcon.unicom.com/FAQ/reply-to-harmful.html
#digest_flag
##digest_flag = yes # uncomment this if you want digests
#digest_age = 262144 # maximum age of a digest in seconds
#digest_size = 32768 # maximum size of a digest in bytes
#undigested_list = $list@$domain # Reply-To: address for digests
#moderator_PASSWORD = # put the optional password for
# moderators here, this definition
# can contain regular expression magic
# characters (to support multiple
# passwords)
X_COMMAND = X-Command
X_COMMAND_PASSWORD = alcpass # put the literal password for
# X-Command mails here
#daemon_bias='100^0 ^From:.*daemon@ok' # You could set "daemon_bias" to
# positively discriminate some
# mail address not to be from a daemon. Either with a regexp as demonstrated
# or with more complicated recipes that simply set it to '100^0' or nothing.
#RC_LOCAL_SUBMIT_00 = rc.local.s00 # Uncomment (and change) these to
#RC_LOCAL_SUBMIT_10 = rc.local.s10 # call up customised local scripts
#RC_LOCAL_SUBMIT_20 = rc.local.s20 # at predefined points.
#RC_LOCAL_REQUEST_00 = rc.local.r00
#RC_LOCAL_REQUEST_10 = rc.local.r10
#RC_LOCAL_REQUEST_20 = rc.local.r20
#RC_LOCAL_REQUEST_30 = rc.local.r30
RC_CUSTOM # clear this one from the environment
# so that we include this file only
# once

View File

@ -1,10 +0,0 @@
#! /bin/sh
YEAR_YY=`date +%y`
YEAR_YYYY=`date +%Y`
MAILL=$1
cd /users/largo2/webmastr/wwwroot/mailing-lists
/usr/local/bin/hypermail -c /users/largo1/czo/cvslargo/listes-rules/hypermail/.hmrc -p -i -u -x -l "${MAILL} '${YEAR_YY}" -d "${MAILL}/${YEAR_YYYY}"

View File

@ -1,323 +0,0 @@
#
# hmrc.example:
#
# This is a sample Hypermail configuration file. If you wish
# to use it, copy it to a new filename and edit as appropriate
# for you list needs.
#
# hm_mbox = [ filename | NONE ]
#
# This is the default mailbox to read messages in from. Set this
# with a value of NONE to read from standard input as the default.
hm_mbox = NONE
# hm_label = [ Title | NONE ]
#
# This is the default title you want to call your archives.
# Set this to NONE to use the name of the input mailbox.
hm_label = NONE
# hm_archives = [ URL | NONE ]
#
# This creates a link in the archived index pages labeled
# "Other mail archives". Set this to NONE to omit such a link.
hm_archives = NONE
# hm_about = [ URL | NONE ]
#
# This creates a link in the archived index pages labeled
# "About this archive". Set this to NONE to omit such a link.
hm_about = NONE
# hm_dir = [ directory path | NONE ]
#
# This is the default directory that Hypermail uses when creating
# and updating archives. If set to NONE, the directory will have the
# same name as the input mailbox.
hm_dir = NONE
# hm_defaultindex = [ thread | date | subject | author ]
#
# This indicates the default type of main index hypermail will generate.
# Users see this type of index when the archive is first accessed.
hm_defaultindex = thread
# hm_reverse = [ 0 | 1 ]
#
# Setting this variable to 1 will reverse-sort the article
# entries in the date and thread index files by the date they
# were received. That is, the most recent messages will appear
# at the top of the index rather than the other way around.
# Set to 0 if you want latest message on the bottom for date and
# thread indexes.
hm_reverse = 1
# hm_usetable = [ 0 | 1 ]
#
# Setting this variable to 1 will tell Hypermail to generate an
# index menu at the top and bottom of each page in a table format.
# Set to 0 if you want the standard Hypermail page look and feel.
hm_usetable = 0
# hm_showprogress = [ 0 | 1 ]
#
# Set to 1 to show progress as Hypermail works. Set to 0 for silent
# operation. Output goes to standard output.
hm_showprogress = 1
# hm_show_msg_links = [ 0 | 1 ]
#
# Set this to 1 if you want links to Next, Prev, Next thread, Reply to,
# etc, displayed on the article pages. Setting this to 0 disables these
# links from appearing on the generated pages.
hm_show_msg_links = 1
# hm_showheaders = [ 0 | 1 ]
#
# Set this to 1 to show the RFC 822 message headers To:,
# From:, and Subject: information found in the email messages.
# Set to 0 if you want to hide mail headers in articles.
hm_showheaders = 0
# hm_showreplies = [ 0 | 1 ]
#
# Set to 1 to show all replies to a message as links in article files.
# If this is set to 0 no reply links are generated.
hm_showreplies = 1
# hm_showhtml = [ 0 | 1 ]
#
# Set this to 1 to show the articles in a proportionally-spaced
# font rather than a fixed-width (monospace) font. Setting this
# option to 1 also tells Hypermail to attempt to italicize quoted
# passages in articles.
hm_showhtml = 0
# hm_showbr = [ 0 | 1 ]
#
# Set this to 1 if you want article lines to end with the <br> tag.
# Else set to 0 to have non-quoted lines word-wrap. Only takes effect
# if hm_showhtml is set to 1.
hm_showbr = 0
# hm_iquotes = [ 0 | 1 ]
#
# Set this to 1 if you want quoted lines to be shown in italics. Only
# take effect if hm_showhtml is set to 1.
hm_iquotes = 1
# hm_showhr = [ 0 | 1 ]
#
# Set to 1 if you want horizontal rules <HR> before and after
# the articles. Set to 0 if you don't.
hm_showhr = 0
# hm_overwrite = [ 0 | 1 ]
#
# Set to 1 to make Hypermail overwrite existing archives by default.
hm_overwrite = 0
# hm_increment = [ 0 | 1 ]
#
# Define as 1 to read in one article only and update existing archives.
# Define as 0 for it to read and process entire mailboxes.
hm_increment = 1
# hm_thrdlevels = number
#
# This specifies the number of thread levels to outline in the thread
# index. For instance, if hm_thrdlevels is 2, replies to messages will
# be indented once in the index, but replies to replies, etc., will only
# be indented once as well. The normal value is 2.
hm_thrdlevels = 2
# hm_eurodate = [ 0 | 1 ]
#
# Set this to reflect how you want dates displayed in the index files.
# Set as 1 to to use European date format "DD MM YYYY".
# Define as 0 to to use American date format "MM DD YYYY".
hm_eurodate = 1
# hm_dirmode = octal number
#
# This is an octal number representing the rwx modes that new directories
# are set to when they are created. If the archives will be made publically
# available, it's a good idea to define this as 0755. This must be an octal
# number.
hm_dirmode = 0755
# hm_filemode = octal number
#
# This is an octal number representing the permission modes that new files
# are set to when they are created. If the archives will be made publically
# available, it's a good idea to define this as 0644. This must be an octal
# number.
hm_filemode = 0644
# hm_mailcommand = [ direct mailto | cgi-bin script path | NONE ]
#
# This is the mail command that email links go to, for instance
# "mailto:$TO" or "/cgi-bin/mail?to=$TO&replyto=$ID&subject=$SUBJECT"
#
# In constructing this command, you can specify variables:
#
# $TO : the email address of the person you're sending mail to.
# $ID : the ID of the message you're replying to.
# $SUBJECT: the subject you're replying to.
#
# NONE disables mailcommand usage.
hm_mailcommand = mailto:$TO?subject=$SUBJECT
# hm_mailto = [ email-address | NONE ]
#
# The address of the contact point that is put in the HTML header line
# <LINK REV=made HREF=mailto:hm_mailto>
#
# The <LINK...> header can be disabled by default by setting
# mailto to NONE.
hm_mailto = czo@asim.lip6.fr
# hm_domainaddr = [ domainname | NONE ]
#
# Domain-ize Addresses -- addresses appearing in the RFC822 field
# which lack hostname can't be made into proper HREFs. Because the
# MTA resides on the same host as the list, it is often not required
# to domain-ize these addresses for delivery. In such cases, hypermail
# will add the DOMAINADDR to the email address.
hm_domainaddr = asim.lip6.fr
# hm_body = [ HTML <BODY> statement | NONE ]
#
# Set this to the <BODY> line to use when generating the HTML pages.
# Set to "NONE" to use the builtin <BODY> line by default.
#hm_body = <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
hm_body = NONE
# hm_hmail = [ Mailing List Submission Address | NONE ]
#
# Set this to the list's submission address. When enabled, this can be
# used to submit a new message to the list served by the hypermail archive.
# "NONE" means don't use it.
hm_hmail = NONE
# hm_ihtmlheader = [ path to index header template file | NONE ]
#
# Set this to the path to the Index header template file. The template
# file contains HTML directives and substitution cookies for runtime
# expansion.
hm_ihtmlheaderfile = "/users/largo1/czo/cvslargo/listes-rules/hypermail/hypermail-index.hyp"
# hm_ihtmlfooter = [ path to index footer template file | NONE ]
#
# Set this to the path to the Index footer template file. The template
# file contains HTML directives and substitution cookies for runtime
# expansion.
hm_ihtmlfooterfile = "/users/largo1/czo/cvslargo/listes-rules/hypermail/hypermail-footer.hyp"
# hm_mhtmlheader = [ path to message header template file | NONE ]
#
# Set this to the path to the Message header template file. The template
# file contains HTML directives and substitution cookies for runtime
# expansion.
hm_mhtmlheaderfile = "/users/largo1/czo/cvslargo/listes-rules/hypermail/hypermail-msg.hyp"
# hm_mhtmlfooter = [ path to message footer template file | NONE ]
#
# Set this to the path to the Message footer template file. The template
# file contains HTML directives and substitution cookies for runtime
# expansion.
hm_mhtmlfooterfile = "/users/largo1/czo/cvslargo/listes-rules/hypermail/hypermail-footer.hyp"
######################
# Multiline variables
######################
# hm_show_headers = list of RFC 822 Headers to display if hm_showheaders
# is set to 1 (TRUE)
#
# This is the list of headers to be displayed. They can be listed
# comma or space separated all on a single line such as
# hm_show_headers = From,Subject,Date,Message-ID
# or they can be listed individually or any combination of.
# hm_show_headers = From
# hm_show_headers = Subject
# hm_show_headers = Date
# hm_show_headers = Message-ID
hm_show_headers = From,Subject,Date,Message-ID
# hm_inline_types = indicate which types of data should be inlined
#
# This is the list of MIME types that you want inlined as opposed to
# simply linked into the message. They can be listed individually on
# multiple lines or comma or space separated on a single line.
# hm_inline_types = image/gif image/jpeg
# or
# hm_inline_types = image/gif
# hm_inline_types = image/jpeg
hm_inline_types = image/gif image/jpeg
# hm_ignore_types = indicate which types of attachments to ignore and
# not process.
#
# This is the list of MIME attachment types that you do not want to
# do anything with. They are quietly ignored. They can be listed
# individually on multiple lines or comma or space separated on a
# single line.
# hm_ignore_types = text/x-vcard application/x-msdownload
# or
# hm_ignore_types = text/x-vcard
# hm_ignore_types = application/x-msdownload
hm_ignore_types = text/x-vcard
hm_ignore_types = application/x-msdownload
# hm_prefered_types = indicate which of the alternative types to use
#
# This is the list of alternative MIME types that you want used when
# displaying the data. This can be listed individually on multiple
# lines or comma or space separated on a single line.
# hm_prefered_types = text/plain text/html
# or
# hm_prefered_types = text/plain
# hm_prefered_types = text/html
# Order is important.
#
# NOTE: This option is not fully implemented at present.
hm_prefered_types = text/plain text/html

View File

@ -1,10 +0,0 @@
</BLOCKQUOTE>
<P ALIGN=CENTER><IMG SRC="/ssi/img/bar.gif" ALT="---------"></P>
<!--
<SMALL><SMALL>\n<EM>This archive was generated by
%u.
</EM></SMALL></SMALL>
-->
<!--#include virtual="/ssi/alliance_footer.html" -->
</BODY>
</HTML>

View File

@ -1,15 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="description" content="Alliance mail archives">
<META NAME="keywords" content="Alliance mail archives">
<TITLE>%l: %s</TITLE>
<LINK REV="made" HREF="mailto:%m">
</HEAD>
<!--#include virtual="/ssi/alliance_header.html" -->
<H2>%l<BR>%s</H2>
<P ALIGN=CENTER><IMG SRC="/ssi/img/bar.gif" ALT="---------"></P>
<BLOCKQUOTE>

View File

@ -1,20 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="description" content="Alliance mail archives">
<META NAME="keywords" content="Alliance mail archives">
%A
%S
<TITLE>%l: %s</TITLE>
<LINK REV="made" HREF="mailto:%m">
</HEAD>
<!--#include virtual="/ssi/alliance_header.html" -->
<H2>%l<BR>%s</H2>
<P ALIGN=CENTER><IMG SRC="/ssi/img/bar.gif" ALT="---------"></P>
</font>
<BLOCKQUOTE>

View File

@ -1,58 +0,0 @@
#! /bin/sh
#
# Author : Olivier.Sirol@lip6.fr
# Date : fev 1999
# Description :
#
# (C) Czo 1998,99
# This code is released under GPL
#
# $Id: hypreset,v 1.2 2000/06/06 15:34:00 czo Exp $
#
PATH=/asim/gnu/bin:/usr/ucb:/usr/etc:/bin:/usr/local/bin:${PATH}
TMPWORKDIR=/tmp/hypczo
WML=/users/largo2/webmastr/wwwroot/mailing-lists
LOCK=/usr/local/listes/.etc/rc.lock
HMRC=/users/largo1/czo/cvslargo/listes-rules/hypermail/.hmrc
SPLIT=/users/largo1/czo/cvslargo/listes-rules
#lock
touch $LOCK
rm -fr "$TMPWORKDIR"
cd $WML
echo "--> Sleep 5 sec and check..."
sleep 5
RES=`ps auxww | grep "hypermail" | grep -v grep`
if [ "$?" -eq 0 ]
then
echo "ERROR: hypermail running"
else
echo "--> generating..."
#for MBOX in alliance-support
for MBOX in alliance-programmers alliance-support alliance-users archi help
do
echo "--> $MBOX..."
mkdir -p "$TMPWORKDIR"
cd "$WML/$MBOX"
find . -type d -maxdepth 1 -mindepth 1 | xargs rm -fr dummy
cat "$WML/$MBOX/$MBOX.mbox" | formail -s $SPLIT/splitmailbyyear
echo %%%%%%%%%%%%%%%%%%%
for YEARBOX in `find /tmp/hypczo -type f -printf "%P\n"`
do
echo $YEARBOX
/usr/local/bin/hypermail -c $HMRC -p -x -l "$MBOX '$YEARBOX" -d "$WML/$MBOX/$YEARBOX" -m "/tmp/hypczo/$YEARBOX"
done
rm -fr "$TMPWORKDIR"
done
fi
rm -f $LOCK

View File

@ -1,18 +0,0 @@
#! /bin/sh
gawk '
BEGIN {FIRST=1;}
{
if (FIRST)
{
FIRST=0;
# ca cest du bug...
if ( $0 ~ /no email/ )
gsub(/\(no email\)/,"NOMAIL");
YEAR=$7;
if (YEAR<1990) {YEAR=2000}
}
print $0 >> "/tmp/hypczo/"YEAR ;
}'

View File

@ -1,231 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.alliance
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:59
# Edit Time: 0:15:08
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.alliance,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/slash/alliance
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/alliance.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot/slash" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,230 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.allsite
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 15:30
# Edit Time: 0:36:41
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.allsite,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/allsite.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tar.gz .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains bkp CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,232 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.alml
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:58
# Edit Time: 0:22:12
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.alml,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/mailing-lists/alliance-programmers
IndexDir /users/largo2/webmastr/wwwroot/mailing-lists/alliance-support
IndexDir /users/largo2/webmastr/wwwroot/mailing-lists/alliance-users
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/alml.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,230 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.education
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:58
# Edit Time: 0:17:04
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.education,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/education
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/education.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,231 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.intranet
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:58
# Edit Time: 0:17:51
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.intranet,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/intranet
IndexDir /users/largo2/webmastr/wwwroot/mailing-lists/archi
IndexDir /users/largo2/webmastr/wwwroot/mailing-lists/help
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/intranet.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,230 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.mpc
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:59
# Edit Time: 0:18:15
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.mpc,v 1.1 2000/06/06 16:50:13 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/mpc
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/mpc.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,229 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.multimedia
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:59
# Edit Time: 0:19:30
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.multimedia,v 1.1 2000/06/06 16:50:14 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/multimedia
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/multimedia.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,230 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.publications
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:59
# Edit Time: 0:20:05
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.publications,v 1.1 2000/06/06 16:50:14 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
IndexDir /users/largo2/webmastr/wwwroot/publications
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/publications.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,231 +0,0 @@
# swish-e configuration file
#
# Filename: .swisherc.users
# Copyright (C) 1999, 2000 Czo <Olivier.Sirol@lip6.fr>
# License: GPL (http://www.gnu.org/copyleft/gpl.html)
# Started: April 2000
# Last Change: Friday 12 May 2000, 14:59
# Edit Time: 0:21:49
# Description: swish-e -c /users/largo1/czo/cvslargo/www/cgi-bin/czo/.swisherc.alliance
#
# $Id: .swisherc.users,v 1.1 2000/06/06 16:50:14 czo Exp $
#
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# ypcat passwd | grep users\/cao | gawk -F : '{printf ("IndexDir %s\/public_html\n", $6)}' | sort -u
IndexDir /users/largo2/webmastr/wwwroot/homepages
IndexFile /users/largo1/czo/cvslargo/www/cgi-bin/czo/users.dat
ReplaceRules replace "/users/largo2/webmastr/wwwroot" "http://www-asim.lip6.fr"
IndexName "Asim Lab. index"
IndexDescription "Index by Czo"
IndexPointer "http://www-asim.lip6.fr/"
IndexAdmin "Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>"
# YOU SHOULD NOT CHANGE BELOW. Czo.
#######################################################
# DIRECTIVES COMMON to HTTP and FILESYSTEM METHODS
###################################################
# WINDOWS USERS NOTE:
# Specify ALL files and directory paths in the
# the config file using the forward slash, as
# in /thisdirectory.
#
###################################################
# IndexDir http://www.lib.berkeley.edu/~ghill/spider.html
# For the FileSystem Method:
# This is a space-separated list of files and
# directories you want indexed. You can specify
# more than one of these directives.
#
# For the HTTP Method:
# Use the URL's from which you want the spidering
# to begin.
# NOTE: use hmtl files rather than directories
# for this method.
# IndexFile /home/ghill/swishRon/dir1/myindex1
# This is what the generated index file will be.
# IndexName "Improvement index"
# IndexDescription "This is an index to test bug fixes in swish."
# IndexPointer "http://sunsite/~ghill/swish/index.html"
# IndexAdmin "Giulia Hill, (ghill@library.berkeley.edu)"
# Extra information you can include in the index file.
MetaNames first author
# List of all the meta names used in the file to index, must be on one line.
# If no metanames DO NOT deleted the line.
IndexReport 3
# This is how detailed you want reporting. You can specify numbers
# 0 to 3 - 0 is totally silent, 3 is the most verbose.
FollowSymLinks no
# Put "yes" to follow symbolic links in indexing, else "no".
#UseStemming no
# Put yes to apply word stemming algorithm during indexing,
# else no. See the manual for info about stemming. Default is
# no.
#PropertyNames author
# List of meta tags names that can be retrieved with the -p option.
# Index size increases as by the formula in the manual.
# Comment out if no PropertyNames. Case insensitive
IgnoreTotalWordCountWhenRanking yes
# Put yes to ignore the total number of words in the file
# when calculating ranking. Often better with merges and
# small files. Default is no.
#ReplaceRules remove "ghill/"
#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
#ReplaceRules replace "/ghill" "moreghillmore"
# ReplaceRules allow you to make changes to file pathnames
# before they're indexed. This directive uses C library
# regex.h regular expressions.
# NOTE: do not use replace <string> "" to remove a string,
# use remove <string> instead - you might get a core dump otherwise.
MinWordLimit 2
# Set the minimum length of an indexable word. Every shorter word
# will not be indexed.
# Commenting out the line will give the defaults
#MaxWordLimit 5
# Set the maximum length of an indexable word. Every longer word
# will not be indexed.
# Commenting out the line will give the defaults
#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
# WORDCHARS is a string of characters which SWISH permits to
# be in words. Any strings which do not include these characters
# will not be indexed. You can choose from any character in
# the following string:
#
# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
#
# Note that if you omit "0123456789&#;" you will not be able to
# index HTML entities. DO NOT use the asterisk (*), lesser than
# and greater than signs (<), (>), or colon (:).
#
# Including any of these four characters may cause funny things to happen.
# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
# Commenting out the line will give the defaults
#BeginCharacters m"
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
#EndCharacters \"\
# Of the characters that you decide can go into words, this is
# a list of characters that words can begin with. It should be
# a subset of (or equal to) WordCharacters
# Same rule of syntax as for WordCharacters
# IgnoreLastChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the end. It is important to also
# set the given char's in the ENDCHARS array, otherwise the word will not
# be indexed because considered invalid.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
# IgnoreFirstChar
# Array that contains the char that, if considered valid in the middle of
# a word need to be disreguarded when at the beginning. This was to solve
# the problem of parenthesis when there is no space between ( and the
# beginning of the word.
# Remember to add the char's to the BEGINCHARS list also.
# Commenting out the line will give the defaults
# NOTE: if " is the first char in the string it needs to be escaped with \
# Do not escape otherwise
IgnoreLimit 50 1000
# This automatically omits words that appear too often in the files
# (these words are called stopwords). Specify a whole percentage
# and a number, such as "80 256". This omits words that occur in
# over 80% of the files and appear in over 256 files. Comment out
# to turn of auto-stopwording.
#IgnoreWords SwishDefault
# The IgnoreWords option allows you to specify words to ignore.
# Comment out for no stopwords; the word "SwishDefault" will
# include a list of default stopwords. Words should be separated by spaces
# and may span multiple directives.
IndexComments 0
# This option allows the user decide if to index the comments in the files
# default is 1. Set to 0 if comment indexing is not required.
##################################
# DIRECTIVES for FILESYSTEMS ONLY
# Comment out if using HTTP
###################################
#IndexOnly .html .q
# Only files with these suffixes will be indexed.
NoContents .gif .xbm .au .mov .mpg .pdf .ps .jpg .jpeg
NoContents .gz .Z .tar .tgz .mbox .hqx .zip .ZIP .HQX .ARJ .arj .bin .dat
NoContents .exe
# Files with these suffixes will not have their contents indexed -
# only their file names will be indexed.
FileRules pathname contains CVS RCS cgi-bin tmp
FileRules pathname contains .*dir1
FileRules pathname contains private
FileRules filename contains % ~ .bak .orig .old old. #
#FileRules title contains construction example pointers
FileRules directory contains .htaccess
#FileRules filename is index
# Files matching the above criteria will *not* be indexed.
# The patter matching uses the C library regex.h
################################
# DIRECTIVES for HTTP METHOD ONLY
# Comment out if using FILESYSTEM
##################################
#MaxDepth 15
#(default 5) This defines how many links the spider should
#follow before stopping. A value of 0 configures the spider to
#traverse all links
#Delay 60
#(default 60) The number of seconds to wait between issuing
#requests to a server.
#TmpDir /tmp/
#(default /var/tmp) The location of a writeable temp directory
#on your system. The HTTP access method tells the Perl helper to place
#its files there.
#SpiderDirectory ./
#(default ./) The location of the Perl helper
#script. Remember, if you use a relative directory, it is relative to
#your directory when you run SWISH-E, not to the directory that SWISH-E
#is in.
#EquivalentServer http://asim.lip6.fr http://www-asim.lip6.fr
# EquivalentServer http://sunsite.berkeley.edu:2000 http://sunsite.berkeley.edu
#(default nothing) This allows you to deal with
#servers that use respond to multiple DNS names. Each line should have
#a list of all the method/names that should be considered equivalent.
#If you have multiple directives, each one defines its own set of equivalent
#servers.

View File

@ -1,147 +0,0 @@
#!/usr/local/bin/perl
#######################################################################
# Audric's Counter v1.0 FREEWARE
# Full copyright and legal speak at:
# http://www.aimsweb.com/goodies/counter2.htm
#
# Inspired on Matt's Wright Counter program
# Matt's Script Archive http://www.worldwidemart.com/scripts/
#######################################################################
# Define Variables
### FILE AND DIRECTORY LOCATIONS, REFERERS ###
$count_file = "/users/cao7/czo/public_html/cgi-bin/count.txt"; # must be chmod 777
$digit_dir = "/ssi/";
$access_log = "/users/cao7/czo/public_html/cgi-bin/access_log"; # must be chmod 777
$error_log = "/users/cao7/czo/public_html/cgi-bin/error_log"; # must be chmod 777
# If someone wants to use your counter from theri pages and their domain
# is not contained into @refers show them this gif.
$bad_referer_img = "http://www.aimsweb.com/images/bad_referer.gif";
# Domains you want to allow to use this script
@referers=(
"lip6.fr",
"127.0.0.1"
);
### IMAGE SETTINGS ###
# If you change the 0-9.gif set make sure you chage those accordingly
$width = "9";
$height = "20";
### OPTIONS ###
$uselog = "1"; # 1 = YES; 0 = NO
# Done - You shouldn't need to change anything below this line..
#######################################################################
#################
# Get the Date For Logging Purposes
if ($uselog == 1) {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$mon++; # fixes Matt's Counter bug
if ($sec < 10) { $sec = "0$sec"; }
if ($min < 10) { $min = "0$min"; }
if ($hour < 10) { $hour = "0$hour"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($mon < 10) { $monc = "0$mon"; }
$date = "$hour\:$min\:$sec $mon/$mday/$year";
}
#################
# Make Sure People Aren't Messing With the Counter From Other Web Pages
#&check_referer;
#################
# Get the Counter Number And Write New One to File
&get_num;
#################
# Determine Length of Counter Number
# Set Individual Counter Numbers Into Associative Array
$savedcount=$count;
$num = $length = length($count);
while ($num > 0) {
$CHAR{$num} = chop($count);
$num--;
}
#################
# Generates HTML to use pre-generated GIFs
$j = 1;
$myNumber="";
while ($j <= $length) {
$myNumber .= "<img src=\"$digit_dir$CHAR{$j}\.gif\" border=0 width=$width height=$height>";
$j++;
}
#################
# Write the generated HTML to STDOUT
print "Content-Type: text/html\n\n";
print "<table border=0 cellspacing=0 cellpadding=0><tr><td>$myNumber</td></tr></table>\n";
#################
# Log the Counter Access
if ($uselog == 1) {
&log_access;
}
exit;
######################################################
# SUBROUTINES
######################################################
#################
sub check_referer {
if (@referers && $ENV{'HTTP_REFERER'}) {
foreach $referer (@referers) {
if ($ENV{'HTTP_REFERER'} =~ /$referer/) {
$ref = 1;
last;
}
}
}
else {
$ref = 1;
}
if ($ref != 1) {
print "Content-Type: text/html\n\n $bad_referer_img\n\n";
if ($uselog == 1) {
open(LOG,">>$error_log") || die "Can't Open User Error Log: $!\n";
print LOG "$error: $ENV{'REMOTE_HOST'} [$date] $ENV{'HTTP_REFERER'} - $ENV{'HTTP_USER_AGENT'}\n";
close(LOG);
}
exit;
}
}
#################
sub get_num {
open(COUNT,"$count_file") || die "Can't Open Count Data File: $!\n";
$count = <COUNT>;
close(COUNT);
if ($count =~ /\n$/) {
chop($count);
}
$count++;
open(COUNT,">$count_file") || die "Can't Open Count Data File For Writing: $!\n";
print COUNT "$count";
close(COUNT);
}
#################
sub log_access {
open(LOG,">>$access_log") || die "Can't Open User Access Log: $!\n";
print LOG "[$date] $ENV{'HTTP_REFERER'} - $ENV{'REMOTE_HOST'} - $ENV{'HTTP_USER_AGENT'}\n";
close(LOG);
}

View File

@ -1,70 +0,0 @@
#!/usr/local/bin/perl -w
use CGI;
#start_multipart_form();
$query = new CGI;
$TMP="/tmp/ExecAsimut.$$" ;
mkdir ($TMP , 0777) ;
print "Content-type: text/html\n\n";
#while (($key, $val) = each %ENV) {
# print "$key = $val<BR>\n";
#}
print "<HTML>\n";
print "<head>\n";
print "<Title> Simulation Asimut</Title>\n";
print "</head>\n";
print "<body>\n";
print "<PRE>\n";
# Read a text file and print it out
# while (<$filename>) {
# print "$_<BR>\n\n";
# }
# $type = $query->uploadInfo($filename)->{'Content-Type'};
# unless ($type eq 'text/html') {
# die "HTML FILES ONLY!";
# }
$filename = $query->param('vbe');
#print "<BR><BR>$filename<BR>\n\n";
# Copy a binary file to somewhere safe
open (OUTFILE,">>$TMP/description.vbe");
while ($bytesread=read($filename,$buffer,1024)) {
print OUTFILE $buffer;
}
close (OUTFILE);
$filename = $query->param('pat');
open (OUTFILE,">>$TMP/unproc_patterns.pat");
while ($bytesread=read($filename,$buffer,1024)) {
print OUTFILE $buffer;
}
close (OUTFILE);
#exec ( "( sleep 50 ; /asim/gnu/bin/rm -fr $TMP ) & " ) ;
#print "<BR>Exec done...\n<BR>";
open ( RESULT, "( cd $TMP ; . /users/soft5/newlabo/alliance/share/etc/alc_env.sh ; asimut -b description unproc_patterns res_patterns ) 2>&1 |" );
while (<RESULT>) {
print ;
}
close RESULT ;
print "<BR>done...\n<BR>";
print "<BR>Vous pouvez recuper le fichier de pat simulé <a href=$TMP/res_patterns.pat>ici</a>\n<BR>";
print "</PRE>\n";
print "</body>\n";
print "</HTML>\n";

View File

@ -1,46 +0,0 @@
#!/usr/local/bin/bash
# disable filename globbing
set -f
echo Content-type: text/plain
echo
# echo "argc is '"$#"' argv is '"$*"'"
# pwd
# echo $REQUEST_URI
URI="${DOCUMENT_ROOT}${REQUEST_URI}"
res=`echo $URI | grep \/$`
if [ X"$res"Y != XY ]
then
URI=${URI}index.html
fi
URI_ROOT=`echo $URI | sed 's,\/[^\/]*$,/,'`
URI_DOC=`echo $URI | sed 's,^.*\/,,' | sed 's,\.gb\.html$,,' | sed 's,\.fr\.html$,,' | sed 's,\.html$,,'`
#echo $URI_ROOT
#echo $URI_DOC
FILE0="${URI_ROOT}${URI_DOC}.html"
FILE1="${URI_ROOT}${URI_DOC}.fr.html"
FILE2="${URI_ROOT}${URI_DOC}.gb.html"
if [ -f "$FILE0" -a -f "$FILE1" -a -f "$FILE2" ]
then
cat << EOF
<Center>
<A href=${URI_DOC}.fr.html><img src="http://www-asim.lip6.fr/ssi/img/flag_fr.gif" alt="[FRENCH]" width="34" height="27" border=0 ></A> <A href=${URI_DOC}.gb.html><img src="http://www-asim.lip6.fr/ssi/img/flag_gb.gif" alt="[ENGLISH]" width="34" height="27" border=0></A>
<br clear=all>
</Center>
EOF
fi

View File

@ -1,25 +0,0 @@
mv HIT.CFG hit.cfg
mv HIT.CNT hit.cnt
mv HIT.FLK hit.flk
mv HIT.XBM hit.xbm
mv HIT1.DAT hit1.dat
mv HIT1.LOG hit1.log
mv HIT10.DAT hit10.dat
mv HIT11.DAT hit11.dat
mv HIT12.DAT hit12.dat
mv HIT2.DAT hit2.dat
mv HIT2.LOG hit2.log
mv HIT3.DAT hit3.dat
mv HIT4.DAT hit4.dat
mv HIT5.DAT hit5.dat
mv HIT6.DAT hit6.dat
mv HIT7.DAT hit7.dat
mv HIT8.DAT hit8.dat
mv HIT9.DAT hit9.dat
mv HITCFG.PL hitcfg.pl
mv HITMAN.PL hitman.pl
mv HITMAT.CGI hitmat.cgi
mv HITMAT.PWD hitmat.pwd
mv HITXBM.PL hitxbm.pl
mv HOW2HIT.TXT how2hit.txt
mv SINCE.XBM since.xbm

View File

@ -1 +0,0 @@
1|1|1|N|

View File

@ -1,4 +0,0 @@
#define hit_width 1
#define hit_height 1
static char hit_bits[] = {
0x00};

View File

@ -1,215 +0,0 @@
#! /usr/local/bin/perl
#
# HITCFG.PL
# File maintenance module required by HITMATIC
#
# Filename: hitcfg.pl
# Last revised: July 08, 1998
# Copyright: 1997,1998 by Joe DePasquale
# E-Mail: crypt@getcruising.com
# Website: http://www.GetCruising.com
#
########################################################################
# #
# This script and accompanying files may be distributed freely #
# and modified, provided this header with my name, E-Mail address and #
# this notice remain intact. Ownership rights remain with me. You may #
# not sell this script without my approval. #
# #
# This script comes with no guarantee or warranty except for my good #
# intentions. By using this code you agree to indemnify me from any #
# liability that might arise from it's use. #
# #
# There is no technical support for this script, neither am I a #
# professional programmer. Refer to 'HELPME.TXT' for further guidance. #
# #
########################################################################
sub checkCfg # Maintain hit.log, hitx.dat and hit.cfg
{
open (CFG,"+<$HITCFG") || &endIt;
flock (CFG,2); seek (CFG,0,0);
$cfgFile = <CFG>;
($logDay,$datMonth,$cntMonth,$cntFlag,$eol) = split (/\|/,$cfgFile);
# If not done since midnight ...
# If new day, add daily hits to month file
if ($logDay != $dayStamp)
{ &newDay;
}
# If new month, empty last year's month file and update cfg
if ($datMonth+0 != $month)
{ &newMonth;
}
# If new count, recount hits since cntMonth
if ($cntFlag eq 'Y')
{ require "./hitxbm.pl";
&newCount;
}
close (CFG);
} # end checkCfg
sub newDay
{
$HITDAT = "$HITMON$datMonth.dat";
@dyinMon = (0,31,28,31,30,31,30,31,31,30,31,30,31);
$dyinMon = $dyinMon[$datMonth];
open (DAT,"+<$HITDAT") || &endIt;
flock (DAT,2); seek (DAT,0,0);
@hitDat = <DAT>;
# Backup monthly data if trigger
if ($bakFlag eq 'Y' && ($jDate % $bakTime ==0) && !-e $HITBAK)
{ &backUp (@hitDat);
}
# add this month's hits to Tbl hash
foreach $hitLine (@hitDat)
{ @hits = split (/\|/,$hitLine);
$page = $hits[0];
$Tbl{$page}[0] = $page;
for $day (1..$dyinMon)
{ $Tbl{$page}[$day] += $hits[$day];
}
$Index{$page} = 'Y';
}
# Read log file
open (LOG1,"+<$HITLOG1") || &endIt;
flock (LOG1,2); seek (LOG1,0,0);
@logFile = <LOG1>;
# add yesterday's hits to Tbl hash
foreach $logLine (@logFile)
{ @log = split (/\|/,$logLine,3);
$page = $log[1];
# must create new line if no previous hits
if (!$Tbl{$page}[0])
{ $Tbl{$page}[0] = $page;
for $day (1..$dyinMon)
{ $Tbl{$page}[$day] +=0;
}
$Index{$page} = 'Y';
}
$Tbl{$page}[$logDay]++;
# Count unique ip visitors per group on logday
# $group,$foo = split (/\+/,$page);
# if (!$Ip{$ENV{'REMOTE_ADDR'}}{$group}
# { $Ip{$ENV{'REMOTE_ADDR'}}{$group} = 'Y';
# $Tbl{"~IP\+$group"}[$logDay] ++;
# }
#
}
# write updated Tbl back to file
seek (DAT,0,0);
foreach $page (sort {uc($a) cmp uc($b)} keys %Index)
{ $line = '';
for $day (0..$dyinMon)
{ $line .= "$Tbl{$page}[$day]\|";
}
print DAT "$line\n";
}
truncate (DAT,tell(DAT)); close (DAT);
open (LOG2,">$HITLOG2") || &endIt;
flock (LOG2,2); seek (LOG2,0,0);
print (LOG2 @logFile);
truncate (LOG2,tell(LOG2)); close (LOG2);
truncate (LOG1,0); close (LOG1);
$logDay = $dayStamp;
&changeCfg;
} # end newDay
sub newMonth
{
# Empty last year's month file and update cfg if new month
$datMonth = $month;
$HITDAT = "$HITMON$datMonth.dat";
open (DAT,">$HITDAT") || &endIt;
flock (DAT,2);
truncate (DAT,0); close (DAT);
&changeCfg;
} # end newMonth
sub newCount
{
foreach $x (1..12)
{ if (($cntMonth <= $monthStamp && $x >= $cntMonth && $x <= $monthStamp)
|| ($cntMonth > $monthStamp && ($x <= $monthStamp || $x >= $cntMonth)))
{
$HITDAT = "$HITMON$x.dat";
open (DAT,"<$HITDAT") || &endIt;
flock (DAT,1); seek (DAT,0,0);
while ($hitLine = <DAT>)
{ @hits = split (/\|/,$hitLine);
$page = $hits[0];
foreach $day (1..31)
{ $PageTtl{$page} += $hits[$day];
}
}
close (DAT);
}
}
# Create a new hit.cnt file with this data
while (($pagecode,$pagecount) = each %PageTtl)
{ $addLine = join ("\|",$pagecount,$pagecode,"\n");
push @inFile, $addLine;
}
@outFile = sort {($b =~ /(\d+)/)[0] <=> ($a =~ /(\d+)/)[0]} @inFile;
open (CNT,">$HITCNT") || &endIt;
flock (CNT,2); seek (CNT,0,0);
print (CNT @outFile);
truncate (CNT,tell(CNT));
close (CNT);
if ($monthStamp >= $cntMonth)
{ $year = $yearStamp +0;
} else
{ $year = $yearStamp -1;
}
&makeXbm ("$cntMonth".substr("$year",2,2),4,"$hitmatDir/$SINCEXBM");
$cntFlag = '';
&changeCfg;
} # end newCount
sub changeCfg # update hit cfg file
{
$cfgFile = join ("\|",$logDay,$datMonth,$cntMonth,$cntFlag,$eol);
seek (CFG,0,0);
print (CFG $cfgFile);
truncate (CFG,tell(CFG));
} # end changeCfg
sub backUp # Backup data and delete old backups
{
@bakData = @_;
open (BAK,">$HITBAK") || &endIt;
print (BAK @bakData);
close (BAK);
chmod 0666, $HITBAK;
opendir (BAKDIR,$bakDir);
@bakFiles = grep (/hit\d{3}\.bak/, readdir(BAKDIR));
closedir (BAKDIR);
foreach $bakFile (@bakFiles)
{ if (-M "$bakDir/$bakFile" > $bakMax) { unlink "$bakDir/$bakFile"; }
}
} # end backup
1; # return true

View File

@ -1,435 +0,0 @@
#! /usr/local/bin/perl
#
# HITMAN - The HITMATIC Manager
# Displays and reports various hit count statistics.
#
# Filename: hitman.pl
# Last revised: March 15, 1998
# Copyright: 1997,1998 by Joe DePasquale
# E-Mail: crypt@getcruising.com
# Website: http://www.GetCruising.com
#
########################################################################
# #
# This script and accompanying files may be distributed freely #
# and modified, provided this header with my name, E-Mail address and #
# this notice remain intact. Ownership rights remain with me. You may #
# not sell this script without my approval. #
# #
# This script comes with no guarantee or warranty except for my good #
# intentions. By using this code you agree to indemnify me from any #
# liability that might arise from it's use. #
# #
# There is no technical support for this script, neither am I a #
# professional programmer. Refer to 'HELPME.TXT' for further guidance. #
# #
########################################################################
sub hitman {
@labels = ('Foo','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@dyinMon = (0,31,28,31,30,31,30,31,31,30,31,30,31);
# Parse form input
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@cgiPairs = split(/&/,$buffer);
foreach $cgiPair (@cgiPairs)
{
($name, $value) = split(/=/,$cgiPair);
$name =~ s/\+/ /g; $value =~ s/\+/ /g;
$name =~ s/%(..)/pack("c",hex($1))/ge;
$value =~ s/%(..)/pack("c",hex($1))/ge;
$Form{$name} .= "\0" if (defined($Form{$name}));
$Form{$name} .= "$value";
}
undef $name; undef $value;
print "Content-type: text/html\n\n";
print "<html>\n<head><title>$headTitle</title></head>\n";
print "$bodyTag\n$bodyTitle<p>\n";
&passtest ($HITPWD);
print qq|<form action="$scriptUrl" method=POST>\n|;
print qq|<input type=hidden name=password value="$Form{'password'}">\n|;
########################################################################
# Case: View Hit stats by year
if ($Form{'hittable'})
{
if ($Form{'detail'} && $Form{'detail'} =~ /^(M|G|P)\|(.+)/)
{
if ($1 eq "M") # month
{ $month = $2;
print "<font size=4><b>Hits By MONTH for: $labels[$month] ";
if ($monthStamp >= $month) {$year = $yearStamp +0;} else {$year = $yearStamp -1;}
print "$year</b></font><br>\n";
if ($year %4 == 0) { $dyinMon[2] = 29; }
# Read all data into hashes
$total = 0;
$HITDAT = "$HITMON$month.dat";
open (DAT,"<$HITDAT") || &endMan ("Read: $HITDAT");
flock (DAT,1); seek (DAT,0,0);
while ($line = <DAT>)
{ @hits = split (/\|/,$line);
$page = $hits[0];
if ($page =~ /(.+)\+(.+)/) { $group =$1; }
foreach $day (1..$dyinMon[$month])
{ $Tbl{$page}{$day} += $hits[$day];
$PageTtl{$page} += $hits[$day];
if ($group)
{ $Tbl{$group}{$day} += $hits[$day];
$GroupTtl{$group} += $hits[$day];
}
$DayTtl{$day} += $hits[$day];
}
$total += $PageTtl{$page};
}
close (DAT);
@pages = sort {$PageTtl{$b} <=> $PageTtl{$a}} keys %PageTtl;
@groups = sort {$GroupTtl{$b} <=> $GroupTtl{$a}} keys %GroupTtl;
print qq|<table border=$border width=50%><tr align=center>\n|;
print qq|<td align=left><input type=reset value="RESET"><br><font color="#009900"><b>Days:</b></font></td>\n|;
foreach $day (1..$dyinMon[$month]) { print qq|<td><font color="#009900"><b>$day</b></font></td>|; }
print qq|<td><font color="#0000FF"><b>Group<br>/Page<br>Totals</b></font></td>|;
# print group hit rows
print qq|\n</tr><tr>\n<td><b>GROUPS:</b></td><td colspan=|,($dyinMon[$month]-1),qq|></td>|;
foreach $group (@groups)
{ print qq|\n</tr><tr align=right>\n<td align=left> <input type=radio name=detail value="G\|$group"><font color="#0000FF">$group</font></td>|;
foreach $day (1..$dyinMon[$month]) { print qq|<td>$Tbl{$group}{$day}</td>|; }
print qq|<td>$GroupTtl{$group}</td>|;
}
# print page hit rows
print qq|\n</tr><tr>\n<td><b>PAGES:</b></td><td colspan=|,($dyinMon[$month]-1),qq|></td>|;
foreach $page (@pages)
{ print qq|\n</tr><tr align=right>\n<td align=left> <input type=radio name=detail value="P\|$page"><font color="#0000FF">$page</font></td>|;
foreach $day (1..$dyinMon[$month]) { print qq|<td>$Tbl{$page}{$day}</td>|; }
print qq|<td>$PageTtl{$page}</td>|;
}
print qq|\n</tr><tr align=right>\n<td nowrap align=center><font color="#009900"><b>Day Totals</b></font></td>|;
foreach $day (1..$dyinMon[$month]) { print qq|<td>$DayTtl{$day}</td>|; }
print qq|<th>$total</th>|;
print qq|\n</tr></table><br>Completed on $timeStamp\n<p>\n|;
}
else # group or page
{
print "<font size=4><b>Hits By ";
if ($1 eq "G")
{ $group = $2;
print "GROUP for &quot;$group&quot;";
} else
{ $page = $2;
print "PAGE for &quot;$page&quot;";
}
print "</b></font><br>\n";
# Read all data into hashes
$total = 0;
foreach $month (1..12)
{ $MonthTtl{$month} =0;
$HITDAT = "$HITMON$month.dat";
open (DAT,"<$HITDAT") || &endMan ("Read: $HITDAT");
flock (DAT,1); seek (DAT,0,0);
while ($line = <DAT>)
{ @hits = split (/\|/,$line);
if ($hits[0] eq $page || $hits[0] =~ /^$group\+/)
{ foreach $day (1..31)
{ $Tbl{$month}{$day} += $hits[$day];
$DayTtl{$day} += $hits[$day];
$MonthTtl{$month} += $Tbl{$month}{$day};
}
}
}
close (DAT);
$total += $MonthTtl{$month};
}
print "<table border=$border><tr align=center>\n";
print "<td align=left><input type=reset value=\"RESET\"><br><font color=\"#009900\"><b>Months:</b></font></td>\n";
# Print col headers and order the months
$month = $monthStamp;
do
{ if ($month == 12) {$month =1;} else {$month++;}
print "<td><input type=radio name=detail value=\"M\|$month\"><br><font color=\"#009900\"><b>$labels[$month]</b><br>";
if ($month > $monthStamp) {$year = $yearStamp -1;} else {$year = $yearStamp +0;}
print "$year</font></td>\n";
push @monthCol, $month;
} until ($month == $monthStamp);
print "<td><font color=\"#0000FF\"><b>Day<br>Totals</b></font></td>";
foreach $day (1..31)
{ print "\n</tr><tr align=right>\n<td><font color=\"#0000FF\"><b>$day</b></font></td>";
foreach $month (@monthCol) { print "<td>$Tbl{$month}{$day}</td>"; }
print "<td>$DayTtl{$day}</td>";
}
print "\n</tr><tr align=right>\n<td nowrap align=center><font color=\"#009900\"><b>Month Totals</b></font></td>";
foreach $month (@monthCol) { print "<td>$MonthTtl{$month}</td>"; }
print "<th>$total</th>";
print "\n</tr></table><br>Completed on $timeStamp\n<p>\n";
}
}
else # default by year
{
print "<font size=4><b>Hits By YEAR as of $timeStamp</b></font><br>\n";
# Read all data into hashes
$total = 0;
foreach $month (1..12)
{ $MonthTtl{$month} =0;
$HITDAT = "$HITMON$month.dat";
open (DAT,"<$HITDAT") || &endMan ("Read: $HITDAT");
flock (DAT,1); seek (DAT,0,0);
while ($line = <DAT>)
{ @hits = split (/\|/,$line);
$page = $hits[0];
if ($page =~ /(.+)\+(.+)/) { $group =$1; }
$Tbl{$month}{$page} =0;
foreach $day (1..31)
{ $Tbl{$month}{$page} += $hits[$day];
}
$PageTtl{$page} += $Tbl{$month}{$page};
$MonthTtl{$month} += $Tbl{$month}{$page};
if ($group)
{ $Tbl{$month}{$group} += $Tbl{$month}{$page};
$GroupTtl{$group} += $Tbl{$month}{$page};
}
}
close (DAT);
$total += $MonthTtl{$month};
}
# Sort by descending page total
@pages = sort {$PageTtl{$b} <=> $PageTtl{$a}} keys %PageTtl;
@groups = sort {$GroupTtl{$b} <=> $GroupTtl{$a}} keys %GroupTtl;
print "<table border=$border><tr align=center>\n";
print "<td align=left><input type=reset value=\"RESET\"><br><font color=\"#009900\"><b>Months:</b></font></td>\n";
# Print col headers and order the months
$month = $monthStamp;
do
{ if ($month == 12) {$month =1;} else {$month++;}
print "<td><input type=radio name=detail value=\"M\|$month\"><br><font color=\"#009900\"><b>$labels[$month]</b><br>";
if ($month > $monthStamp) {$year = $yearStamp -1;} else {$year = $yearStamp +0;}
print "$year</font></td>\n";
push @monthCol, $month;
} until ($month == $monthStamp);
print "<td><font color=\"#0000FF\"><b>Group<br>/Page<br>Totals</b></font></td>";
# print group hit rows
print "\n</tr><tr>\n<td><b>GROUPS:</b></td><td colspan=13></td>";
foreach $group (@groups)
{ print "\n</tr><tr align=right>\n<td align=left><input type=radio name=detail value=\"G\|$group\"><font color=\"#0000FF\">$group</font></td>";
foreach $month (@monthCol) { print "<td>$Tbl{$month}{$group}</td>"; }
print "<td>$GroupTtl{$group}</td>";
}
# print page hit rows
print "\n</tr><tr>\n<td><b>PAGES:</b></td><td colspan=13></td>";
foreach $page (@pages)
{ print "\n</tr><tr align=right>\n<td align=left><input type=radio name=detail value=\"P\|$page\"><font color=\"#0000FF\">$page</font></td>";
foreach $month (@monthCol) { print "<td>$Tbl{$month}{$page}</td>"; }
print "<td>$PageTtl{$page}</td>";
}
# print month subtotal row
print "\n</tr><tr align=right>\n<td nowrap align=center><font color=\"#009900\"><b>Month Totals</b></font></td>";
foreach $month (@monthCol) { print "<td>$MonthTtl{$month}</td>"; }
print "<th>$total</th>";
print "\n</tr></table><p>\n";
} # end default by year
print <<__HITFORM;
<table border=0 width=300>
<tr><td><font color="#0000FF" size=5><b>Hit Tables</b></font></td></tr>
<tr><td>For more detail select any <b>MONTH, GROUP or PAGE</b> button above, then..</td></tr>
<tr><td>PRESS: <input type=submit name=hittable value=" HIT TABLES "></td></tr>
<tr><td><font color="#0000FF" size=5><b>Hit Counter</b></font></td></tr>
<tr><td>For the count <b>DISPLAYED</b> to users or to <b>RESET</b> counter date..</td></tr>
<tr><td>PRESS: <input type=submit value="HIT COUNTER"></td></tr>
</table>
__HITFORM
&manFooter;
} # end case hittable
########################################################################
# Case: Flag to reset hitcount at next daily maintenance
elsif ($Form{'resetcount'})
{
open (LOCK,">$HITFLK") || &endMan ("Write: $HITFLK");
if (!flock (LOCK,2)) { &endMan ("Lock: $HITFLK"); }
# Write new cnt date to CFG
open (CFG,"+<$HITCFG") || &endMan ("Read\/Write: $HITCFG");
flock (CFG,2); seek (CFG,0,0);
$cfgFile = <CFG>;
($logDay,$datMonth,$cntMonth,$cntFlag,$eol) = split (/\|/,$cfgFile);
$cntMonth = $Form{'setmonth'} +0;
$cntFlag = 'Y';
$cfgFile = join ("\|",$logDay,$datMonth,$cntMonth,$cntFlag,$eol);
seek (CFG,0,0);
print (CFG $cfgFile);
truncate (CFG,tell(CFG)); close (CFG);
close (LOCK);
print "<b>Hit Counter</b> will be reset at next daily maintenance<br>\n to <b>$labels[$cntMonth] 1, $year</b>\n<p>\n";
&hitCount;
&manFooter;
} # end resetcount
########################################################################
# Default Case: Display hitcount
else
{ &hitCount;
&manFooter;
} # end default
} # end hitman
########################################################################
sub hitCount # Display hitcount
{
open (CNT,"<$HITCNT") || &endMan ("Read: $HITCNT");
flock (CNT,1); seek (CNT,0,0);
@hitFile = <CNT>;
close (CNT);
print "<table border=$border><tr>\n<th>HITS</th><th>by PAGECODE</th>\n";
$hitTtl =0;
for ($x=0; $x<=$#hitFile; $x++)
{ print "\n</tr><tr>\n";
($count,$code,$eol) = split (/\|/,$hitFile[$x]);
if ($code =~/\+/)
{ ($group,$page) = split (/\+/,$code);
$GroupTtl{$group} += $count;
}
print "<td align=right>$count</td><td>$code</td>";
$hitTtl = $hitTtl + $count;
}
print "\n</tr></table><p>\n";
if ($group)
{ print "<table border=$border><tr>\n<th>HITS</th><th>by GROUP</th>\n";
@groups = sort {$GroupTtl{$b} <=> $GroupTtl{$a}} keys %GroupTtl;
foreach $group (@groups)
{ print "\n</tr><tr>\n";
print "<td align=right>$GroupTtl{$group}</td><td>$group</td>";
}
print "\n</tr></table><p>\n";
}
open (CFG,"<$HITCFG") || &endMan ("Read: $HITCNT");
flock (CFG,1); seek (CFG,0,0);
$cfgFile = <CFG>;
close (CFG);
($logDay,$datMonth,$cntMonth,$cntFlag,$eol) = split (/\|/,$cfgFile);
print "<b>Total: $hitTtl hits for $x pages since $labels[$cntMonth] 1, ";
if ($monthStamp >= $cntMonth) {$year = $yearStamp +0;} else {$year = $yearStamp -1;}
print "$year</b>\n<br>Completed at $timeStamp\n<p>\n";
print qq|<table border=0 width=300>\n<tr><td><font color="#0000FF"><font size=5><b>Hit Counter</b></font></font></td</tr>\n|;
print qq|<tr><td>To reset the counter and starting date, select a starting <b>MONTH</b> and press <b>CHANGE</b>. A new image of the <b>SINCE</b> date will also be created.</td></tr>\n|;
print qq|<tr><td>SINCE: <select name=setmonth size=1>\n|;
for $x (1..12)
{ if ($x == $cntMonth)
{ print "<option value=$x selected>$labels[$x]\n";
} else
{ print "<option value=$x>$labels[$x]\n";
}
}
print qq|</select> \n<input type=submit name=resetcount value="CHANGE"> \n|;
print qq|<input type=submit value=" CLEAR "></td></tr>\n|;
print qq|<tr><td><font color="#0000FF"><font size=5><b>Hit Tables</b></font></font></td></tr>\n|;
print qq|<tr><td>For ALL hits by <b>MONTH, GROUP or PAGE</b></td></tr>\n|;
print qq|<tr><td>PRESS: <input type=submit name=hittable value=" HIT TABLES "></td></tr>\n</table>\n|;
} # end hitCount
sub manFooter # print hitman footer
{
print qq|</form><p>\n<a href="$exitUrl">Exit $headTitle</a>\n|;
print qq|<p><font size=2><i><b>HITMATIC</b> is one of <a href="http://www.GetCruising.com/crypt" target="_top">Joe's CGI Scripts From The Crypt!</a></i></font>\n|;
print qq|<p>\n</body></html>\n|;
} # end manFooter
sub passtest # password routines
{
$PASSFILE = $_[0];
if (-s $PASSFILE)
{ if ($Form{'password'})
{ open (PASS,"<$PASSFILE");
$passcode = <PASS>;
close (PASS);
chop ($passcode) if $passcode =~ /\n$/;
$lp = length $Form{'password'};
$salt = substr($Form{'password'},$lp-2,1).substr($Form{'password'},1,1);
if ($passcode eq crypt ($Form{'password'},$salt))
{ if ($Form{'newpassword'})
{ $lp = length $Form{'newpassword'};
if ($Form{'newpassword'} =~ /^\w{$lp}\b/)
{ $Form{'password'} = $Form{'newpassword'};
$salt = substr($Form{'password'},$lp-2,1).substr($Form{'password'},1,1);
$passcode = crypt ($Form{'password'},$salt);
open (PASS,">$PASSFILE");
print PASS "$passcode";
close (PASS);
} else
{ &passbox ("Bad choice, Creep!!");
}
}
} else
{ &passbox ("Wrong, Creep!!");
}
} else
{ &passbox ("What's the Password, Creep?");
}
} else
{ &endMan ("Password File $PASSFILE Not Found");
}
}
sub passbox
{
print <<__PASSBOX;
<form action="$scriptUrl" method="POST">
<input type=hidden name=manager value=1><table border=4>
<tr><th colspan=2><font color="#FF0000"><b><blink>$_[0]</blink></b></font></th></tr>
<tr><th> Enter Password:</td><th><input type=password name=password size=12 maxlength=12></th></tr>
<tr><th>Change Password:</td><th><input type=text name=newpassword size=12 maxlength=12></th></tr>
<th colspan=2><input type=submit value=" DO IT! "><input type=reset value=" CLEAR "></th></tr>
</table><br>
Password must be 4 to 12 alpha-numeric characters.</form>
<p></body></html>
__PASSBOX
exit;
} # end passbox
sub endMan # Error handling for manager scripts
{
print "<font color=\"#FF0000\"><b>ERROR:</font><br>$_[0]</b>\n<p>";
if ($!) { print "Server made a Boo-Boo! $!\n"; }
else { print "Use your browser's [BACK] button and try again.\n"; }
print "<p></body></html>\n";
exit;
} # end endMan
1; # return true

View File

@ -1,223 +0,0 @@
#! /usr/local/bin/perl -w
#
# HITMATIC
# Maintains counts for a page or all pages and logs accesses.
# Can optionally output the count to the browser.
#
# Filename: hitmat.cgi
# Last revised: July 08, 1998
# Copyright: 1996-1998 by Joe DePasquale
# E-Mail: crypt@getcruising.com
# Website: http://www.GetCruising.com
#
########################################################################
# #
# This script and accompanying files may be distributed freely #
# and modified, provided this header with my name, E-Mail address and #
# this notice remain intact. Ownership rights remain with me. You may #
# not sell this script without my approval. #
# #
# This script comes with no guarantee or warranty except for my good #
# intentions. By using this code you agree to indemnify me from any #
# liability that might arise from it's use. #
# #
# There is no technical support for this script, neither am I a #
# professional programmer. Refer to 'HELPME.TXT' for further guidance. #
# #
########################################################################
#
# 2. CONFIGURE SCRIPT -
#
# Change these sample paths to the actual paths on your server:
# Your Unix system date command
$dateCmd = '/bin/date';
# Unix path to hitmat directory
$hitmatDir = '/users/largo1/czo/cvslargo/www/cgi-bin/czo/hit';
# URL path to hitmat.cgi
$scriptUrl = 'http://asim.lip6.fr/cgi-bin/czo/hit/hitmat.cgi';
# URL path to hitmat directory
$hitmatUrl = 'http://asim.lip6.fr/cgi-bin/czo/hit/';
# Go to this URL when exiting manager
$exitUrl = 'http://asim.lip6.fr/';
# Log will record hit but exclude domain names matching this tail
$myTail = '.li.fr';
# OPTIONAL - You can edit these variables if desired:
# File Maintenance is triggered each day when the FIRST HIT between
# midnight and $trigHour is received. This will 1) swap 'hit1.log' and
# 'hit2.log' and 2) initialize a 'hitx.dat' file on the first day of a
# month. You can use any 24-hour time from 1 (1 AM) to 23 (11 PM).
$trigHour = 06;
$headTitle = "HITMATIC Website Counter System";
$bodyTag = qq|<body bgcolor="#FFFFFF" text="#000099" link="#0000FF" alink="#FFFF00" vlink="#990000">|;
$bodyTitle = qq|i><b><font size=5><font color="#0000FF">HIT</font><font color="#FF9900">MATIC</font></font></b></i>|;
# Change the table border size? (0 = no border)
$border = 0;
# If you DON'T want to backup the hit*.dat files, set $bakFlag to 'N',
# otherwise set the correct values in the 'if' loop ..
$bakFlag = 'Y';
if ($bakFlag eq 'Y')
{ $bakTime = 1; # days btwn backups
$bakMax = 7; # days to keep backups
# Unix path to backup directory
$bakDir = '/usr/home/you/htdocs/bak';
# END OF INSTALLATION - SHOULD NOT CHANGE STUFF BELOW THIS LINE
########################################################################
chop ($jDate = `$dateCmd +"%j"`);
$HITBAK = "$bakDir/hit$jDate.bak";
}
chop ($dayStamp = `$dateCmd +"%e"`); $dayStamp =~ s/\s*//g;
chop ($hourStamp = `$dateCmd +"%H"`);
chop ($timeStamp = `$dateCmd +"%a %D %H%M%Z"`);
chop ($dateStamp = `$dateCmd +"%Y%m%d"`);
$yearStamp = substr ($dateStamp,0,4);
$monthStamp = substr ($dateStamp,4,2);
$month = $monthStamp +0;
$HITCFG = "$hitmatDir/hit.cfg";
$HITCNT = "$hitmatDir/hit.cnt";
$HITDAT = "$hitmatDir/hit$month.dat";
$HITFLK = "$hitmatDir/hit.flk";
$HITLOG1 = "$hitmatDir/hit1.log";
$HITLOG2 = "$hitmatDir/hit2.log";
$HITMON = "$hitmatDir/hit";
$HITXBM = "$hitmatDir/hit.xbm";
$SINCEXBM = "since.xbm";
########################################################################
# Read GET or POST input and setup stuff
if (-e "./referer.pl")
{ require "./referer.pl";
&referer;
}
if ($ENV{'QUERY_STRING'} eq 'manager' || $ENV{'REQUEST_METHOD'} eq 'POST')
{ require "./hitman.pl";
require "./hitxbm.pl";
$HITPWD = "$hitmatDir/hitmat.pwd";
&hitman;
exit;
} elsif ($ENV{'QUERY_STRING'} =~ /(\S+?)(\+(\S))?=(\S+?)(&.*|$)/)
{ $pagecode =$1; $group =$3; $command =$4;
if ($group) { $pagecode = "$group\+$pagecode"; }
} else
{ &endIt;
}
open (LOCK,">$HITFLK") || &endIt;
if (!flock (LOCK,2)) { &endIt; }
# Daily maintenance if trigger time
if ($hourStamp < $trigHour)
{ require "./hitcfg.pl";
&checkCfg;
}
# Add hit to main counter
open (CNT,"+<$HITCNT") || &endIt;
flock (CNT,2); seek (CNT,0,0);
@inFile = <CNT>;
$recNbr = 0; $foundFlag = 'N';
while (($recNbr <= $#inFile) && ($foundFlag eq 'N'))
{ ($count,$code,$eol) = split(/\|/,$inFile[$recNbr]);
if ($code eq $pagecode)
{ if ($count < 999999) {$count++;} else {$count =1;}
$inFile[$recNbr] = join ("\|",$count,$pagecode,"\n");
$foundFlag = 'Y';
}
$recNbr++;
}
if ($foundFlag eq 'N') # new page
{ $count =1;
$addLine = join ("\|",$count,$pagecode,"\n");
push @inFile, $addLine;
}
@outFile = sort {($b =~ /(\d+)/)[0] <=> ($a =~ /(\d+)/)[0]} @inFile;
seek (CNT,0,0);
print (CNT @outFile);
truncate (CNT,tell(CNT)); close (CNT);
# Make the XBM image according to COMMAND
if ($command eq "PAGE")
{ require "./hitxbm.pl";
&makeXbm ($count,6,$HITXBM);
}
elsif ($command eq "GROUP")
{ require "./hitxbm.pl";
open (CNT,"<$HITCNT") || &endIt;
flock (CNT,1); seek (CNT,0,0);
@inFile = <CNT>;
close (CNT);
$groupTtl = 0;
foreach $inLine (@inFile)
{ if ($inLine =~ /^\d+\|$group\+/)
{ ($count,$code,$eol,) = split(/\|/,$inLine);
$groupTtl += $count;
}
}
&makeXbm ($groupTtl,6,$HITXBM);
}
elsif ($command eq "SITE")
{ require "./hitxbm.pl";
open (CNT,"<$HITCNT") || &endIt;
flock (CNT,1); seek (CNT,0,0);
@inFile = <CNT>;
close (CNT);
$siteTtl = 0;
foreach $inLine (@inFile)
{ ($count,$code,$eol,) = split(/\|/,$inLine);
$siteTtl += $count;
}
&makeXbm ($siteTtl,6,$HITXBM);
}
elsif ($command eq "NONE")
{ open (XBM,">$HITXBM");
flock (XBM,2); seek (XBM,0,0);
print (XBM "#define hit_width 1\n");
print (XBM "#define hit_height 1\n");
print (XBM "static char hit_bits[] = { 0x00 };\n");
truncate (XBM,tell(XBM));
close (XBM);
}
# Send the XBM image to Stdout
if ($command ne "IMG")
{ print "Content-type: image/x-xbitmap\n\n";
print `cat $HITXBM`;
}
# Record hit in the log
$hitLine = join ("\|",$timeStamp,$pagecode,$command,$banNbr,$ENV{'REMOTE_HOST'},$ENV{'HTTP_USER_AGENT'});
if ($ENV{'HTTP_REFERER'} !~ /$myTail/i)
{ $hitLine .= "\|$ENV{'HTTP_REFERER'}";
}
if (open (LOG,">>$HITLOG1"))
{ flock (LOG,2); seek (LOG,0,2);
print (LOG "$hitLine\n");
close (LOG);
}
close (LOCK);
exit;
# end main program
######################################################################
sub endIt # exit on error
{ exit;
} # end endIt

View File

@ -1 +0,0 @@
raPko.wpxNfW2

View File

@ -1,72 +0,0 @@
#! /usr/local/bin/perl
#
# HITXBM.PL - Module required by hitmat.cgi
#
# Copyright: 1996,1997,1998 by Joe DePasquale
# Last revised: January 28, 1997
# E-Mail: crypt@getcruising.com
# Website: http://www.GetCruising.com
#
###########################################################################
# The bitmap data file @gened is used with the author's permission.
# number.xbm (C) 1994 Eugene E. Devereaux <gened@halcyon.com>
# Adapted for UUNET (NCSA httpd) by David MacKenzie <djm@va.pubnix.com>
###########################################################################
# Sub: Make an x-bitmap image of the count
sub makeXbm
{
($printTtl,$digits,$XBM) = @_;
$printTtl = substr ($printTtl,0);
$pad = $digits - length ($printTtl);
$xbmWidth = $digits * 16;
for ($x=0; $x<$digits; $x++)
{ if ($x<$pad) { $printTtl = "0".$printTtl; }
push @xbmNbr, substr ($printTtl,$x,1);
}
# assign bitmap byte octals for numbers 0..9 to list of lists
@gened = (
['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','30','0c','30','0c',
'30','0c','30','0c','30','0c','30','0c','30','0c','f0','0f','e0','07','00','00'],
['00','00','80','01','c0','01','e0','01','80','01','80','01','80','01','80','01',
'80','01','80','01','80','01','80','01','80','01','e0','07','e0','07','00','00'],
['00','00','e0','07','f8','1f','18','18','18','18','18','1c','00','0e','00','07',
'80','03','c0','01','e0','00','70','00','38','00','f8','1f','f8','1f','00','00'],
['00','00','f0','07','f0','0f','30','0c','00','0c','00','0c','00','0c','c0','0f',
'c0','0f','00','0c','00','0c','00','0c','30','0c','f0','0f','f0','07','00','00'],
['00','00','00','06','00','0f','80','0f','c0','0d','e0','0c','70','0c','f0','0f',
'f0','0f','00','0c','00','0c','00','0c','00','0c','00','0c','00','0c','00','00'],
['00','00','e0','0f','f0','0f','30','00','30','00','30','00','30','00','f0','07',
'e0','0f','00','0c','00','0c','00','0c','30','0c','f0','07','e0','03','00','00'],
['00','00','20','00','30','00','30','00','30','00','30','00','30','00','f0','07',
'f0','0f','30','0c','30','0c','30','0c','30','0c','f0','0f','e0','0f','00','00'],
['00','00','f0','0f','f0','0f','30','0c','30','0c','00','06','00','03','00','03',
'80','01','80','01','c0','00','c0','00','60','00','60','00','60','00','00','00'],
['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','60','06','c0','03',
'c0','03','60','06','30','0c','30','0c','30','0c','f0','0f','e0','07','00','00'],
['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','e0','0f','c0','0f',
'00','0e','00','0e','00','07','80','03','c0','01','e0','00','60','00','00','00'],
);
# create image file of printTtl
open (XBM,">$XBM");
flock (XBM,2); seek (XBM,0,0);
print (XBM "#define hit_width $xbmWidth\n");
print (XBM "#define hit_height 16\n");
print (XBM "static char hit_bits[] = {\n");
for ($y=0; $y<=30; $y=$y+2)
{ foreach $x (@xbmNbr)
{ print (XBM "0x$gened[$x][$y],0x$gened[$x][$y+1],");
}
print (XBM "\n");
}
print (XBM "};\n");
truncate (XBM,tell(XBM)); close (XBM);
} # end makeXbm
1; # return true

View File

@ -1,185 +0,0 @@
Installation and Usage
for HITMATIC Website Hit Statistics System
This copy of HITMAT.ZIP contains the latest revised
edition with all required files for a complete installation.
Revision Date: hitmat.zip - July 8, 1998
Copyright: 1996,1997,1998 by Joe DePasquale
E-Mail: crypt@getcruising.com
Website: http://www.GetCruising.com
========================================================================
This application is for Unix web servers running Perl 5.0 or higher.
Additional documentation is available at http://www.GetCruising/crypt
helpme.txt - How to install Perl scripts on a Unix server.
whatsnew.txt - Revision history for all 'CGI Scripts from the Crypt'.
Also visit the "Users' Self-Support Forum" to post questions and
answers, especially if you have some extra time, knowledge and
a desire to help some other poor lost souls!
THERE IS *NO* FREE *NOR* FEE-BASED TECHNICAL SUPPORT FOR THESE SCRIPTS!
Due to extremely limited time, E-Mail with technical support
questions WILL NOT BE ANSWERED! Please use the available resources
here and elsewhere on the WWW to solve problems.
E-Mail genuine bug reports to: crypt@getcruising.com
========================================================================
WHAT IT DOES:
HITMATIC can become as complex and valuable as you wish. At its simplest,
it can display the hitcount for a page to your visitors. At your option,
it can also be configured for complete website tracking and analysis.
Input to the script comes from special image tags that you place on each
web page that you want included in the system. When a browser loads
one of these pages it expects to receive a graphic from the URL in the
tag. Instead, the URL runs HITMATIC which counts and categorizes the hit,
does some maintenance stuff and finally creates the graphic (an X-Bitmap)
and outputs it to the browser.
Why X-Bitmap? Of the 3 standard image formats that web browsers can
display (.jpg, .gif and .xbm) this is the only one that uses an ASCII
file format and can be created by simple math. The overhead of having
to include a compiled jpg or gif generator is avoided, and HITMATIC
uses resources to calculate stats rather than displays pretty fonts.
To learn more about X-Bitmaps, read the comments in 'hitxbm.pl'.
'hit1.log' and 'hit2.log' save todays' and yesterday's hit data with
one line per hit (date, time, $pagecode, $command, user's IP address,
cookies and referring page). 'hitcfg.pl' runs daily file maintenance,
'hitxbm.pl' creates the XBM-BITMAP images of the hitcounts.
Twelve files numbered hit1.dat - hit12.dat which each hold hit
counts by day and pagecode for one month.
The manager module (hitman.pl) gives you a choice of statistical tables
showing counts by month, by page, by group or full year.
The 'By YEAR' table starts 12 months ago and ends at the end of current
month. The grid shows the total hits by month for each group and each
page, ranked most to least popular. 'By MONTH' shows the hits for one
month on a daily basis. 'By PAGE' shows the hits for one page on a yearly
basis.
The HIT COUNTER shows the current hit count for each page since last
reset. You can reset the counter to any month in the pop-up box, and
HITMATIC will recalculate hits from data in the monthly hit files also
making a new 'since.xbm' image of the month and date which can be
displayed.
Daily file maintenance is run when the first visitor of the day causes
HITMATIC to run. Several things happen: 'hit1.log' is read and all hits
for the previous day are added to the monthly data files. If it's the
first day of a new month, last year's month file is emptied. 'hit1.log'
is renamed 'hit2.log', yesterday's 'hit2.log' is emptied and renamed
'hit1.log'. Finally, if a new hit count was requested since the last
maintenance, the 'hit.cnt' file is recalculated.
HITMATIC uses the Perl 'flock' function to prevent simultaneous
changes (corruption) of data files.
========================================================================
INSTALLATION:
1. SETUP YOUR FILES -
Open 'hit.cfg' in a text editor. The default file is '1|1|1|N|'. Change
the first '1' to current day-of-month (1-31), the second '1' to current
month (1-12). Leave the other fields as is and save the file. Hereafter,
these values will be read, changed and written by the script(s) so no
further editing should be required.
Add a reference to each HTML page to be counted, following this example:
<img
src="http://yourserver.com/path/to/cgi-bin/hitmat.cgi?PAGECODE+GROUPCODE=COMMAND">
You will need to make these substitutions --
'PAGECODE' is a unique name (with NO SPACES) for the page being counted.
It can be real or symbolic (albert/home.html, links, page1, etc.).
'GROUPCODE' is optional but you can subdivide your hitcounts into
subject areas. Use a SINGLE letter or number for each group.
'COMMAND' tells the script which count to output on the page --
'SITE' - display total hits to website,
'GROUP' - display hits for a group,
'PAGE' - display hits for a page, or
'NONE' - display nothing, i.e. sends a null bitmap image.
Example of a full site hitcount displayed on my 'index.html' page:
<img src="./cgi-bin/hitmat.cgi?index+G=SITE" width=96 height=16
align=top border=0> Pages Served Since <img src="./hit/since.xbm"
width=64 height=16 border=0 align=top alt="Last Reset">
Note the PAGECODE is 'index', GROUPCODE is 'G' and COMMAND is 'SITE'.
As in the example, you can include an image tag for 'since.xbm'
to display the date (MMYY) when counter was last reset.
Adding width and height tags allows the page to load quicker --
For 'SITE, 'GROUP' and 'PAGE' use 'width=96 height=16',
For 'NONE' use 'width=0 height=0',
For 'since.xbm' use 'width=64 height=16'.
2. CONFIGURE THE SCRIPT -
Open the main script file 'hitmat.cgi' in a text editor and change
the sample paths in the "CONFIGURE THE SCRIPT" section,
following the instructions found there.
3. UPLOAD FILES AND SET (CHMOD) PERMISSIONS -
All files should be uploaded in ASCII mode (yes even the .xbm's).
Place 'hitmat.cgi' (755), 'hitcfg.pl' (644), 'hitman.pl' (644)
and 'hitxbm.pl' (644) into your main cgi directory.
Create a directory named 'hitmat' (755) and place 'hit.cfg' (666),
'hit.cnt' (666), 'hit.flk' (666), 'hit1.log' (666), 'hit2.log' (666),
'hit.xbm' (666), 'hitmat.pwd' (666) plus the 12 files 'hit1.dat'
thru 'hit12.dat' (666) there.
If you enable the back-up option, create an empty directory named
'bak' (777) which can be shared with my other scripts that make
back-up files. This directory MUST be world-writeable!
========================================================================
HOW TO USE IT:
If set up correctly (!) just sit back and watch (?) as the script
and your visitors do all the work.
To RUN HITMATIC MANAGER, use 'manager' as a query-string.
Examples -
http://www.GetCruising.com/cgibin/hitmat.cgi?manager
The response should be the password authorization form. The
initial password is 'password'. Of course you should change it soon
to something unique by entering a new password in the
'Change Password' box.
The default HIT TABLE is 'By YEAR' starting 12 months ago and ending at
the end of current month. To switch to detailed displays 'By MONTH',
'By GROUP' or 'By PAGE', select a radio button and press 'HIT TABLES'.
You can switch between displays in the same way.
Select 'HIT COUNTER' for a list of current hit count for each page
since last reset. To reset the counter to the beginning of a month,
select a starting month in the pop-up box, then press 'CHANGE'.
========================================================================
What are you reading this for? DO IT!

View File

@ -1,20 +0,0 @@
#define hit_width 64
#define hit_height 16
static char hit_bits[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xe0,0x07,0xf0,0x07,0xe0,0x07,0xf0,0x0f,
0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,
0x30,0x0c,0x30,0x0c,0x30,0x0c,0x30,0x0c,
0x30,0x0c,0x00,0x0c,0x30,0x0c,0x30,0x0c,
0x30,0x0c,0x00,0x0c,0x30,0x0c,0x00,0x06,
0x30,0x0c,0x00,0x0c,0xe0,0x0f,0x00,0x03,
0x30,0x0c,0xc0,0x0f,0xc0,0x0f,0x00,0x03,
0x30,0x0c,0xc0,0x0f,0x00,0x0e,0x80,0x01,
0x30,0x0c,0x00,0x0c,0x00,0x0e,0x80,0x01,
0x30,0x0c,0x00,0x0c,0x00,0x07,0xc0,0x00,
0x30,0x0c,0x00,0x0c,0x80,0x03,0xc0,0x00,
0x30,0x0c,0x30,0x0c,0xc0,0x01,0x60,0x00,
0xf0,0x0f,0xf0,0x0f,0xe0,0x00,0x60,0x00,
0xe0,0x07,0xf0,0x07,0x60,0x00,0x60,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

View File

@ -1,34 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title></title>
</head>
<!--#include virtual="/ssi/asim.header/" -->
<body bgcolor="#FFFFFF">
<p><font color="#FF0000" size="7" face="verdana,arial,helvetica,helv"><strong>ERROR :</strong></font></p>
<p align="center">&nbsp;</p>
<p align="center"><font face="verdana,arial,helvetica,helv"><strong>This page does not
exist. </strong></font></p>
<p align="center"><font face="verdana,arial,helvetica,helv"><strong>Please notify its
maintainer. </strong></font></p>
<p align="center"><font face="verdana,arial,helvetica,helv"><strong>( You can use the
link on the lower left corner of this page to mail its
maintainer. )</strong></font></p>
<!--#include virtual="/ssi/asim.footer/" -->
</body>
</html>

View File

@ -1,16 +0,0 @@
# SWISH format 1.3
# Swish-e format 1.3
#
# Name: Asim Lab. index
# Saved as: intranet.dat
# Counts:
# Indexed on: 06/06/00 06:31:27 MEST
# Description: Index by Czo
# Pointer: http://www-asim.lip6.fr/
# Maintained by: Czo [Olivier SIROL] <Olivier.Sirol@lip6.fr>
# DocumentProperties: Enabled
# Stemming Applied: 0
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002480000000000000247800000000000024790000000000002479
first author

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 B

View File

@ -1,30 +0,0 @@
#LogCount v3.8 link count and redirect
sub do_link {
($scrap, $lnkNumb) = split(/\=/,$query_string);
if (!open (COUNT, "+<$log_path$lnks_name")) {$err = "Links File Access"; &err_log;}
eval"flock(COUNT,2)";
@lns = <COUNT>;
$cnts = 0;
foreach $ln (@lns){
@TL = split(/\|/,$ln);
if ($TL[0] eq $lnkNumb) {
$the_link = $TL[1];
if ($pn eq "l") {
$TL[2]++;
$lns[$cnts] = "$TL[0]|$TL[1]|$TL[2]\n";
seek(COUNT,0,0);
print COUNT @lns;
last;
} }
$cnts++;
}
eval"flock(COUNT,8)";
close(COUNT);
if (!($the_link eq "")) {print "Location: $the_link\n\n";}
else {
print "Content-type: text/html\n\n"; print qq~<html><head><meta name="author" content="Ron F Woolley 1998-99 - www.dtp-aus.com"><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><title>Error Response</title></head><body bgcolor="#FFFFFD" text="#333333" link="#0000CC"><center><p>&nbsp;</p><table cellpadding="1" cellspacing="3" border="0"><tr bgcolor="#F5F5FF"><td><b><font face="verdana,arial,geneva,helvetica" size="3">&nbsp;Link <font color="#CC0000">Error Response</font></font></b></td></tr><tr><td align=center bgcolor="#F5F5F5"><font size="2" face="arial,helvetica,geneva"><p><strong>&nbsp;<br>The link you requested cannot be found.</strong></p><p>&nbsp;Please report this error to the <a href="$webmstr">webmaster</a>. <em>Thank you&nbsp;</em></p></font></td></tr><tr bgcolor="#666666"><td align=center><font size="2" face="arial,helvetica,geneva"><em><font color="#FFFFFF"><b>return with your</b></font></em><font color="#FFFFFF"><b> Back Arrow</b></font></font></td></tr></table></center></body></html>~;
exit;
}
exit;
}
1; #line must remain last and as is

View File

@ -1,19 +0,0 @@
# LogCount v3.8 error logging
sub err_logs {
if ((-e "$log_path"."$ENV{'REMOTE_ADDR'}.tf") || (-s "$log_path$badlog_name") > 2000000 || !open (LOG, ">>$log_path$badlog_name")) {exit;}
open (LOGG, ">$log_path"."$ENV{'REMOTE_ADDR'}.tf") || exit;
eval"flock(LOG, 2)";
my $trim = date_time(1)."|$err|$ENV{'HTTP_REFERER'}|$ENV{'REMOTE_ADDR'}";
$trim = substr($trim,0,150);
print LOG "$trim\n";
eval"flock(LOG, 8)";
close(LOG);
close(LOGG);
if (!($pn eq "l")) {&sendFile($img_url."trans.gif", "image/gif");}
else {print "Content-type: text/html\n\n";
print "Pages are copyright. Remote link access refused!<br>Please link via the actual on-site page\n";}
sleep 10;
unlink ("$log_path"."$ENV{'REMOTE_ADDR'}.tf");
exit;
}
1; #line must remain last and as is

View File

@ -1,42 +0,0 @@
#### adding/subtracting zeros alters length of visible counters ---#
$iszeros = "000000";
#### Select British ("0"), US ("1"), Internat ("2") date pattern --#
$dtUS = "2";
#### An array of accepted referers domain names / IP#s ------------#
@referers = ('armandino.free.fr','www-asim.lip6.fr', );
#### An array of rejected domain names / IP#s ---------------------#
$rjct = "|myfoobars.com|000.000.000.000|wallies.edu.ca/~bloggs|";
#### Path to Records and Counter Images, SEE readme.txt file ------#
$gmt_pth = "$log_path/gmtset.pl";
#$log_path = "counters/"; # - with forward slash
$count_name = "hitcount.t";
$log_name = "hitlog.t";
$lnks_name = "hitlnk.t";
$badlog_name = "hitbadlog.t";
$def_pge = "index";
$iwid = 13;
$ihgt = 17;
$ssi_zro = 1;
#### PATH OR URL to NON SSI img display images --------------------#
#-- this can be the same as the $ssi_url value! (see readme)
# $img_url = "counters/"; # PATH - with forward slash
#$img_url = "http://yourdomain.name/ssi_img/"; # URL - with forward slash
#### URL to the images for SSI img display (see readme) -----------#
$ssi_url = "http://www-asim.lip6.fr/ssi/img/"; # - with forward slash
#### SSI Output (0 = hidden (blank), 1 = Text, 2 = Images ---------#
$ssi_img = 1;
#### E-Mail address of the Webmaster ------------------------------#
$webmstr = "mailto:Olivier.Sirol\@lip6.fr?subject=Link_Error";
#### Show Referer Domain Names, SEE readme.txt file ---------------#
$showDoms = "1";
1; # this line MUST remain in all 'require' files.

View File

@ -1,6 +0,0 @@
#### value = GMT at your locality, in seconds (cen setup via admin!)--------#
#### ie (5hrs AHEAD) = 5X60X60 = 18000, (3.5hrs BEHIND) = -3.5X60X60 = -12600
$gmtPlusMinus = 7200;
1; # this line must remain in all 'require' files.

View File

@ -1,17 +0,0 @@
2000/05/26 15:06:52|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:07:36|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:09:31|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:09:31|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:09:41|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:09:54|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:10:48|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:10:48|bad referrer, off-site access denied||132.227.103.10
2000/05/26 15:10:58|bad referrer, off-site access denied||132.227.103.10
2000/06/05 12:12:40|bad referrer, off-site access denied||132.227.103.10
2000/06/05 12:13:27|bad referrer, off-site access denied||132.227.103.10
2000/06/05 13:44:28|bad referrer, off-site access denied||132.227.103.10
2000/06/05 14:42:45|bad referrer, off-site access denied||132.227.103.10
2000/06/05 14:43:23|bad referrer, off-site access denied||132.227.103.10
2000/06/05 14:43:38|bad referrer, off-site access denied||132.227.103.10
2000/06/05 14:44:24|bad referrer, off-site access denied||132.227.103.10
2000/06/05 14:45:02|bad referrer, off-site access denied||132.227.103.10

View File

@ -1 +0,0 @@
widgets|http://www.widgetstuff.net/|345

View File

@ -1,10 +0,0 @@
2000/05/26 14:42:39, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 15:01:38, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 15:02:39, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 15:11:25, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 16:09:38, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 16:11:14, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/26 16:20:05, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/05/27 12:05:15, 212.27.40.168, /, Mozilla/4.7 [en] (WinNT; I), paris11-nas1-40-168.dial.proxad.net
2000/06/05 14:46:26, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco
2000/06/05 14:46:29, 132.227.103.10, /, Mozilla/4.7 [en] (WinNT; I), chantaco

View File

@ -1,23 +0,0 @@
#### Path to Records and Counter Images, SEE readme.txt file ------#
$lookcfg_pth = "$log_path/lookcnfg.pl";
$pwrd_name = "look.pwd";
$grf1_url = "$ssi_url"."grf0.gif";
$grf0_url = "$ssi_url"."grf1.gif";
#### URL of the prefered return page (Home) -----------------------#
$hm_url = "http://armandino.free.fr/";
#### URL of the LOGLOOK.CGI log viewer script ---------------------#
$logScrpt = "http://www-asim.lip6.fr/cgi-bin/czo/lc/cgi-bin/loglook.cgi";
#### URL of the LOGCNT.CGI counter script -------------------------#
$countScrpt = "http://www-asim.lip6.fr/cgi-bin/czo/lc/cgi-bin/logcnt.cgi";
#### Enable display of last 7 days ("1") --------------------------#
$shwDays7 = "1";
#### Enter a Password or leave blank(""), SEE readme.txt file -----#
$theword = "log";
1; # this line MUST remain in all 'require' files.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 B

Some files were not shown because too many files have changed in this diff Show More