Commit Graph

81 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
4e1567acff
Merge #8249: Enable (and check for) 64-bit ASLR on Windows
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan)
9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2016-09-26 13:34:38 +02:00
Wladimir J. van der Laan
9a75d29b6f devtools: Check for high-entropy ASLR in 64-bit PE executables
check_PE_PIE only checked for DYNAMIC_BASE, this is not enough
for (secure) ASLR on 64-bit.
2016-09-26 12:57:55 +02:00
Wladimir J. van der Laan
82eacc786d
Merge #8700: [copyright] add MIT license headers to .sh scripts where missing
0766d1c [copyright] add MIT license headers to .sh scripts where missing (isle2983)
2016-09-20 10:02:33 +02:00
Wladimir J. van der Laan
d8b4b631c5
Merge #8676: Add missing copyright headers
783e930 [copyright] Add missing copyright headers (isle2983)
2016-09-19 19:13:48 +02:00
Wladimir J. van der Laan
894c0ad9a9
Merge #8702: [copyright] add MIT License copyright header to remaining Python files
4677b19 [copyright] add MIT License copyright header to remaining Python files (isle2983)
2016-09-19 17:02:28 +02:00
Wladimir J. van der Laan
7e9ab9555c
Merge #8608: Install manpages via make install, also add some autogenerated manpages
d19583f improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control (nomnombtc)
09546ca regenerated all manpages with commit tag stripped, also add bitcoin-tx (nomnombtc)
ae6e754 change help string --enable-man to --disable-man (nomnombtc)
a32c102 add conditional for --enable-man, default is yes (nomnombtc)
dc84b6f add doc/man to subdir if configure flag --enable-man is set (nomnombtc)
00dba72 add doc/man/Makefile.am to include manpages (nomnombtc)
eb5643b add autogenerated manpages by help2man (nomnombtc)
6edf2fd add gen-manpages.sh description to README.md (nomnombtc)
d2cd9c0 add script to generate manpages with help2man (nomnombtc)
2016-09-13 10:34:55 +02:00
isle2983
4677b197f7 [copyright] add MIT License copyright header to remaining Python files 2016-09-11 16:21:01 -06:00
isle2983
783e930e68 [copyright] Add missing copyright headers 2016-09-11 15:25:51 -06:00
isle2983
0766d1cac3 [copyright] add MIT license headers to .sh scripts where missing
Years are set according to 'git log' history
2016-09-11 13:36:22 -06:00
nomnombtc
d19583f478 improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control 2016-09-01 16:51:24 +02:00
Wladimir J. van der Laan
e8ed6eb457
Merge #8621: [contrib] python: Don't use shell=True
fa994a7 contrib: Don't use shell=True (MarcoFalke)
2016-08-31 14:43:21 +02:00
MarcoFalke
fa994a7b8e contrib: Don't use shell=True 2016-08-28 17:04:55 +02:00
Wladimir J. van der Laan
a5bb6387f7
Merge #8607: [doc] Fix doxygen off-by-one comments, fix typos
fafe7b3 contrib: Make fix-copyright-headers.py more portable (MarcoFalke)
fa27c0a [doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke)
fabfd5d [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
67a5502 init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
2016-08-28 16:06:03 +02:00
nomnombtc
6edf2fdb85 add gen-manpages.sh description to README.md 2016-08-27 00:59:45 +02:00
nomnombtc
d2cd9c033b add script to generate manpages with help2man 2016-08-27 00:59:07 +02:00
Pieter Wuille
c072b8fd95
Merge #8545: [doc] Update git-subtree-check.sh README
fa3d974 [doc] Update git-subtree-check.sh README (MarcoFalke)
2016-08-26 19:18:14 +02:00
MarcoFalke
fafe7b3432 contrib: Make fix-copyright-headers.py more portable 2016-08-22 10:52:05 +02:00
MarcoFalke
fa3d974009 [doc] Update git-subtree-check.sh README 2016-08-19 12:21:06 +02:00
MarcoFalke
6e5e5abba6
Merge #8270: Tests: Use portable #! in python scripts (/usr/bin/env)
7b01ce2 Favour python over python2 as per PR #7723 (Matthew King)
873e81f Use portable #! in python scripts (/usr/bin/env) (Matthew King)
2016-08-15 15:45:20 +02:00
Suhas Daftuar
c1d61fbd08 Add warning if -blockminsize is used. 2016-07-05 19:57:45 -04:00
Matthew King
7b01ce254c Favour python over python2 as per PR #7723 2016-06-28 12:59:34 +03:00
Matthew King
873e81f89b Use portable #! in python scripts (/usr/bin/env) 2016-06-26 16:47:03 +03:00
Alex Morcos
4f7ff00497 [qa] Add rpc test for segwit
Amended by Pieter Wuille to use multisig 1-of-1 for P2WSH tests, and BIP9
based switchover logic.

Fixes and py3 conversion by Marco Falke.
2016-06-22 15:43:01 +02:00
Cory Fields
9d25362087 build: add armhf/aarch64 gitian builds
- create a script to handle split debug. This will also eventually need to check
  targets, and use dsymutil for osx.
- update config.guess/config.sub for bdb for aarch64.
- temporarily disable symbol checks for arm/aarch64
- quit renaming to linux32/linux64 and use the host directly

This also adds a hack to work around an Ubuntu bug in the gcc-multilib package:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults-armhf-cross/+bug/1347820

The problem is that gcc-multilib conflicts with the aarch toolchain.
gcc-multilib installs a symlink that points
/usr/include/asm -> /usr/include/x86_64-linux-gnu/asm.

Without this link, gcc -m32 can't find asm/errno.h (and others), since
/usr/include/x86_64-linux-gnu isn't in its default include path. But
/usr/include/i386-linux-gnu is (though it doesn't exist on disk).

So work around the problem by linking
/usr/include/i386-linux-gnu/asm -> /usr/include/x86_64-linux-gnu/asm.

The symlink fix is actually quite reasonable, but echoing the password into
sudo is nasty, and should probably be addressed in gitian itself. It makes more
sense to enable passwordless sudo for the build user by default.
2016-06-10 05:34:50 -04:00
MarcoFalke
faf3d11ad7 [doc] Update bitcoin-core GitHub links 2016-04-29 23:07:06 +02:00
Wladimir J. van der Laan
10d3ae102a devtools: Auto-set branch to merge to in github-merge
As we are already using the API to retrieve the pull request
title, also retrieve the base branch.

This makes sure that pull requests for 0.12 automatically end up in
0.12, and pull requests for master automatically end up in master,
and so on.

It is still possible to override the branch from the command line
or using the `githubmerge.branch` git option.
2016-04-02 08:13:49 +02:00
Wladimir J. van der Laan
5131005e5b
Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2016-03-29 17:22:46 +02:00
Wladimir J. van der Laan
18f05c765c build: python 3 compatibility
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default.
It is possible to install a python-2.7 package, but this has its own
problem: no `python` or `python2` symlink (see #7717).

This fixes the following scripts to work with python 3:
- `make check` (bctest,py, bitcoin-util-test.py)
- `make translate` (extract_strings_qt.py)
- `make symbols-check` (symbol-check.py)
- `make security-check` (security-check.py)

Explicitly call the python commands using $(PYTHON) instead
of relying on the interpreter line at the top of the scripts.
2016-03-29 17:20:16 +02:00
Wladimir J. van der Laan
f11c5a3cbd devtools: make github-merge.py use py3
This makes github-merge.py the first developer tool to go
all Python 3 (for context see #7717).

The changes are straightforward as the script already was
`from __future__ import division,print_function,unicode_literals`.

However urllib2 changed name, and json will only accept unicode data not
bytes.

This retains py2 compatibility for now: not strictly necessary
as it's not used by the build system - but it was easy.
2016-03-23 13:15:20 +01:00
Gregory Maxwell
89d113e02a Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay. 2016-02-01 12:32:57 +00:00
Wladimir J. van der Laan
c8a6c11d6d devtools: Fix utf-8 support in messages for github-merge
Use 'utf-8' instead of the Python 2 default of 'ascii' to encode/decode
commit messages.
This can be removed when switching to Python 3, as 'utf-8' is the
default there.
Necessary for merging #7422 due to the ฿ in ฿tcDrak.
2016-01-27 11:45:06 +01:00
Cory Fields
475813ba5b release: add _IO_stdin_used to ignored exports
For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109
2016-01-26 23:07:04 -05:00
Cory Fields
cd27bf51e0 release: fix parsing of BIND_NOW with older readelf 2016-01-26 23:07:04 -05:00
Wladimir J. van der Laan
6a5932bf2a
Merge #7402: [devtools] github-merge get toplevel dir without extra whitespace
5ed2f16 [devtools] github-merge get toplevel dir without extra whitespace (Andrew C)
2016-01-25 15:42:16 +01:00
Andrew C
5ed2f16480 [devtools] github-merge get toplevel dir without extra whitespace
Fixes a bug in github merge when it runs the tests where the toplevel directory has an extra '\n' appended to the path string. Now it doesn't.
2016-01-25 09:02:05 -05:00
Wladimir J. van der Laan
17b5d3896f devtools: show pull and commit information in github-merge
Print the number and title of the pull, as well as the commits to be
merged.
2016-01-22 16:37:42 +01:00
Wladimir J. van der Laan
da6d18b6c7 devtools: replace github-merge with python version
This is meant to be a direct translation of the bash script,
with the difference that it retrieves the PR title from github,
thus creating pull messages like:

    Merge #12345: Expose transaction temperature over RPC
2016-01-20 13:02:45 +01:00
Wladimir J. van der Laan
668906fcf2
Merge pull request #7280
faeda0e [travis] Run contrib/devtools/check-doc.py early (MarcoFalke)
fada0c9 [travis] Fail when documentation is outdated (MarcoFalke)
2016-01-19 09:41:32 +01:00
MarcoFalke
faeda0e677 [travis] Run contrib/devtools/check-doc.py early 2016-01-18 14:00:02 +01:00
Wladimir J. van der Laan
b8f485c472
Merge pull request #7304
fa074a6 [contrib] Prepare clang-format-diff for usage (MarcoFalke)
fa4f4b6 Add clang-format-diff.py from the LLVM svn (MarcoFalke)
2016-01-18 10:49:47 +01:00
calebogden
0331aa350c Fixing typos on security-check.py and torcontrol.cpp 2016-01-08 13:31:42 -08:00
MarcoFalke
fa074a6fd0 [contrib] Prepare clang-format-diff for usage 2016-01-06 16:50:06 +01:00
MarcoFalke
fa4f4b6974 Add clang-format-diff.py from the LLVM svn
------------------------------------------------------------------------
r249567 | djasper | 2015-10-07 19:00:20 +0200 (Wed, 07 Oct 2015) | 2 lines

clang-format: Add include sorting capabilities to sublime, emacs and
clang-format-diff.py.
------------------------------------------------------------------------
r231926 | djasper | 2015-03-11 15:58:38 +0100 (Wed, 11 Mar 2015) | 3 lines

clang-format: Recognize the .ts (TypeScript) extension as JavaScript.

Patch by Martin Probst. Thank you.
------------------------------------------------------------------------
r223685 | djasper | 2014-12-08 20:39:03 +0100 (Mon, 08 Dec 2014) | 1 line

clang-format: Make clang-format-diff.py format java files.
------------------------------------------------------------------------
r221990 | djasper | 2014-11-14 14:27:28 +0100 (Fri, 14 Nov 2014) | 4 lines

clang-format: Give clang-format-diff.py a -v option.

With it, it prints the file being formatted. Apparently people are
formatting thousands of files and some progress indication is helpful.
------------------------------------------------------------------------
r216945 | ed | 2014-09-02 22:59:13 +0200 (Tue, 02 Sep 2014) | 6 lines

Use /usr/bin/env python instead of /usr/bin/python.

On operating systems like the BSDs, it is typically the case that
/usr/bin/python does not exist. We should therefore use /usr/bin/env
instead. This is also done in various other scripts in tools/.

------------------------------------------------------------------------
r208766 | djasper | 2014-05-14 11:36:11 +0200 (Wed, 14 May 2014) | 1 line

clang-format: Add clang-format-diff usage examples for SVN.
------------------------------------------------------------------------
r199750 | djasper | 2014-01-21 16:40:01 +0100 (Tue, 21 Jan 2014) | 3 lines

clang-format: Enable formatting for .proto and .protodevel files.

Support for protocol buffer files seems complete enough.
------------------------------------------------------------------------
r197668 | djasper | 2013-12-19 11:21:37 +0100 (Thu, 19 Dec 2013) | 1 line

Fix usage description of clang-format-diff.py.
------------------------------------------------------------------------
r197608 | alp | 2013-12-18 22:34:07 +0100 (Wed, 18 Dec 2013) | 7 lines

clang-format-diff.py: fix -regex/-iregex matching

While debating the finer points of file extension matching, we somehow missed
the bigger problem that the current code will match anything starting with the
default or user-specified pattern (e.g. lit.site.cfg.in).

Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$.
------------------------------------------------------------------------
r197542 | alp | 2013-12-18 01:58:58 +0100 (Wed, 18 Dec 2013) | 3 lines

clang-format-diff.py: add the OpenCL file extension

It's handled correctly as a C-family language.
------------------------------------------------------------------------
r197378 | alexfh | 2013-12-16 11:57:30 +0100 (Mon, 16 Dec 2013) | 14 lines

Added -iregex for case-insensitive regex to filter file names.

Summary:
-regex and -iregex both mimic options of the find utility.
Made the default list of extensions case-insensitive, so that it's not only C
and CPP extensions are accepted in upper case.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2415
------------------------------------------------------------------------
r196917 | alp | 2013-12-10 14:51:53 +0100 (Tue, 10 Dec 2013) | 10 lines

clang-format-diff.py: Support -regex filter and more filename extensions

Add support for more filename extensions based on the list in the clang
plus JavaScript.

Also adds a -regex option so users can override defaults if they have unusual
file extensions or want to format everything in the diff.

Keeping with tradition the flag is modelled on Unix conventions, this time
matching the semantics of find(1).
------------------------------------------------------------------------
r196484 | alp | 2013-12-05 09:14:54 +0100 (Thu, 05 Dec 2013) | 4 lines

clang-format-diff.py: pass through errors to stderr, not stdout

Also use write() for unified diff output to avoid further processing by the
print function (e.g. trailing newline).
------------------------------------------------------------------------
r196336 | alp | 2013-12-04 01:48:22 +0100 (Wed, 04 Dec 2013) | 3 lines

clang-format-diff.py: Fix 'beintroduced' in help output

Also update docs to reflect recently changed -i inplace edit behaviour.
------------------------------------------------------------------------
r192505 | alexfh | 2013-10-11 23:32:01 +0200 (Fri, 11 Oct 2013) | 17 lines

Changed clang-format-diff.py to output diff by default. Added -i option to apply changes to files instead.

Summary:
"svn diff|clang-format-diff.py" will just output the diff.
Now it's possible to use:
  svn diff|clang-format-diff.py|patch -p0
as an equivalent to:
  svn diff|clang-format-diff.py -i
;)

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1840
------------------------------------------------------------------------
r192184 | djasper | 2013-10-08 17:54:36 +0200 (Tue, 08 Oct 2013) | 7 lines

clang-format: Don't exit with failure on empty files.

Also let clang-format-diff.py detect errors based on clang-format's
return code. Otherwise messages like "Can't find usable .clang-format,
falling back to LLVM style" can make it fail, which might be undesired.

Patch by Alp Toker. Thank you!
------------------------------------------------------------------------
r191820 | djasper | 2013-10-02 15:59:03 +0200 (Wed, 02 Oct 2013) | 18 lines

clang-format: Fix clang-format-diff.py according to diff specification.

Patch by Alp Toker. Many thanks!

Original descriptions:
clang-format-diff incorrectly modifies unchanged lines due to an error
in diff parsing.

The unified diff format has a default line change count of 1, and 0 may
be specified to indicate that no lines have been added. This patch
updates the parser to accurately reflect the diff specification.

This also has the benefit of stabilising the operation so it will
produce the same output when run multiple times on the same changeset,
which was previously not the case.

No tests added because this script is not currently tested (though we
should look into that!)
------------------------------------------------------------------------
r191137 | djasper | 2013-09-21 12:05:02 +0200 (Sat, 21 Sep 2013) | 3 lines

Fix clang-format-diff.py to accept -style again.

Copy and paste error in r190935..
------------------------------------------------------------------------
r190935 | djasper | 2013-09-18 14:14:09 +0200 (Wed, 18 Sep 2013) | 3 lines

Simplify clang-format-diff.py using new clang-format options.

clang-format's -lines parameter makes this significantly easier.
------------------------------------------------------------------------
r189765 | alexfh | 2013-09-02 18:39:23 +0200 (Mon, 02 Sep 2013) | 2 lines

Added WebKit style to the BasedOnStyle handling and to the relevant help messages.

------------------------------------------------------------------------
r182923 | djasper | 2013-05-30 13:50:20 +0200 (Thu, 30 May 2013) | 4 lines

Fix default value of clang-format-diff's -p option.

This way, it has the same default as 'patch' and also the example in the
code makes more sense as it is explicitly setting -p 1.
------------------------------------------------------------------------
r179676 | djasper | 2013-04-17 09:55:02 +0200 (Wed, 17 Apr 2013) | 2 lines

Small improvements to clang-format documentation and integration
scripts.
------------------------------------------------------------------------
r179377 | djasper | 2013-04-12 15:42:36 +0200 (Fri, 12 Apr 2013) | 1 line

Fix clang-format-diff.py script.
------------------------------------------------------------------------
r179098 | djasper | 2013-04-09 17:23:04 +0200 (Tue, 09 Apr 2013) | 5 lines

Improvements to clang-format integrations.

This adds an emacs editor integration (thanks to Ami Fischman). Also
pulls out the style into a variable for the vi integration and just
uses clang-formats defaults style in clang-format-diff.py.
------------------------------------------------------------------------
r177506 | djasper | 2013-03-20 10:53:23 +0100 (Wed, 20 Mar 2013) | 1 line

Add clang-format binary to cfe.
------------------------------------------------------------------------

s
2016-01-06 16:49:51 +01:00
Wladimir J. van der Laan
605c17844e
Merge pull request #7205
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439 Bump copyright headers to 2015 (MarcoFalke)
fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
MarcoFalke
fada0c90b6 [travis] Fail when documentation is outdated 2016-01-04 19:24:07 +01:00
Wladimir J. van der Laan
45d13abf4e
Merge pull request #7253
0d59589 Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value) (Luke Dashjr)
2016-01-04 12:00:36 +01:00
MarcoFalke
fa71669452 [devtools] Use git pretty-format for year parsing 2015-12-26 17:53:42 +01:00
Luke Dashjr
0d595894f0 Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value) 2015-12-25 13:15:01 +00:00
MarcoFalke
fa6ad855e9 [devtools] Rewrite fix-copyright-headers.py 2015-12-13 18:07:36 +01:00
MarcoFalke
fad246037f Update contrib/devtools/README.md
* Fix order
* Update subtree check
2015-12-02 15:20:40 +01:00