Compare commits

...

3 Commits

Author SHA1 Message Date
Nik Bougalis
ad2383bd4b Set version to 0.30.0-hf2 2016-01-27 12:27:27 -08:00
Nik Bougalis
5b5a01989c Improve compile-time OpenSSL version check 2016-01-27 12:27:18 -08:00
seelabs
c17f7e8b37 Enforce no-ripple constraints 2016-01-26 13:52:41 -08:00
3 changed files with 39 additions and 13 deletions

View File

@@ -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():

View File

@@ -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;

View File

@@ -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:
//