gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r221 - GNUnet/contrib/OSX branches/GNUnet06 branches/GNUnet


From: grothoff
Subject: [GNUnet-SVN] r221 - GNUnet/contrib/OSX branches/GNUnet06 branches/GNUnet06/contrib branches/GNUnet06/contrib/OSX
Date: Wed, 9 Feb 2005 12:47:46 -0800 (PST)

Author: grothoff
Date: 2005-02-09 12:47:45 -0800 (Wed, 09 Feb 2005)
New Revision: 221

Added:
   GNUnet/contrib/OSX/GNUnet-config
   GNUnet/contrib/OSX/GNUnet-funcs
   GNUnet/contrib/OSX/GNUnet.icns
   GNUnet/contrib/OSX/History
   GNUnet/contrib/OSX/TODO
   GNUnet/contrib/OSX/gnunetmac-nox.txt
   GNUnet/contrib/OSX/gnunetmac.txt
   GNUnet/contrib/OSX/hosts/
   branches/GNUnet06/contrib/OSX/
   branches/GNUnet06/contrib/OSX/GNUnet
   branches/GNUnet06/contrib/OSX/GNUnet-config
   branches/GNUnet06/contrib/OSX/GNUnet-funcs
   branches/GNUnet06/contrib/OSX/GNUnet.icns
   branches/GNUnet06/contrib/OSX/History
   branches/GNUnet06/contrib/OSX/Info.plist
   branches/GNUnet06/contrib/OSX/Makefile
   branches/GNUnet06/contrib/OSX/README
   branches/GNUnet06/contrib/OSX/TODO
   branches/GNUnet06/contrib/OSX/build_app
   branches/GNUnet06/contrib/OSX/gnunet-gtk
   branches/GNUnet06/contrib/OSX/gnunet-peer-info
   branches/GNUnet06/contrib/OSX/gnunetd
   branches/GNUnet06/contrib/OSX/gnunetmac-nox.txt
   branches/GNUnet06/contrib/OSX/gnunetmac.txt
   branches/GNUnet06/contrib/OSX/hosts/
Modified:
   GNUnet/contrib/OSX/GNUnet
   branches/GNUnet06/ChangeLog
   branches/GNUnet06/configure.ac
   branches/GNUnet06/contrib/doxygen
Log:
OS X update

Modified: GNUnet/contrib/OSX/GNUnet
===================================================================
--- GNUnet/contrib/OSX/GNUnet   2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/GNUnet   2005-02-09 20:47:45 UTC (rev 221)
@@ -53,7 +53,7 @@
   if [ $select = 0 ]; then
     cgnunetd
     if [ $pid = 0 ]; then
-      $ROOTDIR/bin/gnunetd &
+      $ROOTDIR/bin/gnunetd
     else
       kill $pid
     fi
@@ -63,7 +63,7 @@
   if [ $select = 1 ]; then
     cgnunetd
     if [ $pid = 0 ]; then
-      $ROOTDIR/bin/gnunetd &
+      $ROOTDIR/bin/gnunetd
     fi
     if [ ! -d /usr/X11R6 ]; then
       $CD textbox --title "X11 not installed" --text-from-file 
$ROOTDIR/doc/gnunetmac-nox.txt --button1 Cancel
@@ -84,17 +84,7 @@
   fi
 
   if [ $select = 3 ]; then
-    wasrun=0
-    cgnunetd
-    if [ $pid != 0 ]; then
-      kill $pid
-      sleep 5
-      wasrun=1
-    fi
     $ROOTDIR/GNUnet-config
-    if [ $wasrun = 1 ]; then
-      $ROOTDIR/bin/gnunetd &
-    fi
   fi
 
   if [ $select = 4 ]; then

Added: GNUnet/contrib/OSX/GNUnet-config
===================================================================
--- GNUnet/contrib/OSX/GNUnet-config    2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/GNUnet-config    2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,141 @@
+#!/bin/bash
+#
+# GNUnet configuration utility.
+#
+
+# Locate install directory
+
+ROOTDIR=`dirname $0`
+
+if [ ! -d $ROOTDIR ]; then
+  cd ..
+  ROOTDIR=`pwd`
+fi
+
+if [ ! -d $ROOTDIR ]; then
+  echo "Can't locate GNUnet ROOTDIR."
+  exit 0
+fi
+
+export ROOTDIR
+
+. $ROOTDIR/GNUnet-funcs
+
+cr=~/gnunet/gnunet.root
+cu=~/gnunet/gnunet.conf
+
+while true; do
+  sel=`$CD dropdown --text "Select function" --items "Edit GNUnet daemon 
config" "Edit GNUnet client config" "Update GNUnet database to current version" 
"Remove GNUnet configuration/index" --button1 "Run" --button2 "Back"`
+  button=`echo $sel | cut -d\  -f1`
+  select=`echo $sel | cut -d\  -f2`
+
+  if [ $button = 2 ]; then
+    exit 0
+  fi
+
+  if [ $select = 0 ]; then
+# gnunetd already killed - proceed with config
+    getconf $cr NETWORK INTERFACE
+    cv=`$CD inputbox --text $cv --informative-text "Network interface name" 
--button1 OK | tail -1`
+    editconf ~/gnunet/gnunet.conf NETWORK INTERFACE $cv
+    editconf ~/gnunet/gnunet.conf LOAD INTERFACES $cv
+    in=$cv
+  
+# Can't be done for all keywords (MAXNET* will appear twice, for example)
+    getconf $cr NETWORK IP
+    if [ "$cv" = "" ]; then
+      cv=`ifconfig $in | grep inet\  | cut -f2 | cut -d\  -f2`
+    fi
+    cv=`$CD inputbox --text $cv --informative-text "What is your IP number (IP 
or NA)?" --button1 OK | tail -1`
+    if [ $cv != "NA" -a $cv != "na" ]; then
+      uncomm $cr NETWORK IP
+      editconf $cr NETWORK IP $cv
+    else
+      comm $cr NETWORK IP
+    fi
+  
+    getconf $cr GNUNETD HELOEXPIRES
+    cv=`$CD inputbox --text $cv --informative-text "How many minutes is your 
IP valid?" --button1 OK | tail -1`
+    editconf $cr GNUNETD HELOEXPIRES $cv
+
+    getconf $cr LOAD MAXNETUPBPSTOTAL
+    cv=`$CD inputbox --text $cv --informative-text "Upstream bandwidth 
(bytes/s)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXNETUPBPSTOTAL $cv
+
+    getconf $cr LOAD MAXNETDOWNBPSTOTAL
+    cv=`$CD inputbox --text $cv --informative-text "Downstream bandwidth 
(bytes/s)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXNETDOWNBPSTOTAL $cv
+
+    getconf $cr LOAD MAXCPULOAD
+    cv=`$CD inputbox --text $cv --informative-text "Maximum tolerated CPU load 
(%)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXCPULOAD $cv
+
+    getconf $cr UDP PORT
+    cv=`$CD inputbox --text $cv --informative-text "UDP port number to use" 
--button1 OK | tail -1`
+    editconf $cr UDP PORT $cv
+
+    getconf $cr TCP PORT
+    cv=`$CD inputbox --text $cv --informative-text "TCP port number to use" 
--button1 OK | tail -1`
+    editconf $cr TCP PORT $cv
+
+    getconf $cr NAT LIMITED
+    cv=`$CD inputbox --text $cv --informative-text "Limited connectivity 
(NAT/firewall; yes or no)?" --button1 OK | tail -1`
+    editconf $cr NAT LIMITED $cv
+
+    getconf $cr AFS DISKQUOTA
+    cv=`$CD inputbox --text $cv --informative-text "Anonymous file sharing 
quota (megabytes)" --button1 OK | tail -1`
+    editconf $cr AFS DISKQUOTA $cv
+
+    getconf $cr AFS ANONYMITY-RECEIVE
+    cv=`$CD inputbox --text $cv --informative-text "Anonymity receive level (# 
of relaying nodes)?" --button1 OK | tail -1`
+    editconf $cr AFS ANONYMITY-RECEIVE $cv
+
+    getconf $cr AFS ANONYMITY-SEND
+    cv=`$CD inputbox --text $cv --informative-text "Anonymity send level (# of 
relaying nodes)?" --button1 OK | tail -1`
+    editconf $cr AFS ANONYMITY-SEND $cv
+
+    getconf $cr AFS ACTIVEMIGRATION
+    cv=`$CD inputbox --text $cv --informative-text "Active content migration? 
(yes or no)" --button1 OK | tail -1`
+    editconf $cr AFS ACTIVEMIGRATION $cv
+
+    getconf $cr AFS INDEX-QUOTA
+    cv=`$CD inputbox --text $cv --informative-text "Index quota? (# of 
entries)?" --button1 OK | tail -1`
+    editconf $cr AFS INDEX-QUOTA $cv
+
+    getconf $cr GNUNETD LOGLEVEL
+    cv=`$CD inputbox --text $cv --informative-text "Loglevel 
(NOTHING,FATAL,ERROR,FAILURE,WARNING,MESSAGE,INFO)?" --button1 OK | tail -1`
+    editconf $cr GNUNETD LOGLEVEL $cv
+
+# FIXME: There is a problem with KEEPLOG. WHen gnunetd starts it wipes
+# out all the files from ~/gnunet directory !!!!
+#    getconf $cr GNUNETD KEEPLOG
+#    cv=`$CD inputbox --text $cv --informative-text "Log rotation (0 = 
disable, otherwise rotate logs)?" --button1 OK | tail -1`
+#    editconf $cr GNUNETD KEEPLOG $cv
+
+    cv=`$CD msgbox --text "About to run gnunet-convert - this may take some 
time!" --button1 "OK" --button2 "Cancel"`
+    if [ $cv = 1 ]; then 
+      $ROOTDIR/bin/gnunet-convert -c ~/gnunet/gnunet.root
+      $CD msgbox --text "gnunet-convert done!" --button1 "OK"
+    fi
+  fi
+
+  if [ $select = 1 ]; then
+    getconf $cu AFS SEARCHTIMEOUT
+    cv=`$CD inputbox --text $cv --informative-text "Search timeout? (s)?" 
--button1 OK | tail -1`
+    editconf $cu AFS SEARCHTIMEOUT $cv  
+  fi
+
+  if [ $select = 2 ]; then
+    $ROOTDIR/bin/gnunet-update -c ~/gnunet/gnunet.root
+    $CD msgbox --text "gnunet-update done!" --button1 "OK"
+    CURRENT=`$ROOTDIR/bin/gnunetd -v | cut -d\  -f2 | cut -c2-`
+    echo $CURRENT > ~/gnunet/VERSION
+  fi
+
+  if [ $select = 3 ]; then
+    rm -rf ~/gnunet
+    $CD msgbox --text "All configuration and file data removed!" --button1 "OK"
+  fi
+done
+
+# Not reached


Property changes on: GNUnet/contrib/OSX/GNUnet-config
___________________________________________________________________
Name: svn:executable
   + *

Added: GNUnet/contrib/OSX/GNUnet-funcs
===================================================================
--- GNUnet/contrib/OSX/GNUnet-funcs     2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/GNUnet-funcs     2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,154 @@
+#!/bin/bash
+#
+# Common functions
+#
+
+# Location of CocoaDialog
+
+CD=$ROOTDIR/CocoaDialog.app/Contents/MacOS/CocoaDialog
+export CD
+
+#
+# Set value for a given keyword
+#
+# $1 = config file name
+# $2 = section (without [])
+# $3 = config keyword
+# $4 = new value
+#
+# For some reason sed is having hard time with tabs (\t)
+# Work around: use tr to translate it to space.
+#
+# NOTE: These macros will fail for the last section since it does not contain 
the ending [ !!!!
+# Fortunately this is about DHT...   [FIXME]
+
+editconf () {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s!^$3 *=[^\n\r]*!$3 = $4!" > $1.tmp
+  mv -f $1.tmp $1
+}
+
+#
+# Get current value of given keyword
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword name
+cv=""
+getconf() {
+
+  cv=`tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^$3 *=+MARKERXX+" | fgrep 
MARKERXX | sed -e s/MARKERXX// | tr -d \ `
+}
+
+#
+# Make sure given keyword setting is not commented out
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword
+#
+uncomm() {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^# *$3 *=+$3 =+" > $1.tmp
+  mv $1.tmp $1
+}
+
+#
+# Make sure given keyword setting is commented out
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword
+#
+comm() {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^ *$3 *=+# $3 =+" > $1.tmp
+  mv $1.tmp $1
+}
+
+# If gnunet directory does not exist then generate new configuration
+gnetconf() {
+# Compatibility checks
+  if [ -d ~/.gnunet -a ! -d ~/gnunet ]; then
+    mv ~/.gnunet ~/gnunet
+  fi
+  if [ -d ~/.gnunet -a -h ~/gnunet ]; then
+    rm ~/gnunet
+    mv ~/.gnunet ~/gnunet
+  fi
+
+  if [ ! -d ~/gnunet ]; then
+    mkdir -p ~/gnunet
+    mkdir -p ~/gnunet/data
+    mkdir -p ~/gnunet/data/hosts
+    cp $ROOTDIR/hosts/* ~/gnunet/data/hosts > /dev/null 2>&1
+# These don't belong to any section
+    sed -e "/^GNUNETD_HOME/s-/var/lib/GNUnet-~/gnunet-" < 
$ROOTDIR/etc/gnunet.root > ~/gnunet/gnunet.root
+    sed -e "/^GNUNET_HOME/s-~/.gnunet-~/gnunet-" < $ROOTDIR/etc/gnunet.user > 
~/gnunet/gnunet.conf
+# Locate active network interface (e.g. en0 or en1)
+    act1=`ifconfig en0 2> /dev/null | grep inet | wc -l`
+    act2=`ifconfig en1 2> /dev/null | grep inet | wc -l`
+
+    if [ $act1 -gt 0 ]; then
+       in=en0
+    elif [ $act2 -gt 0 ]; then
+       in=en1
+    else
+       in=unknown
+    fi
+    ip=`ifconfig $in | grep inet\  | cut -f2 | cut -d\  -f2`
+    editconf ~/gnunet/gnunet.root NETWORK INTERFACE $in
+    editconf ~/gnunet/gnunet.root LOAD INTERFACES $in
+    editconf ~/gnunet/gnunet.root AFS DATABASETYPE sqlite
+  fi
+  rm ~/.gnunet
+  ln -sf ~/gnunet ~/.gnunet
+}
+
+# This function finds out if gnunetd is running
+# 0 = not running, 1 = running. Global variable pid gives the process pid.
+#
+pid=0
+cgnunetd() {
+
+  if [ -e ~/gnunet/gnunetd.pid ]; then
+    pid=`cat ~/gnunet/gnunetd.pid`
+    if [ `ps -p $pid | wc -l` == 2 ]; then
+      return
+    fi
+  fi
+  pid=0
+  return
+}
+
+#
+# Update Pango files
+#
+pango() {
+
+  mkdir -p ~/gnunet/pango
+  PANGO_RC_FILE=~/gnunet/pango/pango.rc
+  export PANGO_RC_FILE
+  cat << E_O_F > $PANGO_RC_FILE
+[Pango]
+ModuleFiles=$HOME/gnunet/pango/pango.modules
+E_O_F
+  cp $ROOTDIR/etc/pangox.aliases ~/gnunet/pango
+  pth=`fgrep ModulesPath $ROOTDIR/etc/pango.modules | cut -d\  -f4`
+  sed -e "s-$pth-$ROOTDIR/pango-g" < $ROOTDIR/etc/pango.modules > 
~/gnunet/pango/pango.modules
+}
+
+#
+# Track version changes
+#
+checkversion() {
+
+  CURRENT=`$ROOTDIR/bin/gnunetd -v | cut -d\  -f2 | cut -c2-`
+  if [ ! -f ~/gnunet/VERSION ]; then
+    echo $CURRENT > ~/gnunet/VERSION
+  fi
+  VERSION=`cat ~/gnunet/VERSION`
+  if [ $VERSION != $CURRENT ]; then
+    $CD msgbox --text "Version change detected! Please run Update GNUnet 
database in Configuration section" --button1 "OK"
+  fi
+}


Property changes on: GNUnet/contrib/OSX/GNUnet-funcs
___________________________________________________________________
Name: svn:executable
   + *

Added: GNUnet/contrib/OSX/GNUnet.icns
===================================================================
(Binary files differ)


Property changes on: GNUnet/contrib/OSX/GNUnet.icns
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: GNUnet/contrib/OSX/History
===================================================================
--- GNUnet/contrib/OSX/History  2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/History  2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,37 @@
+Release 1:
+
+Initial release
+
+Release 2:
+
+- switched to libgcrypt due to some strange openssl problem (core dumps)
+- version numbering for binary packages
+- CVS version (incl. deadlock fix in transport.c)
+
+Release 3:
+
+- experimental sqlite 3.1 (passes tests, better performance)
+- GNUnet version checking: run gnunet-update when new version is installed
+- Application icon now displays correctly
+- libextractor 4.1
+- atk-1.8.0, glib-2.4.8, fontconfig-2.2.99, gtk+-2.4.14, gettext-0.14.1,
+  pango-1.6.0
+- insertion now works more or less with gnunet-gtk
+- gnunet -> .gnunet link created - Easier to edit config files.
+- Before starting run gnunet-convert just in case config files were modified.
+
+Release 4
+
+- ~/gnunet is now the main directory (.gnunet is a link to this)
+  If the user wants to get rid of settings then this dir is easier to locate
+- CocoaDialogs for setup etc.
+
+Release 5
+
+- Fixed shell bug: PATH was not inherited to the new shell
+- Updated help page
+- removed & from gnunetd startup.
+- Added loglevel and keeplog configurations
+- config no longer automatically tries to stop & start gnunetd
+  It is better to do manually.
+

Added: GNUnet/contrib/OSX/TODO
===================================================================
--- GNUnet/contrib/OSX/TODO     2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/TODO     2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,6 @@
+TODO:
+
+- mysql
+- better configurator
+- write in modular form so that cocoaDialog can be easily replaced
+  with Xdialog, for example.

Added: GNUnet/contrib/OSX/gnunetmac-nox.txt
===================================================================
--- GNUnet/contrib/OSX/gnunetmac-nox.txt        2005-02-09 20:37:38 UTC (rev 
220)
+++ GNUnet/contrib/OSX/gnunetmac-nox.txt        2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,10 @@
+Apple X11 package not installed.
+
+Please download and install Apple's X11 package.
+
+It is available from:
+
+http://www.apple.com/macosx/features/x11/download/
+
+If you want to just run the command line utilities then X11 is not
+required.

Added: GNUnet/contrib/OSX/gnunetmac.txt
===================================================================
--- GNUnet/contrib/OSX/gnunetmac.txt    2005-02-09 20:37:38 UTC (rev 220)
+++ GNUnet/contrib/OSX/gnunetmac.txt    2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,206 @@
+Welcome to GNUnet 0.6.6 (CVS) for MacOS X 10.3.x !
+
+Installation:
+
+For most users the default values supplied by the installer will be
+sufficient. If you are behind a firewall then you may need to edit
+the gnunet.root file. For instructions see http://www.gnunet.org
+
+The installation will be created in ~/gnunet, where ~ refers to
+your home directory. The two relevant files are: gnunet.root and
+gnunet.conf. These files can be edited with textedit or with
+the graphical configuration utility (Configure option).
+
+The most important options in gnunet.root are:
+
+Network interface:        What is your active network interface?
+                          On most computers this will be either:
+                          en0 = Ethernet or en1 = Wireless LAN.
+                          In gnunet.root this setting correspond
+                          to two options: [NETWORK] INTERFACE
+                          and [LOAD] INTERFACE
+
+IP number:                Internet number of your computer.
+                          If you are using NAT and have mapped
+                          the gnunet ports to your computer then
+                          you should specify the IP address of
+                          your router here. Otherwise it should
+                          the IP address of your computer.
+                          If your IP address changes from time
+                          to time then you want to say NA here.
+                          This avoids setting the IP number
+                          to any fixed value. In gnunet.root
+                          this setting corresponds to
+                          [NETWORK] IP.
+
+How long is your IP valid  If your IP number changes from time
+                          to time then you may want to give
+                          gnunetd a hint how often this is
+                          expected to happen. 1440 = 10 days.
+                          In gnunet.root this corresponds to:
+                          [GNUNETD] HELOEXPIRES.
+
+Upstream bandwidth        Bandwidth limit for upstream traffic.
+                          Given in units of bytes/s. Set this
+                          value based on your internet connection.
+                          In gnunet.root this corresponds to:
+                          [LOAD] [MAXNETUPBPSTOTAL].
+
+Downstream bandwidth      Bandwidth limit for downstream traffic.
+                          Given in units of bytes/s. Set this
+                          value based on your internet connection.
+                          In gnunet.root this corresponds to:
+                          [LOAD] [MAXNETDOWNBPSTOTAL].
+
+Maximum CPU load          This is the maximum CPU load that lets
+                          gnunetd to run without dropping any
+                          traffic. Small number means less load
+                          to the system and larger number more
+                          load. Note that if you don't want any
+                          limits then set this to a large value
+                          (for example, 800). In gnunet.root this
+                          corresponds to: [LOAD] MAXCPULOAD.
+
+UDP port number                   UDP port number to use. If your ISP
+                          is blocking certain ports then you may
+                          want to change this. If you are using
+                          NAT then you want to make this port
+                          number to match your mapped port in
+                          the router. In gnunet.root this 
+                          corresponds to: [UDP] PORT.
+
+TCP port number                   TCP port number to use. If your ISP
+                          is blocking certain ports then you may
+                          want to change this. If you are using
+                          NAT then you want to make this port
+                          number to match your mapped port in
+                          the router. In gnunet.root this
+                          corresponds to: [TCP] PORT.
+
+Limited connectivity      Set this to YES if you are behind
+                          a firewall and to NO if not.
+                          In gnunet.root this corresponds to:
+                          [NAT] LIMITED.
+
+Anon. file sharing quota   How much disk space is allocated for
+                          storing GNUnet data. This space is
+                          only used for full inserts and migrated
+                          data. Thus it does not have to correspond
+                          to the amount you of data you want to
+                          share. The units are in megabytes.
+                          Typically few megabytes is sufficient
+                          unless you will be doing full inserts.
+                          In gnunet.root this corresponds to:
+                          [AFS] DISKQUOTA.
+
+Anon. receive level       Anonymity level for receving data.
+                          If the value v # is < 1000, it means that
+                          if GNUnet routes n bytes of messages from
+                          # foreign peers, it may originate n/v bytes
+                          of queries in the same # time-period. The
+                          time-period is twice the average delay that
+                          GNUnet # deferrs forwarded queries. If the
+                          value v is >= 1000, it means that if GNUnet 
+                          routes n bytes of QUERIES from at least (v
+                          % 1000) peers, it may originate n/v/1000
+                          bytes of queries in the same time-period.
+                          The default is 0 and this should be fine 
+                          for most users. Also notice that if you 
+                          choose values above 1000, you may end up
+                          having no throughput at all, especially if 
+                          many of your fellow GNUnet-peers do the same.
+                          This corresponds to gnunet.root setting:
+                          [AFS] ANONYMITY-SEND option.
+
+Anon. send level          Anonymity level for sending data. See
+                          above. This corresponds to gnunet.root
+                          setting: [AFS] ANONYMITY-RECEIVE option.
+
+Active content migration   Should we participate in content
+                                  migration? If you say yes here, GNUnet
+                          will migrate content to your server, and
+                          you will not be able to control what data
+                          is stored on your  machine. This option
+                          has advantages and disadvantages. If you
+                          activate it, you can claim for *all*
+                          the non-indexed (-n to gnunet-insert)
+                           content that you did not know
+                          what it was even if an adversary takes
+                          control of your machine. If you do not
+                          activate it, it is obvious that you have
+                          knowledge of all the content that is hosted
+                          on your machine and thus can be considered
+                          liable for it. This corresponds to the
+                          gnunet.root setting: 
+                          [AFS] [ACTIVEMIGRATION].
+
+Index quota               Space allocated for storing the index.
+                          8192 is a good number. This corresponds
+                          to the gnunet.root setting:
+                          [AFS] [INDEX-QUOTA].
+
+Log level                 Which gnunetd messages to log:
+                          nothing, fatal, error, failure, warning,
+                          message, info, ...
+                          Making gnunetd more verbose will cause
+                          the log file to grow.
+                          This corresponds to the gnunet.root
+                          setting: [GNUNETD] LOGLEVEL.
+
+Log rotation              Rotate log files? If 0 no rotation is
+                          performed. If you specify a value 
+                          greater than zero, a log is created each
+                          day with the date appended to its filename.
+                          These logs are deleted after given # of days.
+
+The gnunet.conf file:
+
+Search timeout            Time out in seconds for gnunet-search
+                                  command. This corresponds to
+                          [AFS] SEARCHTIMEOUT setting in
+                          gnunet.conf.
+
+Usage:
+
+GNUnet consists of server (gnunetd) and client programs. The
+server will run in background and is usually started automatically
+when necessary. If configuration files are changed then the server
+process must be restarted. For most parts the graphical interface
+will do this automatically.
+
+The GNUnet graphical user interface uses X windows system (X11)
+and assumes that a three button mouse is available. Usethe  alt
+and apple keys to access second and third mouse buttons. 
+
+The command line utilities can be found from directory: 
+GNUnet.app/Contents/MacOS/bin. Alternatively you can launch a
+shell from the GNUnet menu, which will automatically set the path
+correctly. The commands are:
+
+gnunet-search <keyword>
+gnunet-download <URI>
+gnunet-peer-info
+gnunet-stats
+gnunet-insert <file>
+
+For more information, see the manual pages located in:
+GNUnet.app/Contents/MacOS/man
+
+Downloads will be placed in the gnunet-downloads directory in your
+home directory.
+
+Acknowledgements:
+
+- GNUnet 0.6.6 (http://www.gnunet.org)
+- Exctractor 4.0 (http://www.gnunet.org)
+- Libgrypt 1.2.1 (http://www.gnu.org)
+- gmp 4.1.3 (via Fink; http://fink.sourceforge.net)
+- GTK 2.4.14 (via Fink; http://fink.sourceforge.net)
+- libiconv 1.9.2 (via Fink; http://fink.sourceforge.net)
+- libncurses 5.4 (via Fink; http://fink.sourceforge.net)
+- GDBM 1.8 (via Fink; http://fink.sourceforge.net)
+- Sqlite 3 (via http://www.sqlite.org)
+- CocoaDialog (via http://cocoadialog.sourceforge.net)
+
+The GPL COPYING file is included with the application and can be
+found from GNUnet.app/Contents/MacOS/doc/COPYING

Modified: branches/GNUnet06/ChangeLog
===================================================================
--- branches/GNUnet06/ChangeLog 2005-02-09 20:37:38 UTC (rev 220)
+++ branches/GNUnet06/ChangeLog 2005-02-09 20:47:45 UTC (rev 221)
@@ -1,3 +1,6 @@
+Wed Feb  9 13:33:38 EST 2005
+        Fixed problems with the logrotate code.
+
 Sun Jan 11 19:58:13 CET 2005
        Releasing GNUnet 0.6.6
 

Modified: branches/GNUnet06/configure.ac
===================================================================
--- branches/GNUnet06/configure.ac      2005-02-09 20:37:38 UTC (rev 220)
+++ branches/GNUnet06/configure.ac      2005-02-09 20:47:45 UTC (rev 221)
@@ -21,8 +21,8 @@
 #
 #
 AC_PREREQ(2.57)
-AC_INIT([GNUnet], [0.6.6],address@hidden)
-AM_INIT_AUTOMAKE([GNUnet], [0.6.6])
+AC_INIT([GNUnet], [0.6.6a],address@hidden)
+AM_INIT_AUTOMAKE([GNUnet], [0.6.6a])
 AM_CONFIG_HEADER([config.h])
 
 AH_TOP([#define _GNU_SOURCE  1])

Added: branches/GNUnet06/contrib/OSX/GNUnet
===================================================================
--- branches/GNUnet06/contrib/OSX/GNUnet        2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/GNUnet        2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,108 @@
+#!/bin/bash
+#
+# Main task dialog.
+#
+# 0) Start / stop gnunetd
+# 1) Start graphical UI (with starting gnunetd if required)
+# 2) Start a shell with gnunet commands in path
+# 3) Run configuration utility
+# 4) Run help
+# 5) Download Apple's X11 package
+# 6) Check for updates
+# 7) View recent log entries
+
+# Locate install directory
+
+ROOTDIR=`dirname $0`
+
+if [ `echo $ROOTDIR | cut -c1` = . ]; then
+  ROOTDIR=`pwd`
+fi
+
+if [ ! -d $ROOTDIR ]; then
+  echo "Can't locate GNUnet rootdir."
+  exit 0
+fi
+
+export ROOTDIR
+
+. $ROOTDIR/GNUnet-funcs
+
+gnetconf
+
+checkversion
+
+pango
+
+while true; do
+  cgnunetd
+  if [ $pid != 0 ]; then
+    gnet="Stop gnunetd"
+  else
+    gnet="Start gnunetd"
+  fi
+
+  sel=`$CD dropdown --text "Select function" --items "$gnet" "Start graphical 
UI" "Start a shell for gnunet commands" "Configure" "Help" "Download X11 from 
Apple" "Check for updates" "View gnunetd log file" --button1 "Run" --button2 
"Quit"`
+  button=`echo $sel | cut -d\  -f1`
+  select=`echo $sel | cut -d\  -f2`
+
+  if [ $button = 2 ]; then
+    exit 0
+  fi
+
+  if [ $select = 0 ]; then
+    cgnunetd
+    if [ $pid = 0 ]; then
+      $ROOTDIR/bin/gnunetd
+    else
+      kill $pid
+    fi
+    sleep 5
+  fi
+
+  if [ $select = 1 ]; then
+    cgnunetd
+    if [ $pid = 0 ]; then
+      $ROOTDIR/bin/gnunetd
+    fi
+    if [ ! -d /usr/X11R6 ]; then
+      $CD textbox --title "X11 not installed" --text-from-file 
$ROOTDIR/doc/gnunetmac-nox.txt --button1 Cancel
+    else
+      /usr/bin/open-x11 $ROOTDIR/bin/gnunet-gtk
+    fi
+  fi
+
+  if [ $select = 2 ]; then
+    rm -f /tmp/tmp.$$
+    cat > /tmp/tmp.$$ <<EOF
+#!/bin/bash
+PATH=\$PATH:$ROOTDIR/bin; export PATH
+exec \`nidump passwd . | egrep ^\$USER: | cut -d: -f10\`
+EOF
+    chmod +x /tmp/tmp.$$
+    /usr/bin/open -a /Applications/Utilities/Terminal.app /tmp/tmp.$$
+  fi
+
+  if [ $select = 3 ]; then
+    $ROOTDIR/GNUnet-config
+  fi
+
+  if [ $select = 4 ]; then
+    $CD textbox --title "Welcome" --text-from-file $ROOTDIR/doc/gnunetmac.txt 
--button1 OK
+  fi
+
+  if [ $select = 5 ]; then
+    open /Applications/Safari.app 
http://www.apple.com/macosx/features/x11/download/
+  fi
+
+  if [ $select = 6 ]; then
+    open /Applications/Safari.app http://www.chem.jyu.fi/~eloranta/GNUnet.html
+  fi
+
+  if [ $select = 7 ]; then
+    open -e ~/gnunet/logs
+  fi
+done
+
+# not reached
+


Property changes on: branches/GNUnet06/contrib/OSX/GNUnet
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/GNUnet-config
===================================================================
--- branches/GNUnet06/contrib/OSX/GNUnet-config 2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/GNUnet-config 2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,141 @@
+#!/bin/bash
+#
+# GNUnet configuration utility.
+#
+
+# Locate install directory
+
+ROOTDIR=`dirname $0`
+
+if [ ! -d $ROOTDIR ]; then
+  cd ..
+  ROOTDIR=`pwd`
+fi
+
+if [ ! -d $ROOTDIR ]; then
+  echo "Can't locate GNUnet ROOTDIR."
+  exit 0
+fi
+
+export ROOTDIR
+
+. $ROOTDIR/GNUnet-funcs
+
+cr=~/gnunet/gnunet.root
+cu=~/gnunet/gnunet.conf
+
+while true; do
+  sel=`$CD dropdown --text "Select function" --items "Edit GNUnet daemon 
config" "Edit GNUnet client config" "Update GNUnet database to current version" 
"Remove GNUnet configuration/index" --button1 "Run" --button2 "Back"`
+  button=`echo $sel | cut -d\  -f1`
+  select=`echo $sel | cut -d\  -f2`
+
+  if [ $button = 2 ]; then
+    exit 0
+  fi
+
+  if [ $select = 0 ]; then
+# gnunetd already killed - proceed with config
+    getconf $cr NETWORK INTERFACE
+    cv=`$CD inputbox --text $cv --informative-text "Network interface name" 
--button1 OK | tail -1`
+    editconf ~/gnunet/gnunet.conf NETWORK INTERFACE $cv
+    editconf ~/gnunet/gnunet.conf LOAD INTERFACES $cv
+    in=$cv
+  
+# Can't be done for all keywords (MAXNET* will appear twice, for example)
+    getconf $cr NETWORK IP
+    if [ "$cv" = "" ]; then
+      cv=`ifconfig $in | grep inet\  | cut -f2 | cut -d\  -f2`
+    fi
+    cv=`$CD inputbox --text $cv --informative-text "What is your IP number (IP 
or NA)?" --button1 OK | tail -1`
+    if [ $cv != "NA" -a $cv != "na" ]; then
+      uncomm $cr NETWORK IP
+      editconf $cr NETWORK IP $cv
+    else
+      comm $cr NETWORK IP
+    fi
+  
+    getconf $cr GNUNETD HELOEXPIRES
+    cv=`$CD inputbox --text $cv --informative-text "How many minutes is your 
IP valid?" --button1 OK | tail -1`
+    editconf $cr GNUNETD HELOEXPIRES $cv
+
+    getconf $cr LOAD MAXNETUPBPSTOTAL
+    cv=`$CD inputbox --text $cv --informative-text "Upstream bandwidth 
(bytes/s)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXNETUPBPSTOTAL $cv
+
+    getconf $cr LOAD MAXNETDOWNBPSTOTAL
+    cv=`$CD inputbox --text $cv --informative-text "Downstream bandwidth 
(bytes/s)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXNETDOWNBPSTOTAL $cv
+
+    getconf $cr LOAD MAXCPULOAD
+    cv=`$CD inputbox --text $cv --informative-text "Maximum tolerated CPU load 
(%)" --button1 OK | tail -1`
+    editconf $cr LOAD MAXCPULOAD $cv
+
+    getconf $cr UDP PORT
+    cv=`$CD inputbox --text $cv --informative-text "UDP port number to use" 
--button1 OK | tail -1`
+    editconf $cr UDP PORT $cv
+
+    getconf $cr TCP PORT
+    cv=`$CD inputbox --text $cv --informative-text "TCP port number to use" 
--button1 OK | tail -1`
+    editconf $cr TCP PORT $cv
+
+    getconf $cr NAT LIMITED
+    cv=`$CD inputbox --text $cv --informative-text "Limited connectivity 
(NAT/firewall; yes or no)?" --button1 OK | tail -1`
+    editconf $cr NAT LIMITED $cv
+
+    getconf $cr AFS DISKQUOTA
+    cv=`$CD inputbox --text $cv --informative-text "Anonymous file sharing 
quota (megabytes)" --button1 OK | tail -1`
+    editconf $cr AFS DISKQUOTA $cv
+
+    getconf $cr AFS ANONYMITY-RECEIVE
+    cv=`$CD inputbox --text $cv --informative-text "Anonymity receive level (# 
of relaying nodes)?" --button1 OK | tail -1`
+    editconf $cr AFS ANONYMITY-RECEIVE $cv
+
+    getconf $cr AFS ANONYMITY-SEND
+    cv=`$CD inputbox --text $cv --informative-text "Anonymity send level (# of 
relaying nodes)?" --button1 OK | tail -1`
+    editconf $cr AFS ANONYMITY-SEND $cv
+
+    getconf $cr AFS ACTIVEMIGRATION
+    cv=`$CD inputbox --text $cv --informative-text "Active content migration? 
(yes or no)" --button1 OK | tail -1`
+    editconf $cr AFS ACTIVEMIGRATION $cv
+
+    getconf $cr AFS INDEX-QUOTA
+    cv=`$CD inputbox --text $cv --informative-text "Index quota? (# of 
entries)?" --button1 OK | tail -1`
+    editconf $cr AFS INDEX-QUOTA $cv
+
+    getconf $cr GNUNETD LOGLEVEL
+    cv=`$CD inputbox --text $cv --informative-text "Loglevel 
(NOTHING,FATAL,ERROR,FAILURE,WARNING,MESSAGE,INFO)?" --button1 OK | tail -1`
+    editconf $cr GNUNETD LOGLEVEL $cv
+
+# FIXME: There is a problem with KEEPLOG. WHen gnunetd starts it wipes
+# out all the files from ~/gnunet directory !!!!
+#    getconf $cr GNUNETD KEEPLOG
+#    cv=`$CD inputbox --text $cv --informative-text "Log rotation (0 = 
disable, otherwise rotate logs)?" --button1 OK | tail -1`
+#    editconf $cr GNUNETD KEEPLOG $cv
+
+    cv=`$CD msgbox --text "About to run gnunet-convert - this may take some 
time!" --button1 "OK" --button2 "Cancel"`
+    if [ $cv = 1 ]; then 
+      $ROOTDIR/bin/gnunet-convert -c ~/gnunet/gnunet.root
+      $CD msgbox --text "gnunet-convert done!" --button1 "OK"
+    fi
+  fi
+
+  if [ $select = 1 ]; then
+    getconf $cu AFS SEARCHTIMEOUT
+    cv=`$CD inputbox --text $cv --informative-text "Search timeout? (s)?" 
--button1 OK | tail -1`
+    editconf $cu AFS SEARCHTIMEOUT $cv  
+  fi
+
+  if [ $select = 2 ]; then
+    $ROOTDIR/bin/gnunet-update -c ~/gnunet/gnunet.root
+    $CD msgbox --text "gnunet-update done!" --button1 "OK"
+    CURRENT=`$ROOTDIR/bin/gnunetd -v | cut -d\  -f2 | cut -c2-`
+    echo $CURRENT > ~/gnunet/VERSION
+  fi
+
+  if [ $select = 3 ]; then
+    rm -rf ~/gnunet
+    $CD msgbox --text "All configuration and file data removed!" --button1 "OK"
+  fi
+done
+
+# Not reached


Property changes on: branches/GNUnet06/contrib/OSX/GNUnet-config
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/GNUnet-funcs
===================================================================
--- branches/GNUnet06/contrib/OSX/GNUnet-funcs  2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/GNUnet-funcs  2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,154 @@
+#!/bin/bash
+#
+# Common functions
+#
+
+# Location of CocoaDialog
+
+CD=$ROOTDIR/CocoaDialog.app/Contents/MacOS/CocoaDialog
+export CD
+
+#
+# Set value for a given keyword
+#
+# $1 = config file name
+# $2 = section (without [])
+# $3 = config keyword
+# $4 = new value
+#
+# For some reason sed is having hard time with tabs (\t)
+# Work around: use tr to translate it to space.
+#
+# NOTE: These macros will fail for the last section since it does not contain 
the ending [ !!!!
+# Fortunately this is about DHT...   [FIXME]
+
+editconf () {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s!^$3 *=[^\n\r]*!$3 = $4!" > $1.tmp
+  mv -f $1.tmp $1
+}
+
+#
+# Get current value of given keyword
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword name
+cv=""
+getconf() {
+
+  cv=`tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^$3 *=+MARKERXX+" | fgrep 
MARKERXX | sed -e s/MARKERXX// | tr -d \ `
+}
+
+#
+# Make sure given keyword setting is not commented out
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword
+#
+uncomm() {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^# *$3 *=+$3 =+" > $1.tmp
+  mv $1.tmp $1
+}
+
+#
+# Make sure given keyword setting is commented out
+#
+# $1 = config file
+# $2 = section
+# $3 = keyword
+#
+comm() {
+
+  tr '\t' ' ' < $1 | sed -e "/^\[$2\]/,/^\[/s+^ *$3 *=+# $3 =+" > $1.tmp
+  mv $1.tmp $1
+}
+
+# If gnunet directory does not exist then generate new configuration
+gnetconf() {
+# Compatibility checks
+  if [ -d ~/.gnunet -a ! -d ~/gnunet ]; then
+    mv ~/.gnunet ~/gnunet
+  fi
+  if [ -d ~/.gnunet -a -h ~/gnunet ]; then
+    rm ~/gnunet
+    mv ~/.gnunet ~/gnunet
+  fi
+
+  if [ ! -d ~/gnunet ]; then
+    mkdir -p ~/gnunet
+    mkdir -p ~/gnunet/data
+    mkdir -p ~/gnunet/data/hosts
+    cp $ROOTDIR/hosts/* ~/gnunet/data/hosts > /dev/null 2>&1
+# These don't belong to any section
+    sed -e "/^GNUNETD_HOME/s-/var/lib/GNUnet-~/gnunet-" < 
$ROOTDIR/etc/gnunet.root > ~/gnunet/gnunet.root
+    sed -e "/^GNUNET_HOME/s-~/.gnunet-~/gnunet-" < $ROOTDIR/etc/gnunet.user > 
~/gnunet/gnunet.conf
+# Locate active network interface (e.g. en0 or en1)
+    act1=`ifconfig en0 2> /dev/null | grep inet | wc -l`
+    act2=`ifconfig en1 2> /dev/null | grep inet | wc -l`
+
+    if [ $act1 -gt 0 ]; then
+       in=en0
+    elif [ $act2 -gt 0 ]; then
+       in=en1
+    else
+       in=unknown
+    fi
+    ip=`ifconfig $in | grep inet\  | cut -f2 | cut -d\  -f2`
+    editconf ~/gnunet/gnunet.root NETWORK INTERFACE $in
+    editconf ~/gnunet/gnunet.root LOAD INTERFACES $in
+    editconf ~/gnunet/gnunet.root AFS DATABASETYPE sqlite
+  fi
+  rm ~/.gnunet
+  ln -sf ~/gnunet ~/.gnunet
+}
+
+# This function finds out if gnunetd is running
+# 0 = not running, 1 = running. Global variable pid gives the process pid.
+#
+pid=0
+cgnunetd() {
+
+  if [ -e ~/gnunet/gnunetd.pid ]; then
+    pid=`cat ~/gnunet/gnunetd.pid`
+    if [ `ps -p $pid | wc -l` == 2 ]; then
+      return
+    fi
+  fi
+  pid=0
+  return
+}
+
+#
+# Update Pango files
+#
+pango() {
+
+  mkdir -p ~/gnunet/pango
+  PANGO_RC_FILE=~/gnunet/pango/pango.rc
+  export PANGO_RC_FILE
+  cat << E_O_F > $PANGO_RC_FILE
+[Pango]
+ModuleFiles=$HOME/gnunet/pango/pango.modules
+E_O_F
+  cp $ROOTDIR/etc/pangox.aliases ~/gnunet/pango
+  pth=`fgrep ModulesPath $ROOTDIR/etc/pango.modules | cut -d\  -f4`
+  sed -e "s-$pth-$ROOTDIR/pango-g" < $ROOTDIR/etc/pango.modules > 
~/gnunet/pango/pango.modules
+}
+
+#
+# Track version changes
+#
+checkversion() {
+
+  CURRENT=`$ROOTDIR/bin/gnunetd -v | cut -d\  -f2 | cut -c2-`
+  if [ ! -f ~/gnunet/VERSION ]; then
+    echo $CURRENT > ~/gnunet/VERSION
+  fi
+  VERSION=`cat ~/gnunet/VERSION`
+  if [ $VERSION != $CURRENT ]; then
+    $CD msgbox --text "Version change detected! Please run Update GNUnet 
database in Configuration section" --button1 "OK"
+  fi
+}


Property changes on: branches/GNUnet06/contrib/OSX/GNUnet-funcs
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/GNUnet.icns
===================================================================
(Binary files differ)


Property changes on: branches/GNUnet06/contrib/OSX/GNUnet.icns
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/GNUnet06/contrib/OSX/History
===================================================================
--- branches/GNUnet06/contrib/OSX/History       2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/History       2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,37 @@
+Release 1:
+
+Initial release
+
+Release 2:
+
+- switched to libgcrypt due to some strange openssl problem (core dumps)
+- version numbering for binary packages
+- CVS version (incl. deadlock fix in transport.c)
+
+Release 3:
+
+- experimental sqlite 3.1 (passes tests, better performance)
+- GNUnet version checking: run gnunet-update when new version is installed
+- Application icon now displays correctly
+- libextractor 4.1
+- atk-1.8.0, glib-2.4.8, fontconfig-2.2.99, gtk+-2.4.14, gettext-0.14.1,
+  pango-1.6.0
+- insertion now works more or less with gnunet-gtk
+- gnunet -> .gnunet link created - Easier to edit config files.
+- Before starting run gnunet-convert just in case config files were modified.
+
+Release 4
+
+- ~/gnunet is now the main directory (.gnunet is a link to this)
+  If the user wants to get rid of settings then this dir is easier to locate
+- CocoaDialogs for setup etc.
+
+Release 5
+
+- Fixed shell bug: PATH was not inherited to the new shell
+- Updated help page
+- removed & from gnunetd startup.
+- Added loglevel and keeplog configurations
+- config no longer automatically tries to stop & start gnunetd
+  It is better to do manually.
+

Added: branches/GNUnet06/contrib/OSX/Info.plist
===================================================================
--- branches/GNUnet06/contrib/OSX/Info.plist    2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/Info.plist    2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
+<plist version="1.0">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>GNUnet</string>
+       <key>CFBundleIconFile</key>
+       <string>GNUnet</string>
+       <key>CFBundleIdentifier</key>
+       <string>com.apple._it.app</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleSignature</key>
+       <string>jme</string>
+       <key>CFBundleVersion</key>
+       <string>0.6.6.3 </string>
+       <key>NSMainNibFile</key>
+       <string>MainMenu</string>
+       <key>NSPrincipalClass</key>
+       <string>NSApplication</string>
+</dict>
+</plist>

Added: branches/GNUnet06/contrib/OSX/Makefile
===================================================================
--- branches/GNUnet06/contrib/OSX/Makefile      2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/Makefile      2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,5 @@
+all:
+       ./build_app
+
+clean:
+       -rm -rf GNUnet.app GNUnet.dmg *~

Added: branches/GNUnet06/contrib/OSX/README
===================================================================
--- branches/GNUnet06/contrib/OSX/README        2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/README        2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,24 @@
+Few notes:
+
+1. Running make will produce .app of GNUnet and dmg image containing the 
application.
+
+2. To compile you will need bunch of stuff from fink 
(http://fink.sourceforge.net).
+
+3. Since native GTK+2 does not exist, we have to rely on X11.
+
+4. build_app is quite a hack! It first compiles as everything were to go
+  under /usr/local. Then it uses install_name_tool etc. to relocate shared
+  lib paths in executables and shared libs. It does all this by producing 
suitable
+  directory stucture for .app. Patching all the binaries
+  takes some time - be patient when running make. All the necessary shared libs
+  will be picked up from fink ($SW variable in build_app).
+  Can someone check Info.plist? I don't think it sets the icon correctly?
+
+5. Better hostlist mechanism. For some reason, esp. behind a firewall,
+the gnunetd hostlist mechanism does not get you anywhere. Hack:
+I am including a static list with the App :-(
+
+6. Added some dialogs etc. which rely on http://cocoadialog.sourceforge.net
+   (assumed to be in ~/Applications directory)
+
+Jussi Eloranta (address@hidden)

Added: branches/GNUnet06/contrib/OSX/TODO
===================================================================
--- branches/GNUnet06/contrib/OSX/TODO  2005-02-09 20:37:38 UTC (rev 220)
+++ branches/GNUnet06/contrib/OSX/TODO  2005-02-09 20:47:45 UTC (rev 221)
@@ -0,0 +1,6 @@
+TODO:
+
+- mysql
+- better configurator
+- write in modular form so that cocoaDialog can be easily replaced
+  with Xdialog, for example.

Added: branches/GNUnet06/contrib/OSX/build_app
===================================================================
--- branches/GNUnet06/contrib/OSX/build_app     2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/build_app     2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+# This script should be run in the OSX subdirectory.
+# It will then produce MacOS X Finder application diretory
+# structure and make all the executables relocatable.
+
+# Fink root
+SW=/sw; export SW
+
+# Location of Cocoadialog
+CD=~/Applications; export CD
+
+# Fix a given executable or library to be relocatable
+
+fixlib () {
+
+if [ ! -d $1 ]; then
+  libs="`otool -L $1 | fgrep compatibility | cut -d\( -f1`"
+  for lib in $libs; do
+    base=`echo $lib | awk -F/ '{print $NF}'`
+    first=`echo $lib | cut -d/ -f1-3`
+    address@hidden/../lib/$base
+    if [ $first != /usr/lib -a $first != /usr/X11R6 ]; then
+      /usr/bin/install_name_tool -change $lib $to $1
+      if [ "`echo $lib | fgrep libcrypto`" = "" ]; then
+        /usr/bin/install_name_tool -id $to ../lib/$base
+        for ll in $libs; do
+          base=`echo $ll | awk -F/ '{print $NF}'`
+          first=`echo $ll | cut -d/ -f1-3`
+          address@hidden/../lib/$base
+          if [ $first != /usr/lib -a $first != /usr/X11R6 -a "`echo $ll | 
fgrep libcrypto`" = "" ]; then
+            /usr/bin/install_name_tool -change $ll $to ../lib/$base
+          fi
+        done
+      fi
+    fi
+  done
+fi
+}
+
+#
+# First install everything in /tmp
+# 
+rm -rf /tmp/GNUnet
+mkdir /tmp/GNUnet
+
+cd ../..
+# TODO: issues with gcrypt vs. openssl. The latter causes gnunetd to core dump
+# in some cases. Do we still need to disable gettext?
+# ./configure --with-gdbm --without-mysql --without-bdb --with-sqlite=$SW 
--with-crypto=$SW --disable-nls
+./configure --with-gdbm --without-mysql --without-bdb --with-sqlite=$SW 
--disable-nls
+make
+make install prefix=/tmp/GNUnet
+cd contrib/OSX
+
+echo "Compilation done. Patching executables and libraries - wait -"
+
+# TODO: set icon (SetFile?) - now must be done in Finder
+rm -rf GNUnet.app
+mkdir GNUnet.app
+mkdir GNUnet.app/Contents
+mkdir GNUnet.app/Contents/{MacOS,Resources}
+mkdir GNUnet.app/Contents/MacOS/{bin,doc,etc,lib,man,hosts}
+cp GNUnet.icns GNUnet.app/Contents/Resources
+cp Info.plist GNUnet.app/Contents
+cp GNUnet GNUnet-* GNUnet.app/Contents/MacOS
+cp -r /tmp/GNUnet/man GNUnet.app/Contents/MacOS
+cp /tmp/GNUnet/bin/* GNUnet.app/Contents/MacOS/bin
+mv GNUnet.app/Contents/MacOS/bin/gnunet-gtk 
GNUnet.app/Contents/MacOS/bin/gnunet-gtk.wrap
+mv GNUnet.app/Contents/MacOS/bin/gnunetd 
GNUnet.app/Contents/MacOS/bin/gnunetd.wrap
+mv GNUnet.app/Contents/MacOS/bin/gnunet-peer-info 
GNUnet.app/Contents/MacOS/bin/gnunet-peer-info.wrap
+cp {gnunet-gtk,gnunetd,gnunet-peer-info} GNUnet.app/Contents/MacOS/bin
+cp /tmp/GNUnet/lib/* GNUnet.app/Contents/MacOS/lib
+cp ../gnunet.root GNUnet.app/Contents/MacOS/etc/gnunet.root
+cp ../gnunet.user GNUnet.app/Contents/MacOS/etc/gnunet.user
+cp $SW/etc/pango/* GNUnet.app/Contents/MacOS/etc
+pth=`fgrep ModulesPath $SW/etc/pango/pango.modules | cut -d\  -f4`
+cp -r $pth GNUnet.app/Contents/MacOS/pango
+cp ../../COPYING GNUnet.app/Contents/MacOS/doc
+cp *.txt GNUnet.app/Contents/MacOS/doc
+cp hosts/* GNUnet.app/Contents/MacOS/hosts > /dev/null 2>&1
+
+# Include Cocoadialog 
+cp -r $CD/CocoaDialog.app GNUnet.app/Contents/MacOS
+cp GNUnet.icns 
GNUnet.app/Contents/MacOS/CocoaDialog.app/Contents/Resources/cocoaDialog.icns
+
+# Find out libs we need from fink (e.g. $SW) - loop until no changes
+a=1
+nfiles=0
+endl=true
+while $endl; do
+  echo "Looking for dependencies. Round " $a
+  libs="`otool -L GNUnet.app/Contents/MacOS/{bin,lib}/* 2> /dev/null | fgrep 
compatibility | cut -d\( -f1 | grep $SW | sort | uniq`"
+  cp -f $libs GNUnet.app/Contents/MacOS/lib
+  let "a+=1"  
+  nnfiles=`ls GNUnet.app/Contents/MacOS/lib | wc -l`
+  if [ $nnfiles = $nfiles ]; then
+    endl=false
+  else
+    nfiles=$nnfiles
+  fi
+done
+
+# Libcrypto comes with the system + fink version does not allow 
install_name_tool
+rm -f GNUnet.app/Contents/MacOS/lib/*.la 
GNUnet.app/Contents/MacOS/lib/libcrypto*
+
+# Fix shared lib paths in executables and shared libs
+cd GNUnet.app/Contents/MacOS/bin
+for file in *; do
+  fixlib $file
+done
+cd ../lib
+for file in *; do
+  fixlib $file
+done
+cd ../pango
+for file in *.so; do
+  fixlib $file
+done
+cd ../../../..
+
+# create dmg image
+/usr/bin/hdiutil create -srcfolder GNUnet.app GNUnet.dmg
+echo "Done."
+exit 0


Property changes on: branches/GNUnet06/contrib/OSX/build_app
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/gnunet-gtk
===================================================================
--- branches/GNUnet06/contrib/OSX/gnunet-gtk    2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/gnunet-gtk    2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+PANGO_RC_FILE=~/.gnunet/pango/pango.rc
+export PANGO_RC_FILE
+LD_LIBRARY_PATH=`dirname $0`/../lib
+export LD_LIBRARY_PATH
+
+exec $LD_LIBRARY_PATH/../bin/gnunet-gtk.wrap $*


Property changes on: branches/GNUnet06/contrib/OSX/gnunet-gtk
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/gnunet-peer-info
===================================================================
--- branches/GNUnet06/contrib/OSX/gnunet-peer-info      2005-02-09 20:37:38 UTC 
(rev 220)
+++ branches/GNUnet06/contrib/OSX/gnunet-peer-info      2005-02-09 20:47:45 UTC 
(rev 221)
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+LD_LIBRARY_PATH=`dirname $0`/../lib
+export LD_LIBRARY_PATH
+exec $LD_LIBRARY_PATH/../bin/gnunet-peer-info.wrap -c ~/gnunet/gnunet.root $*


Property changes on: branches/GNUnet06/contrib/OSX/gnunet-peer-info
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/gnunetd
===================================================================
--- branches/GNUnet06/contrib/OSX/gnunetd       2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/gnunetd       2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+LD_LIBRARY_PATH=`dirname $0`/../lib
+export LD_LIBRARY_PATH
+exec $LD_LIBRARY_PATH/../bin/gnunetd.wrap -c ~/gnunet/gnunet.root $*


Property changes on: branches/GNUnet06/contrib/OSX/gnunetd
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/GNUnet06/contrib/OSX/gnunetmac-nox.txt
===================================================================
--- branches/GNUnet06/contrib/OSX/gnunetmac-nox.txt     2005-02-09 20:37:38 UTC 
(rev 220)
+++ branches/GNUnet06/contrib/OSX/gnunetmac-nox.txt     2005-02-09 20:47:45 UTC 
(rev 221)
@@ -0,0 +1,10 @@
+Apple X11 package not installed.
+
+Please download and install Apple's X11 package.
+
+It is available from:
+
+http://www.apple.com/macosx/features/x11/download/
+
+If you want to just run the command line utilities then X11 is not
+required.

Added: branches/GNUnet06/contrib/OSX/gnunetmac.txt
===================================================================
--- branches/GNUnet06/contrib/OSX/gnunetmac.txt 2005-02-09 20:37:38 UTC (rev 
220)
+++ branches/GNUnet06/contrib/OSX/gnunetmac.txt 2005-02-09 20:47:45 UTC (rev 
221)
@@ -0,0 +1,206 @@
+Welcome to GNUnet 0.6.6 (CVS) for MacOS X 10.3.x !
+
+Installation:
+
+For most users the default values supplied by the installer will be
+sufficient. If you are behind a firewall then you may need to edit
+the gnunet.root file. For instructions see http://www.gnunet.org
+
+The installation will be created in ~/gnunet, where ~ refers to
+your home directory. The two relevant files are: gnunet.root and
+gnunet.conf. These files can be edited with textedit or with
+the graphical configuration utility (Configure option).
+
+The most important options in gnunet.root are:
+
+Network interface:        What is your active network interface?
+                          On most computers this will be either:
+                          en0 = Ethernet or en1 = Wireless LAN.
+                          In gnunet.root this setting correspond
+                          to two options: [NETWORK] INTERFACE
+                          and [LOAD] INTERFACE
+
+IP number:                Internet number of your computer.
+                          If you are using NAT and have mapped
+                          the gnunet ports to your computer then
+                          you should specify the IP address of
+                          your router here. Otherwise it should
+                          the IP address of your computer.
+                          If your IP address changes from time
+                          to time then you want to say NA here.
+                          This avoids setting the IP number
+                          to any fixed value. In gnunet.root
+                          this setting corresponds to
+                          [NETWORK] IP.
+
+How long is your IP valid  If your IP number changes from time
+                          to time then you may want to give
+                          gnunetd a hint how often this is
+                          expected to happen. 1440 = 10 days.
+                          In gnunet.root this corresponds to:
+                          [GNUNETD] HELOEXPIRES.
+
+Upstream bandwidth        Bandwidth limit for upstream traffic.
+                          Given in units of bytes/s. Set this
+                          value based on your internet connection.
+                          In gnunet.root this corresponds to:
+                          [LOAD] [MAXNETUPBPSTOTAL].
+
+Downstream bandwidth      Bandwidth limit for downstream traffic.
+                          Given in units of bytes/s. Set this
+                          value based on your internet connection.
+                          In gnunet.root this corresponds to:
+                          [LOAD] [MAXNETDOWNBPSTOTAL].
+
+Maximum CPU load          This is the maximum CPU load that lets
+                          gnunetd to run without dropping any
+                          traffic. Small number means less load
+                          to the system and larger number more
+                          load. Note that if you don't want any
+                          limits then set this to a large value
+                          (for example, 800). In gnunet.root this
+                          corresponds to: [LOAD] MAXCPULOAD.
+
+UDP port number                   UDP port number to use. If your ISP
+                          is blocking certain ports then you may
+                          want to change this. If you are using
+                          NAT then you want to make this port
+                          number to match your mapped port in
+                          the router. In gnunet.root this 
+                          corresponds to: [UDP] PORT.
+
+TCP port number                   TCP port number to use. If your ISP
+                          is blocking certain ports then you may
+                          want to change this. If you are using
+                          NAT then you want to make this port
+                          number to match your mapped port in
+                          the router. In gnunet.root this
+                          corresponds to: [TCP] PORT.
+
+Limited connectivity      Set this to YES if you are behind
+                          a firewall and to NO if not.
+                          In gnunet.root this corresponds to:
+                          [NAT] LIMITED.
+
+Anon. file sharing quota   How much disk space is allocated for
+                          storing GNUnet data. This space is
+                          only used for full inserts and migrated
+                          data. Thus it does not have to correspond
+                          to the amount you of data you want to
+                          share. The units are in megabytes.
+                          Typically few megabytes is sufficient
+                          unless you will be doing full inserts.
+                          In gnunet.root this corresponds to:
+                          [AFS] DISKQUOTA.
+
+Anon. receive level       Anonymity level for receving data.
+                          If the value v # is < 1000, it means that
+                          if GNUnet routes n bytes of messages from
+                          # foreign peers, it may originate n/v bytes
+                          of queries in the same # time-period. The
+                          time-period is twice the average delay that
+                          GNUnet # deferrs forwarded queries. If the
+                          value v is >= 1000, it means that if GNUnet 
+                          routes n bytes of QUERIES from at least (v
+                          % 1000) peers, it may originate n/v/1000
+                          bytes of queries in the same time-period.
+                          The default is 0 and this should be fine 
+                          for most users. Also notice that if you 
+                          choose values above 1000, you may end up
+                          having no throughput at all, especially if 
+                          many of your fellow GNUnet-peers do the same.
+                          This corresponds to gnunet.root setting:
+                          [AFS] ANONYMITY-SEND option.
+
+Anon. send level          Anonymity level for sending data. See
+                          above. This corresponds to gnunet.root
+                          setting: [AFS] ANONYMITY-RECEIVE option.
+
+Active content migration   Should we participate in content
+                                  migration? If you say yes here, GNUnet
+                          will migrate content to your server, and
+                          you will not be able to control what data
+                          is stored on your  machine. This option
+                          has advantages and disadvantages. If you
+                          activate it, you can claim for *all*
+                          the non-indexed (-n to gnunet-insert)
+                           content that you did not know
+                          what it was even if an adversary takes
+                          control of your machine. If you do not
+                          activate it, it is obvious that you have
+                          knowledge of all the content that is hosted
+                          on your machine and thus can be considered
+                          liable for it. This corresponds to the
+                          gnunet.root setting: 
+                          [AFS] [ACTIVEMIGRATION].
+
+Index quota               Space allocated for storing the index.
+                          8192 is a good number. This corresponds
+                          to the gnunet.root setting:
+                          [AFS] [INDEX-QUOTA].
+
+Log level                 Which gnunetd messages to log:
+                          nothing, fatal, error, failure, warning,
+                          message, info, ...
+                          Making gnunetd more verbose will cause
+                          the log file to grow.
+                          This corresponds to the gnunet.root
+                          setting: [GNUNETD] LOGLEVEL.
+
+Log rotation              Rotate log files? If 0 no rotation is
+                          performed. If you specify a value 
+                          greater than zero, a log is created each
+                          day with the date appended to its filename.
+                          These logs are deleted after given # of days.
+
+The gnunet.conf file:
+
+Search timeout            Time out in seconds for gnunet-search
+                                  command. This corresponds to
+                          [AFS] SEARCHTIMEOUT setting in
+                          gnunet.conf.
+
+Usage:
+
+GNUnet consists of server (gnunetd) and client programs. The
+server will run in background and is usually started automatically
+when necessary. If configuration files are changed then the server
+process must be restarted. For most parts the graphical interface
+will do this automatically.
+
+The GNUnet graphical user interface uses X windows system (X11)
+and assumes that a three button mouse is available. Usethe  alt
+and apple keys to access second and third mouse buttons. 
+
+The command line utilities can be found from directory: 
+GNUnet.app/Contents/MacOS/bin. Alternatively you can launch a
+shell from the GNUnet menu, which will automatically set the path
+correctly. The commands are:
+
+gnunet-search <keyword>
+gnunet-download <URI>
+gnunet-peer-info
+gnunet-stats
+gnunet-insert <file>
+
+For more information, see the manual pages located in:
+GNUnet.app/Contents/MacOS/man
+
+Downloads will be placed in the gnunet-downloads directory in your
+home directory.
+
+Acknowledgements:
+
+- GNUnet 0.6.6 (http://www.gnunet.org)
+- Exctractor 4.0 (http://www.gnunet.org)
+- Libgrypt 1.2.1 (http://www.gnu.org)
+- gmp 4.1.3 (via Fink; http://fink.sourceforge.net)
+- GTK 2.4.14 (via Fink; http://fink.sourceforge.net)
+- libiconv 1.9.2 (via Fink; http://fink.sourceforge.net)
+- libncurses 5.4 (via Fink; http://fink.sourceforge.net)
+- GDBM 1.8 (via Fink; http://fink.sourceforge.net)
+- Sqlite 3 (via http://www.sqlite.org)
+- CocoaDialog (via http://cocoadialog.sourceforge.net)
+
+The GPL COPYING file is included with the application and can be
+found from GNUnet.app/Contents/MacOS/doc/COPYING

Modified: branches/GNUnet06/contrib/doxygen
===================================================================
--- branches/GNUnet06/contrib/doxygen   2005-02-09 20:37:38 UTC (rev 220)
+++ branches/GNUnet06/contrib/doxygen   2005-02-09 20:47:45 UTC (rev 221)
@@ -23,7 +23,7 @@
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.6.6
+PROJECT_NUMBER         = 0.6.6a
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 





reply via email to

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