Mike,
The comments in 0.9.5 were a tad more informative too.
Thanks double muchly!
- Jim
Barnes, Michael L. wrote:
> With 0.9.5a this is what I did:
>
> created debug functions:
>
> eg:
>
> void
> Dmalloc(void *new, int bytes, char *file, int line, int after)
> {
> if (!after) {
> fprintf(debug_out, "DEBUG: before malloc(%d) %s:%d\n",
> bytes, file, line);
> } else {
> fprintf(debug_out, "DEBUG: after malloc %p = malloc(%d) %s:%d\n",
> new, bytes, file, line);
> }
> fflush(debug_out);
> }
>
> then do:
>
> CRYPTO_set_mem_debug_functions(Dmalloc, Drealloc, Dfree, NULL, NULL);
>
> also, when looking up the syntax I found in crypto/mem.c the following
> function pointers:
>
> /* may be changed as long as `allow_customize' is set */
> static void *(*malloc_locked_func)(size_t) = malloc;
> static void (*free_locked_func)(void *) = free;
> static void *(*malloc_func)(size_t) = malloc;
> static void *(*realloc_func)(void *, size_t)= realloc;
> static void (*free_func)(void *) = free;
>
> for which you can override with:
>
> CRYPTO_set_mem_functions();
>
> hope this helps.
>
> Mike
>
> > -----Original Message-----
> > From: Jim Keohane [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, July 26, 2000 4:47 PM
> > To: [EMAIL PROTECTED]
> > Subject: Replacing Malloc/Free with our own in OpenSSL 0.9.4
> >
> >
> > I need to have OpenSSL use our own malloc/free. At first I
> > thought I
> > would replace or redefine all Malloc's and Free's and similar items to
> > use our routines. If performance became an issue I would later prune
> > back to only where needed for absolute thread safety.
> >
> > Our environment on mainframe does not support pthreads. In making
> > OpenSSL threadsafe between MVS tasks we wanted to handle all memory
> > allocations ourselves.
> >
> > I *thought* all I had to do was change crypto/crypto.h like
> >
> > #if defined(OURSTUFF)
> > #define Malloc OurMalloc
> > #define Realloc OurRealloc
> > #define FreeFunc OurFree
> > #define Free(addr) OurFree(addr)
> > #define Malloc_locked OurMalloc
> > #define Free_locked(addr) OurFree(addr)
> > #else
> > #define Malloc malloc
> > #define Realloc realloc
> > #define FreeFunc free
> > #define Free(addr) free(addr)
> > #define Malloc_locked malloc
> > #define Free_locked(addr) free(addr)
> > #endif /* OURSTUFF */
> >
> > Unfortunately we crashed in a few places like pem_lib.c on a:
> >
> > Free(b);
> >
> > where b was allocated earlier in pem_lib.c via a call to
> > BIG_MEM_new(...).
> >
> > I haven't located where BIG_MEM_new is defined or proto'd or
> > whatever. Not yet anyway.
> >
> > Does anyone have a list of the places where changes are
> > necessary? Is
> > it documented somewhere that I have missed?
> >
> > Thanks muchly in advance! - Jim
> >
> >
> >
> > --
> >
> >
> > Jim Keohane
> > Brigadier Consultant
> >
> > LockStar, Inc.
> > 1200 Wall Street West
> > Lyndhurst, NJ 07071
> >
> > Tel: (201) 508-3231
> > Fax: (201) 508-3201
> > http://www.lockstar.com
> >
> > "Anyone who considers protocol unimportant has never dealt with a cat"
> > -L.Long
> >
> >
> > ______________________________________________________________________
> > OpenSSL Project http://www.openssl.org
> > Development Mailing List [EMAIL PROTECTED]
> > Automated List Manager [EMAIL PROTECTED]
> >
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List [EMAIL PROTECTED]
> Automated List Manager [EMAIL PROTECTED]
--
Jim Keohane
Brigadier Consultant
LockStar, Inc.
1200 Wall Street West
Lyndhurst, NJ 07071
Tel: (201) 508-3231
Fax: (201) 508-3201
http://www.lockstar.com
"Anyone who considers protocol unimportant has never dealt with a cat"
-L.Long
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]