summaryrefslogtreecommitdiffstats
path: root/crypto/stack/stack.c
AgeCommit message (Collapse)Author
2008-10-14Type-safe OBJ_bsearch_ex.Ben Laurie
2008-06-04More type-checking.Ben Laurie
2007-01-21Constify version strings and some structures.Dr. Stephen Henson
2004-10-04Oops!Dr. Stephen Henson
2004-10-04Fix race condition when CRL checking is enabled.Dr. Stephen Henson
2004-04-21Extend the index parameter checking from sk_value to sk_set(). Also tidy upGeoff Thorpe
some similar code elsewhere. Thanks to Francesco Petruzzi for bringing this to my attention.
2004-04-02Avoid undefined results when the parameter is out of range.Geoff Thorpe
2003-04-29Include objects.h to get a correct declaration of OBJ_bsearch_ex(),Richard Levitte
not to mention the OBJ_BSEARCH_* macros.
2003-04-29Add an extended variant of sk_find() which returns a non-NULL pointerRichard Levitte
even if an exact match wasn't found.
2001-05-31Fix a memory leak in 'sk_dup' in the case a realloc() fails. Also, tidy upGeoff Thorpe
a bit of weird code in sk_new.
2001-01-28Make sk_sort tolearate a NULL argument.Dr. Stephen Henson
2000-09-17Some platforms define NULL as ((void *)0). Unfortunately, a void*Richard Levitte
can't be used as a function pointer according the the standards. Use a 0 instead and there will be no trouble.
2000-06-16Safe stack reorganisation in terms of function casts.Dr. Stephen Henson
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.
2000-06-08Harmonize indentation.Bodo Möller
2000-06-01There have been a number of complaints from a number of sources that namesRichard Levitte
like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
2000-06-01This is the first of two commits (didn't want to dump them all into theGeoff Thorpe
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.
2000-05-31sk_value was also suffering from de-const-ification.Geoff Thorpe
Also, add in a couple of missing declarations in pkcs7 code.
2000-05-31All the little functions created by the IMPLEMENT_STACK_OF() macro willGeoff Thorpe
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.
2000-05-15Get rid of more non-ANSI declarations.Ulf Möller
2000-02-03ispell (and minor modifications)Ulf Möller
2000-01-30Seek out and destroy another evil cast.Ulf Möller
1999-05-30Another safe stack.Ben Laurie
1999-05-19New functions sk_set, sk_value and sk_num to replace existing macros: this isDr. Stephen Henson
to minimise the effects on existing code.
1999-04-27Add PKCS#12 documentation and new option in x509 to add certificate extensions.Dr. Stephen Henson
1999-04-26Remove NOPROTO definitions and error code comments.Ulf Möller
1999-04-23Change #include filenames from <foo.h> to <openssl.h>.Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-19Change functions to ANSI C.Ulf Möller
1999-04-17Massive constification.Ben Laurie
1999-03-22Fix security hole.Ben Laurie
1999-02-28Add functions to add certs to stacks, used for CA file/path stuff in servers.Ben Laurie
1998-12-31Fix version stuff:Ralf S. Engelschall
1. The already released version was 0.9.1c and not 0.9.1b 2. The next release should be 0.9.2 and not 0.9.1d, because first the changes are already too large, second we should avoid any more 0.9.1x confusions and third, the Apache version semantics of VERSION.REVISION.PATCHLEVEL for the version string is reasonable (and here .2 is already just a patchlevel and not major change). tVS: ----------------------------------------------------------------------
1998-12-31Fix for sk_insert bug: it never worked properly.stephen
Allow explicit tag asn macros to handle indefinite length constructed stuff: without this certain "certificates" can't be read in.
1998-12-23*** empty log message ***OpenSSL_0_9_1cRalf S. Engelschall
1998-12-23Switch version string to SSLeay/OpenSSLRalf S. Engelschall
1998-12-22Various cleanups and fixed by Marc and Ralf to start the OpenTLS projectRalf S. Engelschall
1998-12-21Import of old SSLeay release: SSLeay 0.9.1b (unreleased)SSLeayRalf S. Engelschall
1998-12-21Import of old SSLeay release: SSLeay 0.9.0bRalf S. Engelschall
1998-12-21Import of old SSLeay release: SSLeay 0.8.1bRalf S. Engelschall