From c17f7e8b372b1d675aaf7cff37ed77cd018a8b48 Mon Sep 17 00:00:00 2001 From: seelabs Date: Tue, 26 Jan 2016 16:22:58 -0500 Subject: [PATCH 1/3] Enforce no-ripple constraints --- src/ripple/app/paths/PathState.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/ripple/app/paths/PathState.cpp b/src/ripple/app/paths/PathState.cpp index b9142ea8a..b9fb425e1 100644 --- a/src/ripple/app/paths/PathState.cpp +++ b/src/ripple/app/paths/PathState.cpp @@ -799,6 +799,19 @@ TER PathState::checkNoRipple ( if (terStatus != tesSUCCESS) return terStatus; } + + if (!nodes_[i - 1].isAccount() && + nodes_[i].isAccount() && + nodes_[i + 1].isAccount() && + nodes_[i -1].issue_.account != nodes_[i].account_) + { // offer -> account -> account + auto const& currencyID = nodes_[i].issue_.currency; + terStatus = checkNoRipple ( + nodes_[i-1].issue_.account, nodes_[i].account_, nodes_[i+1].account_, + currencyID); + if (terStatus != tesSUCCESS) + return terStatus; + } } return tesSUCCESS; From 5b5a01989ca25ee4c9daaf559be15c8ca6ac5780 Mon Sep 17 00:00:00 2001 From: Nik Bougalis Date: Wed, 27 Jan 2016 12:26:58 -0800 Subject: [PATCH 2/3] Improve compile-time OpenSSL version check --- SConstruct | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/SConstruct b/SConstruct index 31a885623..9f3317f02 100644 --- a/SConstruct +++ b/SConstruct @@ -114,7 +114,13 @@ AddOption('--ninja', dest='ninja', action='store_true', help='generate ninja build file build.ninja') def parse_time(t): - return time.strptime(t, '%a %b %d %H:%M:%S %Z %Y') + l = len(t.split()) + if l==5: + return time.strptime(t, '%a %b %d %H:%M:%S %Y') + elif l==3: + return time.strptime(t, '%d %b %Y') + else: + return time.strptime(t, '%a %b %d %H:%M:%S %Z %Y') CHECK_PLATFORMS = 'Debian', 'Ubuntu' CHECK_COMMAND = 'openssl version -a' @@ -126,17 +132,24 @@ UNITY_BUILD_DIRECTORY = 'src/ripple/unity/' USE_CPP_14 = os.getenv('RIPPLED_USE_CPP_14') def check_openssl(): - if Beast.system.platform in CHECK_PLATFORMS: - for line in subprocess.check_output(CHECK_COMMAND.split()).splitlines(): - if line.startswith(CHECK_LINE): - line = line[len(CHECK_LINE):] - if parse_time(line) < parse_time(BUILD_TIME): - raise Exception(OPENSSL_ERROR % (line, BUILD_TIME)) - else: - break - else: - raise Exception("Didn't find any '%s' line in '$ %s'" % - (CHECK_LINE, CHECK_COMMAND)) + if Beast.system.platform not in ['Debian', 'Ubuntu']: + return + line = subprocess.check_output('openssl version -b'.split()).strip() + check_line = 'built on: ' + if not line.startswith(check_line): + raise Exception("Didn't find any '%s' line in '$ %s'" % + (check_line, 'openssl version -b')) + d = line[len(check_line):] + if 'date unspecified' in d: + words = subprocess.check_output('openssl version'.split()).split() + if len(words)!=5: + raise Exception("Didn't find version date in '$ openssl version'") + d = ' '.join(words[-3:]) + build_time = 'Mon Apr 7 20:33:19 UTC 2014' + if parse_time(d) < parse_time(build_time): + raise Exception('Your openSSL was built on %s; ' + 'rippled needs a version built on or after %s.' + % (line, build_time)) def set_implicit_cache(): From ad2383bd4bd2f1c24ffd4f5125abd11a3cfc9328 Mon Sep 17 00:00:00 2001 From: Nik Bougalis Date: Tue, 26 Jan 2016 13:53:11 -0800 Subject: [PATCH 3/3] Set version to 0.30.0-hf2 --- src/ripple/protocol/impl/BuildInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ripple/protocol/impl/BuildInfo.cpp b/src/ripple/protocol/impl/BuildInfo.cpp index 37aabeccd..87efa31e9 100644 --- a/src/ripple/protocol/impl/BuildInfo.cpp +++ b/src/ripple/protocol/impl/BuildInfo.cpp @@ -35,7 +35,7 @@ char const* getRawVersionString () // // The build version number (edit this for each release) // - "0.30.0-hf1" + "0.30.0-hf2" // // Must follow the format described here: //