gfcombinefs is a side project I did some work on a few weeks ago. It
combines several "shares" of a secret file previously split using Shamir
secret sharing, to produce the original secret, and presents it as a file in
a FUSE filesystem. It uses libgfshare for the actual mathematics, and
expects its input to have been split with the gfsplit
tool shipped with
libgfshare.
At this stage of development, I suggest not trusting it with important data, like the GnuPG secret keyrings it's designed for. However, I hope that with some feedback from others I can get it into a state where it's ready to be released and packaged (perhaps I'm being unnecessarily conservative, but for something that deals with GnuPG keys, it seems wise to be careful).
Source code is available in a git repository, and I'd welcome contributions, bug reports (other than the limitations that are already listed in the documentation) and in particular, a systematic code audit from someone (the good news is that there isn't very much code, so that shouldn't actually take long).
Don't you need to initialise the mutex first?
e.g:
Similarly destroy:
Then update your gfs_ops structure to include to have:
I hope that didn't get mangled too much!
mutex
- and I see now that you do destroy it at the end of main. Late night.