Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10615260
clientversion.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
clientversion.cpp
View Options
// Copyright (c) 2012-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include
<clientversion.h>
#include
<tinyformat.h>
/**
* Name of client reported in the 'version' message. Report the same name
* for both bitcoind and bitcoin-qt, to make it harder for attackers to
* target servers or GUI users specifically.
*/
const
std
::
string
CLIENT_NAME
(
"Bitcoin ABC"
);
#ifdef HAVE_BUILD_INFO
#include
<obj/build.h>
// The <obj/build.h>, which is generated by the build environment
// (share/genbuild.sh), could contain only one line of the following:
// - "#define BUILD_GIT_TAG ...", if the top commit is tagged
// - "#define BUILD_GIT_COMMIT ...", if the top commit is not tagged
// - "// No build information available", if proper git information is not
// available
#endif
//! git will put "#define GIT_COMMIT_ID ..." on the next line inside archives.
//! $Format:%n#define GIT_COMMIT_ID "%H"$
#ifdef BUILD_GIT_TAG
#define BUILD_DESC BUILD_GIT_TAG
#define BUILD_SUFFIX ""
#else
#define BUILD_DESC \
"v" STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE( \
CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION)
#ifdef BUILD_GIT_COMMIT
#define BUILD_SUFFIX "-" BUILD_GIT_COMMIT
#elif defined(GIT_COMMIT_ID)
#define BUILD_SUFFIX "-g" GIT_COMMIT_ID
#else
#define BUILD_SUFFIX "-unk"
#endif
#endif
const
std
::
string
CLIENT_BUILD
(
BUILD_DESC
BUILD_SUFFIX
);
std
::
string
FormatVersion
(
int
nVersion
)
{
if
(
nVersion
%
100
==
0
)
{
return
strprintf
(
"%d.%d.%d"
,
nVersion
/
1000000
,
(
nVersion
/
10000
)
%
100
,
(
nVersion
/
100
)
%
100
);
}
else
{
return
strprintf
(
"%d.%d.%d.%d"
,
nVersion
/
1000000
,
(
nVersion
/
10000
)
%
100
,
(
nVersion
/
100
)
%
100
,
nVersion
%
100
);
}
}
std
::
string
FormatFullVersion
()
{
return
CLIENT_BUILD
;
}
/**
* Format the subversion field according to BIP 14 spec.
* (https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki)
*/
std
::
string
FormatUserAgent
(
const
std
::
string
&
name
,
const
std
::
string
&
version
,
const
std
::
vector
<
std
::
string
>
&
comments
)
{
std
::
ostringstream
ss
;
ss
<<
"/"
;
ss
<<
name
<<
":"
<<
version
;
if
(
!
comments
.
empty
())
{
std
::
vector
<
std
::
string
>::
const_iterator
it
(
comments
.
begin
());
ss
<<
"("
<<
*
it
;
for
(
++
it
;
it
!=
comments
.
end
();
++
it
)
{
ss
<<
"; "
<<
*
it
;
}
ss
<<
")"
;
}
ss
<<
"/"
;
return
ss
.
str
();
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sat, Nov 23, 10:02 (1 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4511177
Default Alt Text
clientversion.cpp (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment