gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r8494 - in gnunet: m4 src/core src/include src/resolver src


From: gnunet
Subject: [GNUnet-SVN] r8494 - in gnunet: m4 src/core src/include src/resolver src/transport src/util
Date: Mon, 8 Jun 2009 14:13:05 -0600

Author: grothoff
Date: 2009-06-08 14:13:04 -0600 (Mon, 08 Jun 2009)
New Revision: 8494

Modified:
   gnunet/m4/argz.m4
   gnunet/m4/libtool.m4
   gnunet/m4/ltdl.m4
   gnunet/m4/ltoptions.m4
   gnunet/m4/ltsugar.m4
   gnunet/m4/ltversion.m4
   gnunet/src/core/core.h
   gnunet/src/core/gnunet-service-core.c
   gnunet/src/core/test_core_api.c
   gnunet/src/core/test_core_api_peer1.conf
   gnunet/src/core/test_core_api_peer2.conf
   gnunet/src/include/gnunet_common.h
   gnunet/src/resolver/test_resolver_api.c
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/plugin_transport_tcp.c
   gnunet/src/transport/transport.h
   gnunet/src/transport/transport_api.c
   gnunet/src/util/common_logging.c
   gnunet/src/util/network.c
   gnunet/src/util/service.c
Log:
debug code

Modified: gnunet/m4/argz.m4
===================================================================
--- gnunet/m4/argz.m4   2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/argz.m4   2009-06-08 20:13:04 UTC (rev 8494)
@@ -28,14 +28,14 @@
 AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
        argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
 
-dnl if have system argz functions, allow forced use of 
+dnl if have system argz functions, allow forced use of
 dnl libltdl-supplied implementation (and default to do so
 dnl on "known bad" systems). Could use a runtime check, but
 dnl (a) detecting malloc issues is notoriously unreliable
 dnl (b) only known system that declares argz functions,
 dnl     provides them, yet they are broken, is cygwin
 dnl     releases prior to 16-Mar-2007 (1.5.24 and earlier)
-dnl So, it's more straightforward simply to special case 
+dnl So, it's more straightforward simply to special case
 dnl this for known bad systems.
 AS_IF([test -z "$ARGZ_H"],
     [AC_CACHE_CHECK(

Modified: gnunet/m4/libtool.m4
===================================================================
--- gnunet/m4/libtool.m4        2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/libtool.m4        2009-06-08 20:13:04 UTC (rev 8494)
@@ -380,12 +380,12 @@
 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
 # ---------------------------------------------------
 m4_define([lt_decl_varnames_tagged],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_quote(m4_if([$2], [],
-                    m4_quote(lt_decl_tag_varnames),
-                 m4_quote(m4_shift($@)))),
-     m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
-m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
 
 
 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
@@ -945,10 +945,10 @@
       _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
     darwin1.*)
       _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined 
${wl}suppress' ;;
-    darwin*) # darwin 5.x on 
+    darwin*) # darwin 5.x on
       # if running on 10.5 or later, the deployment target defaults
       # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it? 
+      # target defaults to 10.4. Don't you love it?
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
        10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
          _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -990,7 +990,11 @@
   _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   _LT_TAGVAR(link_all_deplibs, $1)=yes
   _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-  if test "$GCC" = "yes"; then
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
     output_verbose_link_cmd=echo
     _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o 
\$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname 
\$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle 
\$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
@@ -1512,7 +1516,7 @@
     lt_cv_sys_max_cmd_len=-1;
     ;;
 
-  cygwin* | mingw*)
+  cygwin* | mingw* | cegcc*)
     # On Win9x/ME, this test blows up -- it succeeds, but takes
     # about 5 minutes as the teststring grows exponentially.
     # Worse, since 9x/ME are not pre-emptively multitasking,
@@ -1680,10 +1684,6 @@
 #  endif
 #endif
 
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
 void fnord() { int i=42;}
 int main ()
 {
@@ -1699,7 +1699,7 @@
   else
     puts (dlerror ());
 
-    exit (status);
+  return status;
 }]
 _LT_EOF
   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
@@ -1738,7 +1738,7 @@
     lt_cv_dlopen_self=yes
     ;;
 
-  mingw* | pw32*)
+  mingw* | pw32* | cegcc*)
     lt_cv_dlopen="LoadLibrary"
     lt_cv_dlopen_libs=
     ;;
@@ -2035,6 +2035,7 @@
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
@@ -2199,14 +2200,14 @@
   # libtool to hard-code these into programs
   ;;
 
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
   version_type=windows
   shrext_cmds=".dll"
   need_version=no
   need_lib_prefix=no
 
   case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -2229,7 +2230,7 @@
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | 
$SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
       ;;
-    mingw*)
+    mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 
's/[[.]]/-/g'`${versuffix}${shared_ext}'
       sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | 
$SED -e "s/^libraries://" -e "s,=/,/,g"`
@@ -2667,7 +2668,7 @@
   version_type=linux
   need_lib_prefix=no
   need_version=no
-  library_name_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
@@ -2691,7 +2692,7 @@
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
 fi
- 
+
 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
   sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
 fi
@@ -2968,6 +2969,7 @@
 #  -- PORTME fill in with the dynamic library characteristics
 m4_defun([_LT_CHECK_MAGIC_METHOD],
 [m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
 AC_CACHE_CHECK([how to recognize dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -3018,6 +3020,12 @@
   fi
   ;;
 
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format 
pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3329,7 +3337,7 @@
 aix*)
   symcode='[[BCDT]]'
   ;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
   symcode='[[ABCDGISTW]]'
   ;;
 hpux*)
@@ -3575,7 +3583,7 @@
     beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | cygwin* | os2* | pw32*)
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -3602,10 +3610,11 @@
       fi
       ;;
     hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
       case $host_cpu in
-      hppa*64*|ia64*)
+      hppa*64*)
        ;;
       *)
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
@@ -3703,12 +3712,19 @@
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
-         icpc* | ecpc* )
-           # Intel C++
+         ecpc* )
+           # old Intel C++ for x86_64 which still supported -KPIC.
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
            ;;
+         icpc* )
+           # Intel C++, used to be incompatible with GCC.
+           # ICC 10 doesn't accept -KPIC any more.
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
          pgCC* | pgcpp*)
            # Portland Group C++ compiler
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -3874,7 +3890,7 @@
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -3890,10 +3906,11 @@
       ;;
 
     hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
       case $host_cpu in
-      hppa*64*|ia64*)
+      hppa*64*)
        # +Z the default
        ;;
       *)
@@ -3943,7 +3960,7 @@
       fi
       ;;
 
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       m4_if([$1], [GCJ], [],
@@ -3974,11 +3991,25 @@
 
     linux* | k*bsd*-gnu)
       case $cc_basename in
-      icc* | ecc* | ifort*)
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+       ;;
       pgcc* | pgf77* | pgf90* | pgf95*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
@@ -4160,7 +4191,7 @@
   pw32*)
     _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
-  cygwin* | mingw*)
+  cygwin* | mingw* | cegcc*)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | 
$global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 
DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ 
]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   linux* | k*bsd*-gnu)
@@ -4215,7 +4246,7 @@
   extract_expsyms_cmds=
 
   case $host_os in
-  cygwin* | mingw* | pw32*)
+  cygwin* | mingw* | pw32* | cegcc*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
@@ -4230,6 +4261,9 @@
   openbsd*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4302,7 +4336,7 @@
       fi
       ;;
 
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -4368,6 +4402,9 @@
          tmp_addflag=' -i_dynamic -nofor_main' ;;
        ifc* | ifort*)                  # Intel Fortran compiler
          tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         _LT_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_sharedflag='--shared' ;;
        xl[[cC]]*)                      # IBM XL C 8.0 on PPC (deal with xlf 
below)
          tmp_sharedflag='-qmkshrobj'
          tmp_addflag= ;;
@@ -4600,6 +4637,7 @@
        fi
       fi
 
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to 
export.
       _LT_TAGVAR(always_export_symbols, $1)=yes
@@ -4654,7 +4692,7 @@
       _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
       ;;
 
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # When not using gcc, we currently assume that we are using
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -4758,7 +4796,7 @@
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o 
$lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname 
${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname 
${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname 
${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
@@ -5543,6 +5581,7 @@
           fi
         fi
 
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
         # It seems that -bexpall does not export symbols beginning with
         # underscore (_), so it is better to generate a list of symbols to
        # export.
@@ -5601,7 +5640,7 @@
         esac
         ;;
 
-      cygwin* | mingw* | pw32*)
+      cygwin* | mingw* | pw32* | cegcc*)
         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
         # as there is no search path for DLLs.
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -6986,6 +7025,18 @@
 ])
 
 
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
 # _LT_DECL_SED
 # ------------
 # Check for a fully-functional sed program, that truncates

Modified: gnunet/m4/ltdl.m4
===================================================================
--- gnunet/m4/ltdl.m4   2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/ltdl.m4   2009-06-08 20:13:04 UTC (rev 8494)
@@ -7,7 +7,7 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 15 LTDL_INIT
+# serial 17 LTDL_INIT
 
 # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
 # ------------------------------------------
@@ -212,26 +212,10 @@
 # of into LIBOBJS.
 AC_DEFUN([_LT_LIBOBJ], [
   m4_pattern_allow([^_LT_LIBOBJS$])
-  AS_LITERAL_IF([$1], [_LT_LIBSOURCES([$1.c])])dnl
   _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
 ])# _LT_LIBOBJS
 
 
-# _LT_LIBSOURCES(MODULE_NAMES)
-# ----------------------------
-# Like AC_LIBSOURCES, except the directory where the libltdl source files
-# are expected is distinct from the user LIBOBJ directory.
-AC_DEFUN([_LT_LIBSOURCES], [
-  m4_foreach([_LTNAME], [$1], [
-    m4_syscmd([test -r "$lt_libobj_prefix]_LTNAME[" ||
-               test -z "$lt_libobj_prefix" ||
-               test ! -d "$lt_libobj_prefix"])dnl
-    m4_if(m4_sysval, [0], [],
-      [AC_FATAL([missing $lt_libobj_prefix/]_LTNAME)])
-  ])
-])# _LT_LIBSOURCES
-
-
 # LTDL_INIT([OPTIONS])
 # --------------------
 # Clients of libltdl can use this macro to allow the installer to
@@ -245,9 +229,9 @@
 
 dnl We need to keep our own list of libobjs separate from our parent project,
 dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
-dnl we look for our own LIBOBJs. Definitions in ltdl-libobj.m4.
+dnl we look for our own LIBOBJs.
 m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
-m4_pushdef([AC_LIBSOURCES], m4_defn([_LT_LIBSOURCES]))
+m4_pushdef([AC_LIBSOURCES])
 
 dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
 m4_if(_LTDL_MODE, [],
@@ -264,7 +248,7 @@
   # decide whether there is a useful installed version we can use.
   AC_CHECK_HEADER([ltdl.h],
       [AC_CHECK_DECL([lt_dlinterface_register],
-          [AC_CHECK_LIB([ltdl], [lt_dlinterface_register],
+          [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
               [with_included_ltdl=no],
               [with_included_ltdl=yes])],
           [with_included_ltdl=yes],
@@ -396,12 +380,6 @@
 m4_require([_LT_CHECK_DLPREOPEN])dnl
 m4_require([_LT_DECL_SED])dnl
 
-# lt_cv_dlopen_self gets defined by LT_SYS_DLOPEN_SELF, called by LT_INIT
-if test "$lt_cv_dlopen_self" = yes; then
-  AC_DEFINE([LTDL_DLOPEN_SELF_WORKS], [1],
-    [Define if dlopen(NULL) is able to resolve symbols from the main program.])
-fi
-
 dnl Don't require this, or it will be expanded earlier than the code
 dnl that sets the variables it relies on:
 _LT_ENABLE_INSTALL
@@ -429,6 +407,8 @@
 AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
 AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
 
+AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
+
 name=ltdl
 LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
 AC_SUBST([LTDLOPEN])

Modified: gnunet/m4/ltoptions.m4
===================================================================
--- gnunet/m4/ltoptions.m4      2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/ltoptions.m4      2009-06-08 20:13:04 UTC (rev 8494)
@@ -125,7 +125,7 @@
 [enable_win32_dll=yes
 
 case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
   AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)

Modified: gnunet/m4/ltsugar.m4
===================================================================
--- gnunet/m4/ltsugar.m4        2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/ltsugar.m4        2009-06-08 20:13:04 UTC (rev 8494)
@@ -1,13 +1,13 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-#   Written by Gary V. Vaughan, 2004
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 5 ltsugar.m4
+# serial 6 ltsugar.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
@@ -63,14 +63,14 @@
 # Produce a SEP delimited list of all paired combinations of elements of
 # PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
 # has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
 m4_define([lt_combine],
-[m4_if([$2], [], [],
-  [m4_if([$4], [], [],
-    [lt_join(m4_quote(m4_default([$1], [[, ]])),
-      lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
-                  [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
-                              [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
-])
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+            [m4_foreach([_Lt_suffix],
+               ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+       [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
 
 
 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])

Modified: gnunet/m4/ltversion.m4
===================================================================
--- gnunet/m4/ltversion.m4      2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/m4/ltversion.m4      2009-06-08 20:13:04 UTC (rev 8494)
@@ -9,15 +9,15 @@
 
 # Generated from ltversion.in.
 
-# serial 2976 ltversion.m4
+# serial 3012 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.2.4])
-m4_define([LT_PACKAGE_REVISION], [1.2976])
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.4'
-macro_revision='1.2976'
+[macro_version='2.2.6'
+macro_revision='1.3012'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])

Modified: gnunet/src/core/core.h
===================================================================
--- gnunet/src/core/core.h      2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/core/core.h      2009-06-08 20:13:04 UTC (rev 8494)
@@ -26,7 +26,7 @@
 #include "gnunet_crypto_lib.h"
 #include "gnunet_time_lib.h"
 
-#define DEBUG_CORE GNUNET_NO
+#define DEBUG_CORE GNUNET_YES
 
 /**
  * Definition of bits in the InitMessage's options field that specify

Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c       2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/core/gnunet-service-core.c       2009-06-08 20:13:04 UTC (rev 
8494)
@@ -1606,6 +1606,8 @@
                   "Asked to send message to disconnected peer `%4s' and 
connection failed.  Discarding message.\n",
                   GNUNET_i2s (&sm->peer));
       GNUNET_free (sm);
+      /* FIXME: do we need to do something here to let the
+        client know about the failure!? */
       return 0;
     }
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1659,8 +1661,9 @@
   if (n == NULL)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                  "Not yet connected to `%4s', will try to establish 
connection\n",
-                  GNUNET_i2s (&sm->peer));
+                  "Not yet connected to `%4s', will try to establish 
connection within %llu ms\n",
+                  GNUNET_i2s (&sm->peer),
+                 sm->deadline.value);
       msize += sizeof (struct SendMessage);
       /* ask transport to connect to the peer */
       /* FIXME: this code does not handle the

Modified: gnunet/src/core/test_core_api.c
===================================================================
--- gnunet/src/core/test_core_api.c     2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/core/test_core_api.c     2009-06-08 20:13:04 UTC (rev 8494)
@@ -34,7 +34,7 @@
 #include "gnunet_scheduler_lib.h"
 #include "gnunet_transport_service.h"
 
-#define VERBOSE GNUNET_NO
+#define VERBOSE GNUNET_YES
 
 #define START_ARM GNUNET_YES
 

Modified: gnunet/src/core/test_core_api_peer1.conf
===================================================================
--- gnunet/src/core/test_core_api_peer1.conf    2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/core/test_core_api_peer1.conf    2009-06-08 20:13:04 UTC (rev 
8494)
@@ -9,9 +9,9 @@
 [transport]
 PORT = 12465
 PLUGINS = tcp
-#PREFIX = xterm -T transport1 -e
+PREFIX = xterm -T transport1 -e
 #PREFIX = xterm -T transport1 -e valgrind --tool=memcheck
-#DEBUG = YES
+DEBUG = YES
 
 [arm]
 PORT = 12466
@@ -33,8 +33,8 @@
 PORT = 12470
 #PREFIX = xterm -T core1 -e valgrind --tool=memcheck
 #PREFIX = xterm -T core1 -e gdb -x cmd --args
-#PREFIX = xterm -T core1 -e 
-#DEBUG = YES
+PREFIX = xterm -T core1 -e 
+DEBUG = YES
 
 [testing]
 WEAKRANDOM = YES

Modified: gnunet/src/core/test_core_api_peer2.conf
===================================================================
--- gnunet/src/core/test_core_api_peer2.conf    2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/core/test_core_api_peer2.conf    2009-06-08 20:13:04 UTC (rev 
8494)
@@ -9,9 +9,9 @@
 [transport]
 PORT = 22465
 PLUGINS = tcp
-#PREFIX = xterm -T transport2 -e
+PREFIX = xterm -T transport2 -e
 #PREFIX = xterm -T transport2 -e valgrind --tool=memcheck
-#DEBUG = YES
+DEBUG = YES
 
 [arm]
 PORT = 22466
@@ -31,9 +31,9 @@
 
 [core]
 PORT = 22470
-#PREFIX = xterm -T core2 -e
+PREFIX = xterm -T core2 -e
 #PREFIX = xterm -T core2 -e valgrind --tool=memcheck
-#DEBUG = YES
+DEBUG = YES
 
 [testing]
 WEAKRANDOM = YES

Modified: gnunet/src/include/gnunet_common.h
===================================================================
--- gnunet/src/include/gnunet_common.h  2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/include/gnunet_common.h  2009-06-08 20:13:04 UTC (rev 8494)
@@ -217,7 +217,21 @@
  */
 const char *GNUNET_i2s (const struct GNUNET_PeerIdentity *pid);
 
+
 /**
+ * Convert a "struct sockaddr*" (IPv4 or IPv6 address) to a string
+ * (for printing debug messages).  This is one of the very few calls
+ * in the entire API that is NOT reentrant!
+ *
+ * @param addr the address
+ * @param addrlen the length of the address
+ * @return nicely formatted string for the address
+ *  will be overwritten by next call to GNUNET_a2s.
+ */
+const char *GNUNET_a2s (const struct sockaddr *addr,
+                       socklen_t addrlen);
+
+/**
  * Convert error type to string.
  *
  * @param kind type to convert

Modified: gnunet/src/resolver/test_resolver_api.c
===================================================================
--- gnunet/src/resolver/test_resolver_api.c     2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/resolver/test_resolver_api.c     2009-06-08 20:13:04 UTC (rev 
8494)
@@ -44,26 +44,9 @@
       (*ok) &= ~8;
       return;
     }
-  if (salen == sizeof (struct sockaddr_in))
-    {
-      struct sockaddr_in *in = (struct sockaddr_in *) sa;
-      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                  _("Got IP address `%s' for our host.\n"),
-                  inet_ntop (AF_INET, &in->sin_addr, buf, sizeof (buf)));
-    }
-  else if (salen == sizeof (struct sockaddr_in6))
-    {
-      struct sockaddr_in6 *in6 = (struct sockaddr_in6 *) sa;
-      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                  _("Got IP address `%s' for our host.\n"),
-                  inet_ntop (AF_INET6, &in6->sin6_addr, buf, sizeof (buf)));
-    }
-  else
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                  _("Got address of bogus length %u\n"), salen);
-      GNUNET_assert (0);
-    }
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+             _("Got IP address `%s' for our host.\n"),
+             GNUNET_a2s (sa, salen));
 }
 
 

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2009-06-08 19:13:08 UTC 
(rev 8493)
+++ gnunet/src/transport/gnunet-service-transport.c     2009-06-08 20:13:04 UTC 
(rev 8494)
@@ -753,6 +753,8 @@
 
   if (buf == NULL)
     {
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                 "Transmission to client failed, closing connection.\n");
       /* fatal error with client, free message queue! */
       while (NULL != (q = client->message_queue_head))
         {
@@ -927,9 +929,15 @@
       GNUNET_assert (rl != NULL);
     }
   if (result == GNUNET_OK)
-    rl->timeout = GNUNET_TIME_relative_to_absolute (IDLE_CONNECTION_TIMEOUT);
+    {
+      rl->timeout = GNUNET_TIME_relative_to_absolute (IDLE_CONNECTION_TIMEOUT);
+    }
   else
-    rl->connected = GNUNET_NO;
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                 "Transmission failed, marking connection as down.\n");
+      rl->connected = GNUNET_NO;
+    }
   if (!mq->internal_msg)
     rl->transmit_ready = GNUNET_YES;
   if (mq->client != NULL)
@@ -1389,7 +1397,8 @@
 
 #if DEBUG_TRANSPORT
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Plugin `%s' informs us about a new address\n", name);
+              "Plugin `%s' informs us about a new address `%s'\n", name,
+             GNUNET_a2s(addr, addrlen));
 #endif
   abex = GNUNET_TIME_relative_to_absolute (expires);
   GNUNET_assert (p == find_transport (name));
@@ -1618,7 +1627,7 @@
           else
             pos = prev->next;
           continue;
-        }
+       }
       prev = pos;
       pos = pos->next;
     }
@@ -1654,6 +1663,7 @@
    * Validation list being build.
    */
   struct ValidationList *e;
+
 };
 
 
@@ -1671,6 +1681,7 @@
   struct TransportPlugin *tp;
   struct ValidationAddress *va;
   struct ValidationChallengeMessage *vcm;
+  struct GNUNET_PeerIdentity id;
 
   tp = find_transport (tname);
   if (tp == NULL)
@@ -1682,6 +1693,16 @@
                   tname);
       return GNUNET_OK;
     }
+  GNUNET_CRYPTO_hash (&e->publicKey,
+                     sizeof (struct
+                             GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
+                     &id.hashPubKey);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Scheduling validation of address `%s' via `%s' for `%4s'\n",
+             GNUNET_a2s(addr, addrlen),
+             tname,
+             GNUNET_i2s(&id));
+
   va = GNUNET_malloc (sizeof (struct ValidationAddress) +
                       sizeof (struct ValidationChallengeMessage) + addrlen);
   va->next = e->addresses;
@@ -1699,7 +1720,7 @@
   vcm->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_HELLO);
   vcm->challenge = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
                                              (unsigned int) -1);
-  /* Note: vcm->target is set in check_hello_validated */
+  vcm->target = id;
   memcpy (&vcm[1], addr, addrlen);
   return GNUNET_OK;
 }
@@ -1752,10 +1773,6 @@
   va = chvc->e->addresses;
   while (va != NULL)
     {
-      GNUNET_CRYPTO_hash (&chvc->e->publicKey,
-                          sizeof (struct
-                                  GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
-                          &va->msg->target.hashPubKey);
 #if DEBUG_TRANSPORT
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                   "Establishing `%s' connection to validate `%s' of `%4s' 
(sending our `%s')\n",
@@ -1841,6 +1858,11 @@
                                GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
         {
           /* TODO: call to stats? */
+#if DEBUG_TRANSPORT
+         GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                     "`%s' message for peer `%4s' is already pending; ignoring 
new message\n",
+                     "HELLO", GNUNET_i2s (&target));
+#endif   
           return GNUNET_OK;
         }
       e = e->next;

Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/transport/plugin_transport_tcp.c 2009-06-08 20:13:04 UTC (rev 
8494)
@@ -38,7 +38,7 @@
 #include "plugin_transport.h"
 #include "transport.h"
 
-#define DEBUG_TCP GNUNET_NO
+#define DEBUG_TCP GNUNET_YES
 
 /**
  * After how long do we expire an address that we
@@ -440,8 +440,6 @@
   struct GNUNET_NETWORK_SocketHandle *conn;
   struct Session *session;
   int af;
-  char buf[INET6_ADDRSTRLEN];
-  uint16_t port;
 
   session = plugin->sessions;
   while (session != NULL)
@@ -456,20 +454,9 @@
     }
 
   if (addrlen == sizeof (struct sockaddr_in))
-    {
-      af = AF_INET;
-      inet_ntop (af,
-                 &((struct sockaddr_in *) addr)->sin_addr, buf, sizeof (buf));
-      port = ntohs (((struct sockaddr_in *) addr)->sin_port);
-    }
+    af = AF_INET;
   else if (addrlen == sizeof (struct sockaddr_in6))
-    {
-      af = AF_INET6;
-      inet_ntop (af,
-                 &((struct sockaddr_in6 *) addr)->sin6_addr,
-                 buf, sizeof (buf));
-      port = ntohs (((struct sockaddr_in6 *) addr)->sin6_port);
-    }
+    af = AF_INET6;    
   else
     {
       GNUNET_break_op (0);
@@ -485,8 +472,8 @@
 #if DEBUG_TCP
       GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
                        "tcp",
-                       "Failed to create connection to peer at `%s:%u'.\n",
-                       buf, port);
+                       "Failed to create connection to peer at `%s'.\n",
+                      GNUNET_a2s(addr, addrlen));
 #endif
       return NULL;
     }
@@ -499,8 +486,10 @@
 #if DEBUG_TCP
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
                    "tcp",
-                   "Creating new session %p with `%s:%u' based on `%s' 
request.\n",
-                   session, buf, port, "send_to");
+                   "Creating new session %p with `%s' based on `%s' 
request.\n",
+                   session, 
+                  GNUNET_a2s(addr, addrlen),
+                  "send_to");
 #endif
   return session;
 }
@@ -541,7 +530,9 @@
     {
 #if DEBUG_TCP
       GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
-                       "tcp", "Timeout trying to transmit\n");
+                       "tcp", 
+                      "Timeout trying to transmit to peer `%4s', discarding 
message queue.\n",
+                      GNUNET_i2s(&session->target));
 #endif
       /* timeout */
       while (NULL != (pm = session->pending_messages))
@@ -1095,7 +1086,11 @@
   struct PendingMessage *pm;
   struct Session *session;
   struct Session *next;
-
+  
+  GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
+                  "tcp",
+                  "Asked to close session with `%4s'\n",
+                  GNUNET_i2s(target));
   session = plugin->sessions;
   while (session != NULL)
     {
@@ -1315,8 +1310,6 @@
   char buf[sizeof (struct sockaddr_in6)];
   struct sockaddr_in *v4;
   struct sockaddr_in6 *v6;
-  char dst[INET6_ADDRSTRLEN];
-  uint16_t port;
 
   if ((addrlen != sizeof (struct sockaddr_in)) &&
       (addrlen != sizeof (struct sockaddr_in6)))
@@ -1329,21 +1322,17 @@
     {
       v4 = (struct sockaddr_in *) buf;
       v4->sin_port = htons (check_port (plugin, ntohs (v4->sin_port)));
-      inet_ntop (AF_INET, &v4->sin_addr, dst, sizeof (dst));
-      port = ntohs (v4->sin_port);
     }
   else
     {
       v6 = (struct sockaddr_in6 *) buf;
       v6->sin6_port = htons (check_port (plugin, ntohs (v6->sin6_port)));
-      inet_ntop (AF_INET6, &v6->sin6_addr, dst, sizeof (dst));
-      port = ntohs (v6->sin6_port);
     }
 #if DEBUG_TCP
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
                    "tcp",
-                   "Informing transport service about my address `%s:%u'.\n",
-                   dst, port);
+                   "Informing transport service about my address `%s'.\n",
+                   GNUNET_a2s(addr, addrlen));
 #endif
   plugin->env->notify_address (plugin->env->cls,
                                "tcp",
@@ -1627,7 +1616,6 @@
                     const struct sockaddr *addr, socklen_t addrlen)
 {
   struct Plugin *plugin = cls;
-  char dst[INET6_ADDRSTRLEN];
   int af;
   struct sockaddr_in *v4;
   struct sockaddr_in6 *v6;
@@ -1636,19 +1624,18 @@
   if (af == AF_INET)
     {
       v4 = (struct sockaddr_in *) addr;
-      inet_ntop (AF_INET, &v4->sin_addr, dst, sizeof (dst));
       v4->sin_port = htons (plugin->adv_port);
     }
   else
     {
       GNUNET_assert (af == AF_INET6);
       v6 = (struct sockaddr_in6 *) addr;
-      inet_ntop (AF_INET6, &v6->sin6_addr, dst, sizeof (dst));
       v6->sin6_port = htons (plugin->adv_port);
     }
   GNUNET_log_from (GNUNET_ERROR_TYPE_INFO |
                    GNUNET_ERROR_TYPE_BULK,
-                   "tcp", _("Found address `%s' (%s)\n"), dst, name);
+                   "tcp", _("Found address `%s' (%s)\n"), 
+                  GNUNET_a2s(addr, addrlen), name);
   plugin->env->notify_address (plugin->env->cls,
                                "tcp",
                                addr, addrlen, GNUNET_TIME_UNIT_FOREVER_REL);

Modified: gnunet/src/transport/transport.h
===================================================================
--- gnunet/src/transport/transport.h    2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/transport/transport.h    2009-06-08 20:13:04 UTC (rev 8494)
@@ -27,7 +27,7 @@
 #include "gnunet_time_lib.h"
 #include "gnunet_transport_service.h"
 
-#define DEBUG_TRANSPORT GNUNET_NO
+#define DEBUG_TRANSPORT GNUNET_YES
 
 /**
  * For how long do we allow unused bandwidth

Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c        2009-06-08 19:13:08 UTC (rev 
8493)
+++ gnunet/src/transport/transport_api.c        2009-06-08 20:13:04 UTC (rev 
8494)
@@ -1564,16 +1564,17 @@
       remove_neighbour (h, &dim->peer);
       break;
     case GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_OK:
-#if DEBUG_TRANSPORT
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                  "Receiving `%s' message.\n", "SEND_OK");
-#endif
       if (size != sizeof (struct SendOkMessage))
         {
           GNUNET_break (0);
           break;
         }
       okm = (const struct SendOkMessage *) msg;
+#if DEBUG_TRANSPORT
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                  "Receiving `%s' message, transmission %s.\n", "SEND_OK",
+                 ntohl(okm->success) == GNUNET_OK ? "succeeded" : "failed");
+#endif
       n = find_neighbour (h, &okm->peer);
       GNUNET_assert (n != NULL);
       n->transmit_ok = GNUNET_YES;

Modified: gnunet/src/util/common_logging.c
===================================================================
--- gnunet/src/util/common_logging.c    2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/util/common_logging.c    2009-06-08 20:13:04 UTC (rev 8494)
@@ -398,7 +398,53 @@
   return (const char *) ret.encoding;
 }
 
+
+
 /**
+ * Convert a "struct sockaddr*" (IPv4 or IPv6 address) to a string
+ * (for printing debug messages).  This is one of the very few calls
+ * in the entire API that is NOT reentrant!
+ *
+ * @param addr the address
+ * @param addrlen the length of the address
+ * @return nicely formatted string for the address
+ *  will be overwritten by next call to GNUNET_a2s.
+ */
+const char *GNUNET_a2s (const struct sockaddr *addr,
+                       socklen_t addrlen)
+{
+  static char buf[INET6_ADDRSTRLEN+8];
+  static char b2[6];
+  const struct sockaddr_in * v4;
+  const struct sockaddr_in6 *v6;
+  switch (addr->sa_family)
+    {
+    case AF_INET:
+      v4 = (const struct sockaddr_in*)addr;
+      inet_ntop(AF_INET, &v4->sin_addr, buf, INET_ADDRSTRLEN);
+      if (0 == ntohs(v4->sin_port))
+       return buf;     
+      strcat (buf, ":");
+      sprintf (b2, "%u", ntohs(v4->sin_port));
+      strcat (buf, b2);
+      return buf;
+    case AF_INET6:
+      v6 = (const struct sockaddr_in6*)addr;
+      buf[0] = '[';
+      inet_ntop(AF_INET6, &v6->sin6_addr, &buf[1], INET6_ADDRSTRLEN);
+      if (0 == ntohs(v6->sin6_port))
+       return &buf[1]; 
+      strcat (buf, "]:");
+      sprintf (b2, "%u", ntohs(v6->sin6_port));
+      strcat (buf, b2);
+      return buf;      
+    default:
+      return _("invalid address");
+    }
+}
+
+
+/**
  * Initializer
  */
 void __attribute__ ((constructor))

Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c   2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/util/network.c   2009-06-08 20:13:04 UTC (rev 8494)
@@ -40,7 +40,7 @@
 #include "gnunet_network_lib.h"
 #include "gnunet_scheduler_lib.h"
 
-#define DEBUG_NETWORK GNUNET_NO
+#define DEBUG_NETWORK GNUNET_YES
 
 struct GNUNET_NETWORK_TransmitHandle
 {
@@ -234,9 +234,7 @@
 {
   struct GNUNET_NETWORK_SocketHandle *ret;
   char addr[32];
-  char msg[INET6_ADDRSTRLEN];
   socklen_t addrlen;
-  int fam;
   int fd;
   int aret;
   struct sockaddr_in *v4;
@@ -287,19 +285,9 @@
       (GNUNET_YES != (aret = access (access_cls, uaddr, addrlen))))
     {
       if (aret == GNUNET_NO)
-        {
-          fam = ((struct sockaddr *) addr)->sa_family;
-          GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                      _("Access denied to `%s'\n"),
-                      inet_ntop (fam,
-                                 (fam == AF_INET6)
-                                 ? (const void *) &((struct sockaddr_in6 *)
-                                                    &addr)->sin6_addr : (const
-                                                                         void
-                                                                         *)
-                                 &((struct sockaddr_in *) &addr)->sin_addr,
-                                 msg, sizeof (msg)));
-        }
+       GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                   _("Access denied to `%s'\n"),
+                   GNUNET_a2s(uaddr, addrlen));        
       GNUNET_break (0 == SHUTDOWN (fd, SHUT_RDWR));
       GNUNET_break (0 == CLOSE (fd));
       GNUNET_free (uaddr);
@@ -493,12 +481,22 @@
       (0 != getsockopt (sock->sock, SOL_SOCKET, SO_ERROR, &error, &len)) ||
       (error != 0) || (errno != 0))
     {
+#if DEBUG_NETWORK
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                 "Failed to establish TCP connection to `%s'\n",
+                 GNUNET_a2s(sock->addr, sock->addrlen));
+#endif
       /* connect failed / timed out */
       GNUNET_break (0 == CLOSE (sock->sock));
       sock->sock = -1;
       if (GNUNET_SYSERR == try_connect (sock))
         {
           /* failed for good */
+#if DEBUG_NETWORK
+         GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                     "Failed to establish TCP connection, no further addresses 
to try.\n");
+#endif
+         /* connect failed / timed out */
           GNUNET_break (sock->ai_pos == NULL);
           freeaddrinfo (sock->ai);
           sock->ai = NULL;
@@ -1052,10 +1050,6 @@
   ssize_t ret;
   size_t have;
 
-#if DEBUG_NETWORK
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Transmit ready called --- will try to send\n");
-#endif
   GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
   sock->write_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
   if (sock->connect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
@@ -1091,6 +1085,10 @@
 #endif
       goto SCHEDULE_WRITE;
     }
+#if DEBUG_NETWORK
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Transmit ready called --- will try to send\n");
+#endif
   GNUNET_assert (sock->write_buffer_off >= sock->write_buffer_pos);
   process_notify (sock);
   have = sock->write_buffer_off - sock->write_buffer_pos;

Modified: gnunet/src/util/service.c
===================================================================
--- gnunet/src/util/service.c   2009-06-08 19:13:08 UTC (rev 8493)
+++ gnunet/src/util/service.c   2009-06-08 20:13:04 UTC (rev 8494)
@@ -620,34 +620,26 @@
   const struct sockaddr_in *i4;
   const struct sockaddr_in6 *i6;
   int ret;
-  char buf[INET6_ADDRSTRLEN];
-  uint16_t port;
 
   switch (addr->sa_family)
     {
     case AF_INET:
       GNUNET_assert (addrlen == sizeof (struct sockaddr_in));
       i4 = (const struct sockaddr_in *) addr;
-      port = ntohs (i4->sin_port);
       ret = ((sctx->v4_allowed == NULL) ||
              (check_ipv4_listed (sctx->v4_allowed,
                                  &i4->sin_addr)))
         && ((sctx->v4_denied == NULL) ||
             (!check_ipv4_listed (sctx->v4_denied, &i4->sin_addr)));
-      if (ret != GNUNET_OK)
-        inet_ntop (AF_INET, &i4->sin_addr, buf, sizeof (buf));
       break;
     case AF_INET6:
       GNUNET_assert (addrlen == sizeof (struct sockaddr_in6));
       i6 = (const struct sockaddr_in6 *) addr;
-      port = ntohs (i6->sin6_port);
       ret = ((sctx->v6_allowed == NULL) ||
              (check_ipv6_listed (sctx->v6_allowed,
                                  &i6->sin6_addr)))
         && ((sctx->v6_denied == NULL) ||
             (!check_ipv6_listed (sctx->v6_denied, &i6->sin6_addr)));
-      if (ret != GNUNET_OK)
-        inet_ntop (AF_INET6, &i6->sin6_addr, buf, sizeof (buf));
       break;
     default:
       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -657,8 +649,8 @@
   if (ret != GNUNET_OK)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Access from `%s:%u' denied to service `%s'\n"),
-                  buf, port, sctx->serviceName);
+                  _("Access from `%s' denied to service `%s'\n"),
+                  GNUNET_a2s(addr, addrlen), sctx->serviceName);
     }
   return ret;
 }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]