History log of /openbsd-current/lib/libcrypto/pkcs12/p12_npas.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.27 25-Jan-2024 tb

Plug a few leaks and perform some other code hygiene

Closing this directory now until the daily Coverity run throws a hissy fit.

ok jsing


# 1.26 25-Jan-2024 tb

p12_npas.c: hoist some helpers from the bottom to the top in reverse order


# 1.25 25-Jan-2024 tb

p12_npas.c: maclen -> mac_len


# 1.24 25-Jan-2024 tb

p12_npas.c: Use slightly less awkward variable names


# 1.23 25-Jan-2024 tb

Merge PKCS12_newpass() and newpass_p12()

With the previous refactoring, newpass_p12() became simple enough that it
doesn't require a separate function anymore. Merge the public API into it
and move it below (most of) the things it calls.

ok jsing


# 1.22 25-Jan-2024 tb

Rename pkcs12_repack_safe() into pkcs12_repack_authsafes()

discussed with jsing


# 1.21 25-Jan-2024 tb

Rework newpass_p12() a bit more

Split the bottom half that repacks the authsafes into a helper function.
This simplifies the curly exit path and makes it clearer what is being
done. PKCS12_pack_authsafes() is a very inconvenient API and there are
some extra dances needed due to it.

ok jsing


# 1.20 25-Jan-2024 tb

newpass_p12(): factor for loop body into helpers

Since newpass_bags() and sk_PKCS7_push() could be shared between two
otherwise entirely unrelated code paths, it was decided to dedup the
code in about the ugliest possible way. Untangle the spaghetti and
split the code paths into helper functions, so we can easily error
check and avoid a bunch of leaks.

ok jsing


# 1.19 25-Jan-2024 tb

Fix a memleak and a double free in newpass_p12()

If the allocation of newsafes fails, asafes is leaked. And if the
ASN1_OCTET_STRING_new() after the freeing of asafes fails, asafes is
freed a second time.

ok jsing


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.18 16-Feb-2023 tb

libressl *_namespace.h: adjust *_ALIAS() to require a semicolon

LCRYPTO_ALIAS() and LSSL_ALIAS() contained a trailing semicolon.
This does not conform to style(9), breaks editors and ctags and
(most importantly) my workflow. Fix this by neutering them with
asm("") so that -Wpedantic doesn't complain. There's precedent
in libc's namespace.h

fix suggested by & ok jsing


# 1.17 26-Nov-2022 tb

Make internal header file names consistent

Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include <ssl_locl.h> was fixed manually.

discussed with jsing,
no objection bcook


# 1.16 12-Nov-2022 beck

Hide symbols in libcrypto/pkcs12

ok jsing@


Revision tags: OPENBSD_7_2_BASE
# 1.15 20-Aug-2022 tb

Add an empty pkcs12_local.h and include it where it will soon be needed.


Revision tags: OPENBSD_7_1_BASE
# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.18 16-Feb-2023 tb

libressl *_namespace.h: adjust *_ALIAS() to require a semicolon

LCRYPTO_ALIAS() and LSSL_ALIAS() contained a trailing semicolon.
This does not conform to style(9), breaks editors and ctags and
(most importantly) my workflow. Fix this by neutering them with
asm("") so that -Wpedantic doesn't complain. There's precedent
in libc's namespace.h

fix suggested by & ok jsing


# 1.17 26-Nov-2022 tb

Make internal header file names consistent

Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include <ssl_locl.h> was fixed manually.

discussed with jsing,
no objection bcook


# 1.16 12-Nov-2022 beck

Hide symbols in libcrypto/pkcs12

ok jsing@


Revision tags: OPENBSD_7_2_BASE
# 1.15 20-Aug-2022 tb

Add an empty pkcs12_local.h and include it where it will soon be needed.


Revision tags: OPENBSD_7_1_BASE
# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.17 26-Nov-2022 tb

Make internal header file names consistent

Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include <ssl_locl.h> was fixed manually.

discussed with jsing,
no objection bcook


# 1.16 12-Nov-2022 beck

Hide symbols in libcrypto/pkcs12

ok jsing@


Revision tags: OPENBSD_7_2_BASE
# 1.15 20-Aug-2022 tb

Add an empty pkcs12_local.h and include it where it will soon be needed.


Revision tags: OPENBSD_7_1_BASE
# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.16 12-Nov-2022 beck

Hide symbols in libcrypto/pkcs12

ok jsing@


Revision tags: OPENBSD_7_2_BASE
# 1.15 20-Aug-2022 tb

Add an empty pkcs12_local.h and include it where it will soon be needed.


Revision tags: OPENBSD_7_1_BASE
# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.15 20-Aug-2022 tb

Add an empty pkcs12_local.h and include it where it will soon be needed.


Revision tags: OPENBSD_7_1_BASE
# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.14 01-Nov-2021 tb

Move the now internal X.509-related structs into x509_lcl.h.
Garbage collect the now unused LIBRESSL_CRYPTO_INTERNAL and
LIBRESSL_OPAQUE_X509. Include "x509_lcl.h" where needed and
fix a couple of unnecessary reacharounds.

ok jsing


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


# 1.13 13-May-2018 tb

Add const to the X509_ALGOR and other arguments of
PKCS12_item_decrypt_d2i(3), PKCS12_pbe_crypt(3), PKCS12_newpass(3).

tested in a bulk by sthen
ok beck, jsing


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.12 29-Jan-2017 beck

Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing
libssl had more reacharounds into this.
ok jsing@ inoguchi@


# 1.11 30-Dec-2016 jsing

Expand M_PKCS12_* "compatibility" macros. No change to generated assembly.


# 1.10 14-Feb-2015 miod

Attempt to correctly free temporary storage upon error. With help from
doug@ and jsing@, ok doug@ three months ago (sigh... I sometimes suck bigtime
at commiting bugfixes)


# 1.9 08-Jul-2014 jsing

KNF.


# 1.8 12-Jun-2014 deraadt

tags as requested by miod and tedu


# 1.7 01-Oct-2010 djm

resolve conflicts, fix local changes


# 1.6 09-Jan-2009 djm

resolve conflicts


# 1.5 06-Sep-2008 djm

resolve conflicts


# 1.4 12-May-2003 markus

merge 0.9.7b with local changes; crank majors for libssl/libcrypto


# 1.3 15-May-2002 beck

OpenSSL 0.9.7 stable 2002 05 08 merge


# 1.2 15-Dec-2000 beck

openssl-engine-0.9.6 merge


# 1.1 19-Mar-2000 beck

branches: 1.1.1;
OpenSSL 0.9.5 merge

*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs