aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-14script: create sane error return codes for script validation and remove loggingCory Fields
Attempt to codify the possible error statuses associated with script validation. script/types.h has been created with the expectation that it will be part of the public lib interface. The other flag enums will be moved here in a future commit. Logging has also been removed in order to drop the dependency on core.h. It can be re-added to bitcoind as-needed. This makes script verification finally free of application state and boost!
2014-11-13Merge pull request #5198Wladimir J. van der Laan
1c0aa91 Update serialize comments to be doxygen compatible (Michael Ford)
2014-11-13Merge pull request #5252Wladimir J. van der Laan
b9a36b1 Make comments in /src/script doxygen compatible (Michael Ford)
2014-11-13Merge pull request #5203Wladimir J. van der Laan
0d91ae3 The first thing that SelectParams does is call SelectBaseParams. Therefore, we do not need to call SelectBaseParams immediately prior to calling SelectParams. (mruddy)
2014-11-13Merge pull request #5268Wladimir J. van der Laan
c8b115e travis: temporarily disable the forknotify test (Cory Fields) 1877390 depends: cleanup better after qt and force a bump (Cory Fields) 560e996 travis: attempt to fix unlikely build issue (Cory Fields)
2014-11-13travis: temporarily disable the forknotify testCory Fields
It appears to be breaking randomly on Windows
2014-11-13depends: cleanup better after qt and force a bumpCory Fields
qt needs to be rebuilt for travis. The previous commit should help ensure that this won't need to be done again.
2014-11-13travis: attempt to fix unlikely build issueCory Fields
This is a long chain of errors, and there are likely other changes that could be made to cope in other places along that chain. If depends don't build successfully, don't bother trying again for the sake of better logging. That's likely to hurt more than help. In this case, qt build failed, and on the second attempt, it appeared to be successful. However, due to a bad object from an internal gcc error on the first build, the resulting lib was unusable. This caused bitcoin-qt to not be built, and tests and packaging which expected bitcoin-qt to be there failed. The root cause: Mingw is especially crashy when using -jX, likely compounded by low-memory environments. I've seen multiple problems with this combo in Gitian as well. In this case: i686-w64-mingw32-g++: internal compiler error: Killed (program cc1plus) ... make[3]: *** [.obj/release/qdrawhelper.o] Error 4 The workaround: Bump Travis down to using -j2 by default. Additionaly, enable --with-gui for the windows builds. This will cause configure to fail if qt is not working while also testing the config flag. Other failures which may be worth revisiting separately: - If a depends package fails, maybe remove the workdir so that it doesn't taint subsequent runs - See if there's anything repeatable about the ICE when building qt
2014-11-12Merge pull request #5256Pieter Wuille
f4e0aef Do signature-s negation inside the tests (Pieter Wuille)
2014-11-12Merge pull request #5161Wladimir J. van der Laan
845c86d Do not use third party services for IP detection. (Gregory Maxwell)
2014-11-12Merge pull request #5240Wladimir J. van der Laan
5e2dcae gather_inputs: use correct variable in error message (dexX7)
2014-11-10Merge pull request #5245Wladimir J. van der Laan
d52f072 Don't show wallet options in the preferences menu when running with -disablewallet (sinetek)
2014-11-10Don't show wallet options in the preferences menu when running with ↵sinetek
-disablewallet
2014-11-10Merge pull request #5246Wladimir J. van der Laan
a8a5e01 Adding license. (sinetek)
2014-11-10Merge pull request #5239Wladimir J. van der Laan
65e3a1e Make sure that GetRandomBytes never fails (Wladimir J. van der Laan)
2014-11-10Do signature-s negation inside the testsPieter Wuille
To avoid the need for libsecp256k1 to expose such functionality.
2014-11-10Merge pull request #5249Pieter Wuille
38c62ae Adding const. (sinetek)
2014-11-10Make comments in /src/script doxygen compatibleMichael Ford
2014-11-08Adding const.sinetek
2014-11-08Adding license.sinetek
2014-11-08Merge pull request #5210Pieter Wuille
1f84793 Avoid a bunch of copying/conversion in script/sign (Pieter Wuille)
2014-11-07Do not use third party services for IP detection.Gregory Maxwell
This is a simplified re-do of closed pull #3088. This patch eliminates the privacy and reliability problematic use of centralized web services for discovering the node's addresses for advertisement. The Bitcoin protocol already allows your peers to tell you what IP they think you have, but this data isn't trustworthy since they could lie. So the challenge is using it without creating a DOS vector. To accomplish this we adopt an approach similar to the one used by P2Pool: If we're announcing and don't have a better address discovered (e.g. via UPNP) or configured we just announce to each peer the address that peer told us. Since peers could already replace, forge, or drop our address messages this cannot create a new vulnerability... but if even one of our peers is giving us a good address we'll eventually make a useful advertisement. We also may randomly use the peer-provided address for the daily rebroadcast even if we otherwise have a seemingly routable address, just in case we've been misconfigured (e.g. by UPNP). To avoid privacy problems, we only do these things if discovery is enabled.
2014-11-07gather_inputs: use correct variable in error messagedexX7
"amount" and "fee" do not exist (anymore?).
2014-11-07Make sure that GetRandomBytes never failsWladimir J. van der Laan
We're using GetRandomBytes in several contexts where it's either unwieldy to return an error, or an error would mean a fatal exception anyhow. @gmaxwell checked OpenSSL a while ago and discovered that it never actually fails, but it can't hurt to be a bit paranoid here.
2014-11-07Merge pull request #5225Wladimir J. van der Laan
369be58 doc: Correct several typos in bootstrap.md (sandakersmann)
2014-11-07doc: Correct several typos in bootstrap.mdsandakersmann
- Also remove references to the blockchain size
2014-11-07Merge pull request #5232Wladimir J. van der Laan
5985ba9 Fixing warning C4099: 'CExtPubKey' : type name first seen using 'class' now seen using 'struct' (ENikS)
2014-11-06Fixing warning C4099: 'CExtPubKey' : type name first seen using 'class' now ↵ENikS
seen using 'struct'
2014-11-06Merge pull request #5214Wladimir J. van der Laan
eefb766 Rearrange initial config checks: AC, AM, compiler, libtool. Removed some repeated and unused prog checks. (kiwigb)
2014-11-06Merge pull request #5223Pieter Wuille
bfe029f Reduce bitcoin-tx dependencies (Pieter Wuille)
2014-11-06Merge pull request #5213Wladimir J. van der Laan
0246ab6 depends: boost: hard-code hidden symbol visibility (Cory Fields)
2014-11-06Reduce bitcoin-tx dependenciesPieter Wuille
2014-11-06Merge pull request #5221Pieter Wuille
93a6022 Reduce bitcoin-cli dependencies (Pieter Wuille)
2014-11-06Change -genproclimit default to 1Wladimir J. van der Laan
This is less surprising. Avoids the overload-the-CPU default of using N threads for script verification as well as N threads for generation where N is number of cores.
2014-11-06Always log number of threads for script verificationWladimir J. van der Laan
Helps for troubleshooting.
2014-11-06Rearrange initial config checks: AC, AM, compiler, libtool.kiwigb
Removed some repeated and unused prog checks.
2014-11-05Reduce bitcoin-cli dependenciesPieter Wuille
2014-11-05Merge pull request #5215Wladimir J. van der Laan
93a3f0e Qt: Network-Traffic-Graph: make some distance between line and text (Jonas Schnelli)
2014-11-05Merge pull request #5218Wladimir J. van der Laan
236d96e Qt: Add support for missing scrollbar in peers table (Jonas Schnelli)
2014-11-05Qt: Add support for missing scrollbar in peers tableJonas Schnelli
2014-11-05Qt: Network-Traffic-Graph: make some distance between line and textJonas Schnelli
Text directly glued on the graph-line looks not so good.
2014-11-05Merge pull request #5173Wladimir J. van der Laan
50b43fd Be a bit more verbose during -loadblock if we already have blocks (Matt Corallo) 8375e22 Fix -loadblock after shutdown during IBD (Matt Corallo) 4ead850 Fix for crash during block download (Matt Corallo)
2014-11-05depends: boost: hard-code hidden symbol visibilityCory Fields
tl;dr: This solves boost visibility problems for default/release build configs on non-Linux platforms. When Bitcoin builds against boost's header-only classes, it ends up with objects containing symbols that the upstream boost libs also have. Since Bitcoin builds by default with hidden symbol visibility, it can end up trying to link against a copy of the same symbols with default visibility. This is not a problem on Linux because 3rd party static libs are un-exported by default (--exclude-libs,ALL), but that is not available for MinGW and OSX. Those platforms (and maybe others?) end up confused about which version to use. The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to global weak symbol guard variable for <bar> means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings." MinGW's linker complains similarly. Since the default symbol visibility for Bitcoin is hidden and releases are built that way as well, build Boost with hidden visibility. Linux builds Boost this way also, but only for the sake of continuity. This means that the linker confusion logic is reversed, so the problem will will now be encountered if Bitcoin is built with --disable-reduce-exports, but that's better than the current situation.
2014-11-04Avoid a bunch of copying/conversion in script/signPieter Wuille
2014-11-04Merge pull request #5007Wladimir J. van der Laan
af82884 Add "warmup mode" for RPC server. (Daniel Kraft)
2014-11-04Add "warmup mode" for RPC server.Daniel Kraft
Start the RPC server before doing all the (expensive) startup initialisations like loading the block index. Until the node is ready, return all calls immediately with a new error signalling "in warmup" with an appropriate status message (similar to the init message). This is useful for RPC clients to know that the server is there (e. g., they don't have to start it) but not yet available. It is used in Namecoin and Huntercoin already for some time, and there exists a UI hooked onto the RPC interface that actively uses this to its advantage.
2014-11-04build: Fix "too many arguments" errorFrancis GASCHET
Closes #5141
2014-11-04Merge pull request #5205Pieter Wuille
b4347f6 minor code style cleanup after recent merges (Philip Kaufmann)
2014-11-04minor code style cleanup after recent mergesPhilip Kaufmann
- add a missing license header - correct some header orderings etc.
2014-11-04Merge pull request #5191Pieter Wuille
a2cfae8 util.cpp comment correction (21E14)