Compare commits

..

12 Commits

Author SHA1 Message Date
Miguel Portilla
399c43cae6 Set version to 0.28.1 2015-05-20 13:34:29 -04:00
Tom Ritchford
80acbe6f6b Change ArchLinux/PKGBUILD to have correct ripple build line. 2015-05-20 13:29:54 -04:00
Miguel Portilla
d90ba775e8 Require port in ips_fixed (RIPD-892) 2015-05-20 13:24:21 -04:00
Miguel Portilla
ea4161d880 Change example configuration protocol on loopback IP (RIPD-886) 2015-05-20 13:24:04 -04:00
Torrie Fischer
172a060330 circle: docker: Don't tag branches if its a PR (PKG-33) 2015-05-20 13:23:38 -04:00
Nik Bougalis
231efb5aa5 Set version to 0.28.1-rc3 2015-05-18 13:00:15 -07:00
JoelKatz
079475e491 Only touch InboundLedgers on success so failed acquires can expire 2015-05-18 13:00:15 -07:00
Tom Ritchford
aa775b4d3d Clean up rippled-example.cfg and update for new node_db settings 2015-05-18 13:00:00 -07:00
Nik Bougalis
216c8125e2 Expedite zero flow handling 2015-05-18 12:52:03 -07:00
Vinnie Falco
c61d0c663e Merge branch 'master' into develop 2015-05-13 13:29:54 -07:00
Nik Bougalis
0187c6a5a1 Set version to 0.28.0-hf2 2015-05-13 13:21:32 -07:00
Nik Bougalis
8289d4140a Correctly clamp when the taker balance is the limiting factor 2015-05-13 13:21:26 -07:00
11 changed files with 135 additions and 72 deletions

View File

@@ -1,4 +1,4 @@
# Maintainer: Roberto Catini <roberto.catini@gmail.com>
# Maintainer: Roberto Catini <roberto.catini@gmail.com>
pkgname=rippled
pkgrel=1
@@ -21,7 +21,7 @@ pkgver() {
build() {
cd "$srcdir/$pkgname"
scons build/rippled
scons
}
check() {

13
Builds/Docker/build-ci.sh Executable file
View File

@@ -0,0 +1,13 @@
set -e
mkdir -p build/docker/
cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/
cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile
mv build/docker/rippled-example.cfg build/docker/rippled.cfg
strip build/docker/rippled
docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/
docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest
if [ -z "$CIRCLE_PR_NUMBER" ]; then
docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH
fi

16
Builds/Docker/push-to-hub.sh Executable file
View File

@@ -0,0 +1,16 @@
set -e
if [ -z "$DOCKER_EMAIL" -o -z "$DOCKER_USERNAME" -o -z "$DOCKER_PASSWORD" ];then
echo "Docker credentials are not set. Can't login to docker, no containers will be pushed."
exit 0
fi
if [ -n "$CIRCLE_PR_NUMBER" ]; then
echo "Not pushing results of a pull request build."
exit 0
fi
docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker push ripple/rippled:$CIRCLE_SHA1
docker push ripple/rippled:$CIRCLE_BRANCH
docker push ripple/rippled:latest

View File

@@ -1,5 +1,5 @@
Name: rippled
Version: 0.28.1-rc2
Version: 0.28.1
Release: 1%{?dist}
Summary: Ripple peer-to-peer network daemon

View File

@@ -33,20 +33,10 @@ test:
# Run integration tests
- npm test
post:
- mkdir -p build/docker/
- cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/
- cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile
- mv build/docker/rippled-example.cfg build/docker/rippled.cfg
- strip build/docker/rippled
- docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/
- docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest
- docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH
- ./Builds/Docker/build-ci.sh
- docker images
deployment:
docker:
branch: /.*/
commands:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker push ripple/rippled:$CIRCLE_SHA1
- docker push ripple/rippled:$CIRCLE_BRANCH
- docker push ripple/rippled:latest
- ./Builds/Docker/push-to-hub.sh

View File

@@ -15,4 +15,5 @@ A list of rippled version numbers, and the Github pull requests they contain.
0.28.1-b8: Includes pulls 988, 1009, 1014, 1019, 1029, 1031, 1033, 1034 and 1035.
0.28.1-b9: Includes pulls 1026, 1030, 1036, 1037, 1038, 1040, and 1041.
0.28.1-rc2: Includes pulls 1044
0.28.1-rc3: Includes pulls 1052 and 1055.
0.28.1: Includes pulls 1056, 1059 and 1062, 1063.

View File

@@ -133,7 +133,7 @@
# protocol=http
#
# When rippled is used as a command line client (for example, issuing a
# server stop command), the first port advertising the http or https
# server stop command), the first port advertising the http or https
# protocol will be used to make the connection.
#
#
@@ -163,7 +163,7 @@
# peer Peer Protocol
#
# Restrictions:
#
#
# Only one port may be configured to support the peer protocol.
# A port cannot have websocket and non websocket protocols at the
# same time. It is possible have both Websockets and Secure Websockets
@@ -256,7 +256,7 @@
# The amount of time to wait in seconds, before sending a websocket 'ping'
# message. Ping messages are used to determine if the remote end of the
# connection is no longer available.
#
#
#
#
#-------------------------------------------------------------------------------
@@ -303,8 +303,8 @@
# Ripple network through a public-facing server, or for building a set
# of cluster peers.
#
# One IPv4 address or domain names per line is allowed. A port may optionally
# be specified after adding a space to the address.
# One IPv4 address or domain names per line is allowed. A port must be
# specified after adding a space to the address.
#
#
#
@@ -556,7 +556,7 @@
#
# 0. HTTPS client connections will not verify certificates.
# 1. Certificates will be checked for HTTPS client connections.
#
#
# If not specified, this parameter defaults to 1.
#
#
@@ -590,50 +590,66 @@
# rippled creates 4 SQLite database to hold bookkeeping information
# about transactions, local credentials, and various other things.
# It also creates the NodeDB, which holds all the objects that
# make up the current and historical ledgers. The size of the NodeDB
# grows in proportion to the amount of new data and the amount of
# historical data (a configurable setting).
# make up the current and historical ledgers.
#
# The performance of the underlying storage media where the NodeDB
# is placed can affect the performance of the server. Some virtual
# hosting providers offer high speed secondary storage, with the
# caveat that the data is not persisted across launches. If rippled
# runs in such an environment, it can be beneficial to configure the
# temp_db setting, which activates a secondary "look-aside" cache
# that can speed up the server. Some testing is suggested to determine
# if the temp_db setting is an improvement for your environment
# The size of the NodeDB grows in proportion to the amount of new data and the
# amount of historical data (a configurable setting) so the performance of the
# underlying storage media where the NodeDB is placed can significantly affect
# the performance of the server.
#
# Partial pathnames will be considered relative to the location of
# the rippled.cfg file.
#
# [node_db] Settings for the NodeDB (required)
# [temp_db] Settings for the look-aside temporary db (optional)
# [import_db] Settings for performing a one-time import (optional)
# [node_db] Settings for the Node Database (required)
#
# Format (without spaces):
# One or more lines of key / value pairs:
# One or more lines of case-insensitive key / value pairs:
# <key> '=' <value>
# ...
#
# Examples:
# type=rocksdb
# path=db/rocksdb
# Example:
# type=nudb
# path=db/nudb
#
# The "type" field must be present and controls the choice of backend:
#
# type = NuDB
#
# NuDB is a high-performance database written by Ripple Labs and optimized
# for rippled and solid-state drives.
#
# NuDB maintains its high speed regardless of the amount of history
# stored. Online delete may be selected, but is not required. NuDB is
# available on all platforms that rippled runs on.
#
# type = RocksDB
#
# RocksDB is an open-source, general-purpose key/value store - see
# http://rocksdb.org/ for more details.
#
# RocksDB is an alternative backend for systems that don't use solid-state
# drives. Because RocksDB's performance degrades as it stores more data,
# keeping full history is not advised, and using online delete is
# recommended. RocksDB is not available on Windows.
#
# The RocksDB backend also provides these optional parameters:
#
# compression 0 for none, 1 for Snappy compression
#
#
# Choices for 'type' (not case-sensitive)
# RocksDB Use Facebook's RocksDB database (preferred)
# NuDB Use Ripple Labs' NuDB (Windows preferred)
# SQLite (Deprecated)
# none (No backend)
#
# Required keys:
# path Location to store the database (all types)
#
# Optional keys:
# compression 0 for none, 1 for Snappy compression
#
# These keys are possible for any type of backend:
#
# online_delete Minimum value of 256. Enable automatic purging
# of older ledger information. Maintain at least this
# number of ledger records online. Must be greater
# than or equal to ledger_history.
#
# advisory_delete 0 for disabled, 1 for enabled. If set, then
# require administrative RPC call "can_delete"
# to enable online deletion of ledger records.
@@ -641,23 +657,22 @@
# Notes:
# The 'node_db' entry configures the primary, persistent storage.
#
# The 'temp_db' configures a look-aside cache for high volume storage
# which doesn't necessarily persist between server launches. This
# is an optional configuration parameter. If it is left out then
# no look-aside database is created or used.
#
# The 'import_db' is used with the '--import' command line option to
# migrate the specified database into the current database given
# in the [node_db] section.
#
# [temp_db] Settings for the look-aside temporary db (optional)
# [import_db] Settings for performing a one-time import (optional)
# [database_path] Path to the book-keeping databases.
#
# There are 4 book-keeping SQLite database that the server creates and
# There are 4 bookkeeping SQLite database that the server creates and
# maintains. If you omit this configuration setting, it will default to
# creating a directory called "db" located in the same place as your
# rippled.cfg file. Partial pathnames will be considered relative to
# the location of the rippled executable.
#
# The [temp_db] configuration setting is deprecated and should be avoided.
#
#
#
#-------------------------------------------------------------------------------
@@ -715,7 +730,7 @@
# server=statsd
# address=192.168.0.95:4201
# prefix=my_validator
#
#
#-------------------------------------------------------------------------------
#
# 7. Voting
@@ -742,7 +757,7 @@
#
# Example:
# reference_fee = 10 # 10 drops
#
#
# account_reserve = <drops>
#
# The account reserve requirement is specified in drops. The portion of an
@@ -803,7 +818,7 @@
# "wss_public"
#
# Guest level API commands over Secure Websockets, open to everyone.
#
#
# For HTTPS and Secure Websockets ports, if no certificate and key file
# are specified then a self-signed certificate will be generated on startup.
# If you have a certificate and key file, uncomment the corresponding lines
@@ -816,29 +831,29 @@
# run with administrator privileges, or else rippled will not start.
[server]
port_rpc
port_rpc_admin_local
port_peer
port_wss_admin
port_ws_admin_local
#port_ws_public
#ssl_key = /etc/ssl/private/server.key
#ssl_cert = /etc/ssl/certs/server.crt
[port_rpc]
[port_rpc_admin_local]
port = 5005
ip = 127.0.0.1
admin = 127.0.0.1
protocol = https
protocol = http
[port_peer]
port = 51235
ip = 0.0.0.0
protocol = peer
[port_wss_admin]
[port_ws_admin_local]
port = 6006
ip = 127.0.0.1
admin = 127.0.0.1
protocol = wss
protocol = ws
#[port_ws_public]
#port = 5005
@@ -885,8 +900,10 @@ pool.ntp.org
[ips]
r.ripple.com 51235
# The latest validators can be obtained from
# https://ripple.com/ripple.txt
# Public keys of the validators that this rippled instance trusts. The latest
# list of validators can be obtained from https://ripple.com/ripple.txt
#
# See also https://wiki.ripple.com/Ripple.txt
#
[validators]
n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 RL1
@@ -895,7 +912,8 @@ n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C RL3
n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS RL4
n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5
# Ditto.
# The number of validators rippled needs to accept a consensus.
# Don't change this unless you know what you're doing.
[validation_quorum]
3
@@ -904,7 +922,8 @@ n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5
[rpc_startup]
{ "command": "log_level", "severity": "warning" }
# Defaults to 1 ("yes") so that certificates will be validated. To allow the use
# of self-signed certificates for development or internal use, set to 0 ("no").
#[ssl_verify]
#0
# If ssl_verify is 1, certificates will be validated.
# To allow the use of self-signed certificates for development or internal use,
# set to ssl_verify to 0.
[ssl_verify]
1

View File

@@ -490,6 +490,10 @@ TER Taker::transfer_xrp (
if (from == to)
return tesSUCCESS;
// Transferring zero is equivalent to not doing a transfer
if (amount == zero)
return tesSUCCESS;
return m_view.transfer_xrp (from, to, amount);
}
@@ -504,6 +508,12 @@ TER Taker::redeem_iou (
if (account == issue.account)
return tesSUCCESS;
// Transferring zero is equivalent to not doing a transfer
if (amount == zero)
return tesSUCCESS;
// If we are trying to redeem some amount, then the account
// must have a credit balance.
if (get_funds (account, amount) <= zero)
throw std::logic_error ("redeem_iou has no funds to redeem");
@@ -526,6 +536,10 @@ TER Taker::issue_iou (
if (account == issue.account)
return tesSUCCESS;
// Transferring zero is equivalent to not doing a transfer
if (amount == zero)
return tesSUCCESS;
return m_view.issue_iou (account, amount, issue);
}

View File

@@ -67,9 +67,13 @@ public:
auto it = mLedgers.find (hash);
if (it != mLedgers.end ())
{
it->second->update (seq);
if (it->second->isComplete() && !it->second->isFailed())
ret = it->second->getLedger();
// Don't touch failed acquires so they can expire
if (! it->second->isFailed ())
{
it->second->update (seq);
if (it->second->isComplete ())
ret = it->second->getLedger ();
}
}
else

View File

@@ -211,6 +211,12 @@ public:
for (auto const& remote_address : addresses)
{
if (remote_address.port () == 0)
{
throw std::runtime_error ("Port not specified for address:" +
remote_address.to_string ());
}
auto result (state->fixed.emplace (std::piecewise_construct,
std::forward_as_tuple (remote_address),
std::make_tuple (std::ref (m_clock))));

View File

@@ -35,7 +35,7 @@ char const* getRawVersionString ()
//
// The build version number (edit this for each release)
//
"0.28.1-rc2"
"0.28.1"
//
// Must follow the format described here:
//