summaryrefslogtreecommitdiff
path: root/lib/librefuse
AgeCommit message (Collapse)Author
2009-01-19fix -Wsign-compare issuelukem
2009-01-11bump shared libraries.christos
2008-08-01Add API version 2.6 variant of fuse_setup.dillo
Reviewed by agc.
2008-01-14Remove puffs_ops from fuse_operations, no reason for it to be there.pooka
2008-01-14return -ret from statfspooka
2007-12-27Uncommit accidentally committed PUFFS_FLAG_OPDUMP.pooka
overextensive library verbosity noticed by riz
2007-12-12puffs_fuse_node_create: if create() is specified set S_IFREG explicitlyxtraeme
to avoid passing unspecified mode. Fixes latest ntfs-3g... patch from pooka tested by myself.
2007-11-30Rototill.pooka
Ok, ok, a few more words about it: stop holding puffs_cc as a holy value and passing it around to almost every possible place (popquiz: which kernel variable does this remind you of?). Instead, pass the natural choice, puffs_usermount, and fetch puffs_cc via puffs_cc_getcc() only in routines which actually need it. This not only simplifies code, but (thanks to the introduction of puffs_cc_getcc()) enables constructs which weren't previously sanely possible, say layering as a curious example. There's still a little to do on this front, but this was the major fs interface blast.
2007-11-27Remove "puffs_cid" from the puffs interface following l-removalpooka
from the kernel vfs interfaces. puffs_cc_getcaller(pcc) can be used now should the same information be desired.
2007-11-08I've written more than a fair share of this to see my name up inpooka
lights. Wine & women, come to me now!
2007-11-05Pull the daemonizing code out of the library mainloop into the filepooka
servers. Calling daemon() (i.e. fork()ing) inside a library can cause nice surprises for e.g. threaded programs. As discussed with Greg Oster & others.
2007-11-05Header cleanup: don't need defs.h to do a few includes for us. Also,pooka
use #include <> for global headers instead of #include "".
2007-11-05* Fix pthread key creation to depend on if it hasn't been created beforepooka
instead of depending if a lock was succesfully acquired. Also, add a comment explaining why it is such complex (for all I could guess). * replace err()'s with abort() * replace some abort()'s by returning failure
2007-10-28Use puffs prepost ops for setting pid/lwpid instead of separatepooka
calls in all methods.
2007-10-23revert 1.77, MULTITHREADED_REFUSE has problemspooka
2007-10-21Get rid of MULTITHREADED_REFUSE for context queries. We can simplypooka
use the pthread codepaths always.
2007-10-21Use new puffs features to provide correct caller info instead ofpooka
sometimes returning stale data.
2007-10-06Use a two clause license for all the code I contributed.xtraeme
The envsys code will be changed later.
2007-09-24Add refuse paper to SEE ALSOpooka
2007-08-25Now that we don't dump operations by default, might as well detachpooka
from the console by default also. (but still would be nice if someone provided options to toggle these using the fuse options framework)
2007-08-12In case a file system doesn't provide st_blksize, default to DEV_BSIZE.pooka
2007-07-18get rid of DBG=pooka
2007-07-18Don't stay on the foreground and dump operations by default.pooka
XXX: someone(tm) should make it possible to set PUFFS_OPFLAG_DUMP using the fuse options framework
2007-07-17* add mntfromname parameter to puffs_init()pooka
* set it in file servers
2007-07-01adapt: **newnode etc. pointers -> struct puffs_newinfopooka
2007-07-01adapt: pid -> const struct puffs_cid *pooka
2007-07-01adapt: pcn->pcn_cred is now a pointerpooka
2007-06-24Actually, keep PUFFS_KFLAG_NOCACHE and -o cache around as shorthandpooka
to neither page- nor namecache.
2007-06-24PUFFS_KFLAG_NOCACHE became two, so introduce the command line optionspooka
-o nonamecache and -o nopagecache and adapt file systems where necessary.
2007-06-12Use pthread_[gs]etspecific to store a pointer to the fuse_contextagc
information, enabled if MULTITHREADED_REFUSE is defined at build time. This is not enabled by default since libpuffs is not threadsafe yet. librefuse is still not threadsafe, but this gets rid of a whole lot of problems in the meantime.
2007-06-12Minor cleanup - change uses of malloc, memset to calloc.agc
Use EXIT_FAILURE in preference to the less informational 1.
2007-06-12Re-work the way the SET_FUSE_CONTEXT* macros are done, followingagc
feedback from Antti.
2007-06-11# use puffs_cred_getuid(3) and puffs_cred_getgid(3)agc
for i in `jot 100 1`; do echo "I must respect the abstractions which pooka put in puffs_cred(3)" done
2007-06-11Set the uid, gid and pid wherever possible (i.e. where known). This getsagc
us far enough along that fuse-loggedfs now works with the correct command, uid and gid being displayed.
2007-06-09Make Nm match Dt. This makes it easier to guess what the man page iswiz
called when you find it with man -k.
2007-05-28Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on thetls
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to various string and memory copy and set functions (as well as a few system calls and other miscellany) where known at function entry. RedHat has evidently built all "core system packages" with this option for some time. This option should be used at the top of Makefiles (or Makefile.inc where this is used for subdirectories) but after any setting of LIB. This is only useful for userland code, and cannot be used in libc or in any code which includes the libc internals, because it overrides certain libc functions with macros. Some effort has been made to make USE_FORT=yes work correctly for a full-system build by having the bsd.sys.mk logic disable the feature where it should not be used (libc, libssp iteself, the kernel) but no attempt has been made to build the entire system with USE_FORT and doing so will doubtless expose numerous bugs and misfeatures. Adjust the system build so that all programs and libraries that are setuid, directly handle network data (including serial comm data), perform authentication, or appear likely to have (or have a history of having) data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default, with the exception of libc, which cannot use USE_FORT and thus uses only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no per-directory or in a system build will disable if desired.
2007-05-24After we've malloc'd an area of storage, zero out this storage, "just inagc
case".
2007-05-17Calling puffs_exit() in fuse_{exit,unmount}() is wrong, as thosepooka
shouldn't release resources. As a quick hack to prevent double frees etc, introduce "dead" variable into fuse channel to signal if the backing puffs resource was already freed. XXX: the check is only in exit/unmount currently. Proper fix really depends on some puffs features I still haven't gotten around to doing.
2007-05-17create hash for the root path objectpooka
2007-05-17initialize refusenode contents to 0pooka
(don't change malloc to calloc and expect things not to break)
2007-05-17reflect changes in fs mount: use puffs_mount() instead ofpooka
puffs_domount() & puffs_start()
2007-05-17More fixes:christos
- make sure that the args array is NULL terminated. - make sure argc is initialized and argv is set to NULL after freeing. - make the deep copy function an opt interface function.
2007-05-16Add the $NetBSD$ tag, it's easier to know what revision you have.xtraeme
2007-05-16- Always check strdup return. For now we are lazy and bail instead of cleaningchristos
up. - Use malloc and free instead of macros, delete macros. - Merge the two copies of deep copy and free args that were slightly buggy into one and use that one. XXX: Lots of ints should be size_t. XXX: Bailing on error is not a good thing for a library. XXX: Defs.h should be eliminated completely. Not all files need all the headers.
2007-05-16The FUSE_USE_VERSION is the definition which the user sets, and whichagc
determines the API. Provide a default for FUSE_USE_VERSION if it's not set, and use this value to determine the number of arguments given to fuse_main().
2007-05-16Enable puffs_fakecc. FUSE file systems don't use continuations anyway,pooka
and now file servers linked against libpthread won't crash when they attempt to malloc something.
2007-05-15When parsing arguments for the directory to mount, search backwards fromagc
the end of the argument vector for an argument that doesn't begin with '-', and use it - this improves upon the previous naive approach of using the last argument, which could have been placed there by one of the argument appending functions. Be consistent with the mount name processing, and always do the puffs:refuse:filesystem substitution once and once only. % priv mount.ntfs-3g ntfs-refuse.img /mnt % df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on puffs:refuse:ntfs-3g 1000943 66309 934634 6% /mnt % priv umount /mnt % priv /usr/src/share/examples/refuse/id3fs/id3fs /mnt & % df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on puffs:refuse:id3fs 0 0 0 100% /mnt % priv umount /mnt %
2007-05-15Fuse version 2.6 (and above) has a 4 argument version of fuse_main(),agc
whereas previous versions had a 3 argument one. Accept both.
2007-05-15When puffs_mount fails, display the name of the directory which wasn'tagc
able to be mounted.
2007-05-03...and include fuse_opt.h in the correct place.agc