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.
|
@ -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/*
|
|
@ -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
|
||||
--
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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).
|
||||
--
|
|
@ -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:
|
||||
--
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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}"
|
||||
|
|
@ -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
|
||||
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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 ;
|
||||
}'
|
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
|
@ -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";
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
1|1|1|N|
|
|
@ -1,4 +0,0 @@
|
|||
#define hit_width 1
|
||||
#define hit_height 1
|
||||
static char hit_bits[] = {
|
||||
0x00};
|
|
@ -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
|
|
@ -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 "$group"";
|
||||
} else
|
||||
{ $page = $2;
|
||||
print "PAGE for "$page"";
|
||||
}
|
||||
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
|
|
@ -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
|
||||
|
|
@ -1 +0,0 @@
|
|||
raPko.wpxNfW2
|
|
@ -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
|
|
@ -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!
|
||||
|
|
@ -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,
|
||||
};
|
|
@ -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"> </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>
|
||||
|
|
@ -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
|
Before Width: | Height: | Size: 71 B |
Before Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 76 B |
Before Width: | Height: | Size: 79 B |
Before Width: | Height: | Size: 77 B |
Before Width: | Height: | Size: 81 B |
Before Width: | Height: | Size: 80 B |
Before Width: | Height: | Size: 81 B |
Before Width: | Height: | Size: 78 B |
Before Width: | Height: | Size: 83 B |
Before Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 80 B |
|
@ -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> </p><table cellpadding="1" cellspacing="3" border="0"><tr bgcolor="#F5F5FF"><td><b><font face="verdana,arial,geneva,helvetica" size="3"> 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> <br>The link you requested cannot be found.</strong></p><p> Please report this error to the <a href="$webmstr">webmaster</a>. <em>Thank you </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
|
|
@ -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
|
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
widgets|http://www.widgetstuff.net/|345
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
a.M5r8pTqIbSw
|
|
@ -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.
|
Before Width: | Height: | Size: 81 B |
Before Width: | Height: | Size: 43 B |
Before Width: | Height: | Size: 71 B |
Before Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 76 B |
Before Width: | Height: | Size: 79 B |
Before Width: | Height: | Size: 77 B |
Before Width: | Height: | Size: 81 B |
Before Width: | Height: | Size: 80 B |