Changeset: a9183694fb4f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9183694fb4f
Modified Files:
tools/merovingian/daemon/Makefile.ag
tools/merovingian/daemon/controlrunner.c
tools/merovingian/daemon/peering.c
tools/merovingian/daemon/peering.h
Branch: Mar2011
Log Message:
merovingian: remove incomplete peering
diffs (235 lines):
diff --git a/tools/merovingian/daemon/Makefile.ag
b/tools/merovingian/daemon/Makefile.ag
--- a/tools/merovingian/daemon/Makefile.ag
+++ b/tools/merovingian/daemon/Makefile.ag
@@ -32,7 +32,6 @@
discoveryrunner.h \
forkmserver.h \
handlers.h \
- peering.h \
proxy.h
bin_monetdbd = {
@@ -45,7 +44,6 @@
discoveryrunner.c \
forkmserver.c \
handlers.c \
- peering.c \
proxy.c
LIBS = ../utils/libmeroutil \
../../../monetdb5/misc/libsabaoth \
diff --git a/tools/merovingian/daemon/controlrunner.c
b/tools/merovingian/daemon/controlrunner.c
--- a/tools/merovingian/daemon/controlrunner.c
+++ b/tools/merovingian/daemon/controlrunner.c
@@ -40,7 +40,6 @@
#include "merovingian.h"
#include "discoveryrunner.h" /* broadcast, remotedb */
-#include "peering.h"
#include "forkmserver.h"
@@ -267,19 +266,6 @@
if (strcmp(q, "control") == 0) {
len = snprintf(buf2, sizeof(buf2), "OK\n");
send(msgsock, buf2, len, 0);
- } else if (strcmp(q, "peer") == 0) {
- pthread_t ptid; /* FIXME: register global */
- int ret;
- len = snprintf(buf2, sizeof(buf2), "OK\n");
- send(msgsock, buf2, len, 0);
- /* start a separate thread to handle the
peering */
- if ((ret = pthread_create(&ptid, NULL,
- (void *(*)(void
*))peeringServerThread,
- (void *)&msgsock)) != 0)
- {
- Mfprintf(stderr, "failed to create
peeringServerThread: %s\n",
- strerror(ret));
- }
} else {
Mfprintf(_mero_ctlout, "%s: invalid mode "
"(%s)\n", origin, q);
diff --git a/tools/merovingian/daemon/peering.c
b/tools/merovingian/daemon/peering.c
deleted file mode 100644
--- a/tools/merovingian/daemon/peering.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * The contents of this file are subject to the MonetDB Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * The Original Code is the MonetDB Database System.
- *
- * The Initial Developer of the Original Code is CWI.
- * Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
- * Copyright August 2008-2011 MonetDB B.V.
- * All Rights Reserved.
- */
-
-#include "monetdb_config.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "merovingian.h"
-#include "discoveryrunner.h"
-
-
-void
-peeringServerThread(void *d)
-{
- int s = *(int *)d;
- int msock;
- ssize_t len;
- char data[1024];
- char *masquerade;
- int discreader[2];
- struct timeval tv;
- fd_set fds;
-
- /* start speaking the peering initialisation language, client tells
- * what it wants, we reply
- * ritual is as follows:
- * for a bi-directional tunnel over which all traffic is routed
- * (with masquerading of the discovery announcements such that
- * traffic from both networks is directed over the two border
- * hosts as advertised by the request and response:
- * > tunnel host:port
- * < tunnel myhost:myport
- * for one-sided proxying of traffic, where the network from the
- * client connects to the border host advertised in the response,
- * and the network from the server connects to each host from the
- * client's network individually (as typically in a NAT
- * situation):
- * > proxy
- * < proxy myhost:myport
- * for full connectable networks, were masquerading is not
- * necessary on any side and all hosts from the one network
- * directly connect any of the hosts from the other network:
- * > direct
- * < direct
- * after this (on error, the server disconnects), the regular
- * discovery protocol (HELO, ANNC, LEAV) is spoken on the line until
- * disconnected by either party (typically a shutdown). */
-
- masquerade = NULL;
- len = read(s, data, sizeof(data));
- if (len > 0 && strncmp(data, "tunnel ", 7) == 0) {
- /* tunnel mode */
- masquerade = strdup(data + 7);
- snprintf(data, sizeof(data),
- "tunnel %s:%hu\n", _mero_hostname, _mero_port);
- if (write(s, data, strlen(data)) == -1) {
- close(s);
- return;
- }
- } else if (len > 0 && strcmp(data, "proxy") == 0) {
- /* proxy mode */
- snprintf(data, sizeof(data),
- "proxy %s:%hu\n", _mero_hostname, _mero_port);
- if (write(s, data, strlen(data)) == -1) {
- close(s);
- return;
- }
- } else if (len > 0 && strcmp(data, "direct") == 0) {
- /* direct mode */
- snprintf(data, sizeof(data), "direct\n");
- if (write(s, data, strlen(data)) == -1) {
- close(s);
- return;
- }
- } else {
- /* invalid, abort here */
- snprintf(data, sizeof(data), "invalid request\n");
- if (write(s, data, strlen(data)) == -1) {
- /* next thing we do is closing anyway, so just keep this
- * condition to keep fortification warnings off */
- }
- close(s);
- return;
- }
-
- if (pipe(discreader) == -1) {
- /* bla error */
- close(s);
- return;
- }
- registerMessageTap(discreader[0]);
-
- /* now just forward and inject announce messages, doing the
- * masquerading if necessary */
- while (_mero_keep_listening == 1) {
- FD_ZERO(&fds);
- FD_SET(s, &fds);
- FD_SET(discreader[1], &fds);
- msock = s > discreader[1] ? s : discreader[1];
- /* wait up to 5 seconds. */
- tv.tv_sec = 5;
- tv.tv_usec = 0;
- len = select(msock + 1, &fds, NULL, NULL, &tv);
- /* nothing interesting has happened */
- if (len == 0)
- continue;
- if (FD_ISSET(s, &fds)) {
- /* from client, forward to our network */
- if ((len = read(s, data, sizeof(data) - 1)) == -1)
- break;
- data[len] = '\0';
- /* FIXME: simple form, no masquerading */
- (void)masquerade;
- broadcast(data);
- } else if (FD_ISSET(discreader[1], &fds)) {
- /* from our network, forward to client */
- len = read(discreader[1], data, sizeof(data));
- /* FIXME: simple form, no masquerading */
- if (write(s, data, len) == -1)
- break;
- }
- }
-
- unregisterMessageTap(discreader[0]);
- close(discreader[0]);
- close(discreader[1]);
- close(s);
-}
-
-/* vim:set ts=4 sw=4 noexpandtab: */
diff --git a/tools/merovingian/daemon/peering.h
b/tools/merovingian/daemon/peering.h
deleted file mode 100644
--- a/tools/merovingian/daemon/peering.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * The contents of this file are subject to the MonetDB Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * The Original Code is the MonetDB Database System.
- *
- * The Initial Developer of the Original Code is CWI.
- * Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
- * Copyright August 2008-2011 MonetDB B.V.
- * All Rights Reserved.
- */
-
-#ifndef _PEERING_H
-#define _PEERING_H 1
-
-void peeringServerThread(void *d);
-
-#endif
-
-/* vim:set ts=4 sw=4 noexpandtab: */
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list