diff --git a/js/server/modules/org/arangodb/cluster/planner.js b/js/server/modules/org/arangodb/cluster/planner.js index 1bddace13d..62d9283605 100644 --- a/js/server/modules/org/arangodb/cluster/planner.js +++ b/js/server/modules/org/arangodb/cluster/planner.js @@ -38,7 +38,7 @@ var base64Encode = require("internal").base64Encode; // Our default configurations: var PlannerLocalDefaults = { - "agencyPrefix" : "meier", + "agencyPrefix" : "arango", "numberOfAgents" : 1, "numberOfDBservers" : 2, "startSecondaries" : false, @@ -327,7 +327,7 @@ function fillConfigWithDefaults (config, defaultConfig) { /// default values: /// /// { -/// "agencyPrefix" : "meier", +/// "agencyPrefix" : "arango", /// "numberOfAgents" : 1, /// "numberOfDBservers" : 2, /// "startSecondaries" : false, diff --git a/lib/BasicsC/operating-system.h b/lib/BasicsC/operating-system.h index 26e549417d..213d772d5f 100644 --- a/lib/BasicsC/operating-system.h +++ b/lib/BasicsC/operating-system.h @@ -175,7 +175,7 @@ #define TRI_CONNECT_AI_FLAGS AI_PASSIVE | AI_NUMERICSERV | AI_ALL -#define INVALID_SOCKET -1 +#define TRI_INVALID_SOCKET -1 #define TRI_CLOSE_SOCKET TRI_closesocket #define TRI_READ_SOCKET(a,b,c,d) TRI_readsocket((a), (b), (c), (d)) @@ -313,7 +313,7 @@ #define TRI_CONNECT_AI_FLAGS AI_PASSIVE | AI_NUMERICSERV -#define INVALID_SOCKET -1 +#define TRI_INVALID_SOCKET -1 #define TRI_CLOSE_SOCKET TRI_closesocket #define TRI_READ_SOCKET(a,b,c,d) TRI_readsocket((a), (b), (c), (d)) @@ -469,7 +469,7 @@ #define TRI_CONNECT_AI_FLAGS AI_PASSIVE | AI_NUMERICSERV | AI_ALL -#define INVALID_SOCKET -1 +#define TRI_INVALID_SOCKET -1 #define TRI_CLOSE_SOCKET TRI_closesocket #define TRI_READ_SOCKET(a,b,c,d) TRI_readsocket((a), (b), (c), (d)) @@ -679,6 +679,8 @@ typedef unsigned char bool; #define TRI_CONNECT_AI_FLAGS AI_PASSIVE | AI_NUMERICSERV | AI_ALL +#define TRI_INVALID_SOCKET INVALID_SOCKET + #define TRI_CLOSE_SOCKET TRI_closesocket #define TRI_READ_SOCKET(a,b,c,d) TRI_readsocket((a), (b), (c), (d)) #define TRI_WRITE_SOCKET(a,b,c,d) TRI_writesocket((a), (b), (c), (d)) diff --git a/lib/BasicsC/socket-utils.c b/lib/BasicsC/socket-utils.c index 1c1d5c29cb..6198e3462c 100644 --- a/lib/BasicsC/socket-utils.c +++ b/lib/BasicsC/socket-utils.c @@ -49,10 +49,10 @@ /// @brief closes a socket //////////////////////////////////////////////////////////////////////////////// -int TRI_closesocket(TRI_socket_t s) { +int TRI_closesocket (TRI_socket_t s) { int res = 0; #ifdef _WIN32 - if (s.fileDescriptor != INVALID_SOCKET) { + if (s.fileDescriptor != -1) { res = _close(s.fileDescriptor); /* To close a file opened with _open_osfhandle, call _close. @@ -60,7 +60,7 @@ int TRI_closesocket(TRI_socket_t s) { so it is not necessary to call the Win32 function CloseHandle on the original handle. */ } - else if (s.fileHandle != INVALID_SOCKET) { + else if (s.fileHandle != TRI_INVALID_SOCKET) { res = shutdown(s.fileHandle, SD_SEND); if (res != 0) { LOG_WARNING("socket shutdown error: %d", WSAGetLastError()); @@ -78,7 +78,7 @@ int TRI_closesocket(TRI_socket_t s) { } } #else - if (s.fileDescriptor != INVALID_SOCKET) { + if (s.fileDescriptor != TRI_INVALID_SOCKET) { res = close(s.fileDescriptor); } #endif @@ -86,7 +86,7 @@ int TRI_closesocket(TRI_socket_t s) { } -int TRI_readsocket(TRI_socket_t s, void* buffer, size_t numBytesToRead, int flags) { +int TRI_readsocket (TRI_socket_t s, void* buffer, size_t numBytesToRead, int flags) { int res; #ifdef _WIN32 res = recv(s.fileHandle, (char*)(buffer), (int)(numBytesToRead), flags); @@ -97,7 +97,7 @@ int TRI_readsocket(TRI_socket_t s, void* buffer, size_t numBytesToRead, int flag } -int TRI_writesocket(TRI_socket_t s, const void* buffer, size_t numBytesToWrite, int flags) { +int TRI_writesocket (TRI_socket_t s, const void* buffer, size_t numBytesToWrite, int flags) { int res; #ifdef _WIN32 res = send(s.fileHandle, (const char*)(buffer), (int)(numBytesToWrite), flags); @@ -147,7 +147,7 @@ bool TRI_SetNonBlockingSocket (TRI_socket_t s) { int res; DWORD ul = 1; res = ioctlsocket(s.fileHandle, FIONBIO, &ul); - return (res != INVALID_SOCKET); + return (res == 0); } #else diff --git a/lib/BasicsC/socket-utils.h b/lib/BasicsC/socket-utils.h index 2530326a12..25505ad4c5 100644 --- a/lib/BasicsC/socket-utils.h +++ b/lib/BasicsC/socket-utils.h @@ -58,15 +58,6 @@ extern "C" { /// @{ //////////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////////////// -/// @brief invalid socket -//////////////////////////////////////////////////////////////////////////////// - -#ifndef INVALID_SOCKET -#define INVALID_SOCKET (-1) -#endif - - //////////////////////////////////////////////////////////////////////////////// /// @brief socket types //////////////////////////////////////////////////////////////////////////////// @@ -103,8 +94,8 @@ extern "C" { static inline TRI_socket_t TRI_socket (int domain, int type, int protocol) { TRI_socket_t res; #ifdef _WIN32 - res.fileHandle = socket(domain, type, protocol); - res.fileDescriptor = INVALID_SOCKET; + res.fileHandle = socket(domain, type, protocol); + res.fileDescriptor = -1; #else res.fileDescriptor = socket(domain, type, protocol); #endif @@ -131,8 +122,8 @@ static inline TRI_socket_t TRI_accept (TRI_socket_t s, struct sockaddr* address, socklen_t* address_len) { TRI_socket_t res; #ifdef _WIN32 - res.fileHandle = accept(s.fileHandle, address, address_len); - res.fileDescriptor = INVALID_SOCKET; + res.fileHandle = accept(s.fileHandle, address, address_len); + res.fileDescriptor = -1; #else res.fileDescriptor = accept(s.fileDescriptor, address, address_len); #endif @@ -231,9 +222,9 @@ static inline int TRI_setsockopt (TRI_socket_t s, int level, int optname, static inline bool TRI_isvalidsocket (TRI_socket_t s) { #ifdef _WIN32 - return s.fileHandle != INVALID_SOCKET; + return s.fileHandle != TRI_INVALID_SOCKET; #else - return s.fileDescriptor != INVALID_SOCKET; + return s.fileDescriptor != TRI_INVALID_SOCKET; #endif } @@ -243,10 +234,10 @@ static inline bool TRI_isvalidsocket (TRI_socket_t s) { static inline void TRI_invalidatesocket (TRI_socket_t* s) { #ifdef _WIN32 - s->fileHandle = INVALID_SOCKET; - s->fileDescriptor = INVALID_SOCKET; + s->fileHandle = TRI_INVALID_SOCKET; + s->fileDescriptor = -1; #else - s->fileDescriptor = INVALID_SOCKET; + s->fileDescriptor = TRI_INVALID_SOCKET; #endif } @@ -257,13 +248,15 @@ static inline void TRI_invalidatesocket (TRI_socket_t* s) { /// the right thing we need in all but one places. //////////////////////////////////////////////////////////////////////////////// -static inline int TRI_get_fd_or_handle_of_socket (TRI_socket_t s) { #ifdef _WIN32 - return (int)(s.fileHandle); -#else - return s.fileDescriptor; -#endif +static inline SOCKET TRI_get_fd_or_handle_of_socket (TRI_socket_t s) { + return s.fileHandle; } +#else +static inline int TRI_get_fd_or_handle_of_socket (TRI_socket_t s) { + return s.fileDescriptor; +} +#endif //////////////////////////////////////////////////////////////////////////////// /// @brief closes an open socket diff --git a/lib/GeneralServer/GeneralCommTask.h b/lib/GeneralServer/GeneralCommTask.h index 47651e6c5d..00d4540947 100644 --- a/lib/GeneralServer/GeneralCommTask.h +++ b/lib/GeneralServer/GeneralCommTask.h @@ -103,7 +103,7 @@ namespace triagens { _maximalHeaderSize(0), _maximalBodySize(0) { LOG_TRACE("connection established, client %d, server ip %s, server port %d, client ip %s, client port %d", - TRI_get_fd_or_handle_of_socket(socket), + (int) TRI_get_fd_or_handle_of_socket(socket), _connectionInfo.serverAddress.c_str(), (int) _connectionInfo.serverPort, _connectionInfo.clientAddress.c_str(), diff --git a/lib/GeneralServer/GeneralSslServer.h b/lib/GeneralServer/GeneralSslServer.h index 17decbeedb..971a9ad96c 100644 --- a/lib/GeneralServer/GeneralSslServer.h +++ b/lib/GeneralServer/GeneralSslServer.h @@ -276,7 +276,7 @@ namespace triagens { LOG_DEBUG("trying to establish secure connection"); // convert in a SSL BIO structure - BIO * sbio = BIO_new_socket(TRI_get_fd_or_handle_of_socket(socket), BIO_NOCLOSE); + BIO * sbio = BIO_new_socket((int) TRI_get_fd_or_handle_of_socket(socket), BIO_NOCLOSE); if (sbio == 0) { LOG_WARNING("cannot build new SSL BIO: %s", triagens::basics::lastSSLError().c_str()); diff --git a/lib/Scheduler/ListenTask.cpp b/lib/Scheduler/ListenTask.cpp index 32eec88c21..f28a767a70 100644 --- a/lib/Scheduler/ListenTask.cpp +++ b/lib/Scheduler/ListenTask.cpp @@ -113,11 +113,12 @@ bool ListenTask::setup (Scheduler* scheduler, EventLoop loop) { return false; } - _listenSocket.fileDescriptor = _open_osfhandle (_listenSocket.fileHandle, 0); - if (_listenSocket.fileDescriptor == INVALID_SOCKET) { + int res = _open_osfhandle (_listenSocket.fileHandle, 0); + + if (res == - 1) { LOG_ERROR("In ListenTask::setup could not convert socket handle to socket descriptor -- _open_osfhandle(...) failed"); - int res = closesocket(_listenSocket.fileHandle); + res = TRI_CLOSE_SOCKET(_listenSocket); if (res != 0) { res = WSAGetLastError(); @@ -126,6 +127,8 @@ bool ListenTask::setup (Scheduler* scheduler, EventLoop loop) { TRI_invalidatesocket(&_listenSocket); return false; } + + _listenSocket.fileDescriptor = res; #endif diff --git a/lib/Scheduler/SocketTask.cpp b/lib/Scheduler/SocketTask.cpp index 918ebce440..03d0ee79be 100644 --- a/lib/Scheduler/SocketTask.cpp +++ b/lib/Scheduler/SocketTask.cpp @@ -429,18 +429,22 @@ bool SocketTask::setup (Scheduler* scheduler, EventLoop loop) { return false; } - _commSocket.fileDescriptor = _open_osfhandle (_commSocket.fileHandle, 0); - if (_commSocket.fileDescriptor == -1) { + int res = _open_osfhandle(_commSocket.fileHandle, 0); + + if (res == -1) { LOG_ERROR("In SocketTask::setup could not convert socket handle to socket descriptor -- _open_osfhandle(...) failed"); - int res = closesocket(_commSocket.fileHandle); + res = TRI_CLOSE_SOCKET(_commSocket); if (res != 0) { res = WSAGetLastError(); LOG_ERROR("In SocketTask::setup closesocket(...) failed with error code: %d", (int) res); } + TRI_invalidatesocket(&_commSocket); return false; } + + _commSocket.fileDescriptor = res; #endif diff --git a/lib/SimpleHttpClient/SslClientConnection.cpp b/lib/SimpleHttpClient/SslClientConnection.cpp index 8c440c094a..34f2084784 100644 --- a/lib/SimpleHttpClient/SslClientConnection.cpp +++ b/lib/SimpleHttpClient/SslClientConnection.cpp @@ -162,7 +162,7 @@ bool SslClientConnection::connectSocket () { return false; } - if (SSL_set_fd(_ssl, TRI_get_fd_or_handle_of_socket(_socket)) != 1) { + if (SSL_set_fd(_ssl, (int) TRI_get_fd_or_handle_of_socket(_socket)) != 1) { _endpoint->disconnect(); SSL_free(_ssl); _ssl = 0;