Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Ken Murchison wrote: --- otp.c.orig Mon Oct 14 21:39:43 2002 +++ otp.c Tue Dec 10 16:31:36 2002 @@ -54,6 +54,7 @@ #include #include +#include #include #define MD5_H /* suppress internal MD5 */ So, if Peter can confirm that this works for him (both including openssl/md5.h and _always_ defining MD5_H), then I'll go ahead commit this to CVS. Works fine over here! Cheers, - Peter -- Peter 'Luna' Runestig (fd. Altberg), Sweden <[EMAIL PROTECTED]> PGP Key ID: 0xD07BBE13 Fingerprint: 7B5C 1F48 2997 C061 DE4B 42EA CB99 A35C D07B BE13 AOL Instant Messenger Screen name: PRunestig
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Hack Kampbjørn wrote: > > On Tuesday 10 December 2002 15:16, Ken Murchison wrote: > > Oops! > > > > I pulled the wrong SASL address out of my address book. Please do not > > send any more replies to ietf-sasl. > > > > Ken > > > > Peter 'Luna' Runestig wrote: > > > Ken Murchison wrote: > > > > OK. I now have two conflicting reports regarding testing for > > > > OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could > > > > somebody who has 0.9.7 installed please try to figure out what the deal > > > > is? I tend to believe that I was originally correct in including the > > > > check, > > I think i've tracked this now. The two first OpenSSL 0.9.7 betas had removed > the inclusion of all the other headers in this was reverted > for beta 3. But the OpenBSD folk didn't like it so they removed the inclusion > again. > http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/crypto/evp/evp.h > > So we have that for OpenSSL versions < 0.9.7 the also includes > as it does for betas >=3 (but not on OpenBSD). As otp.c > wanted to use the openssl MD5 file and not the sasl's internal my previous > patch was wrong. Just explicitly including seems a better > solution as that's what we want. Possibly including this file twice shouldn't > break anything. > > --- otp.c.orig Mon Oct 14 21:39:43 2002 > +++ otp.c Tue Dec 10 16:31:36 2002 > @@ -54,6 +54,7 @@ > #include > > #include > +#include > > #include > #define MD5_H /* suppress internal MD5 */ So, if Peter can confirm that this works for him (both including openssl/md5.h and _always_ defining MD5_H), then I'll go ahead commit this to CVS. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Hack Kampbjørn wrote: > > On Tuesday 10 December 2002 15:16, Ken Murchison wrote: > > Oops! > > > > I pulled the wrong SASL address out of my address book. Please do not > > send any more replies to ietf-sasl. > > > > Ken > > > > Peter 'Luna' Runestig wrote: > > > Ken Murchison wrote: > > > > OK. I now have two conflicting reports regarding testing for > > > > OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could > > > > somebody who has 0.9.7 installed please try to figure out what the deal > > > > is? I tend to believe that I was originally correct in including the > > > > check, > > I think i've tracked this now. The two first OpenSSL 0.9.7 betas had removed > the inclusion of all the other headers in this was reverted > for beta 3. But the OpenBSD folk didn't like it so they removed the inclusion > again. > http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/crypto/evp/evp.h > > So we have that for OpenSSL versions < 0.9.7 the also includes > as it does for betas >=3 (but not on OpenBSD). As otp.c IIRC, the md5.h header was included in either beta1 or pre-beta code, since I added it for a reason when I first tested against 0.9.7. > wanted to use the openssl MD5 file and not the sasl's internal my previous > patch was wrong. Just explicitly including seems a better > solution as that's what we want. Possibly including this file twice shouldn't > break anything. > > --- otp.c.orig Mon Oct 14 21:39:43 2002 > +++ otp.c Tue Dec 10 16:31:36 2002 > @@ -54,6 +54,7 @@ > #include > > #include > +#include > > #include > #define MD5_H /* suppress internal MD5 */ This is crazy! Since EVP is an interface to ALL digests and ciphers, shouldn't it include the headers for everything that it encapsulates? And what's the deal with OpenBSD deciding to make their header non-standard? Stuff like this makes me want to say that 0.9.7 and BSD aren't supported. Of course, this isn't my call, and its unrealistic anyway. Ken -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
On Tuesday 10 December 2002 15:16, Ken Murchison wrote: > Oops! > > I pulled the wrong SASL address out of my address book. Please do not > send any more replies to ietf-sasl. > > Ken > > Peter 'Luna' Runestig wrote: > > Ken Murchison wrote: > > > OK. I now have two conflicting reports regarding testing for > > > OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could > > > somebody who has 0.9.7 installed please try to figure out what the deal > > > is? I tend to believe that I was originally correct in including the > > > check, I think i've tracked this now. The two first OpenSSL 0.9.7 betas had removed the inclusion of all the other headers in this was reverted for beta 3. But the OpenBSD folk didn't like it so they removed the inclusion again. http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/crypto/evp/evp.h So we have that for OpenSSL versions < 0.9.7 the also includes as it does for betas >=3 (but not on OpenBSD). As otp.c wanted to use the openssl MD5 file and not the sasl's internal my previous patch was wrong. Just explicitly including seems a better solution as that's what we want. Possibly including this file twice shouldn't break anything. --- otp.c.orig Mon Oct 14 21:39:43 2002 +++ otp.c Tue Dec 10 16:31:36 2002 @@ -54,6 +54,7 @@ #include #include +#include #include #define MD5_H /* suppress internal MD5 */
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Oops! I pulled the wrong SASL address out of my address book. Please do not send any more replies to ietf-sasl. Ken Peter 'Luna' Runestig wrote: > > Ken Murchison wrote: > > OK. I now have two conflicting reports regarding testing for > > OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could > > somebody who has 0.9.7 installed please try to figure out what the deal > > is? I tend to believe that I was originally correct in including the > > check, > > Back to my original question then: why? Why treat OpenSSL version 0.9.7 > and above different than the previous versions? Is there any change in > the MD5 code between those versions (I don't think so, not anything that > affects this issue anyway)? > > Anyway, here's what happens to me, if 'MD5_H' isn't defined: > > $ ./configure --with-openssl=/usr/local > [tweak the Makefiles to make Kerberos somewhat compile (RH 7.2)] > [snip a lot of other output] > /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. > -I/usr/kerberos/include -I/usr/kerberos/include/kerberosIV -I../include > -I../lib -I../sasldb -I/usr/local/include -I/usr/local/include -Wall > -W -Wall -g -O2 -c otp.c > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kerberos/include > -I/usr/kerberos/include/kerberosIV -I../include -I../lib -I../sasldb > -I/usr/local/include -I/usr/local/include -Wall -W -Wall -g -O2 -c otp.c > -fPIC -DPIC -o otp.lo > In file included from ../include/saslplug.h:11, > from otp.c:60: > ../include/md5.h:30: conflicting types for `MD5_CTX' > /usr/local/include/openssl/md5.h:103: previous declaration of `MD5_CTX' > make[2]: *** [otp.lo] Error 1 > > Yes, the name 'MD5_CTX' is used in both OpenSSL and SASL "native" MD5, > so that clash was sure to come. > > > and I'm confused as to why it doesn't work for Peter using the > > same release as Hack. > > So am I! But I have another remark further down here: > > > Ken > > > > > > Hack Kampbjorn wrote: > >> > >> More problems: with cyrus-sasl version 2.1.9 plugins/otp.c only defined > >> MD5_H for OpenSSL versions < 0.9.7 but in version 2.1.10 the check is > >> removed. OpenBSD 3.2 ships with OpenSSL 0.9.7-beta3 30 Jul 2000 > >> (0x00907003L) and fails with this error: > >> > >> /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins > >> -I.. > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb > >> -I/usr/local/include -I/usr/include/kerberosIV > >> -I/usr/include/kerberosV -I/usr/include -Wall -W -Wall -O2 > >> -I/usr/include/kerberosV -c > >> >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c > >> rm -f .libs/otp.lo > >> cc -DHAVE_CONFIG_H -I. > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins > >> -I.. > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib > >> -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb > >> -I/usr/local/include -I/usr/include/kerberosIV -I/usr/include/kerberosV > >> -I/usr/include -Wall -W -Wall -O2 -I/usr/include/kerberosV -c > >> >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c > >> -fPIC -DPIC -o .libs/otp.lo > >> >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:59: > >> invalid preprocessing directive name > > What kind of an error is that? Is the macro 'MD5_H' used elswhere in > OpenBSD? Unfortunately, I don't have a OBSD 3.2 around to test on... > > >> >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:61: > >> invalid preprocessing directive name > >> *** Error code 1 > >> > >> Stop in > >> /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/build-i386/plugins. > >> > >> Adding the version check back fixes this problem. > >> --- plugins/otp.c.orig Tue Dec 10 01:33:54 2002 > >> +++ plugins/otp.c Tue Dec 10 01:39:44 2002 > >> @@ -56,7 +56,9 @@ > >> #include > >> > >> #include > >> +#if OPENSSL_VERSION_NUMBER < 0x00907000L > >> #define MD5_H /* suppress internal MD5 */ > >> +#endif > >> #include > >> > >> #include "plugin_common.h" > >> > > > > > > Peter 'Luna' Runestig wrote: > >> > >> Hi all! > >> > >> What's the deal with this part in plugins/otp.c (2.1.8): > >> > >> #if OPENSSL_VERSION_NUMBER < 0x00907000L > >> #define MD5_H /* suppress internal MD5 */ > >> #endif > >> > >> As it stands, the code doesn't compile with openssl-0.9.7-beta3 (if I > >> remove the version check, it does). Do you expect MD5 support to be > >> dropped in future versions of openssl, or what? > > Cheer
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Peter 'Luna' Runestig wrote: Unfortunately, I don't have a OBSD 3.2 around to test on... I have done some tests on OBSD 3.1, and it behaves the same as my RH 7.2 system. Tested both with OBSD 3.1 "native" OpenSSL 0.9.6b [engine], and with 0.9.7-beta3 (built on the system using OpenSSL's code distribution). As is, SASL 2.1.10 compiles fine (well, past plugins/otp.c anyway, then it breaks on Kerberos). If you remove the #define MD5_H it goes: /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb -I/usr/local/include -I/home/luna/openssl-097b3//include -Wall -W -Wall -g -O2 -c otp.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb -I/usr/local/include -I/home/luna/openssl-097b3//include -Wall -W -Wall -g -O2 -c otp.c -fPIC -DPIC -o otp.lo In file included from ../include/saslplug.h:11, from otp.c:60: ../include/md5.h:30: conflicting types for `MD5_CTX' /home/luna/openssl-097b3/include/openssl/md5.h:103: previous declaration of `MD5_CTX' Cheers, - Peter -- Peter 'Luna' Runestig (fd. Altberg), Sweden <[EMAIL PROTECTED]> PGP Key ID: 0xD07BBE13 Fingerprint: 7B5C 1F48 2997 C061 DE4B 42EA CB99 A35C D07B BE13 AOL Instant Messenger Screen name: PRunestig
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
Ken Murchison wrote: OK. I now have two conflicting reports regarding testing for OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could somebody who has 0.9.7 installed please try to figure out what the deal is? I tend to believe that I was originally correct in including the check, Back to my original question then: why? Why treat OpenSSL version 0.9.7 and above different than the previous versions? Is there any change in the MD5 code between those versions (I don't think so, not anything that affects this issue anyway)? Anyway, here's what happens to me, if 'MD5_H' isn't defined: $ ./configure --with-openssl=/usr/local [tweak the Makefiles to make Kerberos somewhat compile (RH 7.2)] [snip a lot of other output] /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kerberos/include -I/usr/kerberos/include/kerberosIV -I../include -I../lib -I../sasldb -I/usr/local/include -I/usr/local/include -Wall -W -Wall -g -O2 -c otp.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kerberos/include -I/usr/kerberos/include/kerberosIV -I../include -I../lib -I../sasldb -I/usr/local/include -I/usr/local/include -Wall -W -Wall -g -O2 -c otp.c -fPIC -DPIC -o otp.lo In file included from ../include/saslplug.h:11, from otp.c:60: ../include/md5.h:30: conflicting types for `MD5_CTX' /usr/local/include/openssl/md5.h:103: previous declaration of `MD5_CTX' make[2]: *** [otp.lo] Error 1 Yes, the name 'MD5_CTX' is used in both OpenSSL and SASL "native" MD5, so that clash was sure to come. and I'm confused as to why it doesn't work for Peter using the same release as Hack. So am I! But I have another remark further down here: Ken Hack Kampbjorn wrote: More problems: with cyrus-sasl version 2.1.9 plugins/otp.c only defined MD5_H for OpenSSL versions < 0.9.7 but in version 2.1.10 the check is removed. OpenBSD 3.2 ships with OpenSSL 0.9.7-beta3 30 Jul 2000 (0x00907003L) and fails with this error: /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins -I.. -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb -I/usr/local/include -I/usr/include/kerberosIV -I/usr/include/kerberosV -I/usr/include -Wall -W -Wall -O2 -I/usr/include/kerberosV -c /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c rm -f .libs/otp.lo cc -DHAVE_CONFIG_H -I. -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins -I.. -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb -I/usr/local/include -I/usr/include/kerberosIV -I/usr/include/kerberosV -I/usr/include -Wall -W -Wall -O2 -I/usr/include/kerberosV -c /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c -fPIC -DPIC -o .libs/otp.lo /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:59: invalid preprocessing directive name What kind of an error is that? Is the macro 'MD5_H' used elswhere in OpenBSD? Unfortunately, I don't have a OBSD 3.2 around to test on... /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:61: invalid preprocessing directive name *** Error code 1 Stop in /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/build-i386/plugins. Adding the version check back fixes this problem. --- plugins/otp.c.orig Tue Dec 10 01:33:54 2002 +++ plugins/otp.c Tue Dec 10 01:39:44 2002 @@ -56,7 +56,9 @@ #include #include +#if OPENSSL_VERSION_NUMBER < 0x00907000L #define MD5_H /* suppress internal MD5 */ +#endif #include #include "plugin_common.h" Peter 'Luna' Runestig wrote: Hi all! What's the deal with this part in plugins/otp.c (2.1.8): #if OPENSSL_VERSION_NUMBER < 0x00907000L #define MD5_H /* suppress internal MD5 */ #endif As it stands, the code doesn't compile with openssl-0.9.7-beta3 (if I remove the version check, it does). Do you expect MD5 support to be dropped in future versions of openssl, or what? Cheers, - Peter -- Peter 'Luna' Runestig (fd. Altberg), Sweden <[EMAIL PROTECTED]> PGP Key ID: 0xD07BBE13 Fingerprint: 7B5C 1F48 2997 C061 DE4B 42EA CB99 A35C D07B BE13 AOL Instant Messenger Screen name: PRunestig
Re: OPENSSL_VERSION_NUMBER (Was: Cyrus SASL 2.1.10 Released)
OK. I now have two conflicting reports regarding testing for OPENSSL_VERSION_NUMBER with OpenSSL 0.9.7 (both quoted below). Could somebody who has 0.9.7 installed please try to figure out what the deal is? I tend to believe that I was originally correct in including the check, and I'm confused as to why it doesn't work for Peter using the same release as Hack. Ken Hack Kampbjorn wrote: > > More problems: with cyrus-sasl version 2.1.9 plugins/otp.c only defined > MD5_H for OpenSSL versions < 0.9.7 but in version 2.1.10 the check is > removed. OpenBSD 3.2 ships with OpenSSL 0.9.7-beta3 30 Jul 2000 > (0x00907003L) and fails with this error: > > /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins > -I.. > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb > -I/usr/local/include -I/usr/include/kerberosIV > -I/usr/include/kerberosV -I/usr/include -Wall -W -Wall -O2 > -I/usr/include/kerberosV -c > /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c > rm -f .libs/otp.lo > cc -DHAVE_CONFIG_H -I. > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins > -I.. > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/include > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/lib > -I/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/sasldb > -I/usr/local/include -I/usr/include/kerberosIV -I/usr/include/kerberosV > -I/usr/include -Wall -W -Wall -O2 -I/usr/include/kerberosV -c > /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c > -fPIC -DPIC -o .libs/otp.lo > >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:59: > invalid preprocessing directive name > >/usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/cyrus-sasl-2.1.10/plugins/otp.c:61: > invalid preprocessing directive name > *** Error code 1 > > Stop in > /usr/ports/security/cyrus-sasl2/w-cyrus-sasl-2.1.10/build-i386/plugins. > > Adding the version check back fixes this problem. > --- plugins/otp.c.orig Tue Dec 10 01:33:54 2002 > +++ plugins/otp.c Tue Dec 10 01:39:44 2002 > @@ -56,7 +56,9 @@ > #include > > #include > +#if OPENSSL_VERSION_NUMBER < 0x00907000L > #define MD5_H /* suppress internal MD5 */ > +#endif > #include > > #include "plugin_common.h" > Peter 'Luna' Runestig wrote: > > Hi all! > > What's the deal with this part in plugins/otp.c (2.1.8): > > #if OPENSSL_VERSION_NUMBER < 0x00907000L > #define MD5_H /* suppress internal MD5 */ > #endif > > As it stands, the code doesn't compile with openssl-0.9.7-beta3 (if I > remove the version check, it does). Do you expect MD5 support to be > dropped in future versions of openssl, or what? -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp