File: jf

package info (click to toggle)
junkfilter 20010529-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 304 kB
  • ctags: 1
  • sloc: sh: 109; makefile: 34
file content (141 lines) | stat: -rwxr-xr-x 4,091 bytes parent folder | download
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
#!/bin/sh
#
# junkfilter
# a junk email filter system for procmail
# Copyright 1997-2001 Gregory Sutter <gsutter@zer0.org>
#
# $Id: jf,v 1.13 2001/05/28 11:03:41 gsutter Exp $
#
# Please read the file "README" and the page
# http://junkfilter.zer0.org/ before using junkfilter.
#
# jf -- unified junkfilter management

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

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]* |\
	  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 | 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 | 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 | 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 | 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 | 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 | 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
	  jf build addresses
	  jf build bodychk
	  jf build dialups
	  jf build domains
	  jf build headers
	  jf build ip
	  jf 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
	cat $JFDIR/domains/gulf-blocks >> $JFDIR/more/gulf-blocks-old
	sort < $JFDIR/more/gulf-blocks-old > $JFDIR/more/gulf-blocks-tmp
	uniq < $JFDIR/more/gulf-blocks-tmp > $JFDIR/more/gulf-blocks-old
	lynx -dump -source ftp://ftp.gulf.net/pub/docs/domains.txt > $JFDIR/domains/gulf-blocks

elif [ x$1 = xrel ]; then
	if [ ! x$3 = x ]; then
	  JFELOC=$3
	  if [ ! -d $JFELOC ]; then
	    echo "Usage: $0 rel <version> <package location>"
	    exit 1
	  fi
	else
	  echo "Usage: $0 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: $0 rel <version> <package location>"
	  exit 1
	fi
	  JFEDIR=$JFELOC/$JFEVER
	  TMPDIR=/tmp
	  rm $JFEDIR/*
#	  jf get
	  jf 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: jf <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