From f9811bc1988d6a6e875c7b5c0600153b907270ac Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Mon, 30 Jan 2006 06:07:05 +0000
Subject: [PATCH] Bug 6378 - deprecate CHECK_MD5 function

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 UPGRADE.txt      | 6 ++++++
 funcs/func_md5.c | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/UPGRADE.txt b/UPGRADE.txt
index b5a32ab289..862c1f3979 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -21,6 +21,7 @@ Applications:
 * app_read has been updated to use the newer options codes, using "skip" or
   "noanswer" will not work.  Use s or n.  Also there is a new feature i, for
   using indication tones, so typing in skip would give you unexpected results.
+
 Variables:
 
 * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
@@ -29,6 +30,11 @@ Variables:
   functions.  You are encouraged to move towards the associated dialplan
   function, as these variables will be removed in a future release.
 
+Functions:
+
+* The function ${CHECK_MD5()} has been deprecated in favor of using an
+  expression: $[${MD5(<string>)} = ${saved_md5}].
+
 The SIP channel:
 
 * The "incominglimit" setting is replaced by the "call-limit" setting in sip.conf.
diff --git a/funcs/func_md5.c b/funcs/func_md5.c
index 467799d0cf..996521bf7a 100644
--- a/funcs/func_md5.c
+++ b/funcs/func_md5.c
@@ -57,6 +57,7 @@ static char *builtin_function_checkmd5(struct ast_channel *chan, char *cmd, char
 {
 	char newmd5[33];
 	char *parse;
+	static int deprecated = 0;
 	AST_DECLARE_APP_ARGS(args,
 		AST_APP_ARG(digest);
 		AST_APP_ARG(data);
@@ -77,6 +78,11 @@ static char *builtin_function_checkmd5(struct ast_channel *chan, char *cmd, char
 		return NULL;
 	}
 
+	if (!deprecated) {
+		deprecated = 1;
+		ast_log(LOG_WARNING, "CHECK_MD5() is deprecated in Asterisk 1.4 and later.\n");
+	}
+
 	ast_md5_hash(newmd5, args.data);
 
 	if (!strcasecmp(newmd5, args.digest) )	/* they match */
-- 
GitLab