diff --git a/CHANGELOG b/CHANGELOG index 94640b1688..7c5ee6b9d9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,23 @@ v1.1.x (XXXX-XX-XX) multiple ports/endpoints anyway, and the distinction between admin and "other" ports/endpoints will be made using privileges +* removed startup options "--server.port" and "--server.http-port" for arangod. + These options have been replaced by the new "--server.endpoint" parameter. + +* removed startup option "--server" for arangosh and arangoimp. + These options have been replaced by the new "--server.endpoint" parameter. + +* Added "--server.endpoint" option to arangod, arangosh, and arangoimp. + For arangod, this option allows specifying the bind endpoints for the server. + The server can be bound to one or multiple endpoints at once. For arangosh + and arangoimp, the option specifies the server endpoint to connect to. + The following endpoint syntax is currently supported: + - tcp://host:port (IPv4) + - tcp://host (IPv4 address, with default port 8529) + - tcp://[host]:port (IPv6) + - tcp://[host] (IPv6 address, with default port 8529) + - unix://path/to/socket (UNIX socket) + * removed startup options "--server.require-keep-alive" and "--server.secure-require-keep-alive". The server will now behave as follows which should be more conforming to the diff --git a/lib/Makefile.files b/lib/Makefile.files index 89486aa98a..2768ea5d06 100644 --- a/lib/Makefile.files +++ b/lib/Makefile.files @@ -67,7 +67,6 @@ lib_libarango_a_SOURCES = \ lib/ProgramOptions/program-options.c \ lib/ProtocolBuffers/HttpRequestProtobuf.cpp \ lib/ProtocolBuffers/arangodb.pb.cpp \ - lib/Rest/AddressPort.cpp \ lib/Rest/AnyServer.cpp \ lib/Rest/EndpointList.cpp \ lib/Rest/EndpointSpecification.cpp \ diff --git a/lib/Rest/AddressPort.cpp b/lib/Rest/AddressPort.cpp deleted file mode 100644 index 3bceb20ec7..0000000000 --- a/lib/Rest/AddressPort.cpp +++ /dev/null @@ -1,126 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -/// @brief address and port -/// -/// @file -/// -/// DISCLAIMER -/// -/// Copyright 2010-2011 triagens GmbH, Cologne, Germany -/// -/// Licensed under the Apache License, Version 2.0 (the "License"); -/// you may not use this file except in compliance with the License. -/// You may obtain a copy of the License at -/// -/// http://www.apache.org/licenses/LICENSE-2.0 -/// -/// Unless required by applicable law or agreed to in writing, software -/// distributed under the License is distributed on an "AS IS" BASIS, -/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -/// See the License for the specific language governing permissions and -/// limitations under the License. -/// -/// Copyright holder is triAGENS GmbH, Cologne, Germany -/// -/// @author Dr. Frank Celler -/// @author Copyright 2009-2011, triAGENS GmbH, Cologne, Germany -//////////////////////////////////////////////////////////////////////////////// - -#include "AddressPort.h" - -#include "Basics/StringUtils.h" - -using namespace triagens::basics; -using namespace triagens::rest; - -// ----------------------------------------------------------------------------- -// --SECTION-- constructors and destructors -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -/// @brief creates an empty address / port structure -//////////////////////////////////////////////////////////////////////////////// - -AddressPort::AddressPort () - : _address("127.0.0.1"), - _port(0) { -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief creates an IP4 or IP6 address / port structure -//////////////////////////////////////////////////////////////////////////////// - -AddressPort::AddressPort (string const& definition) { - split(definition); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -// ----------------------------------------------------------------------------- -// --SECTION-- public methods -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -bool AddressPort::operator== (AddressPort const &that) { - return _address == that._address && _port == that._port; -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief splits an address -//////////////////////////////////////////////////////////////////////////////// - -bool AddressPort::split (string const& definition) { - if (definition.empty()) { - return false; - } - - if (definition[0] == '[') { - - // ipv6 address - size_t find = definition.find("]:", 1); - - if (find != string::npos && find + 2 < definition.size()) { - _address = definition.substr(1, find-1); - _port = StringUtils::uint32(definition.substr(find+2)); - - return true; - } - } - - int n = StringUtils::numEntries(definition, ":"); - - if (n == 1) { - _address = ""; - _port = StringUtils::uint32(definition); - - return true; - } - else if (n == 2) { - _address = StringUtils::entry(1, definition, ":"); - _port = StringUtils::int32(StringUtils::entry(2, definition, ":")); - - return true; - } - else { - return false; - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -// Local Variables: -// mode: outline-minor -// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @\\}\\)" -// End: diff --git a/lib/Rest/AddressPort.h b/lib/Rest/AddressPort.h deleted file mode 100644 index ee2f26025e..0000000000 --- a/lib/Rest/AddressPort.h +++ /dev/null @@ -1,139 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -/// @brief address and port -/// -/// @file -/// -/// DISCLAIMER -/// -/// Copyright 2010-2011 triagens GmbH, Cologne, Germany -/// -/// Licensed under the Apache License, Version 2.0 (the "License"); -/// you may not use this file except in compliance with the License. -/// You may obtain a copy of the License at -/// -/// http://www.apache.org/licenses/LICENSE-2.0 -/// -/// Unless required by applicable law or agreed to in writing, software -/// distributed under the License is distributed on an "AS IS" BASIS, -/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -/// See the License for the specific language governing permissions and -/// limitations under the License. -/// -/// Copyright holder is triAGENS GmbH, Cologne, Germany -/// -/// @author Dr. Frank Celler -/// @author Copyright 2009-2011, triAGENS GmbH, Cologne, Germany -//////////////////////////////////////////////////////////////////////////////// - -#ifndef TRIAGENS_FYN_REST_ADDRESS_PORT_H -#define TRIAGENS_FYN_REST_ADDRESS_PORT_H 1 - -#include - -// ----------------------------------------------------------------------------- -// --SECTION-- struct AddressPort -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -namespace triagens { - namespace rest { - -//////////////////////////////////////////////////////////////////////////////// -/// @brief address / port structure -//////////////////////////////////////////////////////////////////////////////// - - struct AddressPort { - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -// ----------------------------------------------------------------------------- -// --SECTION-- constructors and destructors -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -/// @brief creates an empty address / port structure -//////////////////////////////////////////////////////////////////////////////// - - AddressPort (); - -//////////////////////////////////////////////////////////////////////////////// -/// @brief creates an IP4 or IP6 address / port structure -//////////////////////////////////////////////////////////////////////////////// - - AddressPort (string const&); - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -// ----------------------------------------------------------------------------- -// --SECTION-- public methods -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -/// @brief comparison -//////////////////////////////////////////////////////////////////////////////// - - bool operator== (AddressPort const& that); - -//////////////////////////////////////////////////////////////////////////////// -/// @brief splits an address -//////////////////////////////////////////////////////////////////////////////// - - bool split (string const& definition); - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -// ----------------------------------------------------------------------------- -// --SECTION-- public variables -// ----------------------------------------------------------------------------- - -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup Rest -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -/// @brief address string -//////////////////////////////////////////////////////////////////////////////// - - string _address; - - -//////////////////////////////////////////////////////////////////////////////// -/// @brief port -//////////////////////////////////////////////////////////////////////////////// - - unsigned int _port; - }; - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - -#endif - -// Local Variables: -// mode: outline-minor -// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @\\}\\)" -// End: