X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=README;h=a99edfa3f2952a79f07a2dc519de87c57055f7d7;hb=d08a5128063fd06ea80915d38cc29ac07015ff0e;hp=34cff3029bd41bdcdf99e6bec6631c8d5990d0cd;hpb=dcaadb5f7c530d348d936bf642ada9ef1ea855d1;p=coloredstderr%2Fcoloredstderr.git diff --git a/README b/README index 34cff30..a99edfa 100644 --- a/README +++ b/README @@ -6,6 +6,8 @@ coloredstderr is a small library which uses 'LD_PRELOAD' to color stderr. Like all solutions using 'LD_PRELOAD' it only works with dynamically linked binaries. Statically linked binaries, for example valgrind, are not supported. +setuid binaries are also not supported ('LD_PRELOAD' disabled for security +reasons). It was inspired by stderred [2]. Similar solutions (using 'LD_PRELOAD') @@ -51,6 +53,11 @@ inconsistent state causing a segmentation fault when using any functions of the library. Just remove the file first and then copy it. `make install` handles the install in this way and is therefore not affected. +As a simple safeguard, `make` builds and installs the `libcoloredstderr.so` +file non-writable to prevent accidental overwrites. Even if the overwrite is +forced with `cp -f`, the file is unlinked and recreated by `cp` because the +file is non-writable, preventing the problem. + USAGE ----- @@ -78,8 +85,7 @@ A default setup could look like this: The following additional environment variables are available: - 'COLORED_STDERR_PRE' - String to write before each write to stderr, defaults to "\033[91m" (bright - red). + String to write before each write to stderr, defaults to "\033[31m" (red). - 'COLORED_STDERR_POST' String to write after each write to stderr, defaults to "\033[0m" (reset color). @@ -88,6 +94,10 @@ The following additional environment variables are available: terminal, e.g. when writing to a file. By default, only writes to a terminal are colored. +All environment variables starting with 'COLORED_STDERR_PRIVATE_*' are +internal variables used by the implementation and should not be set manually. +See the source for details. + To set custom colors as pre/post strings you can use the `$''` feature of Bash and Zsh: @@ -126,6 +136,14 @@ doesn't exist it's created. An existing file isn't overwritten, but the warnings are appended at the end. +KNOWN ISSUES +------------ + +- `{fputc,putc,putchar}_unlocked()` are not hooked when writing to stdout + (which might be redirected to stderr). Can't be fixed as the compiler + inlines the code into the program without calling any function. + + BUGS ----