diff --git a/apps/app_authenticate.c b/apps/app_authenticate.c index 887bf237d4d8cbfcb3e3f1602902106d00ee0344..903e7b4115d244841cb18df704785dfad926d2ae 100755 --- a/apps/app_authenticate.c +++ b/apps/app_authenticate.c @@ -125,6 +125,7 @@ static int auth_exec(struct ast_channel *chan, void *data) while (!feof(f)) { fgets(buf, sizeof(buf), f); if (!feof(f) && !ast_strlen_zero(buf)) { + buf[strlen(buf) - 1] = '\0'; if (strchr(opts, 'm')) { md5secret = strchr(buf, ':'); if (md5secret == NULL) @@ -133,12 +134,16 @@ static int auth_exec(struct ast_channel *chan, void *data) md5secret++; ast_md5_hash(md5passwd, passwd); if (!strcmp(md5passwd, md5secret)) { - ast_cdr_setaccount(chan, buf); + if (strchr(opts, 'a')) + ast_cdr_setaccount(chan, buf); break; } } else { - if(!strcmp(passwd, buf)) + if(!strcmp(passwd, buf)) { + if (strchr(opts, 'a')) + ast_cdr_setaccount(chan, buf); break; + } } } } diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c index 0fd44922bf167bcc7f0aea593e10dc77ef891e32..fe8247060189615ba6f1337805988e121df7ba91 100755 --- a/channels/chan_alsa.c +++ b/channels/chan_alsa.c @@ -901,6 +901,7 @@ static int console_sendtext(int fd, int argc, char *argv[]) strncat(text2send, argv[tmparg++], sizeof(text2send) - strlen(text2send) - 1); strncat(text2send, " ", sizeof(text2send) - strlen(text2send) - 1); } + text2send[strlen(text2send) - 1] = '\n'; f.data = text2send; f.datalen = strlen(text2send) + 1; grab_owner(); diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 4635f7849667314c6e9f81f545a3b5ddb9de5c3f..92080fe07f3a41c197a86e9eb2481393f4ad9bc6 100755 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -1019,6 +1019,7 @@ static int console_sendtext(int fd, int argc, char *argv[]) sizeof(text2send) - strlen(text2send) - 1); } if (!ast_strlen_zero(text2send)) { + text2send[strlen(text2send) - 1] = '\n'; f.frametype = AST_FRAME_TEXT; f.subclass = 0; f.data = text2send;