Commit Graph

93 Commits

Author SHA1 Message Date
Simon Ruderich
18d52b3b5a Install libcoloredstderr.so read-only.
Prevents accidental truncates of libcoloredstderr.so with `cp` which
crash all programs which have loaded it.
2013-06-14 13:40:06 +02:00
Simon Ruderich
dcaadb5f7c README: Explain how to modify pre/post variables. 2013-06-14 12:44:34 +02:00
Simon Ruderich
04334418fc README: Add first part of installation instructions. 2013-06-14 11:07:40 +02:00
Simon Ruderich
208757de88 .gitignore: Ignore generated test files.
Forgotten in d8be625da9 and
59375c2b79.
2013-06-13 22:43:43 +02:00
Simon Ruderich
d5b84811d2 tests/lib.sh: Fix tests for dash. 2013-06-13 22:35:42 +02:00
Simon Ruderich
1d1b6d7769 Remove duplicate code in init_from_environment(). 2013-06-13 22:15:49 +02:00
Simon Ruderich
45d25526c0 Minor documentation updates. 2013-06-13 22:15:09 +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
3c2b4bf9f6 tests/lib.sh: Minor cleanup. 2013-06-13 22:11:15 +02:00
Simon Ruderich
59375c2b79 Fix possible memory overwrite in init_from_environment().
It was possible for a user to overwrite memory at a relative location
with 1 by passing a negative file descriptor.
2013-06-13 22:08:08 +02:00
Simon Ruderich
f30dbbd26d Add more error checks. 2013-06-13 21:56:50 +02:00
Simon Ruderich
e5a94fa847 Remove unnecessary calls to update_environment() in exec*(). 2013-06-13 21:50:51 +02:00
Simon Ruderich
1e02760898 constants.h: Fix indentation. 2013-06-13 21:45:19 +02:00
Simon Ruderich
7eb1667d41 ldpreload.h: Add missing unlikely() in DLSYM_FUNCTION(). 2013-06-13 21:44:55 +02:00
Simon Ruderich
0ad5e4db04 hookmacros.h: Remove duplication in _HOOK_PRE_FD_/_HOOK_PRE_FILE. 2013-06-13 21:44:55 +02:00
Simon Ruderich
d171e6bbec trackfds.h: Add missing inline for consistency. 2013-06-13 21:34:29 +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
d8be625da9 tests/test_symbols.sh: Add. 2013-06-13 02:32:27 +02:00
Simon Ruderich
5e8be10581 tests/Makefile.am: Sort dist_check_DATA. 2013-06-13 02:29:55 +02:00
Simon Ruderich
e954d0fdfd configure.ac: fcntl.h is required. 2013-06-13 02:25:58 +02:00
Simon Ruderich
52b4e91146 hookmacros.h: Minor style fix. 2013-06-13 01:27:45 +02:00
Simon Ruderich
04ac66863a tests: Split run.sh in multiple test files.
Allows parallel test runs and simplifies optional tests.
2013-06-13 01:26:25 +02:00
Simon Ruderich
05aefe25ba tests: Rename example-* to example_* for consistency. 2013-06-13 01:05:06 +02:00
Simon Ruderich
8a58e07a5b tests: Fix tests when running under coloredstderr. 2013-06-10 22:49:58 +02:00
Simon Ruderich
b24bd8dc43 README: Add. 2013-06-10 22:33:59 +02:00
Simon Ruderich
9af3c2c727 Add another debug() print to init_from_environment(). 2013-06-10 22:25:31 +02:00
Simon Ruderich
779ba750f7 Fix compilation with clang. 2013-06-10 21:27:12 +02:00
Simon Ruderich
9434382c9e m4/ax_c___attribute__.m4: Add.
Forgotten in 0a2617527c. Used in
configure.ac.
2013-06-10 17:17:21 +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
732d4d636d configure.ac: Abort if a required function wasn't found. 2013-06-10 16:54:42 +02:00
Simon Ruderich
db7cd10c74 configure.ac: strdup() is no longer used, dup2() is optional. 2013-06-10 16:54:11 +02:00
Simon Ruderich
d4f585e078 configure.ac: Minor style fix. 2013-06-10 16:22:09 +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
afca2864dc tests: Fix warnings about unused parameters. 2013-06-10 15:22:17 +02:00
Simon Ruderich
2f1aa1cdd3 Only run vfork() tests if it's available. 2013-06-10 15:16:21 +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
488159627f Prevent inlining for more functions.
Clang is inlining quite aggressively.
2013-06-10 14:11:04 +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
0a2617527c Inline fast part of tracked_fds_find(). 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
c7f6f13de0 configure.ac: Compile with -Wall -Wextra -Wconversion. 2013-06-10 14:05:50 +02:00
Simon Ruderich
3773b830ba ldpreload.h: Split macro into function and macro. 2013-06-10 14:05:50 +02:00
Simon Ruderich
dfd317650f Remove errno save/restore where not necessary. 2013-06-10 14:05:45 +02:00