Commit graph

169 commits

Author SHA1 Message Date
Wladimir J. van der Laan 2d53ba2c69 Merge pull request #1925 from Diapolo/gcc-hardening
GCC hardening for Bitcoin-Qt
2012-10-25 01:07:19 -07:00
Philip Kaufmann 6b08099d7b fix a double inclusion of txdb.h in bitcoin-qt.pro 2012-10-21 21:22:39 +02:00
Pieter Wuille fcfa7a588e Update version numbers to 0.7.99 2012-10-21 12:10:08 +02:00
Pieter Wuille 4ca60bba5c Remove BDB block database support 2012-10-20 23:08:57 +02:00
Pieter Wuille 2d8a48292b LevelDB block and coin databases
Split off CBlockTreeDB and CCoinsViewDB into txdb-*.{cpp,h} files,
implemented by either LevelDB or BDB.

Based on code from earlier commits by Mike Hearn in his leveldb
branch.
2012-10-20 23:08:57 +02:00
Pieter Wuille 43b7905e98 LevelDB glue
Database-independent glue for supporting LevelDB databases.

Based on code from earlier commits by Mike Hearn in his leveldb
branch.
2012-10-20 23:08:56 +02:00
Pieter Wuille 3ff3a2bd60 Makefile integration of LevelDB 2012-10-20 23:08:56 +02:00
Philip Kaufmann 493940038f Bitcoin-Qt: remove unneeded "--param ssp-buffer-size=1" flag
- that flag is not needed when using "-fstack-protector-all", so remove it
  (see:
  http://stackoverflow.com/questions/1629685/when-and-how-to-use-gccs-stack-protection-feature)
2012-10-13 10:25:17 +02:00
Philip Kaufmann 10d3603ffa Bitcoin-Qt: add new GCC compiler hardening options
- this patch enables several new GCC compiler hardening options that
  allows us to increase the security of our binaries (see:
  https://wiki.debian.org/Hardening)

-D_FORTIFY_SOURCE=2:
Enables compile-time protection against static sized buffer overflows.

-Wl,-z,relro -Wl,-z,now:
Enables full RELRO (RELocation Read-Only), which is a generic mitigation
technique to harden the data sections of an ELF binary/process. See:
http://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/ for
further details.
2012-10-12 23:16:27 +02:00
Wladimir J. van der Laan ac0ad5dc63 Merge pull request #1901 from laanwj/2012_10_remove_strlcpy
get rid of strlcpy.h
2012-10-11 00:39:51 -07:00
Gavin Andresen 1d1f32d16d Bump versions for 0.7.1 release 2012-10-09 12:37:35 -04:00
Wladimir J. van der Laan 6032e4f4e7 get rid of strlcpy.h
Don't use hand-rolled string manipulation routine with a fixed
buffer in the bitcoin core, instead make use of c++ strings and boost.
2012-10-07 14:38:37 +02:00
Wladimir J. van der Laan 827d8c2e0c Revert "Remove -Wformat* warnings from makefiles"
This reverts commit 14ac0adcc7.
2012-10-01 19:45:42 +02:00
Wladimir J. van der Laan 14ac0adcc7 Remove -Wformat* warnings from makefiles
commit 5a1a3622 effectively enabled these warnings, but they need
to be fixed before being enabled in the general build scripts.
2012-09-27 04:10:21 +02:00
Wladimir J. van der Laan f5cb3488be Merge pull request #1857 from Diapolo/pro-file
change last occurance of mac to macx in Qt project-file
2012-09-25 02:53:12 -07:00
Wladimir J. van der Laan dc2a68dc43 Merge pull request #1847 from gavinandresen/osx_pthread
Compile/link Bitcoin-Qt.app with -pthread on OSX
2012-09-25 02:52:34 -07:00
Philip Kaufmann 6ca5ee6211 change last occurance of mac to macx in Qt project-file 2012-09-24 22:59:31 +02:00
Philip Kaufmann 807f3e83ba Bitcoin-Qt: expand GCC Stack-Smashing Protector usage (non Windows)
This patch currently excludes our Windows executable!

- change to use -fstack-protector-all
- the minimum size of buffers (i.e. arrays) that will receive stack
  smashing protection was changed to 1 byte (GCC default: 8)
- warn about functions that will not be protected against stack
  smashing by adding -Wstack-protector
2012-09-22 12:28:39 +02:00
Gavin Andresen d6c4400d57 Compile/link Bitcoin-Qt.app with -pthread 2012-09-21 15:42:38 -04:00
Wladimir J. van der Laan 1ba4925755 Merge pull request #1705 from Diapolo/cleanup_bitcoingui
Qt: re-order GUI code and remove FIRST_CLASS_MESSAGING
2012-09-20 23:08:52 -07:00
Philip Kaufmann f875921176 Bitcoin-Qt (Windows only): add version info to Resource File
- add version information to bitcoin-qt.rc, which is displayed on Windows, when looking in the executable properties and selecting "Details"
- introduce a new clientversion.h (used in bitcoin-qt.rc to generate
  version information), which takes only the version defines from
  version.h and is included in it (to allow usage with the windres rc-file
  compiler)
- move #define STRINGIFY(s) #s into clientversion.h as that is used in
  bitcoin-qt.rc and rename to DO_STRINGIZE(X)
- add #define STRINGIZE(X) DO_STRINGIZE(X), which is needed to convert the
  version defines into a version string in the rc-file
- this ensures we only need to update 1 file and have bitcoin-qt.exe
  version information

- for RC-file documentation see:
  http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx
2012-09-07 16:08:18 +02:00
Gavin Andresen 91c218a1cb Merge branch 'testnet_alert' of git://github.com/gavinandresen/bitcoin-git 2012-09-05 11:38:38 -04:00
Philip Kaufmann c3856bb011 add missing netbase.h to Qt project-file 2012-08-30 19:11:41 +02:00
Philip Kaufmann 5fc3a0f707 remove FIRST_CLASS_MESSAGING support from the client
- removes the FIRST_CLASS_MESSAGING support from the client, which was no
  default setting anyway
2012-08-29 19:57:51 +02:00
Wladimir J. van der Laan 1b4bd4c976 Merge pull request #1731 from luke-jr/opt_ipv6
Optional IPv6 spaces cleanup
2012-08-29 10:50:46 -07:00
Wladimir J. van der Laan 3f37f20ddc Remove json/*.cpp from Qt build system
They are unneeded as jsonspirit is always used as template library,
the other makefiles don't include them either.
2012-08-29 08:02:55 +02:00
Gavin Andresen f35c6c4fb9 Refactor: move alert code from main to alert.cpp/h 2012-08-28 17:04:54 -04:00
Luke Dashjr 0eeb54cb89 I forgot to paint the bike shed 2012-08-27 20:18:37 +00:00
Wladimir J. van der Laan ba7ba84f07 Add boost chrono lib for windows builds (required for boost 1.50) 2012-08-27 22:16:24 +02:00
Gavin Andresen 03fa53a640 Version numbers -> 0.7.0 2012-08-27 14:20:56 -04:00
Matt Corallo a1755ec426 Upgrade to Boost 1.50 2012-08-27 14:20:56 -04:00
Luke Dashjr 9655d73f49 Allow building with IPv6 support, but it disabled by default 2012-08-23 21:01:01 +00:00
Luke Dashjr e422bebbdc Make IPv6 support buildtime-optional again (defaults to enabled) 2012-08-23 20:49:51 +00:00
Wladimir J. van der Laan 4942b21203 bitcoin-qt.pro: Add test sources to OTHER_FILES so that they can be edited easier in Qt creator
- Also add src/version.h
2012-08-22 14:18:27 +02:00
Jeff Garzik c625ae04d2 RPC, cosmetic: move more RPC code to new rpcblockchain.cpp module 2012-08-21 11:03:38 -04:00
Jeff Garzik e3bc569865 RPC, cosmetic: move wallet-related RPCs to new rpcwallet.cpp module 2012-08-21 10:38:57 -04:00
Jeff Garzik 7600e7fc39 RPC, cosmetic: Create rpcmining.cpp as new home for mining-related RPC code 2012-08-21 02:21:33 -04:00
Philip Kaufmann 8e2ebc0106 Bitcoin-Qt (Windows only): add ASLR and DEP linker flags
- for extra security on Windows: enable ASLR and DEP via GCC linker flags

GCC linker flag description:
--dynamicbase  The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets.
--nxcompat The image is compatible with the Data Execution Prevention.
This feature was introduced with MS Windows XP SP2 for i386 PE targets.
2012-08-18 10:52:50 +02:00
Philip Kaufmann 6fe375c3bd set TARGET = bitcoin-qt in project file 2012-07-23 08:08:34 +02:00
Wladimir J. van der Laan 1854433829 Merge pull request #1563 from Diapolo/pro-file
update Boost version to 1.49 for Windows in the Qt project file
2012-07-18 02:31:40 -07:00
Philip Kaufmann 30d509c12e fix for build.h regeneration failure when compiling on Windows
- as the "||" operator is not known to qmake use "|" instead,
  which ensures the code in brackets does never get executed on Windows
2012-07-11 11:18:57 +02:00
Philip Kaufmann 47894585ae GUI: merge sign/verify message into a single window with tabbed UI
- add UI-feedback via QValidatedLineEdit
- copy button for generated signature was moved to the signature output field
- add an addressbook button to verify message tab
- input fields are now evenly ordered for sign and verify tabs
- update FIRST_CLASS_MESSAGING support to ensure a good UX
- add a button and context menu entry in addressbook for verify message (to be consistent with sign message)
- focus is now only set/changed, when clearing input fields or adding an address via addressbook
- re-work / update some strings
- ensure model gets initialized in the SignVerifyMessageDialog constructor
- add checks for a valid model to both addressbook buttons
- remove unneeded includes for Qt GUI elements that are listed in ui_signverifymessagedialog.h anyway
2012-07-06 11:31:27 +02:00
Philip Kaufmann a75b45fcd3 update Boost version to 1.49 for Windows in the Qt project file
- add -s flag as we also use a static build in makefile.mingw
2012-07-06 11:26:06 +02:00
Gavin Andresen a2709fad7f Implement raw transaction RPC calls
Implement listunspent / getrawtransaction / createrawtransaction /
signrawtransaction, to support creation and
signing-on-multiple-device multisignature transactions.
2012-07-05 12:50:09 -04:00
Jeff Garzik 70ab73a008 Create new rpcnet module, and move 'getconnectioncount' RPC to it 2012-06-28 23:18:38 -04:00
Pieter Wuille 4a52c187d3 Merge pull request #457 from muggenhor/async-ipv6-rpc
IPv6 RPC using asynchronously accepted connections
2012-06-27 07:48:38 -07:00
Philip Kaufmann 82ec7d5542 small updates to Bitcoin-Qt project file
- add noui.cpp to SOURCES (to see / edit the file)
- re-word a comment and remove a space
2012-06-25 16:36:25 +02:00
Giel van Schijndel 5b14622110 On Windows link with mswsock, it being required (indirectly) by RPC code
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-24 15:12:26 +02:00
Philip Kaufmann c4443c2be1 re-work optionsdialog to a tabbed UI based on an ui-file
- extend network options with a SOCKS version selection
- changing "Unit to show amounts in:" now also updates the unit used in the transaction fee box
- string updates
- link Apply button and OK button when enabling or disabling them
- use LookupNumeric() from netbase to verify proxy address (via an EventFilter)
- change proxy address field to QValidatedLineEdit and add visual feedback
- add a status label used for displaying a message for invalid proxy addresses
- allow usage of IPv6 address as proxy address
- added warning message when enabling / disabling SOCKS proxy
2012-06-13 16:24:25 +02:00
Jeff Garzik 7b671f52e0 Define BOOST_SPIRIT_THREADSAFE in all makefiles
rather than at each include site.

Fixes #1371
2012-05-21 22:25:54 -04:00