gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r16303 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r16303 - gnunet/src/transport
Date: Mon, 1 Aug 2011 22:55:56 +0200

Author: grothoff
Date: 2011-08-01 22:55:56 +0200 (Mon, 01 Aug 2011)
New Revision: 16303

Modified:
   gnunet/src/transport/gnunet-transport-certificate-creation
   gnunet/src/transport/plugin_transport_http.c
Log:
a bit cleanr

Modified: gnunet/src/transport/gnunet-transport-certificate-creation
===================================================================
--- gnunet/src/transport/gnunet-transport-certificate-creation  2011-08-01 
20:51:55 UTC (rev 16302)
+++ gnunet/src/transport/gnunet-transport-certificate-creation  2011-08-01 
20:55:56 UTC (rev 16303)
@@ -1,27 +1,148 @@
-#!/bin/sh
+#! /bin/bash
 
-# GNUnet TLS certificate shell scricpt
-# Creates a TSL certificate to use with HTTPS transport plugin
+# gnunet-transport-certificate-creation - temporary wrapper script for 
.libs/gnunet-transport-certificate-creation
+# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3
+#
+# The gnunet-transport-certificate-creation program cannot be directly 
executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
 
-if [ $# -ne 2 ]; then
- exit 1
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='/bin/sed -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
-rm -f $1 $2
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
-# Create RSA Private Key
-openssl genrsa -out $1 1024 2> /dev/null
-if [ $? -ne 0 ]; then
- rm -f $1 $2
- exit 1
-fi 
-# Create a self-signed certificate in batch mode using rsa key
-   openssl req -batch -days 365 -out $2 -new -x509 -key $1 2> /dev/null
-if [ $? -ne 0 ]; then
- rm -f $1 $2
- exit 1
-fi 
+relink_command="(cd /home/grothoff/svn/gnunet/src/transport; { test -z 
\"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export 
LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH 
|| { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z 
\"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; 
export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset 
LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; 
LD_LIBRARY_PATH=/usr/lib/debug:/home/grothoff/lib; export LD_LIBRARY_PATH; 
PATH=/opt/jdk1.6.0_22/bin:/usr/lib/jvm/java-6-sun//bin:.:/home/grothoff/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games;
 export PATH; gcc -fno-strict-aliasing -Wall -g -Wall -Werror -O0 
-I/home/grothoff//include -o \$progdir/\$file 
gnunet-transport-certificate-creation.o  -L/home/grothoff//lib 
../../src/util/.libs/libgnunetutil.so -ldl -Wl,-rpath 
-Wl,/home/grothoff/svn/gnunet/src/util/.libs -Wl
 ,-rpath -Wl,/home/grothoff/lib)"
 
-chmod 0400 $1 $2
+# This environment variable determines our operation mode.
+if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='2.2.6b'
+  notinst_deplibs=' ../../src/util/libgnunetutil.la'
+else
+  # When we are sourced in execute mode, $file and $ECHO are already set.
+  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+    ECHO="echo"
+    file="$0"
+    # Make sure echo works.
+    if test "X$1" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+      # Yippee, $ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe $ECHO will work.
+      exec /bin/bash "$0" --no-reexec ${1+"$@"}
+    fi
+  fi
 
-exit 0
+  # Find the directory that this script lives in.
+  thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+  test "x$thisdir" = "x$file" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
+  while test -n "$file"; do
+    destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+
+    # If there was a directory component, then change thisdir.
+    if test "x$destdir" != "x$file"; then
+      case "$destdir" in
+      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
+      *) thisdir="$thisdir/$destdir" ;;
+      esac
+    fi
+
+    file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'`
+    file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
+  done
+
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
+  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
+    # special case for '.'
+    if test "$thisdir" = "."; then
+      thisdir=`pwd`
+    fi
+    # remove .libs from thisdir
+    case "$thisdir" in
+    *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;;
+    .libs )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=`cd "$thisdir" && pwd`
+  test -n "$absdir" && thisdir="$absdir"
+
+  program=lt-'gnunet-transport-certificate-creation'
+  progdir="$thisdir/.libs"
+
+  if test ! -f "$progdir/$program" ||
+     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | 
/bin/sed 1q`; \
+       test "X$file" != "X$progdir/$program"; }; then
+
+    file="$$-$program"
+
+    if test ! -d "$progdir"; then
+      mkdir "$progdir"
+    else
+      rm -f "$progdir/$file"
+    fi
+
+    # relink executable if necessary
+    if test -n "$relink_command"; then
+      if relink_command_output=`eval $relink_command 2>&1`; then :
+      else
+       echo "$relink_command_output" >&2
+       rm -f "$progdir/$file"
+       exit 1
+      fi
+    fi
+
+    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
+    { rm -f "$progdir/$program";
+      mv -f "$progdir/$file" "$progdir/$program"; }
+    rm -f "$progdir/$file"
+  fi
+
+  if test -f "$progdir/$program"; then
+    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+      # Run the actual program with our arguments.
+
+      exec "$progdir/$program" ${1+"$@"}
+
+      $ECHO "$0: cannot exec $program $*" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2
+    $ECHO "This script is just a wrapper for $program." 1>&2
+    echo "See the libtool documentation for more information." 1>&2
+    exit 1
+  fi
+fi

Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c        2011-08-01 20:51:55 UTC 
(rev 16302)
+++ gnunet/src/transport/plugin_transport_http.c        2011-08-01 20:55:56 UTC 
(rev 16303)
@@ -3482,7 +3482,7 @@
 
   if ( (plugin->key==NULL) || (plugin->cert==NULL) )
     {
-      struct GNUNET_OS_Process *certcreation = NULL;
+      struct GNUNET_OS_Process *certcreation;
       enum GNUNET_OS_ProcessStatusType status_type = GNUNET_OS_PROCESS_UNKNOWN;
       unsigned long code = 0;
       int ret = 0;
@@ -3491,15 +3491,21 @@
       plugin->key = NULL;
       GNUNET_free_non_null (plugin->cert);
       plugin->cert = NULL;
+#if DEBUG_HTTP
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                  "No usable TLS certificate found, creating certificate\n");
+#endif
       errno = 0;
-      certcreation = GNUNET_OS_start_process (NULL, NULL, 
"gnunet-transport-certificate-creation", 
"gnunet-transport-certificate-creation", key_file, cert_file, NULL);
-      if (certcreation == NULL
-          || (ret = 1) != 1 || GNUNET_OS_process_wait (certcreation) != 
GNUNET_OK
-          || (ret = 2) != 2 || (GNUNET_OS_process_status (certcreation, 
&status_type, &code) != GNUNET_OK
-              || (ret = 3) != 3 || status_type != GNUNET_OS_PROCESS_EXITED
-              || (ret = 4) != 4 || code != 0))
+      certcreation = GNUNET_OS_start_process (NULL, NULL,
+                                             
"gnunet-transport-certificate-creation", 
+                                             
"gnunet-transport-certificate-creation", 
+                                             key_file, cert_file,
+                                             NULL);
+      if ( (certcreation == NULL) || 
+          (1 != (ret = 1) ) || (GNUNET_OS_process_wait (certcreation) != 
GNUNET_OK) ||
+          (2 != (ret = 2) ) || (GNUNET_OS_process_status (certcreation, 
&status_type, &code) != GNUNET_OK) ||
+          (3 != (ret = 3) ) || (status_type != GNUNET_OS_PROCESS_EXITED) ||
+          (4 != (ret = 4) ) || (code != 0) )
        {
          GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR,
                           "https",
@@ -3509,11 +3515,11 @@
          GNUNET_free (cert_file);
          GNUNET_free (component_name);
           if (certcreation != NULL)
-          {
-            GNUNET_OS_process_kill (certcreation, SIGTERM);
-            GNUNET_OS_process_close (certcreation);
-          }
-         LIBGNUNET_PLUGIN_TRANSPORT_DONE(api);
+           {
+             GNUNET_OS_process_kill (certcreation, SIGTERM);
+             GNUNET_OS_process_close (certcreation);
+           }
+         LIBGNUNET_PLUGIN_TRANSPORT_DONE (api);
          return NULL;
        }
       GNUNET_OS_process_close (certcreation);
@@ -3537,9 +3543,11 @@
   GNUNET_free (cert_file);
   
   GNUNET_assert((plugin->key!=NULL) && (plugin->cert!=NULL));
+#if DEBUG_HTTP
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
              "TLS certificate loaded\n");
 #endif
+#endif
 
   GNUNET_assert ((port > 0) && (port <= 65535));
   plugin->port_inbound = port;




reply via email to

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