aboutsummaryrefslogtreecommitdiff
path: root/crypto/lhash
AgeCommit message (Collapse)AuthorFilesLines
2001-02-22e_os.h does not belong with the exported headers. Do not put it thereRichard Levitte1-2/+2
and make all files the depend on it include it without prefixing it with openssl/. This means that all Makefiles will have $(TOP) as one of the include directories.
2001-02-20Use 0 instead of NULL, at least for function casts, since there areRichard Levitte1-2/+2
variants of stdio.h that define NULL in such a way that it's "unsafe" to use for function pointer casting.
2001-02-19Make all configuration macros available for application by makingRichard Levitte4-15/+17
sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.
2001-01-09oops, void functions shouldn't try and return a value. Strangely, gccGeoff Thorpe1-2/+2
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 Thorpe2-14/+35
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öller1-1/+1
Submitted by: draslar <draslar@elray.ch>
2000-12-13Constification of the data of a hash table. This means the callbackRichard Levitte2-25/+25
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 Thorpe1-6/+3
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 Thorpe1-0/+29
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 Thorpe2-13/+25
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 Levitte3-14/+14
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 Levitte1-1/+2
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 Levitte1-1/+3
2000-06-13Enable DSO support on alpha (OSF1), cc and gcc.Geoff Thorpe1-3/+3
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 Levitte2-2/+9
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 Levitte2-11/+11
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 Levitte1-4/+4
"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öller2-15/+5
2000-03-04Generate correct error reasons strings for SYSerr.Bodo Möller1-1/+1
2000-02-03ispell (and minor modifications)Ulf Möller1-2/+2
2000-01-30Seek out and destroy another evil cast.Ulf Möller1-4/+4
2000-01-30Source code cleanups: Use void * rather than char * in lhash,Ulf Möller2-23/+19
eliminate some of the -Wcast-qual warnings (debug-ben-strict target)
2000-01-23Tidy up CRYPTO_EX_DATA structures.Dr. Stephen Henson1-3/+4
1999-05-21It was a very bad idea to use #include "../e_os.h" -- when this occursBodo Möller1-2/+3
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öller1-3/+2
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öller1-4/+4
include file.
1999-05-15Update dependencies.Bodo Möller1-2/+2
1999-04-29Support INSTALL_PREFIX for packagers.Bodo Möller1-2/+4
Submitted by: Reviewed by: PR:
1999-04-29Ignore Makefile.saveUlf Möller1-0/+1
Submitted by: Anonymous
1999-04-29Obey $(PERL) when running util/mklink.pl.Bodo Möller1-3/+3
Submitted by: Reviewed by: PR:
1999-04-28Use util/mklink.pl instead of util/mklink.sh.Bodo Möller1-3/+3
Submitted by: Reviewed by: PR:
1999-04-27New Configure option no-<cipher> (rsa, idea, rc5, ...).Ulf Möller1-1/+1
1999-04-26Remove NOPROTO definitions and error code comments.Ulf Möller2-32/+0
1999-04-25Removed traces of cryptall.h, and did a "make depend".Bodo Möller1-0/+1
Submitted by: Reviewed by: PR:
1999-04-24Fix header files so that any one can be included first.Bodo Möller1-0/+4
Submitted by: Reviewed by: PR:
1999-04-24Complete rewrite of the error code generation script. It now runs as a singleDr. Stephen Henson1-2/+0
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öller1-4/+7
Submitted by: Reviewed by: PR:
1999-04-23Change #include filenames from <foo.h> to <openssl.h>.Bodo Möller4-7/+7
Submitted by: Reviewed by: PR:
1999-04-19Change functions to ANSI C.Ulf Möller2-58/+20
1999-04-17Massive constification.Ben Laurie2-3/+3
1999-04-01New Makefile variables $(RANLIB) and $(PERL).Ulf Möller1-3/+3
1999-03-22Fix security hole.Ben Laurie2-4/+4
1999-03-06Put the dependencies back.Ben Laurie1-0/+5
1999-03-06General source tree makefile cleanups: Made `making xxx in yyy...' displayRalf S. Engelschall1-11/+5
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 Laurie1-1/+2
1999-01-19Finally lay dependencies to rest (I hope!).Ben Laurie1-1/+5
1999-01-17Oops. Missing NULL frees.Ben Laurie1-0/+3
1998-12-31Fix version stuff:Ralf S. Engelschall1-1/+1
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. Engelschall1-1/+1
1998-12-23Switch version string to SSLeay/OpenSSLRalf S. Engelschall1-1/+1