mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
This commit is contained in:
commit
a59b4f7767
|
@ -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,
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue