1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-27 16:07:42 +08:00

8671 Commits

Author SHA1 Message Date
add70f7911 Merge pull request #5108 from Mr0grog/docs/add-coreapi-overview
Add package overview comments to coreapi
2018-06-13 15:24:44 +08:00
9f9ddd561c Merge pull request #5098 from schomatis/feat/unixfs/fsnode-include-pb
unixfs: integrate `pb.Data` into `FSNode` to avoid duplicating fields
2018-06-13 15:24:24 +08:00
319f006386 Add package overview comments to coreapi
License: MIT
Signed-off-by: Rob Brackett <rob@robbrackett.com>
2018-06-12 15:56:15 -07:00
934b8b0ddc unixfs: integrate pb.Data into FSNode
To avoid duplicating fields and making the code easier to follow.

Remove all of `FSNode` previous fields in favor on a single `pb.Data` structure
that is not exported. Accessor methods are added only for the necessary internal
fields. This takes up more memory, `pb.Data` is always created inside `FSNode`
and it stays there instead of just being created and destroyed during the
(un)marshal operations.

The removed fields `Data`, `blocksizes` and `Type` had a direct counterpart in
the embedded `pb.Data` structure, in contrast (only) the `subtotal` field
doesn't have one, it was used as a temporary accumulator to track the
`Filesize`, which is now being kept updated on every modification (to ensure the
entire `FSNode` is always at a valid state), so `subtotal` could just be removed
without the addition of any other field (this temporary accumulator  was
obscuring how `Filesize` was computed).

To keep `Filesize` up to date a method was added (`UpdateFilesize()`) to adjust
its value in the two places where the file size could be modified, when changing
its data (in `SetData()`, accessor method added) and when adding or removing
child nodes (in `AddBlockSize()` and `RemoveBlockSize()`).

A constructor method was added (`NewFSNode()`) to initialize the required
fields, like `Type` which is explicitly set, this deprecates the previous
methodology of just calling `new(FSNode)` and relying in the default value of
`pb.Data_DataType` (`Data_Raw`) to avoid an explicit assignment. Also,
`Filesize` is initialized to avoid being left with a `nil` value before
marshaling empty nodes, which would result in a different hash from previous
versions, to be backwards compatible. Previous versions of `GetBytes()` always
set the `Filesize` value, even though it is reflected as an `optional` field in
the `.proto` file (this may be an inaccurate field rule).

Without the duplicated fields the functions `GetBytes()` and `FSNodeFromBytes()`
are now reduced to simple `Marshal()` and `Unmarshal()` operations respectively.

License: MIT
Signed-off-by: Lucas Molas <schomatis@gmail.com>
2018-06-11 09:31:33 -03:00
c224ba1dc8 Merge pull request #5093 from ipfs/update/dist
Update dist_root
2018-06-11 12:23:52 +08:00
08fb11fa89 Merge pull request #5100 from ipfs/gx/update-stuff
gx update go-log, sys, go-crypto
2018-06-11 10:55:00 +08:00
85acad9a01 gx update go-log, sys, go-crypto
* go-log
* sys
* go-crypto

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-08 22:36:24 -07:00
65b8d70eca Merge pull request #4693 from ipfs/kevina/fix-zero-raw-leaf
Create a raw node instead of a file node when there is no content.
2018-06-08 16:41:24 +08:00
62153f9457 Update dist_root
License: MIT
Signed-off-by: Dominic Della Valle <ddvpublic@gmail.com>
2018-06-07 12:28:22 -04:00
fc05376e94 Merge pull request #4817 from ipfs/feat/refactor
transport refactor update
2018-06-06 16:54:55 +08:00
39f927aa04 update gx imports
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-05 23:55:08 -07:00
b84a71de8c transport refactor update
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-05 23:51:06 -07:00
e094a84fe0 Merge pull request #5075 from ipfs/gx/update-multiplexers
update multiplexers
2018-06-06 13:02:52 +08:00
f2645c1eb8 Merge pull request #5079 from ipfs/feat/ipns-pubkey-record
embed public keys inside ipns records, use for validation
2018-06-06 01:13:07 +08:00
cc37903b92 drop review TODO comment
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-06-05 08:37:21 -07:00
c66c5c64bb add tests for pubkey mismatch and bad pubkey
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-06-05 07:51:46 -07:00
af68a38033 test to ensure embedding the key in the record works
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-06-05 04:52:17 -07:00
bc129ac5c7 embed public keys inside ipns records, use for validation
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-06-05 02:01:18 -07:00
c9c9986c9e update multiplexers
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-04 10:05:20 -07:00
f7a980926b Merge pull request #4977 from ipfs/fix/4973-1
only resolve dnslinks once in the gateway
2018-06-03 17:20:45 +08:00
d6086fb4bd Merge pull request #5068 from ipfs/fix/duplicate-sys
fix the duplicate (multiple versions) sys import
2018-06-03 15:06:13 +08:00
3a373ee349 fix the duplicate (multiple versions) sys import
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-02 23:27:50 -07:00
c3e011b0c2 Merge pull request #5007 from ipfs/feat/routing-refactor
routing fixes/refactor
2018-06-03 13:30:49 +08:00
e9928f7691 add test for 4973
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-02 20:43:00 -07:00
31bb974bb1 only resolve dnslinks once in the gateway
If the domain has a DNS-Link, we want to use it even if it points to, e.g., an
IPNS address that doesn't resolve.

fixes #4973

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-02 20:43:00 -07:00
807f28eeae log on network error when resolving the last published IPNS record
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-02 00:38:00 -07:00
8293e20aae fix the repo verify test
We've added a new file to the flatfs datastore.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-01 23:39:32 -07:00
c2c49c88c6 bump repo version and update migration dist path
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-06-01 11:21:41 -07:00
916572f38d fix keystore tests for peer ID inlining patch
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
b4ed464ba5 remove extra newline from expected command output
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
a030455f3d fix key_test for peer ID inlining patch
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
1089eda84b cleanup namesys a bit
Remove ~50 lines of code, some casting, and a superfluous map (when go starts
looking like python, something's wrong).

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
60708ea60e store IPNS records *outside* of the DHT
fixes #4749

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
55cb76d4f3 consolidate dns resolver constructors
The current convention is to return the concrete type instead of an interface so
let's go with that and have one constructor.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
56232ba4bc simplify routing resolution a bit
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:22 -07:00
5dc0b7326e extract IPNS over pubsub as a ValueStore
And:

* Update for DHT changes.
* Switch to the new record validation system.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 18:29:21 -07:00
1e9e2f453c update deps
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-31 17:59:17 -07:00
6ab1e71473 Avoid changing hash for empty non-raw leaves.
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2018-05-31 04:27:34 -04:00
485a5e59e9 Create a raw node instead of a file node when there is no content.
This fixes things so when raw-leaves are enabled a zero size file creates
a zero size raw leaf.  When raw-leaves are not enabled the hash created
changes from QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH to
Qmdsf68UUYTSSx3i4GtDJfxzpAEZt7Mp23m3qa36LYMSiW, since the type field
changed from TFile to TRaw.

License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2018-05-31 04:05:30 -04:00
e235d02188 Merge pull request #5036 from eginez/warningOnSync
Warning when NoSync setting is set as it does not turn syncing off…
2018-05-31 13:36:58 +08:00
9bb6174847 Merge pull request #5033 from djdv/fix/unsupported-build
build: remove fuse platform constraints
2018-05-30 10:42:42 +08:00
56eb2b00d5 remove nofuse build constraints
License: MIT
Signed-off-by: Dominic Della Valle <ddvpublic@gmail.com>
2018-05-29 18:18:12 -04:00
135183aac0 Warning when NoSync setting is set as it is does not turn syncing off #3799
License: MIT
Signed-off-by: Esteban Ginez <eginez@gmail.com>
2018-05-28 12:04:12 -07:00
611d572ef2 Merge pull request #5022 from Bren2010/review/cmd/ipfs
Remove leftover bits of code.
2018-05-28 06:14:44 +01:00
2ba717994e Merge pull request #4967 from PlayerWithoutName/fix/sharness-multinode-tree
fix: Reduce tree in multinode test
2018-05-24 17:35:31 +02:00
8c7c2ceb43 Merge pull request #5018 from forstmeier/fix/refs-goroutine-leak
Fix goroutine leaks in refs.go
2018-05-24 13:13:44 +02:00
06f11bd81a Merge pull request #5016 from alecbrick/fix/dag-goroutine-leak
Fix goroutine leak in dag put
2018-05-24 13:12:37 +02:00
d99d3d992c Merge pull request #5031 from daftaupe/dragonfly
Fix build on DragonFlyBSD
2018-05-24 13:11:08 +02:00
1789888d47 Fix build on DragonFlyBSD
License: MIT
Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
2018-05-21 17:23:42 +02:00
139d624092 Merge pull request #5009 from ipfs/misc/ci/go-1.10
ci: Use go 1.10 on jenkins
2018-05-17 19:51:51 +00:00