File: jf

package info (click to toggle)
junkfilter 20030115-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 284 kB
  • ctags: 16
  • sloc: makefile: 149; sh: 115
file content (151 lines) | stat: -rwxr-xr-x 4,276 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/bin/sh
#
# junkfilter
# a junk email filter system for procmail
# Copyright 1997-2001 Gregory Sutter <gsutter@zer0.org>
#
# $Id: jf,v 1.17 2002/05/20 03:10:19 gsutter Exp $
#
# Please read the file "README" and the page
# http://junkfilter.zer0.org/ before using junkfilter.
#
# jf -- unified junkfilter management

SELF=$0

if [ ! $JFDIR ]; then
	JFDIR=/usr/local/etc/junkfilter
	if [ ! -r $JFDIR/junkfilter.config ]; then
		echo "Error: please set \$JFDIR to the location of junkfilter."
		exit 66
	fi
fi

#JFUSERDIR=`grep JFUSERDIR $JFDIR/junkfilter.config | awk -F "=" '{print $2}'` || \
#	( echo "Error: junkfilter not found in $JFDIR"; exit 66 )

if [ x$1 = xchk ]; then
	cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | grep $2

elif [ x$1 = xadd -o x$1 = xcta ]; then
	cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | egrep -q "^$2\$" && echo "$2 already in domains list" || echo $2 >> $JFDIR/domains/general

elif [ x$1 = xbuild ]; then
	if [ x$2 = xdomains ]; then
	  cat $JFDIR/domains/[a-z]* |\
	  egrep -v "^#" |\
	  perl -pe 's/[	 ]+//g; y/[A-Z]/[a-z]/; s/
//g' |\
	  egrep -v '^$' |\
	  sort | uniq |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-domains
	  echo "Done. $2 built."

	elif [ x$2 = xaddresses ]; then 
	  cat $JFDIR/addresses |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-addresses
	  echo "Done. $2 built."

	elif [ x$2 = xip ]; then 
	  cat $JFDIR/ip |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-ip
	  echo "Done. $2 built."

	elif [ x$2 = xbodychk ]; then 
	  cat $JFDIR/bodychk |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-bodychk
	  echo "Done. $2 built."

	elif [ x$2 = xdialups ]; then 
	  cat $JFDIR/dialups |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-dialups
	  echo "Done. $2 built."

	elif [ x$2 = xheaders ]; then 
	  cat $JFDIR/headers |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-headers
	  echo "Done. $2 built."

	elif [ x$2 = xwhite ]; then 
	  cat $JFDIR/white |\
	  egrep -v "^#" | sort |\
	  perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-white
	  echo "Done. $2 built."

	elif [ x$2 = xall ]; then
	  $SELF build addresses
	  $SELF build bodychk
	  $SELF build dialups
	  $SELF build domains
	  $SELF build headers
	  $SELF build ip
	  $SELF build white
	  echo "Done. $2 built."

	elif [ x = x ]; then
	  echo "I can build 'addresses', 'bodychk', 'dialups', 'domains',"
	  echo "'headers', 'ip', 'white', 'all'"
	  exit 1

	fi

elif [ x$1 = xget ]; then
	echo "  You can get the latest list of domains from:"
	echo "  http://junkfilter.zer0.org/pkg/dev/domains/general"

elif [ x$1 = xrel ]; then
	if [ ! x$3 = x ]; then
	  JFELOC=$3
	  if [ ! -d $JFELOC ]; then
	    echo "Usage: $SELF rel <version> <package location>"
	    exit 1
	  fi
	else
	  echo "Usage: $SELF rel <version> <package location>"
	  exit 1
	fi
	if [ ! x$2 = x ]; then
	  JFEVER=$2
	  if [ ! -d $JFELOC/$JFEVER ]; then
	    mkdir $JFELOC/$JFEVER
	  else
	    echo "That version already exists!"
	    exit 1
	  fi
	else
	  echo "Usage: $SELF rel <version> <package location>"
	  exit 1
	fi
	  JFEDIR=$JFELOC/$JFEVER
	  TMPDIR=/tmp
	  rm $JFEDIR/*
#	  $SELF get
	  $SELF build all
	  mkdir $TMPDIR/junkfilter
	  cp -p $JFDIR/* $TMPDIR/junkfilter
	  mkdir $TMPDIR/junkfilter/domains
	  cp -p $JFDIR/domains/* $TMPDIR/junkfilter/domains
	  cd $TMPDIR
	  tar -cf - junkfilter | gzip -9 > $JFEDIR/junkfilter-$JFEVER.tar.gz
	  mv $TMPDIR/junkfilter/* $JFEDIR
	  rmdir $TMPDIR/junkfilter
	  rm $JFELOC/current
	  rm $JFELOC/junkfilter.tar.gz
	  cd $JFELOC
	  ln -s $JFEVER/junkfilter-$JFEVER.tar.gz junkfilter.tar.gz
	  ln -s $JFEVER current
	  echo "Done.  New junkfilter release in $JFEDIR."

elif [ x$1 = x ]; then
	echo "Command syntax: $SELF <command> <option>"
	echo "commands: add [domain], chk [domain], cta [domain], build [option],"
	echo "          get (new gulf-blocks domains file), rel (build release)"
	echo "options: addresses, domains, bodychk, dialups, ip, headers, white"
fi

#eof