aboutsummaryrefslogtreecommitdiff
path: root/mbone/udpcast/files
diff options
context:
space:
mode:
authorMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2004-07-20 22:11:31 +0000
committerMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2004-07-20 22:11:31 +0000
commitc19ae258f85b6e1c6684d2a9235f6104b52dd842 (patch)
treedc54a974457b22a6269e1ccc0b1fae031b94d290 /mbone/udpcast/files
parentfdf5e9f29ad4a3efe26c2431f89f91e25cf20d37 (diff)
Notes
Diffstat (limited to 'mbone/udpcast/files')
-rw-r--r--mbone/udpcast/files/patch-participants.h10
-rw-r--r--mbone/udpcast/files/patch-socklib.c38
-rw-r--r--mbone/udpcast/files/patch-statistics.c11
-rw-r--r--mbone/udpcast/files/patch-udpr-negotiate.c60
4 files changed, 119 insertions, 0 deletions
diff --git a/mbone/udpcast/files/patch-participants.h b/mbone/udpcast/files/patch-participants.h
new file mode 100644
index 000000000000..f09b1aa4c62b
--- /dev/null
+++ b/mbone/udpcast/files/patch-participants.h
@@ -0,0 +1,10 @@
+--- participants.h.orig Tue Jul 20 13:49:28 2004
++++ participants.h Tue Jul 20 13:49:40 2004
+@@ -3,6 +3,7 @@
+
+ #define MAX_CLIENTS 1024
+
++#include <sys/types.h>
+ #include <sys/socket.h>
+
+ typedef struct participantsDb *participantsDb_t;
diff --git a/mbone/udpcast/files/patch-socklib.c b/mbone/udpcast/files/patch-socklib.c
new file mode 100644
index 000000000000..03d62095cdad
--- /dev/null
+++ b/mbone/udpcast/files/patch-socklib.c
@@ -0,0 +1,38 @@
+--- socklib.c.orig Sat Feb 21 13:58:37 2004
++++ socklib.c Tue Jul 20 17:58:51 2004
+@@ -16,6 +16,8 @@
+ #include "log.h"
+ #include "socklib.h"
+
++#undef SIOCGIFINDEX
++
+ #ifdef LOSSTEST
+ /**
+ * Packet loss/swap testing...
+@@ -289,7 +291,7 @@
+
+ int setTtl(int sock, int ttl) {
+ /* set the socket to broadcast */
+- return setsockopt(sock, SOL_IP, IP_MULTICAST_TTL, &ttl, sizeof(int));
++ return setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(int));
+ }
+
+ #ifdef SIOCGIFINDEX
+@@ -334,7 +336,7 @@
+ int r;
+
+ fillMreq(sock, ifname, addr, &mreq);
+- r = setsockopt(sock, SOL_IP, code, &mreq, sizeof(mreq));
++ r = setsockopt(sock, IPPROTO_IP, code, &mreq, sizeof(mreq));
+ if(r < 0) {
+ perror(message);
+ exit(1);
+@@ -366,7 +368,7 @@
+
+
+ int setMcastDestination(int sock, char *ifname, struct sockaddr *addr) {
+-#ifdef __CYGWIN__
++#if defined(__CYGWIN__) || defined(__FreeBSD__)
+ int r;
+ struct sockaddr interface_addr;
+ struct in_addr if_addr;
diff --git a/mbone/udpcast/files/patch-statistics.c b/mbone/udpcast/files/patch-statistics.c
new file mode 100644
index 000000000000..176e5136b246
--- /dev/null
+++ b/mbone/udpcast/files/patch-statistics.c
@@ -0,0 +1,11 @@
+--- statistics.c.orig Tue Jul 20 10:46:11 2004
++++ statistics.c Tue Jul 20 12:00:59 2004
+@@ -37,7 +37,7 @@
+ static void printFilePosition(int fd) {
+ #ifndef __CYGWIN__
+ if(fd != -1) {
+- loff_t offset = lseek64(fd, 0, SEEK_CUR);
++ off_t offset = lseek(fd, 0, SEEK_CUR);
+ printLongNum(offset);
+ }
+ #endif
diff --git a/mbone/udpcast/files/patch-udpr-negotiate.c b/mbone/udpcast/files/patch-udpr-negotiate.c
new file mode 100644
index 000000000000..db9f50ba147d
--- /dev/null
+++ b/mbone/udpcast/files/patch-udpr-negotiate.c
@@ -0,0 +1,60 @@
+--- udpr-negotiate.c.orig Sat Feb 21 14:08:49 2004
++++ udpr-negotiate.c Tue Jul 20 13:44:05 2004
+@@ -2,6 +2,10 @@
+ #include <unistd.h>
+ #include <errno.h>
+
++#if (defined(__unix__) || defined(unix)) && !defined(USG)
++#include <sys/param.h>
++#endif
++
+ #include "log.h"
+ #include "socklib.h"
+ #include "udpcast.h"
+@@ -16,6 +20,10 @@
+ # define O_BINARY 0
+ #endif
+
++#ifdef __FreeBSD__
++struct client_config client_config_on_exit_hack;
++#endif
++
+ static int sendConnectReq(struct client_config *client_config,
+ struct net_config *net_config,
+ int haveServerAddress) {
+@@ -48,6 +56,12 @@
+ sendDisconnect(exitStatus, (struct client_config *) args);
+ }
+
++#ifdef __FreeBSD__
++static void sendDisconnectWrapper_on_exit_handler() {
++ sendDisconnectWrapper(0, &client_config_on_exit_hack);
++}
++#endif
++
+ void sendDisconnect(int exitStatus,
+ struct client_config *client_config) {
+ int endianness = client_config->endianness;
+@@ -144,7 +158,7 @@
+ if(disk_config->fileName != NULL) {
+ int oflags = O_CREAT | O_WRONLY;
+ if(!(disk_config->flags & FLAG_NOSYNC)) {
+- oflags |= O_SYNC;
++ oflags |= O_FSYNC;
+ }
+ outFile = open(disk_config->fileName, oflags | O_BINARY, 0644);
+ if(outFile < 0) {
+@@ -333,7 +347,13 @@
+ pipedOutFile = openPipe(client_config.toServer, outFile, disk_config,
+ &pipePid);
+ #ifndef __CYGWIN__
++# ifdef __FreeBSD__
++ client_config_on_exit_hack = client_config;
++
++ atexit(sendDisconnectWrapper_on_exit_handler);
++# else
+ on_exit(sendDisconnectWrapper, &client_config);
++# endif
+ #endif
+ {
+ struct fifo fifo;