summaryrefslogtreecommitdiff
path: root/net/spread
diff options
context:
space:
mode:
authorrecht <recht@pkgsrc.org>2004-10-30 11:54:12 +0000
committerrecht <recht@pkgsrc.org>2004-10-30 11:54:12 +0000
commitc17345c6b3419063ed67e297f4e3615c64d1397e (patch)
tree2db8ae31d35f8d28f1261eb547f9efe0f0d50902 /net/spread
parentf074cbd299dc30049132136ab418f14052d510ab (diff)
downloadpkgsrc-c17345c6b3419063ed67e297f4e3615c64d1397e.tar.gz
Update to 3.17.3
The 3.17.3 release has no external api changes (but does fix a few api implementation bugs so check the details below). New minor features: 1) Add new option to spflooder. The -n option allows a fixed "number of members" to be set. This then activates a multi-sender flow control algorithm to allow flooding tests with several senders. All of the processes need to join the group (i.e. they cannot be -wo (write-only)) but not all processes have to send. This allows easy testing with differing numbers of senders (just change how many spflooders start with -ro and how many do not). 2) Modify monitor so it will run correctly on Windows. This was done by modifying monitor.c so it can also build as a threaded program and on windows will use multiple threads to send/recv updates and get user input. (A POSIX thread option is also added). 3) Add new Alarm priority flag to print a line with no datestamp (for multi-line output). 4) Add new Windows VC++.Net project files to daemon/win32_msvc_net. The current project files in daemon/win32 remain as they can be used in VC++ (version 6). The list of bugfixes is: 1) Fix memory leak in Skiplist. Reported by Taj Khattra, patch by Theo Schlossnagle. 2) spuser,spflooder, and spmonitor fixed to print correct name in help. Patch by Daniel Rall. 3) Fix incorrect alarm printing where WARNING messages generated by older Alarm() interface were not printed. 4) Fix a bug in the Windows build using VC++ of thread-safe libtspread.lib. Bug and fix by Jacob Green. 5) Fix bug in libspread where if the groups array or message body passed to SP_recv* was too small, the mess_type field returned would be truncated and the sender field was not returned. They are both now returned correctly. Bug report and partial fix provided by John Schultz. 6) Fix bug where SP_Join and SP_Leave do not report an error if a group name is too long (instead they truncated it) Reported with fix by David Parker. ** Warning, this could break buggy applications who use long groups and assume the name is truncated. 7) Cleanup compile warnings where E_queue() used with no-parameter functions (not all uses fixed) and fix incorrect use of signed int with strlen(). 8) Fix few cases in flooder.c and user.c that did not use the defined MAX_MESSLEN constant. Tested to verify that increasing MAX_SCATTER_ELEMENTS in scatter.h and the MAX_MESSLEN defines in user.c and flooder.c is sufficient to support arbitrarily large message sizes with Spread. This is NOT recommended, but several people do it anyway :-) 9) Make E_delay() work on Win32. 10) Added check that a segment using localhost (i.e. 127.0.0.255) is NOT in a spread.conf with any other segments using real IP addresses. This configuration will not work correctly and is usually because the example localhost configuration provided with Spread is added to. This check will cause the daemon to exit immediately after parsing the config file. 11) Fix bug where if more then 22 daemons start at the same time, some will crash or the membership will not complete correctly. This bug was reported by several people including Jesse Noller. 12) Fix Java spread connection problem where several threaded connections from same process cause unexpected connection failures. Reported by Brian Moseley, idea of fix by Ryan Caudy, patch by Jonathan Stanton. 13) Fix EVS bug where AGREED messages may be delivered before a transitional signal on some daemons and after it on others. Bug found and patch created by Ryan Caudy. 14) Make SP_connect_timeout() calls non-blocking for the actual 'connect()' call. This should fix the issue reported by Shlomi Yaakobovich where a hung daemon causes new connections to also hang in connect. Also includes slight cleanup of connect code path. Ver 3.17.2: -------------- 1) Fix daemon quit when multiple interfaces are configured as "D" daemon interfaces in the spread.conf file. Bug reported by Orit Wasserman. 2) Updated url for Java 'ant' build system. Patch by Daniel Rall. 3) Fix group_id bug that causes incorrect vs_sets. Patch by Ryan Caudy. 4) Fix spread.conf parser so it validates the machine names in segments and forces them to be less then MAX_PROC_NAME. Patch by Mikhail Terekhov. 5) Minor fix to Mac OS X compilation so library softlinks do not fail the second time make is run. 6) Alarm() changes to support priority levels on each Alarm() call. 7) Fix crash by improving packet accounting when a client connected to a singleton daemon sends a large broadcast. Reported by David Shaw. 8) Fix bus errors on Sparc & Alpha for message buffer integer assignment. Reported by Greg Shebert; tested and patched Mikhail Terekhov. 9) Verify daemon names in spread.conf are unique. If non-unique names are provided in spread.conf, configuration will be rejected and daemon will not start. Suggested by Tim Peters. 10) Zero buffer in c library before sending multicast. Reported by Panagiotis Kougiouris. 11) Send fewer lookup probe messages when only a single segment is configured. 12) Remove extra token rotations when no messages are sent. Will decrease network packet overhead. 13) Make mailbox and service in sp.h a typedef instead of a #define. Suggested and patched by Steven Dake. 14) Fix small endianness error in sp.c where the mess_type field may not be correctly converted for different endian platforms when the SP_*_recv calls return a BUFFER_TOO_SHORT or GROUPS_TOO_SHORT error. 15) Change alarm tag for security prints from SEC to SECURITY because of conflict with sys/time.h header. 16) Documentation fix to SP_receive man page to correct fields for self-leave membership messages. 17) Update of email addresses in copyright statements and headers. 18) Windows binary libraries now built as libspread and libtspread like other platforms.
Diffstat (limited to 'net/spread')
-rw-r--r--net/spread/Makefile11
-rw-r--r--net/spread/distinfo13
-rw-r--r--net/spread/patches/patch-ba14
-rw-r--r--net/spread/patches/patch-bb14
-rw-r--r--net/spread/patches/patch-bd20
-rw-r--r--net/spread/patches/patch-bf24
6 files changed, 38 insertions, 58 deletions
diff --git a/net/spread/Makefile b/net/spread/Makefile
index 5d6c1f7935f..5f51e3764f1 100644
--- a/net/spread/Makefile
+++ b/net/spread/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.14 2004/01/24 21:24:09 recht Exp $
+# $NetBSD: Makefile,v 1.15 2004/10/30 11:54:12 recht Exp $
#
-DISTNAME= spread-src-3.17.1
+DISTNAME= spread-src-3.17.3
PKGNAME= ${DISTNAME:S/-src//}
-PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= http://www.cnds.jhu.edu/download/noformdown/
@@ -17,9 +16,7 @@ USE_BUILDLINK3= YES
USE_PKGINSTALL= YES
GNU_CONFIGURE= YES
CONFIGURE_ARGS= --includedir=${PREFIX}/include/spread
-MAKE_FLAGS= LD="${CC}"
-
-DIST_SUBDIR= ${PKGNAME_NOREV}
+MAKE_FLAGS= LD=${CC:Q}
SPREAD_USER= spread
SPREAD_GROUP= spread
@@ -33,7 +30,7 @@ BUILD_DEFS+= SPREAD_USER SPREAD_GROUP
INCLUDEDIR= ${PREFIX}/include/spread
DOCSDIR= ${PREFIX}/share/doc/spread
EXAMPLEDIR= ${PREFIX}/share/examples/spread
-RUNTIME_DIR= /var/run/spread
+RUNTIME_DIR= ${VARBASE}/run/spread
RCD_SCRIPTS= spread
PKG_GROUPS= ${SPREAD_USER}
diff --git a/net/spread/distinfo b/net/spread/distinfo
index 5124c19951c..3865e1a9826 100644
--- a/net/spread/distinfo
+++ b/net/spread/distinfo
@@ -1,8 +1,7 @@
-$NetBSD: distinfo,v 1.6 2003/11/05 08:22:12 agc Exp $
+$NetBSD: distinfo,v 1.7 2004/10/30 11:54:12 recht Exp $
-SHA1 (spread-3.17.1/spread-src-3.17.1.tar.gz) = c87a78392ff42d24d1ab088de8fda99703252068
-Size (spread-3.17.1/spread-src-3.17.1.tar.gz) = 581845 bytes
-SHA1 (patch-ba) = 90f2896dc62627772a05c06add99c59a55e91c88
-SHA1 (patch-bb) = efd9b08d775542622ce35265e2b72d655b5ca00f
-SHA1 (patch-bd) = 5d09d5e182cb2bf52f6366ff02e4f73dcd067e5e
-SHA1 (patch-bf) = 6b5bf8086d6366ac9b52e7351c0c062f236e8c7d
+SHA1 (spread-src-3.17.3.tar.gz) = a3085dd225264a4223eff3346b6b5de64ac2dfc6
+Size (spread-src-3.17.3.tar.gz) = 299975 bytes
+SHA1 (patch-ba) = 795938504e97da34e83e9e66b8b81ff894cbb5b4
+SHA1 (patch-bb) = 6b2e9ef29802c6f60776d7be4046087f96b8ffcb
+SHA1 (patch-bd) = d39aed08e98e81bca572a429c511ffb400b020c3
diff --git a/net/spread/patches/patch-ba b/net/spread/patches/patch-ba
index 276053caf26..4733b8fa6ea 100644
--- a/net/spread/patches/patch-ba
+++ b/net/spread/patches/patch-ba
@@ -1,13 +1,15 @@
-$NetBSD: patch-ba,v 1.1.1.1 2003/02/18 22:11:55 mjl Exp $
+$NetBSD: patch-ba,v 1.2 2004/10/30 11:54:12 recht Exp $
---- auth-ip.c.orig 2003-02-18 20:54:23.000000000 +0100
-+++ auth-ip.c 2003-02-18 20:54:50.000000000 +0100
-@@ -94,7 +94,7 @@
+--- auth-ip.c.orig Fri Oct 29 20:13:28 2004
++++ auth-ip.c Fri Oct 29 20:17:10 2004
+@@ -94,8 +94,8 @@
if (NULL != (fp = fopen("./spread.access_ip", "r")) )
- Alarm( PRINT, "ip_init: using file: ./spread.access_ip\n");
+ Alarmp( SPLOG_INFO, ACM, "ip_init: using file: ./spread.access_ip\n");
if (fp == NULL)
- if (NULL != (fp = fopen("/etc/spread.access_ip", "r")) )
+- Alarmp( SPLOG_INFO, ACM, "ip_init: using file: /etc/spread.access_ip\n");
+ if (NULL != (fp = fopen(SPREAD_ETCDIR "/spread.access_ip", "r")) )
- Alarm( PRINT, "ip_init: using file: /etc/spread.access_ip\n");
++ Alarmp( SPLOG_INFO, ACM, "ip_init: using file: " SPREAD_ETCDIR "/spread.access_ip\n");
if (fp == NULL)
{
+ Alarmp( SPLOG_ERROR, ACM, "ip_init: IP access control file not found.\nIf you are using IP based access controls, please make sure the file exists.\n");
diff --git a/net/spread/patches/patch-bb b/net/spread/patches/patch-bb
index 8139bf8ef45..2f767759a2e 100644
--- a/net/spread/patches/patch-bb
+++ b/net/spread/patches/patch-bb
@@ -1,15 +1,15 @@
-$NetBSD: patch-bb,v 1.1.1.1 2003/02/18 22:11:55 mjl Exp $
+$NetBSD: patch-bb,v 1.2 2004/10/30 11:54:12 recht Exp $
---- auth-pword.c.orig 2003-02-18 20:55:48.000000000 +0100
-+++ auth-pword.c 2003-02-18 20:56:20.000000000 +0100
+--- auth-pword.c.orig Fri Oct 29 20:14:58 2004
++++ auth-pword.c Fri Oct 29 20:15:57 2004
@@ -122,8 +122,8 @@
if (NULL != (fp = fopen("./spread.access_pword", "r")) )
- Alarm( PRINT, "pword_init: using file: ./spread.access_pword\n");
+ Alarmp( SPLOG_INFO,ACM, "pword_init: using file: ./spread.access_pword\n");
if (fp == NULL)
- if (NULL != (fp = fopen("/etc/spread.access_pword", "r")) )
-- Alarm( PRINT, "pword_init: using file: /etc/spread.access_pword\n");
+- Alarmp( SPLOG_INFO, ACM, "pword_init: using file: /etc/spread.access_pword\n");
+ if (NULL != (fp = fopen(SPREAD_ETCDIR "/spread.access_pword", "r")) )
-+ Alarm( PRINT, "pword_init: using file: " SPREAD_ETCDIR "/spread.access_pword\n");
++ Alarmp( SPLOG_INFO, ACM, "pword_init: using file: " SPREAD_ETCDIR "/spread.access_pword\n");
if (fp == NULL)
- Alarm( EXIT, "pword_init: error opening config file %s in any of the standard locations. Please make sure the file exists\n", file_name);
+ Alarmp( SPLOG_FATAL, ACM, "pword_init: error opening config file %s in any of the standard locations. Please make sure the file exists\n", file_name);
diff --git a/net/spread/patches/patch-bd b/net/spread/patches/patch-bd
index 66d7fe4db49..0b39e271414 100644
--- a/net/spread/patches/patch-bd
+++ b/net/spread/patches/patch-bd
@@ -1,16 +1,22 @@
-$NetBSD: patch-bd,v 1.3 2003/08/09 13:07:43 recht Exp $
+$NetBSD: patch-bd,v 1.4 2004/10/30 11:54:12 recht Exp $
---- Makefile.in.orig 2003-06-17 21:00:10.000000000 +0200
-+++ Makefile.in 2003-06-21 10:52:24.000000000 +0200
-@@ -248,11 +256,11 @@
- if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
- $(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
- fi
+--- Makefile.in.orig Thu Sep 23 19:12:52 2004
++++ Makefile.in Fri Oct 29 20:22:53 2004
+@@ -252,14 +252,14 @@
+ do \
+ $(INSTALL) -m 644 docs/SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
+ done
+- if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
+- $(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
+- fi
- if [ ! -f $(DESTDIR)$(sysconfdir)/spread.conf ]; then \
- $(INSTALL) -m 644 $(srcdir)/sample.spread.conf $(DESTDIR)$(sysconfdir)/spread.conf; \
- else \
- echo "$(DESTDIR)$(sysconfdir)/spread.conf already exists, install will not overwrite"; \
- fi
++# if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
++# $(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
++# fi
+# if [ ! -f $(DESTDIR)$(sysconfdir)/spread.conf ]; then \
+# $(INSTALL) -m 644 $(srcdir)/sample.spread.conf $(DESTDIR)$(sysconfdir)/spread.conf; \
+# else \
diff --git a/net/spread/patches/patch-bf b/net/spread/patches/patch-bf
deleted file mode 100644
index 78cb2ec1309..00000000000
--- a/net/spread/patches/patch-bf
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-bf,v 1.1 2003/08/13 19:46:24 recht Exp $
-
---- network.c.orig 2002-09-22 04:56:52.000000000 +0200
-+++ network.c 2003-08-13 21:34:39.000000000 +0200
-@@ -90,6 +90,7 @@
- proc dummy_proc;
- int32u interface_addr;
- int i;
-+ bool bcast_bound = FALSE;
-
- Cn = Conf();
- My = Conf_my();
-@@ -125,8 +126,10 @@
- interface_addr = 0;
- else {
- interface_addr = My.ifc[i].ip;
-- if (Bcast_needed)
-+ if (Bcast_needed && !bcast_bound) {
- Bcast_channel[Num_bcast_channels++] = DL_init_channel( RECV_CHANNEL, My.port, Bcast_address, Bcast_address );
-+ bcast_bound = TRUE;
-+ }
- }
- Bcast_channel[Num_bcast_channels++] = DL_init_channel( RECV_CHANNEL, My.port, Bcast_address, interface_addr );
- Token_channel[Num_token_channels++] = DL_init_channel( RECV_CHANNEL, My.port+1, 0, interface_addr );