Index: main/term.c =================================================================== --- main/term.c (revision 266436) +++ main/term.c (working copy) @@ -1,7 +1,7 @@ /* * Asterisk -- An open source telephony toolkit. * - * Copyright (C) 1999 - 2005, Digium, Inc. + * Copyright (C) 1999 - 2010, Digium, Inc. * * Mark Spencer * @@ -18,9 +18,9 @@ /*! \file * - * \brief Terminal Routines + * \brief Terminal Routines * - * \author Mark Spencer + * \author Mark Spencer */ #include "asterisk.h" @@ -79,12 +79,21 @@ char buffer[512] = ""; int termfd = -1, parseokay = 0, i; - if (!term) + if (ast_opt_no_color) { return 0; - if (!ast_opt_console || ast_opt_no_color || !ast_opt_no_fork) + } + + if (!ast_opt_console) { + /* If any remote console is not compatible, we'll strip the color codes at that point */ + vt100compat = 1; + goto end; + } + + if (!term) { return 0; + } - for (i=0 ;; i++) { + for (i = 0;; i++) { if (termpath[i] == NULL) { break; } @@ -138,6 +147,7 @@ } } +end: if (vt100compat) { /* Make commands show up in nice colors */ snprintf(prepdata, sizeof(prepdata), "%c[%d;%d;%dm", ESC, ATTR_BRIGHT, COLOR_BROWN, COLOR_BLACK + 10); Index: contrib/init.d/rc.debian.asterisk =================================================================== --- contrib/init.d/rc.debian.asterisk (revision 266437) +++ contrib/init.d/rc.debian.asterisk (working copy) @@ -51,7 +51,7 @@ exit 0 fi -# Use the LSB standar functions for services management +# Use the LSB standard functions for services management . /lib/lsb/init-functions case "$1" in @@ -65,19 +65,17 @@ fi log_begin_msg "Starting $DESC: $NAME" - if [ $AST_USER ] ; then - ASTARGS="-U $AST_USER" - fi - if [ $AST_GROUP ] ; then - ASTARGS="$ASTARGS -G $AST_GROUP" - fi - # "start-stop-daemon --oknodo" returns 0 even if Asterisk was already running (as LSB expects): - if test "x$COLOR" = "xyes" ; then - export TERM=linux - start-stop-daemon --start --oknodo --background --exec $DAEMON -- $ASTARGS -c - else - start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS + if [ $AST_USER ] ; then + ASTARGS="-U $AST_USER" fi + if [ $AST_GROUP ] ; then + ASTARGS="$ASTARGS -G $AST_GROUP" + fi + if test "x$COLOR" = "xno" ; then + ASTARGS="$ASTARGS -n" + fi + # "start-stop-daemon --oknodo" returns 0 even if Asterisk was already running (as LSB expects): + start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS log_end_msg $? ;; stop)