Skip to content

Commit

Permalink
Changes for 20201010.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
jetmore committed Oct 10, 2020
1 parent 3b6df51 commit d33cbd1
Show file tree
Hide file tree
Showing 19 changed files with 2,158 additions and 2,635 deletions.
7 changes: 6 additions & 1 deletion App-swaks/Changes
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
Revision history for Perl extension App::swaks.

20201010.0 Sat Oct 10 17:15:00 2020
- tracking Swaks release 20201010.0. See
http://jetmore.org/john/code/swaks/versions.html
for full details.

20190914.0 Tue Oct 6 17:35:31 2020
- tracking Swaks release 20190914.0. See
- tracking Swaks release 20190914.0. See
http://jetmore.org/john/code/swaks/versions.html
for full details.

2 changes: 1 addition & 1 deletion App-swaks/Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use ExtUtils::MakeMaker;
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'App::swaks',
VERSION => '20190914.0',
VERSION => '20201010.0',
ABSTRACT => 'Swiss Army Knife for SMTP testing',
AUTHOR => 'John Jetmore <[email protected]>',
LICENSE => 'gpl',
Expand Down
4 changes: 2 additions & 2 deletions App-swaks/README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
App-swaks version 20190914.0
App-swaks version 20201010.0
======================

App::swaks is a perl package which distributes the Swaks SMTP test
Expand All @@ -25,7 +25,7 @@ However, additional modules may be required for enhanced
functionality. Run `swaks --support` to see what additional
modules may be desired.

COPYRIGHT AND LICENCE
COPYRIGHT AND LICENSE

Copyright (c) 2003-2008,2010-2020 John Jetmore <[email protected]>

Expand Down
3 changes: 2 additions & 1 deletion Changes
Original file line number Diff line number Diff line change
Expand Up @@ -919,4 +919,5 @@
* 20201004 Add '@' in attach examples to prevent deprecation warnings
* 20201004 Convert installation.pod to installation.html, link to it from
index.html and README.md, and flesh it out. (#7)
* 20201010 Package and release App::swaks-20190914.0 for cpan distribution
* 20201010 Package App::swaks-20190914.0 for CPAN distribution (#23)
> 20201010 released 20201010.0
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The official project page is <https://jetmore.org/john/code/swaks/>.

## Download

The latest version of Swaks is **20190914.0** ([announcement][release_announce]), which can be downloaded as a [package][release_package] or a [standalone script][release_script].
The latest version of Swaks is **20201010.0** ([announcement][release_announce]), which can be downloaded as a [package][release_package] or a [standalone script][release_script].

See the [installation page][installation_page] for details on installing in multiple environments.

Expand Down Expand Up @@ -52,7 +52,7 @@ Feedback and meaningful questions about how to use Swaks are welcome. However, s
[issues]: https://github.com/jetmore/swaks/issues
[blog]: https://www.jetmore.org/john/blog/c/swaks/
[blog_rss]: https://www.jetmore.org/john/blog/c/swaks/feed/
[release_announce]: https://www.jetmore.org/john/blog/2019/09/swaks-release-20190914-0-available/
[release_package]: https://jetmore.org/john/code/swaks/files/swaks-20190914.0.tar.gz
[release_script]: https://jetmore.org/john/code/swaks/files/swaks-20190914.0/swaks
[rendered_doc]: https://github.com/jetmore/swaks/blob/v20190914.0/doc/base.pod
[release_announce]: https://www.jetmore.org/john/blog/2020/10/swaks-release-20201010-0-available/
[release_package]: https://jetmore.org/john/code/swaks/files/swaks-20201010.0.tar.gz
[release_script]: https://jetmore.org/john/code/swaks/files/swaks-20201010.0/swaks
[rendered_doc]: https://github.com/jetmore/swaks/blob/v20201010.0/doc/base.pod
61 changes: 30 additions & 31 deletions RELEASE/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ missing functionality, and how to get that functionality. Example output:

=== AUTH CRAM-MD5 supported
=== AUTH CRAM-SHA1 supported
*** AUTH DIGEST-MD5 not available: requires Authen::SASL
=== AUTH DIGEST-MD5 supported
*** AUTH NTLM not available: requires Authen::NTLM
=== Basic AUTH supported
=== Date Manipulation supported
=== High Resolution Timing supported
=== IPv6 supported
=== Local Hostname Detection supported
=== MX Routing supported
=== Netrc Credentials supported
=== Pipe Transport supported
=== Socket Transport supported
=== TLS supported
Expand All @@ -32,10 +34,12 @@ Check the following files
README.txt
This file. Contains install notes, references to other
files, and major changes for this release
doc/Changes.txt
All changes to Swaks
doc/ref.txt
The text version of the --help output
doc/Changes.txt
All changes to Swaks
doc/installation.txt
Notes on installing Swaks
doc/recipes.txt
Hints, tips, tricks that don't fit in the reference

Expand Down Expand Up @@ -86,34 +90,29 @@ A full copy of this license should be available in the LICENSE.txt file.
------------------------------
Change Summary
------------------------------
v20190914.0
v20201010
New Features:
* Source is now available on github.com/jetmore/swaks
* Added --body-attach option to allow more granularity in setting body
information
* Added 'data' and 'dot' as valid --drop-after-send and
--drop-after arguments
* Added %NEWLINE% as a new --data token
* Added .netrc support
* Added --tls-sni option
* Swaks is now available on CPAN as App::swaks
* Swaks will now print errors if deprecated functionality is used
Notable Changes:
* Options provided via environment variable are now sorted before
processing to provide a deterministic processing order
* Option bundling is no longer enabled. This fixes several option
processing oddities, like "-foobar" being interpreted as
"-f oobar"
* If the arg to --data looks like a file but is not openable, error
and exit instead of using it the file name as the raw data value
* Remove interactive prompts for --helo and --from when hostname cannot
be determined internally, just error and exit instead. If the user
was not expecting an interactive experience, don't start one
* Remove re-prompting for port when an invalid service name was supplied,
just error and exit instead. If the user was not expecting an
interactive experience, don't start one
* Automatic file detection is deprecated. Previously, if an argument to
--data, --body, --attach-body, and --attach resolved to an openable file,
the contents of that file would be used as the actual argument. Now the
proper way to do this is to place '@' in front of the argument to
state explicitly that the argument contents are in a file.
* If any of the --xclient-* family of options (--xclient-name,
--xclient-addr, etc) is provided more than once, only the last option
provided will be used. See --xclient option if you need to simulate
the previous behavior
* -g option is now deprecated
* Time::Local is no longer used and POSIX is now listed as a required
module
Notable Bugs Fixed:
* Handle malformed headers more gracefully in header replacement
* Fix bug causing the processing of options prefixed with the negating
"no-" to work unreliably
* --version and --help should work even if they aren't the very
first option
* -S is now a distinct option from -s, as documented
* Fix bug preventing the --option=arg option format from being
unusable with --header and --attach* options
* Fix for subtle issue related to environment variable options. Affected
error handling for options which required args.
* Fix issue preventing XCLIENT and STARTTLS from working together
properly (#21)
* Fix issue which could cause generated date header to oscillate on
the day of DST transition (#17, deb bug 955798)
107 changes: 88 additions & 19 deletions RELEASE/doc/Changes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,71 @@
> 20201010 released 20201010.0
* 20201010 Package App::swaks-20190914.0 for CPAN distribution (#23)
* 20201004 Convert installation.pod to installation.html, link to it from
index.html and README.md, and flesh it out. (#7)
* 20201004 Add '@' in attach examples to prevent deprecation warnings
* 20201004 Fix wording and example around html body on faq.html (#14)
* 20201004 Update README.md to reflect changes from
234db829dc6e6d45fe4da5f2bef075828ebc0ac7 (#22). Move to reference-
style markdown links to make it easier to identify links that
need to be changed for a release.
* 20200801 Fix bug which broke XCLIENT and STARTTLS used together (#21)
* 20200801 Update copyright year to 2020
* 20200425 Fix strange issue where GMT offset could oscillate on days of DST
transition. Time::Local is no longer used and POSIX is now
required (#17, deb bug 955798)
* 20200118 Docs: misc web page changes. tweak pre font size to prevent
scrolling, remove stray quotes, remove the news section from index
add announcement to versions, link to both plaintext and
rendered docs, etc
* 20191221 Docs: merge OpossumPetya's web page changes, use better web
practices and make mobile friendly
* 20191220 Docs: Fix incorrect example used in --attach-body definition.
* 20191122 Docs: Establish project standards for POD formatting and
make first pass at applying.
* 20191113 Docs: General typo and consistency fixes.
* 20191113 Docs: Define option types and assign to every option.
* 20191112 Docs: Be consistent in how <> and [] are used in argument docs.
* 20191111 Docs: Reorganize Terms and Conventions, add Option/Arg/[]/<>.
* 20191111 Document that --timeout argument can use 'h' as a modifier.
* 20191111 Unexpected argument format for --timeout now errors and exits
instead of silently using default timeout.
* 20191111 Rework the command line reconstruction so that options that
don't take an argument do not include one in the reconstruction.
* 20191111 Check to see if there are any entries left in the option list
after each stage of option processing and error if so.
* 20191111 Switch Getopt to process an arbitrary list instead of manipulating
ARGV for each call.
* 20191028 Add deprecation warning system. Warnings in code and a table
of deprecated functionality and removal dates in documentation.
* 20191028 Fix bug setting filename in attachments when '@' prefix used
* 20191027 Do service name resolution on --local-port if non-numeric
* 20191026 Update --data, --body, --attach-body, and --attach so that a
leading '@' forces the argument to be a filename. Deprecate
previous "if it happens to be an openable file" behavior
* 20191026 Deprecate -g option. Change current implementation so it is
rewritten to `--data -` before option processing. Any occurrence
of `--data` will cause -g to be discarded. "no-" prefix will not
negate.
* 20191023 Ensure "main" choice defined first in each option's list of
aliases because the first item is used for errors.
* 20191022 The "no-" option negating now works much better (previously was
hit-or-miss on special option families like --attach*, --xclient*,
and --header*).
* 20191021 The --xclient-name, -addr, etc options can now only be provided
once per call. Multiple uses of one of these options will result
in only the last one being used. Previously these options could
be set multiple times to send the same xclient attribute multiple
times. If that's needed, see the --xclient option.
* 20191019 Reimplementation of option processing fixed lots of missed edge
cases, especially options which were documented to require an
argument but didn't error if none was provided (--add-header,
--header, --attach, --attach-type, --attach-body, possibly others)
* 20191012 Fix bug which treated `SWAKS_OPT_foo=` as `--foo ''` instead of
`--foo`. This affected error handling for options which
required args.
* 20191012 Added --tls-sni option (lightsey)
* 20191009 Added .netrc support (fany)
* 20191008 Added skeleton of installation doc (missingcharacter)
> 20191006 released 20190914.0
* 20191005 Fixed typos in base.pod and recipes.pod
* 20190817 Remove re-prompting for port when an invalid service name was
Expand Down Expand Up @@ -177,7 +245,7 @@
* 20120805 Fixed bug causing swaks to "double-quit" when a rejected MAIL of
RCPT was sent _AND_ a --quit MAIL or --quit RCPT was used _AND_
--pipeline as used.
* 20120805 Fixed bug in TLS and pipe recv code when server has closed
* 20120805 Fixed bug in TLS and pipe receive code when server has closed
connection but swaks is expecting data to be present
* 20120803 Implemented new --no-send-hints, --no-receive-hints, and
--no-info-hints options (mostly so I could can copy certs from
Expand All @@ -193,8 +261,8 @@
* 20120624 Added --tls-ca-path option to specify alternate certs for use in
verification
* 20120624 If TLS is attempted but failed, just exit, don't attempt to
send quit because we don't know what state the cxn is in. This
will likely cause problems with tls-optional connections,
send quit because we don't know what state the connection is in.
This will likely cause problems with tls-optional connections,
documenting the concern there.
* 20120601 Added --tls-verify option
* 20120531 Added --tls-cipher option to set preferred ciphers list
Expand All @@ -213,8 +281,8 @@
existing errors (spurred by Debian bug 675009, though the
specific issue in that bug was fixed by commit 311).
* 20120410 typo fixes and clarifications for XCLIENT docs
* 20120407 fix bug w/ xclient impl, using just --xclient didn't cause
XCLIENT to be sent
* 20120407 fix bug with xclient implementation, using just --xclient didn't
cause XCLIENT to be sent
> 20120405 released 20120405.0-dev to Kevin San Diego and Kurt Anderson
(submitters of independent XCLIENT patches) for comment
* 20120404 added xtext encoding for the xclient options
Expand Down Expand Up @@ -312,7 +380,7 @@
* 20111202 implemented the -raw/--show-raw-text option to print a hex dump
of the raw bytes as received on the wire.
* 20111202 re-implemented reading of server responses in non-TLS, non-pipe
sessions in terms of recv rather than as a standard filehandle
sessions in terms of receive rather than as a standard filehandle
operation (<>) to make it closer to the TLS's read and to allow
a more in-depth view of what's being sent on the wire.
* 20111201 fixed TLS issue when SMTP response sent in multiple packets.
Expand All @@ -330,8 +398,8 @@
* 20111128 Fix option processing so that "no-" prefixed options wipe out
the same option when presented in the same context. Previously
--no-timeout on command line would erase a timeout set by a
config option or env variable, but would not erase --timeout
given earlier on the same command line.
config option or environment variable, but would not erase
--timeout given earlier on the same command line.
* 20111128 Removed the additive nature of the --silent/-S option. Left
a mention of it in doc as breadcrumb. Remove all mention in next
release
Expand Down Expand Up @@ -399,7 +467,7 @@
use the contents of the file as the DATA
* 20080104 fixed very obscure bug which caused crash if _no_ option
processing was done (introduced sometime during the
introduction of env/conf file opts I think)
introduction of environment/config file options I think)
* 20080104 fixed --no- processing to not break processing of valid
options which already begin with "no-"
* 20080103 implemented recognition of "no-" prefix to erase previously
Expand All @@ -417,7 +485,7 @@
CONNECT behavior that closes the connection without
sending quit immediately after opening it. Made -q TLS
work after tls-on-connect.
* 20071220 changed the env var namespace from SWAKS_ARG_ to
* 20071220 changed the environment variable namespace from SWAKS_ARG_ to
SWAKS_OPT_. fixed to replace _ w/ - in var names.
* 20071220 in config, changed flags from ARGS to OPTIONS.
changed option/arg split to be a single space - leading
Expand All @@ -440,7 +508,8 @@
* 20070921 rearranged dependency processing for code readability
> 20070920 released 20070920.0-dev to haraldme.gmail.com
* 20070920 implemented --tls-option-strict
* 20070914 finished --auth-optional-strict impl incl test frame
* 20070914 finished --auth-optional-strict implementation, including
test frame
* 20070906 added framework for --auth-optional-strict, needs tweaking
and docs still
* 20070119 DIGEST-MD5 was broken. Fixed. (Broke when --pipeline
Expand Down Expand Up @@ -495,7 +564,7 @@
overwrites it. Otherwise adds to --add-header processing.
* 20060817 redid --support/avail() again to support concept of
optional (optimizing) modules for full disclosure in output
* 20060804 redid the REQ docs to reflect current requirements
* 20060804 redid the requirements docs to reflect current requirements
and behaviors.
* 20060804 fixed get_date_string() to return a true GMT string, not
the local time w/ a GMT stamp if date_manip unavailable
Expand All @@ -519,7 +588,7 @@
implementations change. added avail() and avail_err(),
test_support(), removed load_modules(), try_load(). Also
some speed gains because program now only loads modules
needed for specific invocation - previously preloaded
needed for specific invocation - previously pre-loaded
every available module, regardless of need.
* 20060803 added and tested load(), but haven't hooked in yet
(part of requirement rewrite)
Expand Down Expand Up @@ -556,7 +625,7 @@
* 20060221 20060130 if quitting before rcpt and link type is --socket
or --pipe, do not prompt for recipient.
* 20060221 misc code tidying
* 20060221 with io handling on broken connections working better,
* 20060221 with IO handling on broken connections working better,
remove the CHLD and PIPE signal handlers so --pipe behaves
more like sockets
* 20060221 20051102 despite some error messages to the contrary,
Expand All @@ -570,7 +639,7 @@
stderr not to be handled by swaks - user can redirect
as desired. Fixed bug noted by jh.plonk.de
* 20060201 20050810 fixed stupid inefficiency where both do_smtp_rcpt()
and caller of do_smtp_rcpt() are handling comma-delim
and caller of do_smtp_rcpt() are handling comma-delimited
recipient list.
* 20060201 added --force-getpwuid option to force old method of
looking up $< to generate sender local part
Expand Down Expand Up @@ -733,7 +802,7 @@
* 20031016 typo - changed --supress-data to --suppress-data
* 20031014 added longer alternatives to most options (that is, -ao
can also be specified as --auth-optional
* 20031014 changed timeout CLA from -to to -timeout to avoid confusion
* 20031014 changed timeout option from -to to -timeout to avoid confusion
* 20031010 added framework for release (--help, --version), initial
population of help framework
* 20031010 fix dots once and for all - honor a trailing dot if it
Expand Down Expand Up @@ -770,14 +839,14 @@
char options, but insensitive long opts. It also turns
off single-char option bundling, but I don't see this
as an issue
* 20031008 changed so you can specify in time format (hms). This
* 20031008 changed so you can specify in time format (h,m,s). This
allows you to use 0s to mean no timeout
* 20031008 allow TIMEOUT to be specified in -l file
* 20031008 fixed bug where alarm was not reset after
* 20031008 add -to option to allow timeout to be specified in seconds
on command line. (defaults to 30s)
* 20030826 allow mult recips in form to,to,to (if server is undef,
uses DNS for domain of last recip in list)
* 20030826 allow multiple recipients in form to,to,to (if server is undef,
uses DNS for domain of last recipient in list)
* 20030424 allow null sender (-f NULLNULL)
* 20030415 added basic TLS support w/ Net::SSLeay
* 20030414 laid groundwork for adding TLS (option processing)
Expand Down
Loading

0 comments on commit d33cbd1

Please sign in to comment.