on today's episode of things you didn't want to learn:
do_ssl3_write() is recursive. and not in the simple, obvious way, but in
the sneaky called through ssl3_dispatch_alert way. (alert level: fuchsia)
this then has a decent chance of releasing the buffer that we thought we
were going to use. check for this happening, and if the buffer has gone
missing, put another one back in place.
the direct recursive call is safe because it won't call ssl3_write_pending
which is the function that actually does do the writing and releasing.
as reported by David Ramos to openssl-dev:
http://marc.info/?l=openssl-dev&m=139809493725682&w=2
ok beck
Support for the -ssl2 option has been removed, so remove it from usage
as well ("openssl ciphers -h").

"sure" miod@
remove redundant asign. from David Hill
A fantastic way to make a large unsigned number is to assign
a small signed one to it.. Some people on OpenSSL's list
noticed - http://marc.info/?l=openssl-dev&m=139809485525663&w=2

This should fix that, and make sure we don't try to write out insane
amounts of stuff.
ok miod@ tedu@
fix copied text in error string

ok reyk@
The switch statement given/when was introduced in Perl 5.10 and got
experimental in Perl 5.18.  So we see warnings in the tests.
given is experimental at funcs.pl line 62.
when is experimental at funcs.pl line 63.
Just suppress this type of warnings for now.  If Perl will disable
smart match, the simple regression code still works.  If they will
choose to remove given/when, we can fix it later.
Discussed with and OK andre@ afresh1@
There is no longer a need for a paste_stack struct or for global_buffers
to be global. Move to paste.c.
Change the usbd_*_report() family of functions to take a usbd_device
and a infaceno argument instead of an iface pointer.  While here,
remove some unused functions and inlined usbd_read_report_desc since
it is used only once.

This is part of plumbing required to convert the various USB HID devices
to handle multiples report IDs.

ok andre@
ewps... repair qid assignment
Rip a bunch of ifdefs from speed. We know we can fork, have SIGALRM and
do not use lint.

ok miod@
Remove more FIPS tenticles.

ok beck@
KNF
When OPENSSL_C is not defined, apps_startup becomes a
signal(SIGPIPE, SIG_IGN) and apps_shutdown is a no-op. So just do that
instead.

ok beck@
unifdef -U LINT
More KNF, things that couldn't be verified with md5(1), and some whitespace
I missed on the first go around.
More KNF.
adjust some list widths;
no more asn1 or comm_err;
simpler description for -P, avoiding the need to discuss rsh;
You want signals?!? I'll give you signals!!! Oh, and we have termios as
well...

ok beck@