| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Reviewed by agc.
|
|
|
|
|
|
overextensive library verbosity noticed by riz
|
|
to avoid passing unspecified mode. Fixes latest ntfs-3g... patch
from pooka tested by myself.
|
|
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.
|
|
from the kernel vfs interfaces. puffs_cc_getcaller(pcc) can be
used now should the same information be desired.
|
|
lights. Wine & women, come to me now!
|
|
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.
|
|
use #include <> for global headers instead of #include "".
|
|
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
|
|
calls in all methods.
|
|
|
|
use the pthread codepaths always.
|
|
sometimes returning stale data.
|
|
The envsys code will be changed later.
|
|
|
|
from the console by default also. (but still would be nice if someone
provided options to toggle these using the fuse options framework)
|
|
|
|
|
|
XXX: someone(tm) should make it possible to set PUFFS_OPFLAG_DUMP
using the fuse options framework
|
|
* set it in file servers
|
|
|
|
|
|
|
|
to neither page- nor namecache.
|
|
-o nonamecache and -o nopagecache and adapt file systems where necessary.
|
|
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.
|
|
Use EXIT_FAILURE in preference to the less informational 1.
|
|
feedback from Antti.
|
|
for i in `jot 100 1`; do
echo "I must respect the abstractions which pooka put in puffs_cred(3)"
done
|
|
us far enough along that fuse-loggedfs now works with the correct command,
uid and gid being displayed.
|
|
called when you find it with man -k.
|
|
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.
|
|
case".
|
|
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.
|
|
|
|
(don't change malloc to calloc and expect things not to break)
|
|
puffs_domount() & puffs_start()
|
|
- 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.
|
|
|
|
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.
|
|
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().
|
|
and now file servers linked against libpthread won't crash when they
attempt to malloc something.
|
|
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
%
|
|
whereas previous versions had a 3 argument one. Accept both.
|
|
able to be mounted.
|
|
|