~martanne/ciopfs

ref: v0.4 ciopfs/ciopfs.c -rw-r--r-- 22.8 KiB
Simplify error handling

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Fix {get,list}xattr

The return value should be the size of the xattr not simply 0.

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Remove unnecessary variable initializations

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
569cea58 — Jon Severinsson 10 years ago
Don't trust that nothing change errno after the fact.

See errno(3) section "NOTES" for details on why this is a bad idea.

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
9f4be79d — Jon Severinsson 10 years ago
Correct erroneous comment regarding realpath availability

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
56927334 — Jon Severinsson 10 years ago
symlink: do not transform the symlink target string

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
readdir: don't process everything in one go

Use seekdir and telldir instead and let fuse call us multiple times.

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
stat: switch to user context

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Implement opendir and releasedir

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Rename {enter,leave}_user_context

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Introduce {enter,leave}_user_context_real and use it for access(2)

Based on a patch from Hans Kristian Nordengen.

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
readdir: apply user context (Hans Kristian Nordengen)

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Remove useless option parsing code

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Enable single threaded mode if the file system is accessible for others

The euid/egid are stored per process and not per thread. This
causes all sorts of race conditions and security issues when
multiple users access the file system simultaneously.

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Pass pid to get_groups

Signed-off-by: Marc Andre Tanner <mat@brain-dump.org>
Return -ENOMEM in case of malloc failure
Split case folding and uppercase detection into separate files

Add 3 new files which each implements the following two functions:

 static inline bool str_contains_upper(const char *s);
 static inline char *str_fold(const char *s);

By default a glib based implementation is used, the other options
are still available via Makefile targets ascii and unicode-icu.
Avoid C99 comments.
Fix memory leak in debug mode.
Extend introduction commentary.
Next