1. 11 12月, 2020 3 次提交
  2. 10 12月, 2020 3 次提交
    • M
      core, trie: speed up some tests with quadratic processing flaw (#21987) · b44f24e3
      Martin Holst Swende 提交于
      This commit fixes a flaw in two testcases, and brings down the exec-time from ~40s to ~8s for trie/TestIncompleteSync.
      
      The checkConsistency was performed over and over again on the complete set of nodes, not just the recently added, turning it into a quadratic runtime.
      b44f24e3
    • G
      les, light: remove untrusted header retrieval in ODR (#21907) · 9f6bb492
      gary rong 提交于
      * les, light: remove untrusted header retrieval in ODR
      
      * les: polish
      
      * light: check the hash equality in odr
      9f6bb492
    • F
      p2p/enode: avoid crashing for invalid IP (#21981) · 817a3fb5
      Felix Lange 提交于
      The database panicked for invalid IPs. This is usually no problem
      because all code paths leading to node DB access verify the IP, but it's
      dangerous because improper validation can turn this panic into a DoS
      vulnerability. The quick fix here is to just turn database accesses
      using invalid IP into a noop. This isn't great, but I'm planning to
      remove the node DB for discv5 long-term, so it should be fine to have
      this quick fix for half a year.
      
      Fixes #21849
      817a3fb5
  3. 09 12月, 2020 4 次提交
    • F
      crypto/signify, build: fix archive signing with signify (#21977) · f935b1d5
      Felix Lange 提交于
      This fixes some issues in crypto/signify and makes release signing work.
      
      The archive signing step in ci.go used getenvBase64, which decodes the key data.
      This is incorrect here because crypto/signify already base64-decodes the key.
      f935b1d5
    • M
    • M
      core,les: headerchain import in batches (#21471) · 40b6ccf3
      Martin Holst Swende 提交于
      * core: add test for headerchain inserts
      
      * core, light: write headerchains in batches
      
      * core: change to one callback per batch of inserted headers + review concerns
      
      * core: error-check on batch write
      
      * core: unexport writeHeaders
      
      * core: remove callback parameter in InsertHeaderChain
      
      The semantics of InsertHeaderChain are now much simpler: it is now an
      all-or-nothing operation. The new WriteStatus return value allows
      callers to check for the canonicality of the insertion. This change
      simplifies use of HeaderChain in package les, where the callback was
      previously used to post chain events.
      
      * core: skip some hashing when writing headers
      
      * core: less hashing in header validation
      
      * core: fix headerchain flaw regarding blacklisted hashes
      Co-authored-by: NFelix Lange <fjl@twurst.com>
      40b6ccf3
    • L
      common: improve printing of Hash and Address (#21834) · bd848aad
      Li, Cheng 提交于
      Both Hash and Address have a String method, which returns the value as
      hex with 0x prefix. They also had a Format method which tried to print
      the value using printf of []byte. The way Format worked was at odds with
      String though, leading to a situation where fmt.Sprintf("%v", hash)
      returned the decimal notation and hash.String() returned a hex string.
      
      This commit makes it consistent again. Both types now support the %v,
      %s, %q format verbs for 0x-prefixed hex output. %x, %X creates
      unprefixed hex output. %d is also supported and returns the decimal
      notation "[1 2 3...]".
      
      For Address, the case of hex characters in %v, %s, %q output is
      determined using the EIP-55 checksum. Using %x, %X with Address
      disables checksumming.
      Co-authored-by: NFelix Lange <fjl@twurst.com>
      bd848aad
  4. 08 12月, 2020 2 次提交
  5. 07 12月, 2020 1 次提交
  6. 04 12月, 2020 3 次提交
    • M
      cmd/geth: implement vulnerability check (#21859) · 15339cf1
      Martin Holst Swende 提交于
      * cmd/geth: implement vulnerability check
      
      * cmd/geth: use minisign to verify vulnerability feed
      
      * cmd/geth: add the test too
      
      * cmd/geth: more minisig/signify testing
      
      * cmd/geth: support multiple pubfiles for signing
      
      * cmd/geth: add @holiman minisig pubkey
      
      * cmd/geth: polishes on vulnerability check
      
      * cmd/geth: fix ineffassign linter nit
      
      * cmd/geth: add CVE to version check struct
      
      * cmd/geth/testdata: add missing testfile
      
      * cmd/geth: add more keys to versionchecker
      
      * cmd/geth: support file:// URLs in version check
      
      * cmd/geth: improve key ID printing when signature check fails
      Co-authored-by: NFelix Lange <fjl@twurst.com>
      15339cf1
    • M
      core: improve contextual information on core errors (#21869) · 7770e41c
      Martin Holst Swende 提交于
      A lot of times when we hit 'core' errors, example: invalid tx, the information provided is
      insufficient. We miss several pieces of information: what account has nonce too high,
      and what transaction in that block was offending?
      
      This PR adds that information, using the new type of wrapped errors.
      It also adds a testcase which (partly) verifies the output from the errors.
      
      The first commit changes all usage of direct equality-checks on core errors, into
      using errors.Is. The second commit adds contextual information. This wraps most
      of the core errors with more information, and also wraps it one more time in
      stateprocessor, to further provide tx index and tx hash, if such a tx is encoutered in
      a block. The third commit uses the chainmaker to try to generate chains with such
      errors in them, thus triggering the errors and checking that the generated string meets
      expectations.
      7770e41c
    • C
      core/vm/runtime: remove duplicated line (#21956) · 62cedb3a
      Chris Ziogas 提交于
      
      This line is duplicated, though it doesn't cause any issues. 
      62cedb3a
  7. 03 12月, 2020 1 次提交
  8. 02 12月, 2020 3 次提交
  9. 01 12月, 2020 2 次提交
  10. 30 11月, 2020 3 次提交
  11. 29 11月, 2020 1 次提交
    • K
      accounts, signer: fix Ledger Live account derivation path (clef) (#21757) · b71334ac
      Kristofer Peterson 提交于
      * signer/core/api: fix derivation of ledger live accounts
      
      For ledger hardware wallets, change account iteration as follows:
      
      - ledger legacy: m/44'/60'/0'/X; for 0<=X<5
      - ledger live: m/44'/60'/0'/0/X; for 0<=X<5
      
      - ledger legacy: m/44'/60'/0'/X; for 0<=X<10
      - ledger live: m/44'/60'/X'/0/0; for 0<=X<10
      
      Non-ledger derivation is unchanged and remains as:
      - non-ledger: m/44'/60'/0'/0/X; for 0<=X<10
      
      * signer/core/api: derive ten default paths for all hardware wallets, plus ten legacy and ten live paths for ledger wallets
      
      * signer/core/api: as .../0'/0/0 already included by default paths, do not include it again with ledger live paths
      
      * accounts, signer: implement path iterators for hd wallets
      Co-authored-by: NMartin Holst Swende <martin@swende.se>
      b71334ac
  12. 27 11月, 2020 1 次提交
    • G
      crypto: signing builds with signify/minisign (#21798) · fa572cd2
      Guillaume Ballet 提交于
      * internal/build: implement signify's signing func
      * Add signify to the ci utility
      * fix output file format
      * Add unit test for signify
      * holiman's + travis' feedback
      * internal/build: verify signify's output
      * crypto: move signify to common dir
      * use go-minisign to verify binaries
      * more holiman feedback
      * crypto, ci: support minisign output
      * only accept one-line trusted comments
      * configurable untrusted comments
      * code cleanup in tests
      * revert to use ed25519 from the stdlib
      * bug: fix for empty untrusted comments
      * write timestamp as comment if trusted comment isn't present
      * rename line checker to commentHasManyLines
      * crypto: added signify fuzzer (#6)
      * crypto: added signify fuzzer
      * stuff
      * crypto: updated signify fuzzer to fuzz comments
      * crypto: repro signify crashes
      * rebased fuzzer on build-signify branch
      * hide fuzzer behind gofuzz build flag
      * extract key data inside a single function
      * don't treat \r as a newline
      * travis: fix signing command line
      * do not use an external binary in tests
      * crypto: move signify to crypto/signify
      * travis: fix formatting issue
      * ci: fix linter build after package move
      Co-authored-by: NMarius van der Wijden <m.vanderwijden@live.de>
      fa572cd2
  13. 26 11月, 2020 2 次提交
  14. 25 11月, 2020 3 次提交
  15. 24 11月, 2020 4 次提交
  16. 23 11月, 2020 4 次提交