From 73e0d466354c7f4fc5307dc878c6c3c84a0df30e Mon Sep 17 00:00:00 2001 From: tilghman Date: Thu, 9 Apr 2009 16:41:23 +0000 Subject: Merged revisions 187363 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r187363 | tilghman | 2009-04-09 11:39:43 -0500 (Thu, 09 Apr 2009) | 10 lines Merged revisions 187362 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187362 | tilghman | 2009-04-09 11:38:37 -0500 (Thu, 09 Apr 2009) | 3 lines Permit zero-length text messages in SIP. (Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal") ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@187365 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_sendtext.c | 4 +++- channels/chan_sip.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/app_sendtext.c b/apps/app_sendtext.c index e95ff6158..f2822711d 100644 --- a/apps/app_sendtext.c +++ b/apps/app_sendtext.c @@ -60,7 +60,9 @@ static int sendtext_exec(struct ast_channel *chan, void *data) AST_APP_ARG(text); ); - if (ast_strlen_zero(data)) { + /* NOT ast_strlen_zero, because some protocols (e.g. SIP) MUST be able to + * send a zero-length message. */ + if (!data) { ast_log(LOG_WARNING, "SendText requires an argument (text)\n"); return -1; } else diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 0fa632695..e6c1d4257 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3730,7 +3730,9 @@ static int sip_sendtext(struct ast_channel *ast, const char *text) ast_verbose("Sending text %s on %s\n", text, ast->name); if (!p) return -1; - if (ast_strlen_zero(text)) + /* NOT ast_strlen_zero, because a zero-length message is specifically + * allowed by RFC 3428 (See section 10, Examples) */ + if (!text) return 0; if (debug) ast_verbose("Really sending text %s on %s\n", text, ast->name); -- cgit v1.2.3