Commit graph

44 commits

Author SHA1 Message Date
jlam
a80fd13efc Mechanical changes to add DESTDIR support to packages that install
their files via a custom do-install target.
2008-03-04 17:57:17 +00:00
markd
74297e37c8 Update mimedefang to 2.63
Changes since 2.62:

* mimedefang-multiplexor.c: Relax the umask when creating the unprivileged
  socket ("-a" command-line option.)
* mimedefang.c(eom): If we do not have a queue ID yet, try to obtain one
  in eom. This is designed to improve operation with Postfix, which does
  not assign a queue ID until after the first successful RCPT. Based on a
  patch from Henrik Krohns.
* examples/init-script.in: Added MD_SKIP_BAD_RCPTS init script option
  (suggested by John Nemeth)
* Remove support for OpenAntivirus. It's a dead product.
* mimedefang.pl.in(spam_assassin_status): Call $mail->finish() to prevent
  temporary files from accumulating.
* redhat/mimedefang-init.in: Add configtest routine to check filter
  syntax.

Changes since 2.61:

* A new "change_sender" action lets you change the envelope sender. Only
  works with Sendmail/Milter 8.14.0 and newer!
* Clam interface code has been fixed to work properly with ClamAV 0.90
  and later.
* Other minor improvements and bugfixes.
2007-08-15 04:50:39 +00:00
jlam
4390d56940 Make it easier to build and install packages "unprivileged", where
the owner of all installed files is a non-root user.  This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.

(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
    unprivileged.mk.  These two variables are lists of other bmake
    variables that define package-specific users and groups.  Packages
    that have user-settable variables for users and groups, e.g. apache
    and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
    etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
    so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
    and ${UNPRIVILEGED_GROUP}.

(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
2007-07-04 20:54:31 +00:00
markd
78e83ffe7e Update mimedefang to 2.61.
includes patch to work with clamav 0.90 and newer.

Changes since 2.59:

* SECURITY FIX: Versions 2.59 and 2.60 contained a programming error
  that could lead to a buffer overflow. This is definitely
  exploitable as a denial-of-service attack, and potentially may
  allow arbitrary code execution. The bug is fixed in 2.61.
* If a message is going to end up being rejected,
  discarded or tempfailed, we don't bother carrying out requests
  to add/delete/modify headers or recipients, change the message
  body, etc.
* mimedefang.c: Fix filter registration so MIMEDefang works
  correctly against libmilter from Sendmail 8.14

Changes since 2.58:

* A new "watch-multiple-mimedefangs.tcl" tool that lets you keep an eye
  on a cluster of MIMEDefang scanners.
* Fixes to the build scripts that should eliminate build problems on
  Intel/AMD 64-bit architectures.
* mimedefang generates the COMMANDS file more safely and more efficiently.
* Various other minor improvements and bug-fixes.
2007-03-14 11:21:33 +00:00
markd
210b4da79a Update to mimedefang 2.58
Changes since 2.57:
* Various minor bug-fixes, including a memory leak.

Changes since 2.56:
* Various minor bug-fixes
* New md-mx-ctrl hload command shows load over past 1, 4, 12 and 24 hours.
* New multiplexor scheduling algorithm tries to keep a given command on a
  given set of slaves.
2006-11-08 09:42:05 +00:00
jlam
daad0f3d6c Modify the pkginstall framework so that it manages all aspects of
INSTALL/DEINSTALL script creation within pkgsrc.

If an INSTALL or DEINSTALL script is found in the package directory,
it is automatically used as a template for the pkginstall-generated
scripts.  If instead, they should be used simply as the full scripts,
then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC
explicitly, e.g.:

	INSTALL_SRC=	${PKGDIR}/INSTALL
	DEINSTALL_SRC=	# emtpy

As part of the restructuring of the pkginstall framework internals,
we now *always* generate temporary INSTALL or DEINSTALL scripts.  By
comparing these temporary scripts with minimal INSTALL/DEINSTALL
scripts formed from only the base templates, we determine whether or
not the INSTALL/DEINSTALL scripts are actually needed by the package
(see the generate-install-scripts target in bsd.pkginstall.mk).

In addition, more variables in the framework have been made private.
The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are
more sensible names given the very few exported variables in this
framework.  The only public variables relating to the templates are:

	INSTALL_SRC		INSTALL_TEMPLATE
	DEINSTALL_SRC		DEINSTALL_TEMPLATE
				HEADER_TEMPLATE

The packages in pkgsrc have been modified to reflect the changes in
the pkginstall framework.
2006-03-14 01:14:26 +00:00
markd
4ddc4714ef Update to mimedefang 2.56
Changes 2.56:
An off-by-one error in the multiplexor that could restart slaves
unnecessarily was fixed. Compilation errors on some systems were fixed.
A handful of other minor bugs were fixed.

Changes 2.55:
A new option allows you to reserve some slaves for connections from
localhost; this helps clientmqueue runs to succeed on busy servers.
Modern Vexira anti-virus scanners are supported; versions older than
Spring 2005 are no longer supported. A new "filter_helo" callback lets
you take action in response to HELO/EHLO. A new "action_insert_header"
function lets you prepend headers (rather than just appending them).
A new function lets you reject mail from hosts with bogus MX records;
for example, MX records that resolve to private IP networks or the
loopback address.
2006-03-13 00:05:14 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
rillig
8b2aa39b8a - Applied the code from the patch in PR 32540 by Anne Bennett, which
allows the user to define DEFANG_USER and DEFANG_GROUP in the
  MAKECONF file. Fixes PR 32540.
- Added the configurable variables to BUILD_DEFS, so that they are shown
  during the build process.
- Bumped PKGREVISION.
2006-01-16 00:45:13 +00:00
jlam
dc9594e09d Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mk
automatically detects whether we want the pkginstall machinery to be
used by the package Makefile.
2005-12-29 06:21:30 +00:00
markd
386270c9d5 Update mimedefang to 2.54
Changes 2.54:
  a few minor enhancements and fixes.
Changes 2.53:
  mostly work around bugs and deficiencies in third-party packages
  commonly used with MIMEDefang.
2005-12-10 22:14:14 +00:00
rillig
579e977969 Ran "pkglint --autofix", which corrected some of the quoting issues in
CONFIGURE_ARGS.
2005-12-05 23:55:01 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
rillig
9984e0604a Removed trailing white-space. 2005-09-28 14:15:48 +00:00
jlam
3e474a90d8 Get rid of USE_PERL5. The new way to express needing the Perl executable
around at either build-time or at run-time is:

	USE_TOOLS+=	perl		# build-time
	USE_TOOLS+=	perl:run	# run-time

Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
2005-07-16 01:19:06 +00:00
markd
7468513e57 Fix path of clamscan. Bump PKGREVISION. 2005-06-20 10:20:45 +00:00
jlam
81edaaa606 Create directories before installing files into them. 2005-06-16 06:57:37 +00:00
markd
e46268d04b Update mimedefang to version 2.52
Changes in 2.52
* mimedefang.pl.in (item_contains_virus_fprotd): Remove all references
  to $` and $', which can SIGNIFICANTLY slow down Perl regexp matching.
* mimedefang.c(mfconnect): Do not call set_dsn from mfconnect, because
  the Milter API specifies that you can't call smfi_setreply from the
  connect callback.
* mimedefang-filter.5.in: Document the fact that filter_relay
  cannot set the text of the SMTP reply code.
* mimedefang.pl: We don't detect and load Perl modules until
  the detect_and_load_perl_modules() function is called.

  *** NOTE INCOMPATIBILITY ***

  You *MUST* call detect_and_load_perl_modules() inside your filter
  before you can rely on the %Features hash being set correctly,
  and before you can rely on SpamAssassin being loaded!!!

Changes in 2.51
Note: There was no public 2.50 release; the 2.50 version was a
private release that was available only with CanIt.

* Added "-q" option to mimedefang.  This permits the multiplexor
  to queue new incoming connections.  It may make higher utilization
  of slaves and improve throughput.

* ESMTP arguments in MAIL FROM: and RCPT TO: are now available
  to the Perl filter.  See the mimedefang-filter(5) man page for
  details.

* Documentation fixes: We don't refer to non-multiplexor mode
  any more, because that mode hasn't been available for ages.

* The "tick" facility has been enhanced to permit multiple tick
  types.  At any given instance, only one tick of a given type
  can be active, but ticks of different types can be active at
  the same time.

* Log a warning if a message has more than one Subject: header.
2005-06-05 22:31:34 +00:00
reed
ee8be9d0c1 RCD_SCRIPTS_EXAMPLEDIR is no longer customizable.
And always is defined as share/examples/rc.d
which was the default before.

This rc.d scripts are not automatically added to PLISTs now also.
So add to each corresponding PLIST as required.

This was discussed on tech-pkg in late January and late April.

Todo: remove the RCD_SCRIPTS_EXAMPLEDIR uses in MESSAGES and elsewhere
and remove the RCD_SCRIPTS_EXAMPLEDIR itself.
2005-05-02 20:33:57 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
8758983939 Add RMD160 digests. 2005-02-24 09:59:20 +00:00
reed
32d8f290c2 The default location of the pkgsrc-installed rc.d scripts is now
under share/examples/rc.d. The variable name already was named
RCD_SCRIPTS_EXAMPLEDIR.

This is from ideas from Greg Woods and others.

Also bumped PKGREVISION for all packages using RCD_SCRIPTS mechanism
(as requested by wiz).
2004-12-28 02:47:40 +00:00
markd
47754034e3 Update to mimedefang 2.49
Changes: minor bug fixes.
2004-12-01 11:21:31 +00:00
markd
caf97df9c7 Update mimedefang to version 2.48
Changes in 2.48:
This is a bugfix release for 2.46 and 2.47, which contained several
embarrassing bugs.

Changes in 2.46:
This release has a mechanism for Perl slaves to report back their status
to the multiplexor. This allows you to see exactly what each scanning
slave is doing at a given point in time. This release also features
support for the "csav" virus-scanner from Command Software, and better
support for Trend Micro's command line scanner. The algorithm that
reconstructs MIME messages after modification is greatly improved and
avoids creating useless multipart containers with only a single sub-part.
A few smaller changes fix minor bugs and tighten up security.

Changes in 2.45:
The multiplexor has a new "-a" option to allow non-privileged users to
run a restricted set of status commands. "watch-mimedefang" has been
completely revamped and gives a lot of useful information about email
server load. It can monitor a remote server over an SSH tunnel. The
notification facility has two new messages, indicating a busy timeout and
the unexpected death of a Perl slave. There is a new set of RBL functions
that perform parallel DNS lookups to reduce latency. In addition, many
minor features have been added, bugs have been fixed, and documentation
has been cleaned up.
2004-11-10 10:48:33 +00:00
markd
39c84e3027 Update mimedefang to version 2.44
Changes in 2.44:
This release features support for two new Sendmail 8.13 features: the
SOCKETMAP map type, and Sendmail's built-in quarantine mechanism. There are
also some minor bugfixes and documentation cleanups, as well as a fix for a
memory leak with the embedded Perl interpreter on some platforms.

Changes in 2.43:
Various Perl functions can request the C code to delay before returning;
this permits tarpitting without tying up a Perl slave. The multiplexor has
an additional option to run a "tick" function on a periodic basis. There
are minor bugfixes and documentation improvements.

Changes in 2.42:
The multiplexor causes closelog() to avoid problems with embedded Perl
slaves. Support for SpamAssassin's upcoming 3.0.0 Perl API was added. A few
other small bugs were fixed.

Changes in 2.41:
This is a bugfix release only. The most important change is to stop the
action_quarantine_entire_message from sending out notifications each time
it is invoked. A few other minor bugs were fixed.
2004-07-18 06:11:14 +00:00
snj
479a53fcff Convert to buildlink3. 2004-04-25 04:03:16 +00:00
reed
9c790735db mk/bsd.pkg.install.mk now automatically registers
the RCD_SCRIPTS rc.d script(s) to the PLIST.

This GENERATE_PLIST idea is part of Greg A. Woods'
PR #22954.

This helps when the RC_SCRIPTS are installed to
a different ${RCD_SCRIPTS_EXAMPLEDIR}. (Later,
the default RCD_SCRIPTS_EXAMPLEDIR will be changed
to be more clear that they are the examples.)

These patches also remove the etc/rc.d/ scripts from PLISTs
(of packages that use RCD_SCRIPTS). (This also removes
now unused references from openssh* makefiles. Note that
qmail package has not been changed yet.)

I have been doing automatic PLIST registration for RC_SCRIPTS
for over a year. Not all of these packages have been tested,
but many have been tested and used.

Somethings maybe to do:
- a few packages still manually install the rc.d scripts to
  hard-coded etc/rc.d. These need to be fixed.
- maybe  remove from mk/${OPSYS}.pkg.dist mtree specifications too.
2004-04-23 22:07:52 +00:00
tv
2331bb58d9 Quickly revert previous. I didn't see that libmilter had already been
changed in a CVS merge somewhere.
2004-04-06 14:01:51 +00:00
tv
c746c0152b Make libmilter a build-time dependency only (it's a static library); bump
PKGREVISION of its dependencies.
2004-04-06 13:50:57 +00:00
wiz
a661ce60c0 PKGREVISION bump after openssl-security-fix-update to 0.9.6m.
Buildlink files: RECOMMENDED version changed to current version.
2004-03-26 02:27:34 +00:00
markd
6163539143 Update mimedefang to 2.40.
pkgsrc changes - add rc scripts and runtime checks for virus checkers
		 from Eric Schnoebelen in PR pkg/24295
	       - require native pthread library as pth doesnt work

Major changes from 2.39 to 2.40:

If multiple virus scanners are installed, they are all used.
Default action for viruses is now discard.
Added a new "notification" facility to allow external software to react
to changes in multiplexor state.
We now pass both the raw input message and the unpacked, decoded parts to
the virus scanner. This makes virus detection much more reliable.

Major changes from 2.38 to 2.39:

The multiplexor can be compiled with an embedded Perl interpreter to
significantly reduce the cost of starting a new slave
A memory leak in the status command was fixed.
A histo command was added so you can see how busy your installation

Major changes from 2.37 to 2.38:

The internal SMALLBUF constant was increased to handle larger SpamAssassin
reports produced by SpamAssassin version 2.60.
If a virus is found, action_notify_sender is disabled.

Major changes from 2.36 to 2.37:

Pure bug-fix release: A file descriptor leak was fixed, and we set the
close-on-exec flag on most file descriptors.

Major changes from 2.35 to 2.36:

Scalability enhancements for very busy servers.
Support for BitDefender's "bdc" virus scanner.
Other minor bug fixes.
2004-03-07 11:18:33 +00:00
markd
6b3388898c Delete DEINSTALL line that was accidentally added.
Should fix PR pkg/22663
2003-09-02 12:39:12 +00:00
jlam
b2677a2cb0 Add definitions for DEINSTALL_EXTRA_TMPL and INSTALL_EXTRA_TMPL if
USE_PKGINSTALL is "YES".  bsd.pkg.install.mk will no longer automatically
pick up a INSTALL/DEINSTALL script in the package directory and assume that
you want it for the corresponding *_EXTRA_TMPL variable.
2003-08-30 22:51:11 +00:00
jlam
2920a32c71 Prepare for pkgviews by making sure that passing VIEW-INSTALL or
VIEW-DEINSTALL to the INSTALL/DEINSTALL scripts don't cause errors.
2003-08-30 20:22:49 +00:00
grant
0155927c43 s/netbsd.org/NetBSD.org/ 2003-07-17 21:41:05 +00:00
markd
6e5dfb8ade tar file changed without a version bump: slight change to default
mimedefang-filter.
2003-07-10 11:29:06 +00:00
markd
6d132ba746 Update MIMEDefang to 2.35.
Major changes from 2.33 to 2.34:

* The multiplexor can queue requests, which might help throughput on a very busy
  server.
* filter_{relay,sender,recipient} can return "DISCARD" to discard mail.
* Added new filter_unknown_cmd hook so filters can extend the MIMEDefang protocol.
* More fixes to the SpamAssassin interface.
* RAV AntiVirus is no longer supported.
* Non-multiplexor mode is no longer supported.
* Many other minor enhancements and bug fixes.

Major Changes from 2.34 to 2.35

* Bug Fixes
2003-07-03 11:16:26 +00:00
wiz
7166660e08 Dependency bumps, needed because of devel/pth's major bump, and related
dependency bumps.
2003-05-02 11:53:34 +00:00
markd
ccd5332f77 Update mimedefang to version 2.33
Major changes from 2.32 to 2.33:

The syslog facility can be changed easily.
MIMEDefang deletes all but the first of multiple Content-Type: headers.
MIMEDefang adds a Received: header when resending messages.

Major changes from 2.31 to 2.32:

Support for Central Command's Vexira virus-scanner.
Support for Sendmail's rcpt_mailer, rcpt_host and rcpt_addr macros.
Other minor bug fixes

Major changes from 2.30 to 2.31:

support for FPROTD scanner.
support for Symantec CarrierScan Server virus scanner.
Added remove_redundant_html_parts() to delete HTML parts if a
corresponding text/plain part is present in the message.
Speed ups
2003-04-28 12:47:11 +00:00
markd
3d646d6059 Update to version 2.30.
Changes:
        * mimedefang-multiplexor.c: On systems that support wait3 and fill
        in the usage structure, we log the slave's system and user CPU
        usage when it exits.  The autoconf test is not too reliable on
        Solaris; sorry...

        * Create the temporary spool directory before calling filter_relay;
        store it in $CWD for filter_relay, filter_sender, filter_recipient,
        and the other filter functions, so we can pass state around.

        * Officially deprecated non-use of the multiplexor.  I plan
        on dropping support for non-multiplexor operation by 31 July 2003.

        * mimedefang.c: Added -M option to protect work directory
        creation with a mutex.

        * mimedefang.pl.in: resend_message returns a meaningful value
        (true on success; false on failure.)

        * mimedefang.c (envfrom): Fix potential descriptor leak.  Problem
        noted by Nik Clayton.

        * mimedefang.c (envfrom): Fixed some incorrect syslog messages.
        Problem noted by Nik Clayton.

        * mimedefang-multiplexor.c: Add handling for filter_cleanup, that
        lets you run Perl code just before a slave is killed.  Based on
        a suggestion by Brian Landers.

       * Version 2.29 RELEASED

        * mimedefang.pl.in (send_mail): Redirect sendmail's STDOUT to
        STDERR; otherwise, complaints from Sendmail can mess up the
        communication between the multiplexor and the slaves.

       * mimedefang.pl.in: Add support for Trophie scanning library.
        (Jason Englander)

        * Version 2.28 RELEASED

        * mimedefang.pl.in (spam_assassin_mail): Synthesize "Return-Path:"
        and "Received:" headers for SpamAssassin (Nels Lindquist).

       * mimedefang-multiplexor.c (MAX_CMD_LEN): Increased MAX_CMD_LEN
        to 4096 from 512.

        * mimedefang.pl.in (recipient_ok): Set global variables in
        filter_relay, filter_sender and filter_recipient based on the
        information available so far in the SMTP transaction. (Anne Bennet)

        * Version 2.26 RELEASED

        * Quarantine notifications no longer sent unless you explicitly
        ask for them.

                      *** INCOMPATIBILITY ***

        * mimedefang.pl.in (md_check_against_smtp_server): Added
        md_check_against_smtp_server to check recipient addresses
        before accepting them.

       * Version 2.25 RELEASED

        * mimedefang.pl.in: Added $RealRelayAddr and $RealRelayHostname
        which give the actual relay host, ignoring the IP address
        validation header.  (Used by CanIt.)

        *mimedefang.pl.in: Remove append_boilerplate

           *** INCOMPATIBILITY ***

           The append_boilerplate function is gone.  It never really
           worked properly.  Instead, use append_text_boilerplate and
           append_html_boilerplate.

        * mimedefang.pl.in (message_contains_virus_clamd): Let clamd
        recurse through work directory.  Make sure you run Clam AntiVirus
        version 0.52 or higher! (Jason Englander)

        * watch-mimedefang: Now generated at configure time from
        watch-mimedefang.in.  Let's us specify @SPOOLDIR@
        (Jason Englander)
2003-03-11 14:12:49 +00:00
jlam
d7f69e47ce Instead of including bsd.pkg.install.mk directly in a package Makefile,
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES".  This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile.  Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
2003-01-28 22:03:00 +00:00
markd
acf1329bd4 Update mimedefang to version 2.24
Changes in 2.24:
This release includes "watch-mimedefang", a graphical monitoring tool [not enabled].
It does stricter checks on functions which only make sense in the context of a
message. Global variables are cleared between messages so that extraneous values
don't stick around. There are important fixes for Solaris and possibly other
non-Linux machines.

Changes in 2.23:
A bug which could crash mimedefang-multiplexor under conditions of extreme load
has been fixed. An attacker with sufficient bandwidth may be able to exploit the
bug to mount a denial-of-service attack.

Changes in 2.22:
Support has been added for clamd, the daemonized version of Clam AntiVirus. A new
variable $MaxMIMEParts lets you reject overly complex MIME messages which could
otherwise result in a DoS. A new action_delete_all_headers routine has been added
which deletes all instance of a given header. Many little bugs were fixed and
portability was improved.
2002-10-30 09:50:24 +00:00
wiz
479f0218bf Dewey-wildcard for p5-MIME-tools. 2002-09-26 02:03:40 +00:00
markd
5be76ed084 Initial import of mimedefang-2.21
MIMEDefang is an e-mail filter program which works with Sendmail 8.12
and later.  MIMEDefang filters all e-mail messages sent via SMTP.
MIMEDefang splits multi-part MIME messages into their components and
potentially deletes or modifies the various parts.  It then
reassembles the parts back into an e-mail message and sends it on its
way.

MIMEDefang is written (mostly) in Perl, and the filter actions are
expressed in Perl.  This makes MIMEDefang highly flexible and
configurable.  As a simple example, you can delete all *.exe and *.com
files, convert all Word documents to HTML, and allow other attachments
through.

MIMEDefang uses the "milter" feature of Sendmail to "listen in" to
SMTP connections.  It runs a scan once for each message, not once for
each recipient (as simpler procmail-based systems do.)  Therefore, it
is more CPU-friendly than procmail-based systems.  In addition,
because MIMEDefang can participate in the SMTP connection, you can
bounce messages (something impossible to do with procmail-based
systems.)
2002-09-23 13:08:52 +00:00