Commit Graph

755 Commits

Author SHA1 Message Date
Jared Johnson
e21951629f Merge pull request #184 from flimzy/p0f-warnings
Silence some warnings when $p0f->{genre} is undefined
2014-12-31 11:27:09 -06:00
Jonathan Hall
bea2c4c379 Silence some warnings when $p0f->{genre} is undefined 2014-12-31 18:20:30 +01:00
Jonathan Hall
8bc0626c65 Fix error checking for socket connections
- IO::Socket::UNIX->new should never die, therefore...
- $@ is always undef when the eval exits, so...
- use $! instead
2014-12-31 18:09:48 +01:00
Matt Simerson
993bd4e7df spf: switch header appending hook
This doesn't really change anything, because the SPF plugin generally is listed in config/plugins before the `data_post` plugins that do content evaluation. This merely assures that regardless of the ordering of plugins in config/plugins, the SPF results header will be present.
2014-12-30 14:20:42 -08:00
Matt Simerson
a515e2b17c Merge pull request #171 from priyadi/authresultfix
Authentication-Results header fix on data_post
2014-12-30 13:58:21 -08:00
Matt Simerson
ad30627e96 Revert "Improve error handling in p0f plugin" 2014-12-30 12:31:11 -08:00
Jonathan Hall
5ff0bfb27f Improve error messages
- Add "p0f" to error output to aide in debugging
- Remove some no-ops which called only '... if $@', in a context
  where $@ would never be set, or never be meaningful.
2014-12-30 06:29:06 -06:00
Jonathan Hall
86a1b312dc Fix error checking for socket connections
- IO::Socket::UNIX->new should never die, therefore...
- $@ is always undef when the eval exits, so...
- use $! instead
2014-12-30 06:23:33 -06:00
Jared Johnson
eb0ff1fe98 Get rid of grey_timeout and 'white' clients
These are noops:  clients that retry before grey_timeout is exceeded and
clients that retry after grey_timeout is exceeded all pass greylisting until
expired by white_timeout.
2014-12-28 21:27:03 -06:00
Jared Johnson
c01cdffb08 Add testing for greylist() 2014-12-28 21:26:49 -06:00
Priyadi Iman Nurcahyo
cae43900ca Move dkim, domainkeys and dmarc plugins into data_post_headers phase 2014-12-24 02:50:50 +00:00
Priyadi Iman Nurcahyo
bd2f30bdad Keep data_post hook, and add data_post_headers 2014-12-24 02:40:07 +00:00
Priyadi Iman Nurcahyo
f8c49b6067 Authentication-Results header fix on data_post 2014-12-23 18:53:13 +00:00
Jared Johnson
16126bd941 Less 'and' 2014-12-22 17:00:29 -06:00
Jared Johnson
bf8dc171a3 Don't disable greylist in absence of p0f argument 2014-12-22 16:09:41 -06:00
Jared Johnson
ea937f89dc Warn about lack of ASN data when GeoIP2 is loaded 2014-12-18 13:30:26 -06:00
Jared Johnson
8de22de762 Try to load geoip1 before geoip2 2014-12-18 13:27:35 -06:00
Jared Johnson
9f93087675 Remove modifier from POD 2014-12-11 16:57:22 -06:00
Jared Johnson
dad4fb1d29 Remove unnecessary // from check_genre() 2014-12-11 16:49:49 -06:00
Jared Johnson
1e2c0a6f78 Fix missing assignment in ident/p0f rcpt_handler() 2014-12-11 16:29:26 -06:00
Jared Johnson
52c46cfec3 Fixes for ident/p0f register_genre_blocking
- Make regexes case-insensitive (I don't want to mess with modifiers)
- Don't compile non-regexes as regexes
2014-12-11 16:07:32 -06:00
Jared Johnson
45da377897 Fix variable name in ident/p0f that caused a crash 2014-12-11 15:12:17 -06:00
Jared Johnson
cb2f0ca104 Block clients with OS matching phrases and regexes
Not yet tested
2014-12-11 14:35:54 -06:00
Jared Johnson
bf1d6baf49 Modularize registering optional p0f hooks 2014-12-11 13:48:27 -06:00
Jared Johnson
4de1d388b9 Silence a warning in plugins/greylisting 2014-12-05 11:31:59 -06:00
Jared Johnson
b8e5e0a1b9 Make content log file configurable 2014-12-03 15:50:45 -06:00
Jared Johnson
6820a1f5fa Add POD for content_log plugin 2014-12-03 10:01:31 -06:00
Jared Johnson
64c7519d7c content_log_enabled: Accept multiple 'true' values 2014-12-03 09:57:27 -06:00
Jared Johnson
c77a3344d7 Rename enable_content_log to content_log_enabled 2014-12-03 08:57:05 -06:00
Jared Johnson
e95f1e294e Add method to exclude messages from content log 2014-12-02 17:13:00 -06:00
Jared Johnson
edc8f7600d Test content_log enable/disable logic 2014-12-02 17:08:07 -06:00
Jared Johnson
deb0fbba69 Fix broken semicolon 2014-12-02 16:54:03 -06:00
Jared Johnson
59ae9643e0 Add config to enable content log, on by default 2014-12-02 16:51:51 -06:00
Jared Johnson
50badecc48 Split out content log file name logic 2014-12-02 16:28:51 -06:00
Jared Johnson
893f45e333 Move karma_tool to Qpsmtpd::DB
Tested manually with karma_tool which has no test coverage
2014-11-27 22:24:08 -06:00
Jared Johnson
57c07b17b1 Remove unnecessary variable 2014-11-27 22:03:34 -06:00
Jared Johnson
fafeaf40a0 Init Qpsmtpd::DB in karma plugin
And remove old DBM subs
2014-11-27 21:49:07 -06:00
Jared Johnson
ef26c61b6d Use Qpsmtpd::DB in karma plugin
And clean up a few things in Qpsmtpd::DB
2014-11-26 16:28:52 -06:00
Jared Johnson
72c9c79f31 Move the rest of DBM operations to Qpsmtpd::DB 2014-11-26 16:06:24 -06:00
Jared Johnson
1d29db66ff Move some DBM functions to Qpsmptd::DB::File::DBM
Not everything is moved and Qpsmtpd::DB* does not yet have test coverage
2014-11-25 17:52:18 -06:00
Jared Johnson
a0c8baae8d Add POD section pointing to per-recip db support 2014-11-25 10:42:47 -06:00
Jared Johnson
0c1498d44d Drop documentation too 2014-11-24 18:48:40 -06:00
Jared Johnson
20cbbad9e8 Drop support for per-recipient greylist dbm files
This does not drop support for including the recipient in the greylist key.

Note that this was already broken for an indeterminate (long) amount of time
2014-11-24 18:18:21 -06:00
Jared Johnson
5fe9d80f9b Clarify DBM-specific functions
This changes function names only
2014-11-24 17:09:42 -06:00
Jared Johnson
57985252dc Add some POD 2014-11-21 16:54:27 -06:00
Jared Johnson
30dd9cafeb Add some p0f results to message headers 2014-11-21 16:51:19 -06:00
Jared Johnson
ffefb6b1ec Fix GeoIP add_headers() return code 2014-11-17 14:24:17 -06:00
Matt Simerson
fd11777892 Merge pull request #144 from grtodd/master
Add auth_imap plugin.
2014-11-15 12:08:25 -08:00
Matt Simerson
9966c34fd8 Merge pull request #149 from msimerson/fortune
fortune: fix bin detection
2014-11-14 13:22:45 -08:00
Jared Johnson
cf09a662ad New convention for calling Qpsmtpd::Base stuff
I think
2014-11-13 16:29:52 -06:00
Jared Johnson
a3ae6c51f4 Shorter lines and more explicit default 2014-11-13 14:55:17 -06:00
Jared Johnson
0975b22582 Get rid of a warning 2014-11-13 14:19:34 -06:00
Jared Johnson
575dc73cdf Use 'command line' instead of config() call
It's awful, but consistent
2014-11-13 13:40:04 -06:00
Jared Johnson
943b1fcaf3 Remove country_name header which is redundant 2014-11-13 11:13:15 -06:00
Jared Johnson
0f0495f09e Explicit return 2014-11-13 11:13:15 -06:00
Jared Johnson
cf0d87610c Make GeoIP headers optional 2014-11-13 11:13:15 -06:00
Jared Johnson
d22396c298 Add headers with GeoIP data 2014-11-13 11:13:15 -06:00
Jared Johnson
da3ed5ebbf Fix missing $self 2014-11-13 11:13:15 -06:00
Jared Johnson
462e974d1e leave register() if neither geoip module loads 2014-11-13 11:13:15 -06:00
Matt Simerson
26a77511b0 fortune: fix bin detection 2014-11-12 22:58:06 -08:00
Jared Johnson
3ffee33d33 Remove extraneous semicolons
They confuse my editor
2014-11-11 16:59:40 -06:00
Matt Simerson
03e7ef722c geoip: skip lookups for localhost 2014-11-11 01:49:46 -05:00
Matt Simerson
3acc6dd3d9 updated MANIFEST with new bin/ file 2014-11-10 16:29:59 -08:00
Matt Simerson
4acf8602bd update docs with geoip_asn note addition 2014-11-10 13:32:28 -08:00
Jared Johnson
2655e7b452 Add tests for exclude files 2014-11-06 17:02:27 -06:00
Jared Johnson
7fb80f35ab Fix some broken variable names 2014-11-06 16:23:29 -06:00
Jared Johnson
81b55eb1ac Support postgrey-style greylist exclusion files
Not yet tested
2014-11-06 16:21:10 -06:00
Graham Todd
fc50cc2629 Update pull request with suggested changes from feedback. 2014-11-06 15:37:40 -05:00
Matt Simerson
38d5523b35 Base: consistent DNS handling 2014-11-06 11:15:18 -08:00
Graham Todd
ceb7419578 Add auth_imap plugin. 2014-11-06 13:00:52 -05:00
Matt Simerson
954fa45f2d added call to ->set_asn 2014-11-05 14:30:23 -08:00
Matt Simerson
54abd60239 strip off AS prefix 2014-11-05 14:30:23 -08:00
Matt Simerson
f2eda74074 ASN lookups now work 2014-11-05 14:30:22 -08:00
Matt Simerson
4eba2a39bc remove unused var 2014-11-05 14:30:22 -08:00
Matt Simerson
c61dbb5734 added GeoIP2 support, partial ASN support 2014-11-05 14:30:22 -08:00
Matt Simerson
9862cdc042 geoip: simplify the get/set data bits 2014-11-05 14:30:22 -08:00
Jared Johnson
289c5b2ca6 Add RFC link 2014-11-03 16:14:51 -06:00
Jared Johnson
e9400cc085 Add missing $self and explicit return 2014-10-28 14:37:56 -05:00
Jared Johnson
179d6427fc Consolidate greylist exclusions into exclude()
This makes for an easily overridden method for excluding hosts from greylisting with custom rules
2014-10-27 17:24:06 -05:00
Matt Simerson
4c314eb642 patch from Carlos Canau <Carlos@Canau.COM> 2014-10-02 15:25:57 -07:00
Matt Simerson
c3aa4c10d2 stunnel: cleanups 2014-09-17 23:00:31 -07:00
Matt Simerson
b289d38f53 more cleanups 2014-09-17 22:22:44 -07:00
Jonathan Hall
897a1fd8aa Remove a ton of 'return ()', and a few other minor readability tweaks. 2014-09-17 20:28:51 -05:00
Matt Simerson
1e82ae1bc7 async removed
1. the known users of async don't upgrade
2. async becomes a win when concurrent connections exceed a few hundred simultaneous
3. anyone that needs async should be looking at Haraka instead
4. the perl async dependencies aren't maintained
2014-09-17 11:38:40 -07:00
Matt Simerson
5155e5c32f POD fixups 2014-09-16 23:27:19 -07:00
Jonathan Hall
3d97773827 Reverse sense of is_not_multipart to is_multipart. 2014-09-16 13:57:15 -05:00
Jonathan Hall
ba3122bd82 Style cleanup
* no more 'return ()'
 * Explicit 'return 0'
2014-09-16 13:51:19 -05:00
Jonathan Hall
44cafde7d4 More complete clamdcscan tests
* construct our own Qpsmtpd::Transaction object for testing, so we're sure
   to have a pristine state
 * Move some logic into a should_scan() sub, to help separate scan_all from
   is_not_multipart (since the multipart state of a message has nothing to
   do with any configuration parameters)
2014-09-16 13:48:19 -05:00
Jonathan Hall
9faa1e1903 Fix clamdscan configuration handling
- Honor configured 'false' values
 - Treat 'scan_all' consistently with other options--permitting 0, 1, 'yes', or 'no' as values
2014-09-16 12:03:49 -05:00
Matt Simerson
ebdb25a4bd extracted config*() from Qpsmtpd.pm -> Config.pm
* includes full test converage for Qpsmtpd::Config
    * folded t/config.t into t/qpsmtpd-config.t
* includes additional tests for Qpsmtpd
    * folded t/tempstuff into t/qpsmtpd.t
* PBP adjustments here and there
* other tweaks to handle test warnings
2014-09-15 23:41:31 -07:00
Matt Simerson
710894cd49 moved Qpsmtpd::Utils -> Base.pm 2014-09-15 18:53:30 -07:00
Matt Simerson
851e1b54ee META updates, tidy, PBP tweaks
* update manifest
* perltidy
* replace postfix if/unless with brackets
* reduce useless indention by exiting sooner
2014-09-15 15:57:12 -07:00
Jared Johnson
4b7af20f49 Fix pattern substitution in user_config plugin 2014-09-15 17:06:47 -05:00
Jared Johnson
50cc469881 Add docs and flexible path to user_config plugin
I needed to make the path modifyable for testing anyway, might as well make it
actually usable.  Not yet tested.
2014-09-15 17:01:39 -05:00
Jared Johnson
8d032d8b50 Follow upstream convention in shebang
Our fork uses '#!/perl (Editor hint)' but upstream normally uses '#!perl'.  Conforming to upstream.

FWIW, the Kate editor recognizes the former as perl for the purpose of syntax highlighting but does not recognize the latter. But the one guy I know who uses Kate didn't take the opportunity to object :)
2014-09-15 16:53:09 -05:00
Jared Johnson
3379248c45 Add user_config example plugin
Add a plugin to read qpsmptd-style configuration files from users' home
directories.  Little to no testing yet.
2014-09-15 16:53:09 -05:00
Matt Simerson
0b38c21f40 auth_vpopmail_sql: wrap DB connect attempt in eval 2014-09-15 14:36:09 -07:00
Jonathan Hall
921139e0ca Update POD to reflect proper ->notes() calling convention. 2014-09-15 11:04:14 -05:00
Matt Simerson
b114e051c7 earlytalker: corrected POD note name 2014-09-13 17:08:12 -07:00
Matt Simerson
6cc5f78826 added POD for earlytalker_wait 2014-09-12 13:54:37 -07:00