<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/crypto/stack/stack.h, branch OpenSSL_1_0_0b</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=OpenSSL_1_0_0b</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=OpenSSL_1_0_0b'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2008-10-14T08:10:52Z</updated>
<entry>
<title>Type-safe OBJ_bsearch_ex.</title>
<updated>2008-10-14T08:10:52Z</updated>
<author>
<name>Ben Laurie</name>
<email>ben@openssl.org</email>
</author>
<published>2008-10-14T08:10:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1ea6472e604ed0e411fa41fcb5f242729ee42cd6'/>
<id>urn:sha1:1ea6472e604ed0e411fa41fcb5f242729ee42cd6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More type-checking.</title>
<updated>2008-06-04T11:01:43Z</updated>
<author>
<name>Ben Laurie</name>
<email>ben@openssl.org</email>
</author>
<published>2008-06-04T11:01:43Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=5ce278a77bd7d23bcf965cfa37afb7b937c1a17d'/>
<id>urn:sha1:5ce278a77bd7d23bcf965cfa37afb7b937c1a17d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix race condition when CRL checking is enabled.</title>
<updated>2004-10-04T16:30:12Z</updated>
<author>
<name>Dr. Stephen Henson</name>
<email>steve@openssl.org</email>
</author>
<published>2004-10-04T16:30:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=2f605e8d24ac054a862e0fc4ea7e53196c99bb7e'/>
<id>urn:sha1:2f605e8d24ac054a862e0fc4ea7e53196c99bb7e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add an extended variant of sk_find() which returns a non-NULL pointer</title>
<updated>2003-04-29T20:30:55Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2003-04-29T20:30:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=26851b6b42260bdfd5c5b8332b5d3d00fa60f3df'/>
<id>urn:sha1:26851b6b42260bdfd5c5b8332b5d3d00fa60f3df</id>
<content type='text'>
even if an exact match wasn't found.
</content>
</entry>
<entry>
<title>Safe stack reorganisation in terms of function casts.</title>
<updated>2000-06-16T23:29:26Z</updated>
<author>
<name>Dr. Stephen Henson</name>
<email>steve@openssl.org</email>
</author>
<published>2000-06-16T23:29:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=3aceb94b9e6ac4722b96d4fb1cf7e1a4358941e0'/>
<id>urn:sha1:3aceb94b9e6ac4722b96d4fb1cf7e1a4358941e0</id>
<content type='text'>
After some messing around this seems to work but needs
a few more tests. Working out the syntax for sk_set_cmp_func()
(cast it to a function that itself returns a function pointer)
was painful :-(

Needs some testing to see what other compilers think of this
syntax.

Also needs similar stuff for ASN1_SET_OF etc etc.
</content>
</entry>
<entry>
<title>This is the first of two commits (didn't want to dump them all into the</title>
<updated>2000-06-01T02:15:40Z</updated>
<author>
<name>Geoff Thorpe</name>
<email>geoff@openssl.org</email>
</author>
<published>2000-06-01T02:15:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=7bb7043580900b8f06cb418b46004b755ff0fc96'/>
<id>urn:sha1:7bb7043580900b8f06cb418b46004b755ff0fc96</id>
<content type='text'>
same one). However, the first will temporarily break things until the
second comes through. :-)

The safestack.h handling was mapping compare callbacks that externally
are of the type (int (*)(type **,type **)) into the underlying callback
type used by stack.[ch], which is (int (*)(void *,void *)). After some
degree of digging, it appears that the callback type in the underlying
stack code should use double pointers too - when the compare operations
are invoked (from sk_find and sk_sort), they are being used by bsearch
and qsort to compare two pointers to pointers. This change corrects the
prototyping (by only casting to the (void*,void*) form at the moment
it is needed by bsearch and qsort) and makes the mapping in safestack.h
more transparent. It also changes from "void*" to "char*" to stay in
keeping with stack.[ch]'s assumed base type of "char".

Also - the "const" situation was that safestack.h was throwing away
"const"s, and to compound the problem - a close examination of stack.c
showed that (const char **) is not really achieving what it is supposed
to when the callback is being invoked, what is needed is
(const char * const *). So the underlying stack.[ch] and the mapping
macros in safestack.h have all been altered to correct this.

What will follow are the vast quantities of "const" corrections required
in stack-dependant code that was being let "slip" through when
safestack.h was discarding "const"s. These now all come up as compiler
warnings.
</content>
</entry>
<entry>
<title>sk_value was also suffering from de-const-ification.</title>
<updated>2000-05-31T17:35:11Z</updated>
<author>
<name>Geoff Thorpe</name>
<email>geoff@openssl.org</email>
</author>
<published>2000-05-31T17:35:11Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=e20d7d71677c6d56f9e486148a0d33cb639765eb'/>
<id>urn:sha1:e20d7d71677c6d56f9e486148a0d33cb639765eb</id>
<content type='text'>
Also, add in a couple of missing declarations in pkcs7 code.
</content>
</entry>
<entry>
<title>All the little functions created by the IMPLEMENT_STACK_OF() macro will</title>
<updated>2000-05-31T15:28:01Z</updated>
<author>
<name>Geoff Thorpe</name>
<email>geoff@openssl.org</email>
</author>
<published>2000-05-31T15:28:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=01296a6de0f968d741d871efda8ab4ed5420442d'/>
<id>urn:sha1:01296a6de0f968d741d871efda8ab4ed5420442d</id>
<content type='text'>
cast their type-specific STACK into a real STACK and call the underlying
sk_*** function. The problem is that if the STACK_OF(..) parameter being
passed in has a "const *" qualifier, it is discarded by the cast.

I'm currently implementing a fix for this but in the mean-time, this is
one case I noticed (a few type-specific sk_**_num() functions pass in
const type-specific stacks). If there are other errors in the code where
consts are being discarded, we will similarly not notice them. yuck.
</content>
</entry>
<entry>
<title>Get rid of more non-ANSI declarations.</title>
<updated>2000-05-15T22:54:43Z</updated>
<author>
<name>Ulf Möller</name>
<email>ulf@openssl.org</email>
</author>
<published>2000-05-15T22:54:43Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0e1c06128adbfd2d88dc304db2262140bad045fd'/>
<id>urn:sha1:0e1c06128adbfd2d88dc304db2262140bad045fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New options to the -verify program which can be used for chain verification.</title>
<updated>1999-11-26T00:27:07Z</updated>
<author>
<name>Dr. Stephen Henson</name>
<email>steve@openssl.org</email>
</author>
<published>1999-11-26T00:27:07Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=d4cec6a13dfb2c1d1ddf66dff499aaf21bbbf002'/>
<id>urn:sha1:d4cec6a13dfb2c1d1ddf66dff499aaf21bbbf002</id>
<content type='text'>
Extend the X509_PURPOSE structure to include shortnames for purposed and default
trust ids.

Still need some extendable trust checking code and integration with the SSL and
S/MIME code.
</content>
</entry>
</feed>
