<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend_reverse, branch LockSharedStorage_rebase1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=LockSharedStorage_rebase1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=LockSharedStorage_rebase1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2024-11-11T21:33:07+00:00</updated>
<entry>
<title>Report inode number for the root node</title>
<updated>2024-11-11T21:33:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-11-11T21:27:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=86891054ef2a5d1b0b59c7c140aae284e7c5bd87'/>
<id>urn:sha1:86891054ef2a5d1b0b59c7c140aae284e7c5bd87</id>
<content type='text'>
Now that https://github.com/hanwen/go-fuse/issues/399 has
landed we can report an inode number for the root node.

Fixes https://github.com/rfjakob/gocryptfs/issues/580
</content>
</entry>
<entry>
<title>reverse: fix import sorting in root_node.go</title>
<updated>2024-11-11T21:33:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-11-11T21:26:55+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=12c0f3a0bdd11444b8bf880af7c63ea7850391f2'/>
<id>urn:sha1:12c0f3a0bdd11444b8bf880af7c63ea7850391f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reverse: fix force_owner</title>
<updated>2024-08-23T20:32:46+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-08-23T20:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f665be1178c72a4768e82bccdfa073a0cf309215'/>
<id>urn:sha1:f665be1178c72a4768e82bccdfa073a0cf309215</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/809
</content>
</entry>
<entry>
<title>reverse: use incrementing inode number for gocryptfs.longname.*.name files</title>
<updated>2024-05-05T20:46:17+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-05-05T20:46:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a38507978442f28ace42ec0003c4a2bf61cb4a91'/>
<id>urn:sha1:a38507978442f28ace42ec0003c4a2bf61cb4a91</id>
<content type='text'>
ed0a12b7337c2d88c027329f64e73070da17d5b3 already fixed the kernel side,
now we also want the .name files to NOT appear hardlinked when just
looking at the inode number.

Relates-to: https://github.com/rfjakob/gocryptfs/issues/802
</content>
</entry>
<entry>
<title>reverse: use unique generation number for all nodes</title>
<updated>2024-05-01T20:26:37+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-05-01T20:26:37+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ed0a12b7337c2d88c027329f64e73070da17d5b3'/>
<id>urn:sha1:ed0a12b7337c2d88c027329f64e73070da17d5b3</id>
<content type='text'>
We used to present gocryptfs.longname.*.name files for hardlinked
files as hardlinked to the kernel (same Node ID) which is wrong.

Fix this by using a unique generation number for all nodes, which
also fixes possible issues with inode reuse.

Basically what 1bc1db620b061aabf59469a5eb4fb60e3e1701a3 did
for forward mode with -sharedstorage.

Fixes https://github.com/rfjakob/gocryptfs/issues/802
</content>
</entry>
<entry>
<title>make format</title>
<updated>2022-08-28T09:11:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-08-28T09:11:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=003a7fa2e53ac15d2c94a34102ae12b69b23c586'/>
<id>urn:sha1:003a7fa2e53ac15d2c94a34102ae12b69b23c586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix invalid -longnamemax for reverse mode</title>
<updated>2022-08-28T09:09:01+00:00</updated>
<author>
<name>NekoGirlSAIKOU</name>
</author>
<published>2022-04-24T17:35:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1bff80b46cf3cdd2d6934ebf905fca96dde7af97'/>
<id>urn:sha1:1bff80b46cf3cdd2d6934ebf905fca96dde7af97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix reverse gocryptfs.conf access on macOS</title>
<updated>2022-04-02T13:15:04+00:00</updated>
<author>
<name>Val</name>
</author>
<published>2022-03-31T18:41:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c9e4e4f74150d2734496e90a4c442a17b79f52c1'/>
<id>urn:sha1:c9e4e4f74150d2734496e90a4c442a17b79f52c1</id>
<content type='text'>
Unlike the FUSE implementation on Linux, macFUSE doesn't cache the file
attributes from the `LOOKUP` call, so it calls `GETATTR` prior to
accessing a file.

In the case of the `VirtualConfNode` (reverse config file passthrough),
this resulted in the default `GETATTR` implementation returning an empty
result, ultimately resulting in a "permission denied" error.

    14:44:14.095207 rx 3: GETATTR n2
    14:44:14.095229 tx 3:     OK, {tA=1s {M0100000 SZ=0 L=0 0:0 0 0:8954996 A 0.000000 M 0.000000 C 0.000000}}
    14:44:14.099943 rx 4: ACCESS n2 {u=501 g=20 r}
    14:44:14.099990 tx 4:     13=permission denied

By impementing `Getattr` (from `fs.NodeGetattrer`) on `VirtualConfNode`
this solves the issue.
</content>
</entry>
<entry>
<title>inomap: deterministically set root device</title>
<updated>2021-09-10T15:17:16+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-10T15:17:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c9b825c58a9f996379108926754513bca03bb306'/>
<id>urn:sha1:c9b825c58a9f996379108926754513bca03bb306</id>
<content type='text'>
We used to have "first Translate() wins". This is not deterministic,
as the LOOKUP for the root directory does not seem to reach us, so
the first user LOOKUP would win, which may be on a mountpoint.
</content>
</entry>
<entry>
<title>go mod: declare module version v2</title>
<updated>2021-08-23T13:05:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-23T13:05:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=69d88505fd7f4cb0d9e4f1918de296342fe05858'/>
<id>urn:sha1:69d88505fd7f4cb0d9e4f1918de296342fe05858</id>
<content type='text'>
Our git version is v2+ for some time now, but go.mod
still declared v1. Hopefully making both match makes
https://pkg.go.dev/github.com/rfjakob/gocryptfs/v2 work.

All the import paths have been fixed like this:

  find . -name \*.go | xargs sed -i s%github.com/rfjakob/gocryptfs/%github.com/rfjakob/gocryptfs/v2/%
</content>
</entry>
</feed>
