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 |