Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 13, 2011
  1. @sipa
  2. @sipa

    Merge pull request #404 from TheBlueMatt/newenc

    sipa authored
    Fix makefile.linux-mingw
  3. @TheBlueMatt

    Fix makefile.linux-mingw

    TheBlueMatt authored
  4. doc/README: word wrap into something readable

    Jeff Garzik authored Jeff Garzik committed
  5. Bump version to 0.3.25

    Jeff Garzik authored Jeff Garzik committed
    Yes, we might release as v0.4, but let's just do a simple increment
    for now.
  6. Update CWallet::LoadWallet for proper return type.

    Jeff Garzik authored Jeff Garzik committed
  7. Merge pull request #399 from muggenhor/warning-fixes

    Jeff Garzik authored
    Warning fixes
  8. @muggenhor

    fix warning: unused function 'SigIllHandlerSSE2' [-Wunused-function]

    muggenhor authored
    Only declare & define SigIllHandlerSSE2 when its used.
    Signed-off-by: Giel van Schijndel <>
  9. @muggenhor

    fix warning: unused variable 'X' [-Wunused-variable]

    muggenhor authored
    Remove several unused variables.
    Signed-off-by: Giel van Schijndel <>
  10. @muggenhor

    fix warning: X enumeration values not handled in switch [-Wswitch-enum]

    muggenhor authored
    Add default cases to opcode switches to assert that they should never
    Signed-off-by: Giel van Schijndel <>
  11. @muggenhor

    fix warning: comparison of unsigned expression < 0 is always false [-…

    muggenhor authored
    Don't check for a negative parameter count, because not only will it
    never happen, it doesn't make any sense either.
    Invalid sockets (as returned by socket(2)) are always exactly -1 (not
    just negative as negative file descriptors are technically not
    prohibited by POSIX) on POSIX systems.  Since we store them in SOCKET
    (unsigned int), however, that really is ~0U (or MAX_UINT) which happens
    to be what INVALID_SOCKET is already defined to, so an additional check
    for being negative is not only unnecessary (unsigned integers aren't
    *ever* negative) its redundant as well (the INVALID_SOCKET comparison is
    Signed-off-by: Giel van Schijndel <>
  12. @muggenhor

    fix warnings: using the result of an assignment as a condition withou…

    muggenhor authored
    …t parentheses [-Wparentheses]
    Don't unnecessarily assign to variables within the *boolean* expression
    of a conditional.
    Signed-off-by: Giel van Schijndel <>
  13. @muggenhor

    fix warnings: expression result unused [-Wunused-value]

    muggenhor authored
    In the assert()s take advantage of the fact that string constants
    ("string") are effectively of type 'const char []', which when used in
    an expression yield a non-NULL pointer.
    An assertion that should always fail can thus be formulated as:
    An assertion where a text message should be added to the expression can
    be written as such:
      assert("message" && expression);
    Signed-off-by: Giel van Schijndel <>
  14. @muggenhor

    fix warning on 64bit systems: cast to pointer from integer of differe…

    muggenhor authored
    …nt size [-Wint-to-pointer-cast]
    Signed-off-by: Giel van Schijndel <>
  15. @TheBlueMatt

    Update makefile.linux-mingw to work with crypter and UPnP fix.

    TheBlueMatt authored Jeff Garzik committed
  16. Merge pull request #381 from TheBlueMatt/nminversion

    Jeff Garzik authored
    Add minversion to wallet.
  17. Merge pull request #402 from jayschwa/hirez-icon

    Jeff Garzik authored
    High resolution Windows icon
  18. Merge pull request #396 from jayschwa/nsis-branding

    Jeff Garzik authored
    Add logos/branding to NSIS installer.
  19. Merge pull request #352 from TheBlueMatt/newenc

    Jeff Garzik authored
    Wallet Private Key Encryption (on CWallet)
  20. @jayschwa

    Increase resolution of Windows icon.

    jayschwa authored
    The .ico file has changed in the following ways:
    * Added 64x64 layer (max size for "Classic Mode").
    * Added 256x256 layer (max size for Vista and 7).
    * Removed copies with no alpha channel:
      * Display depths lower than 32-bits are rare nowadays.
      * 8-bit alpha channels in icons has been supported since XP.
      * If the display depth is lowered, they look no better than the
        downsampled versions that Windows automatically generates.
    Tested various sizes on both XP and Win 7. It looks fine
    (unchanged) on XP and downright sexy on Win 7.
  21. @TheBlueMatt

    Make an invalid addrIncoming so that old clients crash.

    TheBlueMatt authored
    This prevents old clients from opening, and thus corrupting
    or otherwise causing harm to encrypted wallets.
  22. @TheBlueMatt

    Use DB Transactions when encrypting wallet.

    TheBlueMatt authored
    This speeds up the encryption process significantly.
  23. @sipa @TheBlueMatt

    Do not use obsolete CPrivKey for passing keys around

    sipa authored TheBlueMatt committed
  24. @TheBlueMatt
  25. @TheBlueMatt
  26. @TheBlueMatt
  27. @TheBlueMatt
  28. @TheBlueMatt
  29. @TheBlueMatt

    Add wallet privkey encryption.

    TheBlueMatt authored
    This commit adds support for ckeys, or enCrypted private keys, to the wallet.
    All keys are stored in memory in their encrypted form and thus the passphrase
    is required from the user to spend coins, or to create new addresses.
    Keys are encrypted with AES-256-CBC using OpenSSL's EVP library. The key is
    calculated via EVP_BytesToKey using SHA512 with (by default) 25000 rounds and
    a random salt.
    By default, the user's wallet remains unencrypted until they call the RPC
    command encryptwallet <passphrase> or, from the GUI menu, Options->
    Encrypt Wallet.
    When the user is attempting to call RPC functions which require the password
    to unlock the wallet, an error will be returned unless they call
    walletpassphrase <passphrase> <time to keep key in memory> first.
    A keypoolrefill command has been added which tops up the users keypool
    (requiring the passphrase via walletpassphrase first).
    keypoolsize has been added to the output of getinfo to show the user the
    number of keys left before they need to specify their passphrase (and call
    Note that walletpassphrase will automatically fill keypool in a separate
    thread which it spawns when the passphrase is set. This could cause some
    delays in other threads waiting for locks on the wallet passphrase, including
    one which could cause the passphrase to be stored longer than expected,
    however it will not allow the passphrase to be used longer than expected as
    ThreadCleanWalletPassphrase will attempt to get a lock on the key as soon
    as the specified lock time has arrived.
    When the keypool runs out (and wallet is locked) GetOrReuseKeyFromPool
    returns vchDefaultKey, meaning miners may start to generate many blocks to
    vchDefaultKey instead of a new key each time.
    A walletpassphrasechange <oldpassphrase> <newpassphrase> has been added to
    allow the user to change their password via RPC.
    Whenever keying material (unencrypted private keys, the user's passphrase,
    the wallet's AES key) is stored unencrypted in memory, any reasonable attempt
    is made to mlock/VirtualLock that memory before storing the keying material.
    This is not true in several (commented) cases where mlock/VirtualLocking the
    memory is not possible.
    Although encryption of private keys in memory can be very useful on desktop
    systems (as some small amount of protection against stupid viruses), on an
    RPC server, the password is entered fairly insecurely. Thus, the only main
    advantage encryption has for RPC servers is for RPC servers that do not spend
    coins, except in rare cases, eg. a webserver of a merchant which only receives
    payment except for cases of manual intervention.
    Thanks to jgarzik for the original patch and sipa, gmaxwell and many others
    for all their input.
Commits on Jul 12, 2011
  1. @jayschwa
Commits on Jul 11, 2011
  1. @jayschwa

    Set default compression for NSIS installer to LZMA.

    jayschwa authored
    Use of LZMA (versus the current zlib) shaves a few MB off the installer.
  2. @jayschwa
Commits on Jul 10, 2011
  1. @jrmithdobbs @TheBlueMatt

    Make mlock() and munlock() portable to systems that require the addre…

    jrmithdobbs authored TheBlueMatt committed
    …ss to be on a page boundary.
Commits on Jul 9, 2011
  1. Merge pull request #392 from laanwj/antimagic

    Jeff Garzik authored
    Remove another magic number: change threshold for nLockTime to constant
  2. @laanwj
Something went wrong with that request. Please try again.