summaryrefslogtreecommitdiff
path: root/net-p2p/gnunet
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/gnunet')
-rw-r--r--net-p2p/gnunet/Makefile18
-rw-r--r--net-p2p/gnunet/distinfo2
-rw-r--r--net-p2p/gnunet/files/patch-src-util::semaphore.c250
-rw-r--r--net-p2p/gnunet/pkg-plist4
4 files changed, 264 insertions, 10 deletions
diff --git a/net-p2p/gnunet/Makefile b/net-p2p/gnunet/Makefile
index 3af44de24eb1..a9488e6efaa0 100644
--- a/net-p2p/gnunet/Makefile
+++ b/net-p2p/gnunet/Makefile
@@ -7,8 +7,7 @@
#
PORTNAME= gnunet
-PORTVERSION= 0.6.0
-PORTREVISION= 3
+PORTVERSION= 0.6.1
CATEGORIES= net
MASTER_SITES= http://www.ovmj.org/GNUnet/download/ \
${MASTER_SITE_GNU}
@@ -75,13 +74,14 @@ PLIST_SUB+= WITH_IPV6="@comment "
.endif
MAN1= gnunet-chat.1 gnunet-check.1 gnunet-convert.1 \
- gnunet-delete.1 gnunet-directory.1 gnunet-download.1 \
- gnunet-gtk.1 gnunet-insert.1 \
- gnunet-peer-info.1 gnunet-pseudonym-create.1 \
- gnunet-pseudonym-delete.1 gnunet-pseudonym-list.1 \
- gnunet-search.1 gnunet-search-sblock.1 gnunet-stats.1 \
- gnunet-tbench.1 gnunet-tracekit.1 \
- gnunet-transport-check.1 gnunetd.1
+ gnunet-delete.1 gnunet-directory-emptydb.1 gnunet-directory-listdb.1 \
+ gnunet-directory-print.1 gnunet-download.1 \
+ gnunet-gtk.1 gnunet-insert.1 gnunet-peer-info.1 \
+ gnunet-pseudonym-create.1 gnunet-pseudonym-delete.1 \
+ gnunet-pseudonym-list.1 gnunet-search-sblock.1 \
+ gnunet-search.1 gnunet-stats.1 gnunet-tbench.1 \
+ gnunet-testbed.1 gnunet-tracekit.1 gnunet-transport-check.1 \
+ gnunetd.1
MAN5= gnunet.conf.5
pre-everything::
diff --git a/net-p2p/gnunet/distinfo b/net-p2p/gnunet/distinfo
index f25dc9453cf8..69fa432fc4ab 100644
--- a/net-p2p/gnunet/distinfo
+++ b/net-p2p/gnunet/distinfo
@@ -1 +1 @@
-MD5 (GNUnet-0.6.0.tar.bz2) = 7ca228d22f68f46218420b5ec97a2d32
+MD5 (GNUnet-0.6.1.tar.bz2) = fcb6258966f0f384ec784d94539267bc
diff --git a/net-p2p/gnunet/files/patch-src-util::semaphore.c b/net-p2p/gnunet/files/patch-src-util::semaphore.c
new file mode 100644
index 000000000000..cf9ca75db105
--- /dev/null
+++ b/net-p2p/gnunet/files/patch-src-util::semaphore.c
@@ -0,0 +1,250 @@
+--- src/util/semaphore.c.orig Tue Dec 16 04:05:13 2003
++++ src/util/semaphore.c Mon Dec 29 19:14:47 2003
+@@ -644,45 +644,47 @@
+ filename,
+ linenumber);
+ #elif SOMEBSD || OSX
+- int cnt;
+-
++ {
++ int cnt;
++
+ #if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: up on IPC semaphore\n");
++ LOG(LOG_DEBUG,
++ "DEBUG: up on IPC semaphore\n");
+ #endif
+- MUTEX_LOCK(&sem->internalLock);
+- FLOCK(sem->fd, LOCK_EX);
+- LSEEK(sem->fd, 0, SEEK_SET);
+- if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
+- LOG(LOG_WARNING,
+- "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
+- STRERROR(errno),
+- __FILE__,
+- __LINE__);
+- MUTEX_UNLOCK(&sem->internalLock);
+- return;
+- }
+- cnt = htonl(ntohl(cnt)+1);
+- LSEEK(sem->fd, 0, SEEK_SET);
+- if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+- LOG(LOG_WARNING,
+- "WARNING: could not write to IPC file %s (%s) at %s:%d\n",
+- sem->filename,
+- STRERROR(errno),
+- __FILE__,
+- __LINE__);
++ MUTEX_LOCK(&sem->internalLock);
++ FLOCK(sem->fd, LOCK_EX);
++ LSEEK(sem->fd, 0, SEEK_SET);
++ if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
++ LOG(LOG_WARNING,
++ "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
++ STRERROR(errno),
++ __FILE__,
++ __LINE__);
++ MUTEX_UNLOCK(&sem->internalLock);
++ return;
++ }
++ cnt = htonl(ntohl(cnt)+1);
++ LSEEK(sem->fd, 0, SEEK_SET);
++ if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
++ LOG(LOG_WARNING,
++ "WARNING: could not write to IPC file %s (%s) at %s:%d\n",
++ sem->filename,
++ STRERROR(errno),
++ __FILE__,
++ __LINE__);
+ #if DEBUG_SEMUPDOWN
+- else
+- LOG(LOG_DEBUG,
+- "DEBUG: wrote count %d\n",
+- ntohl(cnt));
++ else
++ LOG(LOG_DEBUG,
++ "DEBUG: wrote count %d\n",
++ ntohl(cnt));
+ #endif
+- FLOCK(sem->fd, LOCK_UN);
+- MUTEX_UNLOCK(&sem->internalLock);
++ FLOCK(sem->fd, LOCK_UN);
++ MUTEX_UNLOCK(&sem->internalLock);
+ #if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: up on IPC semaphore returns\n");
++ LOG(LOG_DEBUG,
++ "DEBUG: up on IPC semaphore returns\n");
+ #endif
++ }
+ #else
+ #endif
+ }
+@@ -777,53 +779,55 @@
+ }
+ }
+ #elif SOMEBSD || OSX
+- int cnt;
+-
++ {
++ int cnt;
++
++#if DEBUG_SEMUPDOWN
++ LOG(LOG_DEBUG,
++ "DEBUG: down on IPC semaphore\n");
++#endif
++ MUTEX_LOCK(&sem->internalLock);
++ FLOCK(sem->fd, LOCK_EX);
++ cnt = ntohl(0);
++ while (htonl(cnt) == 0) {
++ LSEEK(sem->fd, 0, SEEK_SET);
++ if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
++ LOG(LOG_WARNING,
++ "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
++ STRERROR(errno),
++ __FILE__,
++ __LINE__);
++ FLOCK(sem->fd, LOCK_UN);
++ MUTEX_UNLOCK(&sem->internalLock);
++ return;
++ }
++ if (htonl(cnt) == 0) {
++ /* busy wait! */
++ FLOCK(sem->fd, LOCK_UN);
++ gnunet_util_sleep(50 * cronMILLIS);
+ #if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: down on IPC semaphore\n");
++ LOG(LOG_DEBUG,
++ "DEBUG: down on IPC semaphore: busy waiting...\n");
+ #endif
+- MUTEX_LOCK(&sem->internalLock);
+- FLOCK(sem->fd, LOCK_EX);
+- cnt = ntohl(0);
+- while (htonl(cnt) == 0) {
++ FLOCK(sem->fd, LOCK_EX);
++ }
++ }
++
++ cnt = htonl(ntohl(cnt)-1);
+ LSEEK(sem->fd, 0, SEEK_SET);
+- if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
++ if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+ LOG(LOG_WARNING,
+- "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
+- STRERROR(errno),
++ "WARNING: could not write update to IPC file %s at %s:%d\n",
++ sem->filename,
+ __FILE__,
+- __LINE__);
+- FLOCK(sem->fd, LOCK_UN);
+- MUTEX_UNLOCK(&sem->internalLock);
+- return;
+- }
+- if (htonl(cnt) == 0) {
+- /* busy wait! */
+- FLOCK(sem->fd, LOCK_UN);
+- gnunet_util_sleep(50 * cronMILLIS);
++ __LINE__);
++ FLOCK(sem->fd, LOCK_UN);
++ MUTEX_UNLOCK(&sem->internalLock);
+ #if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: down on IPC semaphore: busy waiting...\n");
++ LOG(LOG_DEBUG,
++ "DEBUG: down on IPC semaphore returns\n");
+ #endif
+- FLOCK(sem->fd, LOCK_EX);
+- }
+ }
+-
+- cnt = htonl(ntohl(cnt)-1);
+- LSEEK(sem->fd, 0, SEEK_SET);
+- if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+- LOG(LOG_WARNING,
+- "WARNING: could not write update to IPC file %s at %s:%d\n",
+- sem->filename,
+- __FILE__,
+- __LINE__);
+- FLOCK(sem->fd, LOCK_UN);
+- MUTEX_UNLOCK(&sem->internalLock);
+-#if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: down on IPC semaphore returns\n");
+-#endif
+ #else
+ #endif
+ }
+@@ -888,41 +892,43 @@
+ filename,
+ linenumber);
+ #elif SOMEBSD || OSX
+- int cnt;
+-
++ {
++ int cnt;
++
+ #if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: destroying IPC semaphore\n");
++ LOG(LOG_DEBUG,
++ "DEBUG: destroying IPC semaphore\n");
+ #endif
+- MUTEX_DESTROY(&sem->internalLock);
+- FLOCK(sem->fd, LOCK_EX);
+- LSEEK(sem->fd, sizeof(int), SEEK_SET);
+- if (sizeof(int) == READ(sem->fd, &cnt, sizeof(int))) {
+- cnt = htonl(ntohl(cnt)-1);
++ MUTEX_DESTROY(&sem->internalLock);
++ FLOCK(sem->fd, LOCK_EX);
+ LSEEK(sem->fd, sizeof(int), SEEK_SET);
+- if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
++ if (sizeof(int) == READ(sem->fd, &cnt, sizeof(int))) {
++ cnt = htonl(ntohl(cnt)-1);
++ LSEEK(sem->fd, sizeof(int), SEEK_SET);
++ if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
++ LOG(LOG_WARNING,
++ "WARNING: could not write to IPC file %s at %s:%d\n",
++ sem->filename,
++ __FILE__,
++ __LINE__);
++ if (ntohl(cnt) == 0) {
++#if DEBUG_SEMUPDOWN
++ LOG(LOG_DEBUG,
++ "DEBUG: removing IPC file %s -- last using process is done.\n",
++ sem->filename);
++#endif
++ UNLINK(sem->filename);
++ }
++ } else
+ LOG(LOG_WARNING,
+- "WARNING: could not write to IPC file %s at %s:%d\n",
++ "WARNING: could not read process count of IPC %s at %s:%d\n",
+ sem->filename,
+ __FILE__,
+ __LINE__);
+- if (ntohl(cnt) == 0) {
+-#if DEBUG_SEMUPDOWN
+- LOG(LOG_DEBUG,
+- "DEBUG: removing IPC file %s -- last using process is done.\n",
+- sem->filename);
+-#endif
+- UNLINK(sem->filename);
+- }
+- } else
+- LOG(LOG_WARNING,
+- "WARNING: could not read process count of IPC %s at %s:%d\n",
+- sem->filename,
+- __FILE__,
+- __LINE__);
+- FREE(sem->filename);
+- FLOCK(sem->fd, LOCK_UN);
+- CLOSE(sem->fd);
++ FREE(sem->filename);
++ FLOCK(sem->fd, LOCK_UN);
++ CLOSE(sem->fd);
++ }
+ #else
+ #endif
+ FREE(sem);
diff --git a/net-p2p/gnunet/pkg-plist b/net-p2p/gnunet/pkg-plist
index 55e857f84aa5..248e17ee9ade 100644
--- a/net-p2p/gnunet/pkg-plist
+++ b/net-p2p/gnunet/pkg-plist
@@ -14,6 +14,7 @@ bin/gnunet-pseudonym-delete
bin/gnunet-pseudonym-list
bin/gnunet-search
bin/gnunet-search-sblock
+bin/gnunet-setup
bin/gnunet-stats
bin/gnunet-tbench
bin/gnunet-testbed
@@ -24,6 +25,7 @@ include/gnunet_afs_esed2.h
include/gnunet_core.h
include/gnunet_transport.h
include/gnunet_util.h
+include/winproc.h
lib/libgnunet_afs_esed2.la
lib/libgnunet_afs_esed2.so
lib/libgnunet_afs_esed2.so.0
@@ -45,6 +47,8 @@ lib/libgnunettracekit_protocol.la
lib/libgnunettracekit_protocol.so
lib/libgnunettransport_http.la
lib/libgnunettransport_http.so
+lib/libgnunettransport_nat.la
+lib/libgnunettransport_nat.so
lib/libgnunettransport_smtp.la
lib/libgnunettransport_smtp.so
lib/libgnunettransport_tcp.la