aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_authenticate.c
diff options
context:
space:
mode:
authorbweschke <bweschke@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-18 03:35:24 +0000
committerbweschke <bweschke@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-18 03:35:24 +0000
commitb630ee1134a18b3f738f96eb309bd7ba00fec676 (patch)
tree4bf90f345efd7eec20857e8546fd665428c801fc /apps/app_authenticate.c
parent8595eb4ab6f4d60835627933b11a774b4d0270da (diff)
Give app_authenticate the ability to select a prompt other than the default.
(closes issue #13734) reported and patched by: jvandal git-svn-id: http://svn.digium.com/svn/asterisk/trunk@150887 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_authenticate.c')
-rw-r--r--apps/app_authenticate.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/app_authenticate.c b/apps/app_authenticate.c
index 8e1919594..1bdc1153b 100644
--- a/apps/app_authenticate.c
+++ b/apps/app_authenticate.c
@@ -58,7 +58,7 @@ static char *app = "Authenticate";
static char *synopsis = "Authenticate a user";
static char *descrip =
-" Authenticate(password[,options[,maxdigits]]): This application asks the caller\n"
+" Authenticate(password[,options[,maxdigits[,prompt]]]): This application asks the caller\n"
"to enter a given password in order to continue dialplan execution. If the password\n"
"begins with the '/' character, it is interpreted as a file which contains a list of\n"
"valid passwords, listed 1 password per line in the file.\n"
@@ -76,6 +76,8 @@ static char *descrip =
" maxdigits have been entered (without requiring the user to\n"
" press the '#' key).\n"
" Defaults to 0 - no limit - wait for the user press the '#' key.\n"
+" prompt - Override the agent-pass prompt file.\n"
+ ;
;
static int auth_exec(struct ast_channel *chan, void *data)
@@ -88,6 +90,7 @@ static int auth_exec(struct ast_channel *chan, void *data)
AST_APP_ARG(password);
AST_APP_ARG(options);
AST_APP_ARG(maxdigits);
+ AST_APP_ARG(prompt);
);
if (ast_strlen_zero(data)) {
@@ -115,6 +118,12 @@ static int auth_exec(struct ast_channel *chan, void *data)
maxdigits = sizeof(passwd) - 2;
}
+ if (!ast_strlen_zero(arglist.prompt)) {
+ prompt = arglist.prompt;
+ } else {
+ prompt = "agent-pass";
+ }
+
/* Start asking for password */
for (retries = 0; retries < 3; retries++) {
if ((res = ast_app_getdata(chan, prompt, passwd, maxdigits, 0)) < 0)