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]

Reply via email to