[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r221 - GNUnet/contrib/OSX branches/GNUnet06 branches/GNUnet06/contrib branches/GNUnet06/contrib/OSX,
grothoff <=