Simon Ruderich
a63fef43c2
Add missing #include <sys/stat.h>.
2013-06-17 23:26:00 +02:00
Simon Ruderich
941370dda9
Hook BSD err(), errx(), warn(), warnx(), etc. functions.
...
err(), errx(), warn(), warnx(), verr(), verrx(), vwarn(), vwarnx() are
hooked.
2013-06-15 02:39:52 +02:00
Simon Ruderich
1068648718
Minor documentation update.
2013-06-15 02:21:27 +02:00
Simon Ruderich
217e8c8bc5
Define real_*() static variables with macros.
2013-06-15 00:54:46 +02:00
Simon Ruderich
3d46e3ab9b
Add missing const and document where it can't be used.
2013-06-13 22:13:16 +02:00
Simon Ruderich
e5a94fa847
Remove unnecessary calls to update_environment() in exec*().
2013-06-13 21:50:51 +02:00
Simon Ruderich
6d6ad4423a
Add assert()s.
2013-06-13 21:33:27 +02:00
Simon Ruderich
37cb5686de
Handle invalid arguments to close()/fclose() better.
2013-06-13 21:19:15 +02:00
Simon Ruderich
7adfbfd2cf
Fix hook for putc_unlocked() with glibc.
...
putc_unlocked() is a macro which expands to __overflow() in some cases.
2013-06-13 12:59:12 +02:00
Simon Ruderich
779ba750f7
Fix compilation with clang.
2013-06-10 21:27:12 +02:00
Simon Ruderich
237251ae9c
Hook execvpe(), a GNU extension.
2013-06-10 17:10:44 +02:00
Simon Ruderich
55e8d0d38a
coloredstderr.c: Fix parameter name in execvp().
2013-06-10 16:58:27 +02:00
Simon Ruderich
7c2d726cd4
coloredstderr.c: Fix indentation.
2013-06-10 16:55:25 +02:00
Simon Ruderich
357a499884
configure.ac: Add --enable-warnings.
...
Enables warning() messages without the overhead of all debug output.
2013-06-10 16:18:35 +02:00
Simon Ruderich
b75b0ec399
Rename __noinline/__always_inline to prevent clash with headers.
...
With this change noinline can be used in ldpreload.h.
2013-06-10 14:55:13 +02:00
Simon Ruderich
428e15bf68
Prevent inlining of handle_*_pre/post() functions.
2013-06-10 14:05:51 +02:00
Simon Ruderich
f3bda26e82
Don't mark init_pre_post_string() as inline.
2013-06-10 14:05:51 +02:00
Simon Ruderich
86352712fd
Fix save/restore of errno for isatty().
2013-06-10 14:05:51 +02:00
Simon Ruderich
048bd6f9e7
Use likely()/unlikely() macros to improve branch prediction.
2013-06-10 14:05:51 +02:00
Simon Ruderich
9862b8c8f1
Inline check_handle_fd() into hook macros.
...
It's very small and prologue/epilogue have a lot of overhead.
2013-06-10 14:05:51 +02:00
Simon Ruderich
dfd317650f
Remove errno save/restore where not necessary.
2013-06-10 14:05:45 +02:00
Simon Ruderich
fe3f7d4c63
handle_*_pre(),handle_*_post(): Remove unused action parameter.
2013-06-10 04:53:30 +02:00
Simon Ruderich
bcd5f79080
Remove unused hook puts_unlocked().
...
This function doesn't exist (yet).
2013-06-07 02:06:57 +02:00
Simon Ruderich
06f483dbee
Fix a few strict compiler warnings.
2013-06-07 02:01:23 +02:00
Simon Ruderich
31a1fdf921
Use char const * instead of const char *.
...
char const * is more consistent with char * const.
2013-06-07 01:56:02 +02:00
Simon Ruderich
c2097785e7
Use static list of descriptors to reduce mallocs.
...
Only if file descriptors with a value > 255 occur, the list
implementation is used.
2013-06-07 01:27:58 +02:00
Simon Ruderich
51377106d1
Rename tracked_fds_* tracked_fds_list_*.
2013-06-06 20:44:10 +02:00
Simon Ruderich
7f9856c5da
Hook error() and error_at_line() if available.
...
They are used by some GNU programs to display error messages.
2013-06-05 23:57:05 +02:00
Simon Ruderich
b140cc0a82
coloredstderr.c: Use #include <config.h>.
...
This ensures that config.h from the build directory is preferred over a
possible file of the same name in the source directory.
2013-06-05 18:11:33 +02:00
Simon Ruderich
4d10935aee
check_handle_fd(): Reduce calls to isatty().
2013-06-05 03:33:08 +02:00
Simon Ruderich
7ea72c40db
Hook execve() and the other exec*() functions.
...
Prevents programs from removing our environment variables during the
exec.
Also reduces unnecessary calls to update_environment() by calling it
only once before the exec.
2013-06-05 01:40:56 +02:00
Simon Ruderich
a9db9083b6
Minor documentation updates.
2013-06-05 01:07:47 +02:00
Simon Ruderich
d475e5ec89
Improve debug output.
2013-06-05 00:53:55 +02:00
Simon Ruderich
7c5d6fce3a
Only hook vfork() if it's available.
2013-06-03 21:59:57 +02:00
Simon Ruderich
1c5441c26a
Hook vfork() and replace it with fork().
2013-06-02 18:25:49 +02:00
Simon Ruderich
ad50ad9c54
Hook perror(3).
2013-06-01 22:08:45 +02:00
Simon Ruderich
96710bc3fa
Add ENV_NAME_FORCE_WRITE to force writes to non-tty devices.
2013-06-01 21:13:23 +02:00
Simon Ruderich
7d4d8e0784
Fix initialization if ENV_NAME_FDS was not set.
...
If ENV_NAME_FDS is not set then init_from_environment() was called for
each hooked function, instead of just once.
2013-06-01 18:27:56 +02:00
Simon Ruderich
5e162a33ae
Fix signature of fcntl() hook.
2013-05-31 22:31:11 +02:00
Simon Ruderich
f369605227
fcntl(): Don't call dup_fd() if real_fcntl() failed.
2013-05-31 18:37:55 +02:00
Simon Ruderich
6d15f6c990
Rename macros.h to hookmacros.h.
2013-05-31 18:36:21 +02:00
Simon Ruderich
abc3d7889f
Initial commit.
2013-05-31 18:19:12 +02:00