]> git.sur5r.net Git - bacula/docs/commitdiff
!!! I didn't run the regression tests.!!!
authorMeno Abels <meno.abels@adviser.com>
Thu, 12 Aug 2004 22:13:51 +0000 (22:13 +0000)
committerMeno Abels <meno.abels@adviser.com>
Thu, 12 Aug 2004 22:13:51 +0000 (22:13 +0000)
1. Find and fix the memory leak (most likely in address_conf.c)

in address_conf there was no memory leak-:) the parser calls my init_default_addresses
but also resets the datastructurs by memset so allocated resource will be lost.
I added the pass number to init_defaults so that i could call my init_default only once
per server.

2. Find some why to have smartalloc work correctly with new.
   *Please* note, you cannot simply put everything on SMARTALLOC --
   this will not work because some of the delete's *must* de-allocate
   all the items in the list. I.e. by default, my lists own the
   list items.

There was a missing  brace
in the use of my new operator to write new(fname, line) Type in the define.
And also there was some operator definitions in dlist,alist,htable which causes
that trouble.
I only added the SMARTALLOC to all classes these are generated by new and removed
by delete.

3. I believe I've fixed the byte order problem by modifying get_port().
   However, if you turn on the debug statement at the top of
   init_bnet() src/lib/bnet.c:917 by setting the 100 to 000, you will
   see that the host address is not correct in all cases.

Kern and I decided to add
 get_port_net_order
 get_port_host_order
 get_first_port_net_order
 get_first_port_host_order
to the code.

4. Eliminate the use of inet_addr() -- it is deprecated.

Done

5. Check the SetIP command in src/dir/fd_cmds.c

fixed mixup of sockaddr and in_addr

6. There is too much #ifdefing in the code to deal with IPv4 and IPv6
   I don't mind it in bnet.c and bnet_server.c (too much), but we should
   try to eliminate it elsewhere.

I cleaned it up.
Is this too much yes it is but, we can't reach the heaven in one day-:)
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#if defined(HAVE_INET_NTOP) && defined(HAVE_IPV6)
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_INET_NTOP
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet_server.c:#ifndef HAVE_INET_NTOP
./lib/bnet_server.c:#ifdef HAVE_INET_NTOP


No differences found