]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - README
Set DEFAULT_PRE_STRING to red.
[coloredstderr/coloredstderr.git] / README
diff --git a/README b/README
index 5e9917a5a059255ce067862bfad908c551b37e0d..a99edfa3f2952a79f07a2dc519de87c57055f7d7 100644 (file)
--- 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,25 @@ 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:
+
+    export COLORED_STDERR_PRE=$'\033[91m' # bright red
+    export COLORED_STDERR_POST=$'\033[0m' # default
+
+Or to be more compatible you can use the following which should work in any
+Bourne shell:
+
+    esc=`printf '\033'`
+    COLORED_STDERR_PRE="${esc}[91m" # red
+    COLORED_STDERR_POST="${esc}[0m" # default
+    export COLORED_STDERR_PRE COLORED_STDERR_POST
+
 
 DEBUG
 -----
@@ -111,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
 ----