~ubuntu-branches/ubuntu/karmic/libsendmail-pmilter-perl/karmic

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Hilko Bengen
  • Date: 2003-05-26 15:30:05 UTC
  • Revision ID: james.westby@ubuntu.com-20030526153005-ycyz40z0v9j9qvfh
Tags: upstream-0.4.0
ImportĀ upstreamĀ versionĀ 0.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
$DUH: README,v 1.21 2003/01/22 22:18:23 tv Exp $
 
2
 
 
3
**
 
4
 
 
5
PMilter requires Perl 5.6.0 or higher.  It has not been tested (nor adapted)
 
6
for 5.005 or earlier.  This is not (yet) reflected in the "use" statements
 
7
for the .pm modules, but will be added in the near future.
 
8
 
 
9
The documentation is still sparse, so bear with me.  You can get the useful
 
10
docs out by cd'ing to the top level of the source tree and doing a "perldoc
 
11
PMilter".  That doc page contains cross references to the rest of the
 
12
available documentation (most of it Perl POD docs).
 
13
 
 
14
PMilter's home page can be found at:  http://www.duh.org/pmilter
 
15
 
 
16
The author can be contacted at:  tv@pobox.com / tv@duh.org
 
17
 
 
18
**
 
19
 
 
20
RELEASE 0.4.0 (22-Jan-2003) (includes changes applied to 0.3.1)
 
21
 
 
22
* API CHANGE: Module 'connect_break' has gone away and is now
 
23
  replaced by a special case of 'connect_regex' (with ERRMSG set to
 
24
  'BREAK').
 
25
 
 
26
* Added pluggable logging foundation to PMilter::Server.
 
27
 
 
28
* Added $ctx->qlog() method for logging a "standard" log message at
 
29
  level LOG_NOTICE, including several predefined values.
 
30
 
 
31
* Added $ctx->reject() method as a one-stop shop for setting the
 
32
  reply message, logging it, and returning the proper SMFIS_ code.
 
33
 
 
34
* All prefabricated modules that accept patterns now all accept a
 
35
  regular expression or an arrayref of regular expressions.  As a
 
36
  result, "helo_blacklist" is now "helo_regex".
 
37
 
 
38
* A new package, PMilter::Modules, contains several helper
 
39
  subroutines useful for implementing modules, and for supplying
 
40
  arguments to modules.
 
41
 
 
42
* A new package/object, PMilter::Match::CIDR, provides rapid matching of
 
43
  IPv4 addresses against a list of CIDR patterns.
 
44
 
 
45
* A new module (received_dnsbl_ip) scans Received: headers to gather
 
46
  IPv4 addresses, then runs them through a DNSBL.
 
47
 
 
48
**
 
49
 
 
50
RELEASE 0.3.1 (15-Dec-2002)
 
51
 
 
52
* Bug: PMilter/modules/header_nofrom was returning a 451 and should have
 
53
  returned 554.
 
54
 
 
55
* Bug: PMilter/Callbacks.pm had erroneous logic about detecting the last
 
56
  callback for a given element object; it caused SMFIS_ACCEPT to be
 
57
  returned to the next higher level in some situations.
 
58
 
 
59
* Actually implemented the MAXCHILDREN arg to PMilter::Server::main(), which
 
60
  should have been implemented before (since it was documented).
 
61
 
 
62
* Removed dangling references to PMilter::Callbacks::SkipConnect.  This
 
63
  behavior is now handled by the 'connect_break' module.
 
64
 
 
65
* Added a SIGINFO handler, which will simply print the number of active
 
66
  child process to STDERR.
 
67
 
 
68
**
 
69
 
 
70
RELEASE 0.3.0 - Documentation, stability freeze.
 
71
 
 
72
-> The protocol engine is now in a significantly stable state and this
 
73
-> is a usable release in the author's opinion.  0.3.x has been put on
 
74
-> its own CVS branch for maintenance purposes, as needed by users
 
75
-> (tag pmilter-0_3).
 
76
->
 
77
-> Further development will be on the 0.4.0 release, which will include
 
78
-> major feature improvements.
 
79
 
 
80
* Consolidated and fixed up PMilter::Callbacks.  Now an immutable container
 
81
  (constructed on new() and not changeable).
 
82
 
 
83
* Made $ctx->getsymval() actually work and keep the right values at the
 
84
  right times.
 
85
 
 
86
* Added PMilter::DNSBL classes for DNSBL lookups.
 
87
 
 
88
* Added @INC/PMilter/modules search path for modules included by name.
 
89
 
 
90
* Added extension methods getglobal() and setglobal() to the context
 
91
  object, allowing communication between different objects in a Callbacks
 
92
  tree.
 
93
 
 
94
* Removed the select() based timeouts entirely based on several suggestions.
 
95
  Instead, we rely on the MTA to do connection handling; if the MTA is not
 
96
  properly functioning, there's a problem much bigger than milters.
 
97
 
 
98
* Added docs throughout, including bundled modules at top.
 
99
 
 
100
**
 
101
 
 
102
RELEASE 0.2.2 - More enhancements and fixes.
 
103
 
 
104
* Moved auto_getconn() and auto_setconn() into only the Sendmail::Milter
 
105
  compatibility interface.  These are specific to the Sendmail MTA, and
 
106
  don't belong in the generic PMilter interface.
 
107
 
 
108
* Added Sendmail::Milter::sendmail_class() for looking up the contents of
 
109
  a Sendmail class.  Good for looking up the contents of class 'w', if
 
110
  desiring a check against "known localhost aliases".
 
111
 
 
112
* Added PMilter::Session::gethost() and getaddress() to allow retrieval
 
113
  of the connected client's hostname and address outside of the connect
 
114
  callback (without creating several "setpriv" copies).
 
115
 
 
116
* Now allows insertion of a milter object into a PMilter::Callbacks chain
 
117
  via a scalar (filename of module, no args), or arrayref (first element
 
118
  is name of module, the rest are args to the module).
 
119
 
 
120
* Added several prefab modules into PMilter/modules/ that make use of the
 
121
  above change to PMilter::Callbacks.
 
122
 
 
123
* Added new return code, SMFIS_BREAK, which means "global SMFIS_ACCEPT",
 
124
  i.e. propagate all the way up the tree to the root.  To stop the
 
125
  propagation, PMilter::Callbacks::Leaf transforms it back to SMFIS_ACCEPT.
 
126
 
 
127
* Added examples/duh.org.pl, the real configuration being used at duh.org,
 
128
  as a working-config example.
 
129
 
 
130
* Some code path reliability fixes.
 
131
 
 
132
**
 
133
 
 
134
RELEASE 0.2.1 - Major bug fix, license change, and other minor changes.
 
135
 
 
136
* The unpacking of the connect info string has always been wonky, because of
 
137
  issues with Perl's handling of \0 in RE matching.  Worked around in
 
138
  PMilter::Session.  I haven't seen any 'invalid connect info' errors since.
 
139
 
 
140
* Now under BSD-style license.  I promised man people that I'd change the
 
141
  PMilter license as soon as I started using PMilter myself on a production
 
142
  mail server.  Since the requirement is now fulfilled, the license is
 
143
  changed to something less restrictive.
 
144
 
 
145
* Allow up to 30m (not 30s) for commands being issued from within message
 
146
  context.  Since it could take quite a while for commands to arrive after
 
147
  the first RCPT TO: (while the message body is in transit), we don't want
 
148
  to time out so quickly.  This will be more flexible/configurable in the
 
149
  future.
 
150
 
 
151
* Accept arguments in PMilter::Callbacks->new(); simply a list of milter
 
152
  objects that should be register()ed after the container is created.  
 
153
  Allows for chaining syntax when constructing the milter object tree.  
 
154
  (Needs doc)
 
155
 
 
156
* Let subclasses of PMilter::Callbacks specify callbacks that should always
 
157
  be called on the container, even if contained milter objects don't use
 
158
  them.  This allows for the following:
 
159
 
 
160
* Added first subclass of PMilter::Callbacks, ...::SkipConnect.  This
 
161
  variation on a theme accepts a regex as its first argument to new(), which
 
162
  (if it matches the rDNS-validated hostname or the [square-bracketed] IP
 
163
  address of the host) causes the container to return SMFIS_ACCEPT without
 
164
  calling its contained milter objects.
 
165
 
 
166
**
 
167
 
 
168
RELEASE 0.2.0 - Feature enhancements and bug fixes.
 
169
 
 
170
* In 0.1.0, it was possible to register more than one callback via
 
171
  Sendmail::Milter::register().  This has been reverted back to a single
 
172
  top-level instance, and milter chaining is now implemented by the class
 
173
  PMilter::Callbacks.  This will pave the way for future boolean-like
 
174
  chaining logic.  Technically, PMilter::Callbacks is compatible
 
175
  with the "real" implementation of Sendmail::Milter.
 
176
 
 
177
* Several fixes related to the differences between message and connection
 
178
  context; in particular, RCPT TO: can be called multiple times with
 
179
  rejection responses (to reject single recipients of a mail that may still
 
180
  be accepted for some recipients).
 
181
 
 
182
* Refactoring of where some of the user-visible goo is located.
 
183
 
 
184
* Some usable pod docs added.
 
185
 
 
186
**
 
187
 
 
188
RELEASE 0.1.0 - First public release.
 
189
 
 
190
* Mostly implements the Sendmail::Milter 0.18 interface, but somewhat buggy.
 
191
 
 
192
* Threw most of the original design in the CVS Attic; will look at that
 
193
  again later.
 
194
 
 
195
**
 
196
 
 
197
EOF