summaryrefslogtreecommitdiffstats
path: root/crypto/lhash
AgeCommit message (Collapse)Author
2001-01-09oops, void functions shouldn't try and return a value. Strangely, gccGeoff Thorpe
didn't even give a warning for this yet HPUX cc considered it an error. Reported by Lutz(@openssl.org).
2001-01-09This adds macros to implement (and/or declare) type-safe wrapper functionsGeoff Thorpe
around the callbacks required in the LHASH code for the "doall" functions. Also - fix the evil function pointer casting in the two lh_doall functions by deferring to a static utility function. Previously lh_doall() was invoking lh_doall_arg() by casting the callback to the 2-parameter prototype and passing in a NULL argument. This appears to have been working thus far but it's not a hot idea. If the extra level of indirection becomes a performance hit, we can just provide two virtually identical implementations for each variant later on.
2000-12-20Don't access non-existing element buf[256], use buf[255] instead.Bodo Möller
Submitted by: draslar <draslar@elray.ch>
2000-12-13Constification of the data of a hash table. This means the callbackRichard Levitte
functions need to be constified, and therefore meant a number of easy changes a little everywhere. Now, if someone could explain to me why OBJ_dup() cheats...
2000-12-04ANSI C doesn't allow trailing semi-colons after a function's closing braceGeoff Thorpe
so these macros probably shouldn't be used like that at all. So, this change removes the misleading comment and also adds an implicit trailing semi-colon to the DECLARE macros so they too don't require one.
2000-12-02Next step in tidying up the LHASH code. This commit defines DECLARE andGeoff Thorpe
IMPLEMENT macros for defining wrapper functions for "hash" and "cmp" callbacks that are specific to the underlying item type in a hash-table. This prevents function pointer casting altogether, and also provides some type-safety because the macro does per-variable casting from the (void *) type used in LHASH itself to the type declared in the macro - and if that doesn't match the prototype expected by the "hash" or "cmp" function then a compiler error will result. NB: IMPLEMENT macros are not required unless predeclared forms are required (either in a header file, or further up in a C file than the implementation needs to be). The DECLARE macros must occur after the type-specific hash/cmp callbacks are declared. Also, the IMPLEMENT and DECLARE macros are such that they can be prefixed with "static" if desired and a trailing semi-colon should be appended (making it look more like a regular declaration and easier on auto-formatting text-editors too). Now that these macros are defined, I will next be commiting changes to a number of places in the library where the casting was doing bad things. After that, the final step will be to make the analogous changes for the lh_doall and lh_doall_arg functions (more specifically, their callback parameters).
2000-12-01First step in tidying up the LHASH code. The callback prototypes (andGeoff Thorpe
casts) used in the lhash code are about as horrible and evil as they can be. For starters, the callback prototypes contain empty parameter lists. Yuck. This first change defines clearer prototypes - including "typedef"'d function pointer types to use as "hash" and "compare" callbacks, as well as the callbacks passed to the lh_doall and lh_doall_arg iteration functions. Now at least more explicit (and clear) casting is required in all of the dependant code - and that should be included in this commit. The next step will be to hunt down and obliterate some of the function pointer casting being used when it's not necessary - a particularly evil variant exists in the implementation of lh_doall.
2000-11-07Constification of LHASH. Contributed by "Paul D. Smith" <psmith@gnu.org>Richard Levitte
I didn't apply all his patches yet, since I have some hesitance about unconstifying. To be pondered.
2000-09-25'ranlib' doesn't always run on some systems. That's actuallyRichard Levitte
acceptable, since all that happens if it fails is a library with an index, which makes linking slower, but still working correctly.
2000-09-07'make update'Richard Levitte
2000-06-13Enable DSO support on alpha (OSF1), cc and gcc.Geoff Thorpe
Also, "make update" has added some missing functions to libeay.num, updated the TABLE for the alpha changes, and updated thousands of dependancies that have changed from recent commits.
2000-06-09Using checks of the existence of HEADER_{foo}_H in other header filesRichard Levitte
was a really bad idea. For example, the following: #include <x509.h> #include <bio.h> #include <asn1.h> would make sure that things like ASN1_UTCTIME_print() wasn't defined unless you moved the inclusion of bio.h to above the inclusion of x509.h. The reason is that x509.h includes asn1.h, and the declaration of ASN1_UTCTIME_print() depended on the definition of HEADER_BIO_H. That's what I call an obscure bug. Instead, this change makes sure that whatever header files are needed for the correct process of one header file are included automagically, and that the definitions of, for example, BIO-related things are dependent on the absence of the NO_{foo} macros. This is also consistent with the way parts of OpenSSL can be excluded at will.
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-05-02In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,Richard Levitte
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the OpenSSL header files have #include's and extern "C"'s in an incorrect order. Thusly fixed.
2000-03-18Eliminate memory leaks in mem_dbg.c.Bodo Möller
2000-03-04Generate correct error reasons strings for SYSerr.Bodo Möller
2000-02-03ispell (and minor modifications)Ulf Möller
2000-01-30Seek out and destroy another evil cast.Ulf Möller
2000-01-30Source code cleanups: Use void * rather than char * in lhash,Ulf Möller
eliminate some of the -Wcast-qual warnings (debug-ben-strict target)
2000-01-23Tidy up CRYPTO_EX_DATA structures.Dr. Stephen Henson
1999-05-21It was a very bad idea to use #include "../e_os.h" -- when this occursBodo Möller
in cryptlib.h (which is often included as "../cryptlib.h"), then the question remains relative to which directory this is to be interpreted. gcc went one further directory up, as intended; but makedepend thinks differently, and so probably do some C compilers. So the ../ must go away; thus e_os.h goes back into include/openssl (but I now use #include "openssl/e_os.h" instead of <openssl/e_os.h> to make the point) -- and we have another huge bunch of dependency changes. Argh.
1999-05-20Add a kludge :-(Bodo Möller
There were problems with putting e_os.h just into the top directory, because the test programs are compiled within test/ in the "standard" case in in their original directories in the makefile.one case; and in the latter symlinks may not be available.
1999-05-20Don't install e_os.h in include/openssl, use it only as a localBodo Möller
include file.
1999-05-15Update dependencies.Bodo Möller
1999-04-29Support INSTALL_PREFIX for packagers.Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-29Ignore Makefile.saveUlf Möller
Submitted by: Anonymous
1999-04-29Obey $(PERL) when running util/mklink.pl.Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-28Use util/mklink.pl instead of util/mklink.sh.Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-27New Configure option no-<cipher> (rsa, idea, rc5, ...).Ulf Möller
1999-04-26Remove NOPROTO definitions and error code comments.Ulf Möller
1999-04-25Removed traces of cryptall.h, and did a "make depend".Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-24Fix header files so that any one can be included first.Bodo Möller
Submitted by: Reviewed by: PR:
1999-04-24Complete rewrite of the error code generation script. It now runs as a singleDr. Stephen Henson
script, translates function codes better and doesn't need the K&R function prototypes to work (NB. the K&R prototypes can't be wiped just yet: they are still needed by the DEF generator...). I also ran the script with the -rewrite option to update all the header and source files.
1999-04-23"make depend"Bodo Möller
Submitted by: Reviewed by: PR:
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-04-01New Makefile variables $(RANLIB) and $(PERL).Ulf Möller
1999-03-22Fix security hole.Ben Laurie
1999-03-06Put the dependencies back.Ben Laurie
1999-03-06General source tree makefile cleanups: Made `making xxx in yyy...' displayRalf S. Engelschall
consistent in the source tree and replaced `/bin/rm' by `rm'. Additonally cleaned up the `make links' target: Remove unnecessary semicolons, subsequent redundant removes, inline point.sh into mklink.sh to speed processing and no longer clutter the display with confusing stuff. Instead only the actually done links are displayed.
1999-01-19This time, get it right.Ben Laurie
1999-01-19Finally lay dependencies to rest (I hope!).Ben Laurie
1999-01-17Oops. Missing NULL frees.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-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