Commit Graph

354 Commits

Author SHA1 Message Date
Jakub Sztandera
9ed4b9e46a
deps: switch to gx based fuse lib
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-02 02:55:14 +01:00
Jeromy
b4eeff2d84 update go-multihash and bubble up deps
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-02-12 12:25:41 -08:00
Jakub Sztandera
018a5d594d
Add issue number to the OSXFUSE 3+ message
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-06 00:22:00 +01:00
Jakub Sztandera
53a35a8f50
Fail nicelly on OSXFUSE 3.0.0+
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-05 19:42:49 +01:00
Jakub Sztandera
e76b14aef0
fuse: Parse OSX fuse version properly
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-05 18:59:58 +01:00
Jeromy
53d47669da bubble up go-datastore deps
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 22:29:38 -08:00
Jeromy
f0f88adea0 completely remove go-key dep
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 21:42:32 -08:00
Jeromy
396c629301 update to newer ipld node interface with Copy and better Tree
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-15 18:00:49 -08:00
Richard Littauer
9843e86258 Changed so only explicit ipfs cli commands are lowercased
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-10-27 22:55:13 -07:00
Jeromy
67c2a4ec14 make path resolver no longer require whole node for construction
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 15:04:44 -07:00
Jeromy
eac13abaec update to new cid and ipld node packages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 09:54:04 -07:00
Jeromy
ded60a7356 unixfs: allow use of raw merkledag nodes for unixfs files
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-17 16:51:39 -07:00
Jeromy
01aee44679 merkledag: change 'Node' to be an interface
Also change existing 'Node' type to 'ProtoNode' and use that most
everywhere for now. As we move forward with the integration we will try
and use the Node interface in more places that we're currently using
ProtoNode.

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-12 08:16:03 -07:00
Jeromy Johnson
015d476c4f Merge pull request #3297 from ipfs/feat/bitswap-cid
bitswap: protocol extension to handle cids
2016-10-12 10:13:30 -04:00
Jeromy
affb06d558 run gofmt
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-12 07:00:38 -07:00
Jeromy
f4d7369c4a bitswap: protocol extension to handle cids
This change adds the /ipfs/bitswap/1.1.0 protocol. The new protocol
adds a 'payload' field to the protobuf message and deprecates the
existing 'blocks' field. The 'payload' field is an array of pairs of cid
prefixes and block data. The cid prefixes are used to ensure the correct
codecs and hash functions are used to handle the block on the receiving
end.

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-10 08:19:31 -07:00
Jeromy
1f9ec4e3ed update to libp2p 4.0.1 and propogate other changes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-05 22:12:43 -07:00
Jeromy
e43c770530 update libp2p and dht packages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-09-25 23:42:14 -07:00
George Antoniadis
5e72b94a5a Extract thirdparty/loggables
License: MIT
Signed-off-by: George Antoniadis <george@noodles.gr>
2016-09-10 23:15:31 +01:00
George Antoniadis
6859b8ccd8 Extract key and datastore
License: MIT
Signed-off-by: George Antoniadis <george@noodles.gr>
2016-09-09 15:52:25 +01:00
Jeromy
c8fe495934 integrate CIDv0
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-09-07 13:32:32 -07:00
Jeromy
05b197df2d update deps for libp2p 3.4.0
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-08-25 19:02:55 -07:00
Jeromy
11db8f425c fuse: make osxfuse check config check more permissive
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-08-19 14:09:12 -07:00
Jeromy Johnson
6912f47a44 Merge pull request #2960 from ipfs/feat/mdag-caching
cache encoded data when reading dag nodes from disk
2016-07-14 05:23:13 -07:00
Vasily Kolobkov
9f14624026 Build on OpenBSD
License: MIT
Signed-off-by: Vasily Kolobkov <polezaivsani@openmailbox.org>
2016-07-12 13:11:57 +02:00
Jeromy
bf23516dc0 cache encoded data when reading dag nodes from disk
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-07-10 13:13:35 -07:00
Jakub Sztandera
ce8c8a7a71 Update go-log in whole dependency tree (#2898)
* Update golog in go-ipfs

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update go-libp2p for go-log

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update go-libp2p-secio for go-log

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update go-libp2p-crypto for go-log

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update go-libp2p-peer for go-log

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Import peersore, it wasn't imported

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update peerstore

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update peer

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update secio

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

* Update go-libp2p

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-06-24 09:38:07 -07:00
Richard Littauer
b6a3435bb5 Decapitalized log.Debug messages
According to golang standards, these should not be capitalized nor having a trailing period, AFAIK.

License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-06-15 08:56:34 +01:00
Jakub Sztandera
eaccd07505 Update go-log
https://github.com/ipfs/go-log/pull/3

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-06-09 23:37:09 +02:00
Hector Sanjuan
57b494a70c Update go-log to 1.1.0 and fix calls to go-log.Uuid
License: MIT
Signed-off-by: Hector Sanjuan <code@hector.link>
2016-05-04 23:17:21 +02:00
SH
f3b0860c79 Merge remote-tracking branch 'upstream/master' 2016-04-30 21:30:44 +02:00
Richard Littauer
f60ae0a1b9 Capitalized NOTE, first letter of following word
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-04-29 16:57:19 -04:00
SH
2af48e6804 add NetBSD support
License: MIT
Signed-off-by: Stefan Hertenberger <github@hertenberger.bayern>
2016-04-29 22:49:54 +02:00
Lars Gierth
00ec976e1d Use extracted go-libp2p-crypto, -secio, -peer packages
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-04-16 21:48:06 -07:00
Lars Gierth
907f4fadbd Update go-libp2p
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-04-16 21:23:47 -07:00
Jeromy
bdc5456d52 update libp2p dep to fix hanging listeners problem
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-04-11 12:52:54 -07:00
Jeromy
8f3a51ac42 switch to new libp2p with mss crypto
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-04-07 15:55:41 -07:00
Jeromy
9f75ac4d75 update utp and cleanup more godeps along the way
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-03-29 19:18:14 -07:00
Jeromy Johnson
45e1f757d2 Merge pull request #2502 from MichaelMure/fix_fuse_test
correct import in fuse tests
2016-03-27 17:44:01 -07:00
Michael Muré
c88e46cb52 clean deprecated Key.Pretty()
License: MIT
Signed-off-by: Michael Muré <batolettre@gmail.com>
2016-03-25 12:05:45 +01:00
Michael Muré
e2ea348143 correct import in fuse tests
License: MIT
Signed-off-by: Michael Muré <batolettre@gmail.com>
2016-03-25 12:00:43 +01:00
Jeromy
97d583dd8f update libp2p dep
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-03-09 09:53:19 -08:00
Stephen Whitmore
0afbd1857f Prevents 'ipfs name publish' when /ipns is mounted.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
2016-02-29 16:05:48 -08:00
Jeromy
d7dab3afea Use gx vendored go-ipfs-utils where possible
For the rest of the packages in util, move them to thirdparty
and update the references. util is gone!

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-02-12 17:21:40 -08:00
Jeromy
171952b795 remove gogo-protobuf from godeps, use gx vendored
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-02-12 17:21:40 -08:00
Jeromy
3faedb5208 remove goprocess from godeps, use gx vendored one
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-02-12 17:21:40 -08:00
Jeromy
4b7e3282f1 introduce concept of filedescriptors to mfs, adjust fuse code to use them
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-02-08 14:45:44 -08:00
Stephen Whitmore
40a49c8399 Mounts detect unmounts and track mount state.
This lets FUSE mounts to track whether they are active or not by
tracking when fs.Serve terminates.

License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
2016-02-07 19:54:59 -08:00
Jeromy
2263539c1c do that last thing again
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-31 15:37:39 -08:00
Jeromy
c0101c0c4b update libp2p dep
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-31 10:19:50 -08:00
Jeromy
0e8a6700f9 correct go-log dep
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:10 -08:00
Jeromy
3d0aa592ec go-keyspace dep from libp2p added
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:08 -08:00
Jeromy
0e312f5caf initial vendoring of libp2p outside of the repo with gx
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:06 -08:00
rht
ffd859232d Replace strings.Join(elms, "/") with path.Join(elms)
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-12 08:22:55 -08:00
Jeromy
78a8088410 Refactor ipnsfs into a more generic and well tested mfs
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
Tommi Virtanen
6e126ed79d fuse/ipns: Only change file size in Setattr if asked to
This used to cause files e.g. being edited with `vi` to become 0-size.

License: MIT
Signed-off-by: Tommi Virtanen <tv@eagain.net>
2016-01-12 08:22:55 -08:00
Tommi Virtanen
fbd9cabd93 fuse/ipns, fuse/readonly: Let the fuse library set defaults for Attr
Without this, all entries will have nlink==0, which confuses a bunch
of tools. Most dramatically, systemd-nspawn enters a busy loop in its
lock utility function.

License: MIT
Signed-off-by: Tommi Virtanen <tv@eagain.net>
2016-01-12 08:22:55 -08:00
Tommi Virtanen
1d21fad697 fuse/readonly: Fix importer.BuildTrickleDagFromReader call
Last argument was dropped in ffd4c3f4db

License: MIT
Signed-off-by: Tommi Virtanen <tv@eagain.net>
2016-01-12 08:22:55 -08:00
Christian Couder
f14482265d fuse/readonly/ipfs_test: fix t.Fatal in a goroutine
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-12-14 22:31:40 +01:00
Jeromy Johnson
e069af1aca disable building fuse stuff on windows
License: MIT
Signed-off-by: Jeromy Johnson <why@ipfs.io>
2015-11-23 11:01:57 -08:00
Jeromy
94bdce63a7 vendor logging lib update
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-05 15:57:21 -08:00
Jeromy
c7fb7ce17d cache ipns entries to speed things up a little
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-02 12:53:08 -08:00
Jeromy
c023d187b5 update code to use new logging changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-27 11:04:56 -07:00
Christian Couder
9555ff110e ipns_test: fix namesys.NewNameSystem() call
There is the following erreor otherwise:

```
$ go test github.com/ipfs/go-ipfs/fuse/ipns
../../fuse/ipns/ipns_test.go:116: not enough arguments in call to namesys.NewNameSystem
FAIL    github.com/ipfs/go-ipfs/fuse/ipns [build failed]
```

License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-10-20 10:52:00 +02:00
rht
6ae0973e1f Add context to coreunix.Cat argument
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-10-04 23:10:43 +07:00
Jeromy
8f0623255d replace imports with absolute path instead of using symlink
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-03 14:30:50 -07:00
Jeromy
b34d41e01e fix publish fail on prexisting bad record
dont error out if prexisting record is bad, just grab its sequence number
and continue on with the publish.

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-02 14:59:31 -07:00
Jeromy
e5a2896c0e extract logging
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-14 17:35:50 -07:00
Jeromy
192ee64338 dont use coremock for fuse tests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-13 12:37:34 -07:00
Philip Nelson
9ce3875c06 Fix test case for fuse/readonly.
License: MIT
Signed-off-by: Philip Nelson <me@pnelson.ca>
2015-09-10 07:51:09 -07:00
Jeromy
ab0c668ab8 fix panic caused by accessing config after repo closed
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-03 09:28:36 -07:00
Jeromy
4bcacc5936 address most of CR comments
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-02 10:12:04 -07:00
Jeromy
d993bc04d6 implement symlinks in unixfs, first draft
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-08-30 13:33:42 -07:00
Jeromy
a97639a78a dont create ipnsfs filesystem until its needed
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-08-26 14:55:36 -07:00
rht
ccd06e5b66 Fix ctx used in pub.Publish
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 21:31:21 +07:00
rht
30e03b2da6 Replace context.TODO in test files with context.Background
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 19:55:45 +07:00
rht
5d8e15042f Replace WithTimeout with WithCancel whenever possible
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 19:35:03 +07:00
rht
d32177cda0 Make sure ctx in commands are derived from req.Context
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 19:35:03 +07:00
rht
dfa0351df9 Refactor ipfs get
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-20 14:56:07 +07:00
Jeromy
39a23392c1 use rabin fingerprinting for a chunker
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

implement rabin fingerprinting as a chunker for ipfs

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

vendor correctly

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

refactor chunking interface a little

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

work chunking interface changes up into importer

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

move chunker type parsing into its own file in chunk

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-08-08 15:33:10 -07:00
Juan Batiz-Benet
578fd02ce3 fuse unmount fixes
unmounting wasn't happening, mostly because of a recent bug in
goprocess.SetTeardown. This commit bumps up some messages to
log.Warnings, as users may want to see them, and makes sure to
Unmount when a node shuts down.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-29 01:36:50 -07:00
rht
007a12e7ef Change Process interface into object variable
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-04 22:50:23 +07:00
rht
330b213777 Replace ctxgroup.ContextGroup -> goprocess.Process
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-04 22:50:23 +07:00
Christian Couder
d18296045e ipns_test: fix slice bounds out of range
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-06-22 22:52:14 +02:00
rht
78b6cc5f2d Replace Critical{,f} with Error{,f}
Except when there is an explicit os.Exit(1) after the Critical line,
then replace with Fatal{,f}.
golang's log and logrus already call os.Exit(1) by default with Fatal.

License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-06-18 10:03:57 +07:00
rht
e671ab2f42 Swap all 'crypto/rand' rng in tests with 'math/rand' 2015-06-03 18:12:34 +07:00
Jeromy
ef294431d4 move util.Key into its own package under blocks 2015-06-01 16:10:08 -07:00
Jeromy
4a78a9729d remove testing imports from non testing code
rename bserv mock to mock_test

swap out testing.T for an interface
2015-05-31 15:41:59 -07:00
Juan Batiz-Benet
5d43ebb916 Merge pull request #1274 from ipfs/refactor/importer
change pinning to happen in a callback
2015-05-29 17:06:11 -07:00
Henry
e9074beb6d godeps: update bazil.org/fuse
fuse: Attr() now has a Context parameter and error return value

~GOPATH/src/bazil.org/fuse:master$ git shortlog 48c34fb7780b88aca1696bf865508f6703aa47f1..e4fcc9a2c7567d1c42861deebeb483315d222262
Tommi Virtanen (8):
      Remove dead code
      Make saveLookup take Context, return error
      Make serveNode.attr take Context, return error
      Make nodeAttr take Context, return error
      API change: Move attribute validity time inside Attr
      Set attribute validity default time in one place
      API change: Attr method takes Context, returns error
      Set LookupResponse validity times up front, instead of after the handler
2015-05-30 01:07:14 +02:00
Jeromy
dd928a2b1d change pinning to happen in a callback 2015-05-28 08:52:20 -07:00
W. Trevor King
3ead2443e5 namesys: Add recursive resolution
This allows direct access to the earlier protocol-specific Resolve
implementations.  The guts of each protocol-specific resolver are in
the internal resolveOnce method, and we've added a new:

  ResolveN(ctx, name, depth)

method to the public interface.  There's also:

  Resolve(ctx, name)

which wraps ResolveN using DefaultDepthLimit.  The extra API endpoint
is intended to reduce the likelyhood of clients accidentally calling
the more dangerous ResolveN with a nonsensically high or infinite
depth.  On IRC on 2015-05-17, Juan said:

15:34 <jbenet> If 90% of uses is the reduced API with no chance to
  screw it up, that's a huge win.
15:34 <wking> Why would those 90% not just set depth=0 or depth=1,
  depending on which they need?
15:34 <jbenet> Because people will start writing `r.Resolve(ctx, name,
  d)` where d is a variable.
15:35 <wking> And then accidentally set that variable to some huge
  number?
15:35 <jbenet> Grom experience, i've seen this happen _dozens_ of
  times. people screw trivial things up.
15:35 <wking> Why won't those same people be using ResolveN?
15:36 <jbenet> Because almost every example they see will tell them to
  use Resolve(), and they will mostly stay away from ResolveN.

The per-prodocol versions also resolve recursively within their
protocol.  For example:

  DNSResolver.Resolve(ctx, "ipfs.io", 0)

will recursively resolve DNS links until the referenced value is no
longer a DNS link.

I also renamed the multi-protocol ipfs NameSystem (defined in
namesys/namesys.go) to 'mpns' (for Multi-Protocol Name System),
because I wasn't clear on whether IPNS applied to the whole system or
just to to the DHT-based system.  The new name is unambiguously
multi-protocol, which is good.  It would be nice to have a distinct
name for the DHT-based link system.

Now that resolver output is always prefixed with a namespace and
unprefixed mpns resolver input is interpreted as /ipfs/,
core/corehttp/ipns_hostname.go can dispense with it's old manual
/ipfs/ injection.

Now that the Resolver interface handles recursion, we don't need the
resolveRecurse helper in core/pathresolver.go.  The pathresolver
cleanup also called for an adjustment to FromSegments to more easily
get slash-prefixed paths.

Now that recursive resolution with the namesys/namesys.go composite
resolver always gets you to an /ipfs/... path, there's no need for the
/ipns/ special case in fuse/ipns/ipns_unix.go.

Now that DNS links can be things other than /ipfs/ or DHT-link
references (e.g. they could be /ipns/<domain-name> references) I've
also loosened the ParsePath logic to only attempt multihash validation
on IPFS paths.  It checks to ensure that other paths have a
known-protocol prefix, but otherwise leaves them alone.

I also changed some key-stringification from .Pretty() to .String()
following the potential deprecation mentioned in util/key.go.
2015-05-20 08:40:05 -07:00
rht
ac7edddb94 Run 'gofmt -s -w' on these files 2015-05-19 06:11:15 +07:00
Henry
f640ba0089 core: add context.Context param to core.Resolve()
commands/object: remove objectData() and objectLinks() helpers
resolver: added context parameters
sharness: $HASH carried the \r from the http protocol with
sharness: write curl output to individual files
http gw: break PUT handler until PR#1191
2015-05-08 03:14:32 +02:00
Jeromy
90a3252d39 fix append bug and overwrite/truncate bug
an alternative fix to the truncate/append problem

Update ipns_unix.go
2015-05-01 00:38:33 -07:00
Henry
5fff7742f3 godeps: move (go)goprotobuf to github location 2015-04-28 13:42:22 +02:00
Jeromy
3d80b9d27d refactored ipns records to point to paths
Also changed the ipns dns resolution to use the "dnslink" format
2015-04-26 22:32:12 -07:00
Jeromy
0a6b880bee fix for #1008 and other pinning fixes
This commit adds a new set of sharness tests for pinning, and addresses
bugs that were pointed out by said tests.

test/sharness: added more pinning tests

Pinning is currently broken. See issue #1051. This commit introduces
a few more pinning tests. These are by no means exhaustive, but
definitely surface the present problems going on. I believe these
tests are correct, but not sure. Pushing them as failing so that
pinning is fixed in this PR.

make pinning and merkledag.Get take contexts

improve 'add' commands usage of pinning

FIXUP: fix 'pin lists look good'

ipfs-pin-stat simple script to help check pinning

This is a simple shell script to help check pinning.

We ought to strive towards making adding commands this easy.
The http api is great and powerful, but our setup right now
gets in the way. Perhaps we can clean up that area.

updated t0081-repo-pinning

- fixed a couple bugs with the tests
- made it a bit clearer (still a lot going on)
- the remaining tests are correct and highlight a problem with
  pinning. Namely, that recursive pinning is buggy. At least:
  towards the end of the test, $HASH_DIR4 and $HASH_FILE4 should
  be pinned indirectly, but they're not. And thus get gc-ed out.
  There may be other problems too.

cc @whyrusleeping

fix grep params for context deadline check

fix bugs in pin and pin tests

check for block local before checking recursive pin
2015-04-19 23:40:25 -07:00
Ho-Sheng Hsiao
d90ada9b4e Added fuse allow_other option
ipfs config Mounts.FuseAllowOther --bool true
    ipfs daemon --mount
2015-04-02 15:11:27 -07:00
Ho-Sheng Hsiao
bf22aeec0a Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs
- Modified Godeps/Godeps.json by hand
- [TEST] Updated welcome docs hash to sharness
- [TEST] Updated contact doc
- [TEST] disabled breaking test (t0080-repo refs local)
2015-03-31 12:52:25 -07:00
Jeromy
9715cab58d set proper UID and GID on fuse filesystems 2015-03-30 14:56:42 -07:00
Jeromy
5440bb0e6d fix WriteAt race condition 2015-03-24 12:23:01 -07:00
Jeromy
13c489eca1 fix context respect through fuse reading 2015-03-24 12:23:01 -07:00
Jeromy
13de031b44 code cleanup and better naming of methods 2015-03-24 12:23:01 -07:00
Jeromy
b9658f0cb2 refactor ipns fuse to utilize ipnsfs 2015-03-24 12:23:01 -07:00
Konstantin Koroviev
b6c0ade276 FUSE: Stop treating "no errors" as an error 2015-03-22 17:50:20 +02:00
Juan Batiz-Benet
8a3db7cbc4 testing: nofuse testing (for osx travis) 2015-03-18 01:44:36 -07:00
Jeromy
63e15abd8f refactor dagmodifier to work with trickledag format 2015-03-11 19:38:01 -07:00
Jeromy
da47c218b7 take offset into account for computing read size 2015-03-06 11:07:09 -08:00
Tonis Tiigi
91ab1401ab Fix nofuse build tags syntax 2015-03-05 18:00:36 +02:00
Henry
293234ae63 InitializeKeyspace doesnt care about fuse 2015-03-05 01:24:17 +01:00
Henry
66f1035d93 simple nofuse build tag to allow freebsd compilation and maybe pave the way towards windows as well 2015-03-05 01:24:17 +01:00
Juan Batiz-Benet
38425b1a06 fuse: fix read problem in osx
@whyrusleeping's fix in c88340b broke reading fuse in osx.
i'm not sure why... anyway, i chose to revert back to
io.ReadFull, but use the min of req.Size and r.Size(), which
should not encounter the reading problem in linux that a77ea2f
fixed in the first place.

This commit also changes ipns, which had not been changed.
2015-03-04 07:34:05 -08:00
Juan Batiz-Benet
f77dbe0a57 fuse/ipns: implement NodeReadlinker 2015-03-04 07:34:04 -08:00
Henry
94f55f2d51 added implements check for root types and fixed remaining interfaces on nodes 2015-03-01 13:47:52 +01:00
Henry
335caf0bc7 implements check and fixed argument ordering 2015-03-01 13:47:52 +01:00
Henry
faef01a17e update to recent bazil.org/fuse (drop custom Error, Intr dropped in favor or context.Context) 2015-03-01 13:47:52 +01:00
Jeromy
36a21561f7 stress test for ipfs fuse 2015-02-26 19:12:05 -08:00
Jeromy
88b5a1a019 path.Join for cross platform goodness 2015-02-26 19:03:33 -08:00
Jeromy
856c87bdc0 add some fuse tests for readonly ipfs fs 2015-02-26 19:03:33 -08:00
Henry
92d08db7a5 rewrote import paths of go.net/context to use golang.org/x/context
- updated go-ctxgroup and goprocess
ctxgroup: AddChildGroup was changed to AddChild. Used in two files:
- p2p/net/mock/mock_net.go
- routing/dht/dht.go

- updated context from hg repo to git
prev. commit in hg was ad01a6fcc8a19d3a4478c836895ffe883bd2ceab. (context: make parentCancelCtx iterative)
represents commit 84f8955a887232b6308d79c68b8db44f64df455c in git repo

- updated context to master (b6fdb7d8a4ccefede406f8fe0f017fb58265054c)

Aaron Jacobs (2):
net/context: Don't accept a context in the DoSomethingSlow example.
context: Be clear that users must cancel the result of WithCancel.

Andrew Gerrand (1):
go.net: use golang.org/x/... import paths

Bryan C. Mills (1):
net/context: Don't leak goroutines in Done example.

Damien Neil (1):
context: fix removal of cancelled timer contexts from parent

David Symonds (2):
context: Fix WithValue example code.
net: add import comments.

Sameer Ajmani (1):
context: fix TestAllocs to account for ints in interfaces
2015-02-25 11:58:19 +01:00
Jeromy
c88340b5a4 move to use io.CopyN 2015-02-23 19:29:02 -08:00
Jeromy
a77ea2f0c8 fix fuse reading on linux 2015-02-23 15:51:16 -08:00
Juan Batiz-Benet
58f39687cf logs: removed all log.Errors unhelpful to users
Let's save log.Error for things the user can take action on.
Moved all our diagnostics to log.Debug. We can ideally reduce them
even further.
2015-02-03 01:06:07 -08:00
Mildred Ki'Lya
d221d55d85 HTTP: add handlers to allow object creation and modification 2015-01-31 20:47:34 +01:00
Juan Batiz-Benet
a8bfa947d8 fuse/ipns: use Read() not ReadAll() 2015-01-29 16:12:45 -08:00
Juan Batiz-Benet
c05b4f06f0 fuse/ipfs: remove ReadAll 2015-01-29 16:12:45 -08:00
Juan Batiz-Benet
fcf7f0e7c1 fuse/ipfs: seeking
This commit changed the "ReadAll" to do proper read requests.
Seeking in fuse mounted fs now works. Note: this is why opening a
mounted video didnt work... we just didnt look at this code in
months.
2015-01-29 16:12:45 -08:00
Jeromy
abb3c9c9c4 implement path type 2015-01-29 17:51:08 +00:00
Jeromy
f1267d0624 change ipns resolve/publish to store raw keys, not b58 encoded 2015-01-28 19:36:30 +00:00
Jeromy
26826bd55e implement seeking in the dagreader 2015-01-27 01:33:09 +00:00
Jeromy
1244fd251d update tests, and ensure 'default' blocks are pinned 2015-01-22 00:16:30 +00:00
Jeromy
a5233faeae some comments 2015-01-19 08:06:51 +00:00
Jeromy
feeada0d90 fix fuse mounting issues
this time, without loading the private key on every startup
2015-01-19 08:05:52 +00:00
Juan Batiz-Benet
0311c0518d testing/ci: all env var checks now use new pkgs
Good thing, i checked one wrong, too!
2015-01-14 16:01:03 -08:00
Jeromy
edd7062c56 mark ipns as readonly 2015-01-10 01:22:44 -08:00
Juan Batiz-Benet
919e9bebee ipns test: is fast republish a timing prob? 2015-01-05 05:48:35 -08:00
Juan Batiz-Benet
e21b1f662b fuse mount lifecycle fixes
This commit cleans up how mounting was being done.
It now successfully signals when it is properly mounted
and listen to close signals correctly.
2015-01-04 00:47:27 -08:00
Juan Batiz-Benet
cc0d7c9b57 crypto -> p2p/crypto
The crypto package moves into p2p. Nothing in it so far is ipfs
specific; everything is p2p-general.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
c84a714b16 peer change: peer.Peer -> peer.ID
this is a major refactor of the entire codebase
it changes the monolithic peer.Peer into using
a peer.ID and a peer.Peerstore.

Other changes:
- removed handshake3.
-	testutil vastly simplified peer
-	secio bugfix + debugging logs
-	testutil: RandKeyPair
-	backpressure bugfix: w.o.w.
-	peer: added hex enc/dec
-	peer: added a PeerInfo struct
  PeerInfo is a small struct used to pass around a peer with
 	a set of addresses and keys. This is not meant to be a
 	complete view of the system, but rather to model updates to
 	the peerstore. It is used by things like the routing system.
-	updated peer/queue + peerset
-	latency metrics
-	testutil: use crand for PeerID gen
 	RandPeerID generates random "valid" peer IDs. it does not
 	NEED to generate keys because it is as if we lost the key
 	right away. fine to read some randomness and hash it. to
 	generate proper keys and an ID, use:
 	  sk, pk, _ := testutil.RandKeyPair()
 	  id, _ := peer.IDFromPublicKey(pk)
 	Also added RandPeerIDFatal helper
- removed old spipe
- updated seccat
- core: cleanup initIdentity
- removed old getFromPeerList
2014-12-23 08:33:32 -08:00
Juan Batiz-Benet
41751b4938 Integrated new network into ipfs 2014-12-16 14:47:29 -08:00
Juan Batiz-Benet
6ff472be61 mount: move Mount func into mount obj 2014-11-16 01:56:34 -08:00
Juan Batiz-Benet
99f2378bac mount: fixed mount init + teardown
This commit adds a Mount abstraction (which is really just
a wrapped context closer). It makes sure to bind the mount
to the fate of the Node (i.e. close it if the node ends).
This fixes #350
2014-11-16 01:42:42 -08:00
Brian Tiger Chow
ed4a8eb782 chore(tests) add Short() -> SkipNow() to slowest tests
vanilla:
    21.57 real        45.14 user         8.51 sys

short:
    14.40 real        31.13 user         5.56 sys

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 02:10:53 -08:00
Jeromy
4f083d54d6 write a few package doc strings to improve look of godoc 2014-11-08 21:42:36 -08:00
Juan Batiz-Benet
387d0a935d ipns test: unused import + rmv old comment 2014-11-07 14:21:12 -08:00
Jeromy
bc0e31922b probably fix the cat bug 2014-11-07 14:13:11 -08:00
Jeromy
2e2d02a741 probably fix OSX ipns bug 2014-11-07 14:13:11 -08:00
Brian Tiger Chow
de61d663b5 fix(race condition)
https://github.com/jbenet/go-ipfs/issues/270
2014-11-05 10:01:22 -08:00
Brian Tiger Chow
cea398b8a7 fix(all) log.Debug -> log.Debugf 2014-10-30 06:35:29 -07:00
Juan Batiz-Benet
184c25430b go-vet friendly codebase
- distinguish log.Error and log.Errorf functions
- Initialize structs with field names
- A bit of unreachable code (defers)
2014-10-25 03:46:39 -07:00
Brian Tiger Chow
a1b61f399c refactor(unixfs/pb) mv proto PBData -> Data, etc. 2014-10-22 21:52:59 -07:00
Brian Tiger Chow
75a860ca2b refactor(unixfs) move proto to pb package
not internal since io needs it

fix(fuse/ipns) use pb package

fix(fuse) import protos from unixfs/pb package
2014-10-22 15:54:17 -07:00
Brian Tiger Chow
a817531653 fix(fuse) named/aliased imports 2014-10-22 15:54:16 -07:00
Juan Batiz-Benet
9ca87fbb93 peer.Peer is now an interface
![](http://m.memegen.com/77n7dk.jpg)
2014-10-20 03:26:46 -07:00
Juan Batiz-Benet
972c0f7b4b u.DOut -> log.Debug
and other logging switches. I kept the u.PErr and u.POut in cli
commands, as those do need to write raw output directly.
2014-10-09 04:50:22 -07:00
Juan Batiz-Benet
6ac1170209 Skip ipns_test.TestMultiWrite in darwin 2014-10-09 03:03:57 -07:00
Juan Batiz-Benet
c565309a21 skip ipns fuse tests in travis 2014-10-09 02:59:56 -07:00
Jeromy
093c8fb04d Rework package structure for unixfs and subpackage
cc @jbenet
2014-10-08 21:14:18 +00:00
Jeromy
15a4701003 update error handling in ipns 2014-10-08 17:29:46 +00:00
Juan Batiz-Benet
2944360f5c New NameSystem interface
type NameSystem interface {
      Resolver
      Publisher
    }

should say it all.

cc @whyrusleeping
2014-10-08 04:14:52 -07:00
Juan Batiz-Benet
459e0d5373 ipns TestFastRepublish 2014-10-08 02:52:16 -07:00
Jeromy
98cde1578d integrate dagmodifier into ipns 2014-10-07 07:23:30 +00:00
Jeromy
5592030ed3 working on dag modification structures, factored out the data format into an importer subpackage and added more ipns tests 2014-10-06 03:42:59 +00:00
Jeromy
a13baff33d fixed data size reporting 2014-10-05 01:22:01 +00:00
Jeromy
16e42f82b0 fixed ipns file persistence bug 2014-10-04 22:42:03 +00:00
Jeromy
faaaa2298b Merge branch 'ipns' of github.com:jbenet/go-ipfs into ipns 2014-10-04 19:26:58 +00:00
Jeromy
25b36d1000 moved mock core node to core package 2014-10-04 19:13:56 +00:00
Juan Batiz-Benet
0c8ae7674e loggers: set level 2014-10-04 03:53:21 -07:00
Juan Batiz-Benet
7e1cd59259 initialize loggers at ERROR 2014-10-04 03:36:30 -07:00
Jeromy
c64add1959 clean up ipns test and add more asserts 2014-10-04 08:30:24 +00:00
Jeromy
5423a00894 create test node and make first ipns test pass 2014-10-04 08:00:13 +00:00
Jeromy
0c7ff7b0a8 add skeleton for ipns test, to be finished when there is a mock core.IpfsNode 2014-10-04 07:24:57 +00:00
Jeromy
11332fc73b make the tests pass! 2014-10-04 06:34:06 +00:00
Jeromy
7bb2bd6d16 a little more progress... and some debugging code 2014-10-03 23:50:05 +00:00
Jeromy
e7aa1166bc add writerAt for fuse writes 2014-10-03 23:04:41 +00:00
Jeromy
dc66b699b0 fix writes zeroing files 2014-10-03 21:36:29 +00:00
Jeromy
4727535160 fixing mutability issues in ipns 2014-10-03 19:22:54 +00:00
Jeromy
80c64ffa6d break ipns into separate files 2014-10-02 17:25:08 +00:00
Juan Batiz-Benet
19b0a28d43 security TODO warning 2014-10-01 01:31:04 -07:00
Juan Batiz-Benet
41aab9f46f comment + import nits 2014-10-01 01:30:01 -07:00
Juan Batiz-Benet
f085d594aa vendoring ipns things 2014-10-01 00:44:22 -07:00
Jeromy
9652ada0d2 implement publisher for ipns to wait until moments of rapid churn die down 2014-10-01 00:42:17 -07:00
Jeromy
54142b2173 update logging in multiple packages 2014-10-01 00:41:30 -07:00
Jeromy
ed2fbd0512 new files and directories appear to work properly 2014-10-01 00:41:30 -07:00
Jeromy
3b8b9e6847 new file creation inside ipns dirs now works 2014-10-01 00:41:29 -07:00
Jeromy
6080944af9 writing files inside ipns works now! also implemented resolve cli command 2014-10-01 00:41:29 -07:00
Jeromy
006b68b558 WIP: getting closer to being able to write in ipns dirs 2014-10-01 00:41:29 -07:00
Jeromy
7f5e13716d writes to ipns work if the top object is the written file (no directories yet!) 2014-10-01 00:39:57 -07:00
Jeromy
e61c59758b implement initial ipns filesystem interface as well as plumbing command for publishing 2014-10-01 00:39:57 -07:00
Jeromy
a65e8600a3 catch ipns branch up to master and make all things compile 2014-10-01 00:37:53 -07:00
Jeromy
c41a9717fe make disconnects and reconnects work a little better 2014-10-01 00:26:59 -07:00
Jeromy
da1890e5ef add run command 2014-10-01 00:26:59 -07:00
Jeromy
b5fd9492d7 fixes to make interface more usable 2014-10-01 00:25:52 -07:00
Brian Tiger Chow
7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00
Jeromy
275b03f814 rework dagreader to have a dagservice for node resolution 2014-09-06 22:11:44 +00:00
Jeromy
dad9751754 implement a basic data format for data inside dag nodes 2014-09-05 20:47:55 +00:00
Jeromy
691d1b36bb integrate bitswap and blockservice into the core package 2014-08-29 11:34:50 -07:00
verokarhu
fef46e44f8 mount command on windows returns an error instead of nil and adjusted unix-only code 2014-08-01 00:51:43 +03:00
verokarhu
dcd0bac8e5 disable mount command on windows for now 2014-07-31 20:04:05 +03:00