Package: asterisk Version: 1:1.6.2.9-1 Severity: normal Tags: patch For a patch see original bug report: https://issues.asterisk.org/view.php?id=17472
With an #include in extensions.conf: [general] static=yes writeprotect=no #include "exts/extensions-for-fax" [globals] TRUNK=DAHDI/g0 TRUNKMSD=1 ............. to a file that exists: ls -l exts/extensions-for-fax -rw-r--r--. 1 root root 6157 Nov 13 2009 exts/extensions-for-fax the parser mangles the #include: == Parsing '/etc/asterisk/extensions.conf': == Found [Jun 5 10:41:42] ERROR[26393]: config.c:1098 process_text_line: The file 'exts/etensions--for-fax' was listed as a #include but it does not exist. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages asterisk depends on: ii adduser 3.112 add and remove users and groups ii asterisk-config 1:1.6.2.9-1 Configuration files for Asterisk ii asterisk-core-sounds-e 1.4.19-1 asterisk PBX sound files - English ii dahdi 1:2.2.1.1-1 utilities for using the DAHDI kern ii libasound2 1.0.23-1 shared library for ALSA applicatio ii libc-client2007e 8:2007e~dfsg-3.1 c-client library for mail protocol ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib ii libcap2 1:2.19-3 support for getting/setting POSIX. ii libcurl3 7.21.0-1 Multi-protocol file transfer libra ii libgcc1 1:4.4.4-8 GCC support library ii libglib2.0-0 2.24.1-1 The GLib library of C routines ii libgmime-2.0-2a 2.2.25-1.1 MIME library ii libgsm1 1.0.13-3 Shared libraries for GSM speech co ii libiksemel3 1.2-4 C library for the Jabber IM platfo ii libjack0 [libjack-0.11 1:0.118+svn3796-7 JACK Audio Connection Kit (librari ii libldap-2.4-2 2.4.17-2.1 OpenLDAP libraries ii liblua5.1-0 5.1.4-5 Simple, extensible, embeddable pro ii libncurses5 5.7+20100313-2 shared libraries for terminal hand ii libnewt0.52 0.52.11-1 Not Erik's Windowing Toolkit - tex ii libogg0 1.2.0~dfsg-1 Ogg bitstream library ii libopenais3 1.1.2-2 Standards-based cluster framework ii libopenr2-3 1.3.0-2 MFC/R2 (telephony) call setup libr ii libpopt0 1.16-1 lib for parsing cmdline parameters ii libpq5 8.4.4-2 PostgreSQL C client library ii libpri1.4 1.4.11.3-1 Primary Rate ISDN specification li ii libradiusclient-ng2 0.5.6-1 Enhanced RADIUS client library ii libresample1 0.1.3-3 real-time audio resampling library ii libsdl1.2debian 1.2.14-6 Simple DirectMedia Layer ii libsnmp15 5.4.3~dfsg-1 SNMP (Simple Network Management Pr ii libspandsp2 0.0.6~pre12-1 Telephony signal processing librar ii libspeex1 1.2~rc1-1 The Speex codec runtime library ii libspeexdsp1 1.2~rc1-1 The Speex extended runtime library ii libsqlite0 2.8.17-6 SQLite shared library ii libss7-1 1.0.2-1 Signalling System 7 (ss7) library ii libssl0.9.8 0.9.8o-1 SSL shared libraries ii libstdc++6 4.4.4-8 The GNU Standard C++ Library v3 ii libsybdb5 0.82-7 libraries for connecting to MS SQL ii libtiff4 3.9.4-2 Tag Image File Format (TIFF) libra ii libtonezone2.0 1:2.2.1.1-1 tonezone library (runtime) ii libvorbis0a 1.3.1-1 The Vorbis General Audio Compressi ii libvorbisenc2 1.3.1-1 The Vorbis General Audio Compressi ii libvpb0 4.2.47-1 Voicetronix telephony hardware use ii libx11-6 2:1.3.3-3 X11 client-side library ii libxml2 2.7.7.dfsg-4 GNOME XML library ii unixodbc 2.2.14p2-1 ODBC tools libraries ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages asterisk recommends: ii sox 14.3.1-1+b1 Swiss army knife of sound processi Versions of packages asterisk suggests: pn asterisk-dev <none> (no description available) pn asterisk-doc <none> (no description available) pn asterisk-h323 <none> (no description available) -- Configuration Files: /etc/logrotate.d/asterisk changed [not included] -- no debconf information
--- config.c.orig 2010-06-19 11:56:37.442182216 +0200 +++ config.c 2010-06-21 23:22:46.186217492 +0200 @@ -1052,20 +1052,12 @@ cur = c; /* Strip off leading and trailing "'s and <>'s */ - if (*c == '"') { - /* Dequote */ - while (*c) { - if (*c == '"') { - strcpy(c, c + 1); /* SAFE */ - c--; - } else if (*c == '\\') { - strcpy(c, c + 1); /* SAFE */ - } - c++; - } - } else if (*c == '<') { - /* C-style include */ - if (*(c + strlen(c) - 1) == '>') { + if ((*c == '"') || (*c == '<')) { + char quote_char = *c; + if (quote_char == '<') + quote_char = '>'; + + if (*(c + strlen(c) - 1) == quote_char) { cur++; *(c + strlen(c) - 1) = '\0'; }