[asterisk-bugs] [JIRA] (ASTERISK-24626) Voicemail passwords not being stored in ARA

Rusty Newton (JIRA) noreply at issues.asterisk.org
Tue Dec 16 18:07:28 CST 2014


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-24626:
------------------------------------

    Description: 
app_voicemail on ARA is not storing password changes in the db.
 
A little hair pulling and playing around and I think the problem is in the function {{ast_update2_realtime}} in main/config.c.

Issued source is ==>
{noformat}
int ast_update2_realtime(const char *family, ...) {
         RAII_VAR(struct ast_variable *, lookup_fields, NULL, ast_variables_destroy);
         RAII_VAR(struct ast_variable *, update_fields, NULL, ast_variables_destroy);
         va_list ap;

         va_start(ap, family);
         /* XXX: If we wanted to pass no lookup fields (select all), we'd be
          * out of luck. realtime_arguments_to_fields expects at least  one key
          * value pair. */
         realtime_arguments_to_fields(ap, &lookup_fields);
         va_end(ap);

         va_start(ap, family);
         realtime_arguments_to_fields2(ap, 1, &lookup_fields);
         va_end(ap);

         if (!lookup_fields || !update_fields) {
                 return -1;
         }

         return ast_update2_realtime_fields(family, lookup_fields, 
 update_fields); }
{noformat}
 I believe line 3314 of the file main/config.c should be
{noformat}
         realtime_arguments_to_fields2(ap, 1, &update_fields);
{noformat}


  was:
app_voicemail on ARA is not storing password changes in the db.
 
A little hair pulling and playing around and I think the problem is in the function ast_update2_realtime in main/config.c.

Issued source is ==>

int ast_update2_realtime(const char *family, ...) {
         RAII_VAR(struct ast_variable *, lookup_fields, NULL, ast_variables_destroy);
         RAII_VAR(struct ast_variable *, update_fields, NULL, ast_variables_destroy);
         va_list ap;

         va_start(ap, family);
         /* XXX: If we wanted to pass no lookup fields (select all), we'd be
          * out of luck. realtime_arguments_to_fields expects at least  one key
          * value pair. */
         realtime_arguments_to_fields(ap, &lookup_fields);
         va_end(ap);

         va_start(ap, family);
         realtime_arguments_to_fields2(ap, 1, &lookup_fields);
         va_end(ap);

         if (!lookup_fields || !update_fields) {
                 return -1;
         }

         return ast_update2_realtime_fields(family, lookup_fields, 
 update_fields); }

 I believe line 3314 of the file main/config.c should be

         realtime_arguments_to_fields2(ap, 1, &update_fields);




> Voicemail passwords not being stored in ARA
> -------------------------------------------
>
>                 Key: ASTERISK-24626
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24626
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_voicemail
>    Affects Versions: 13.0.1
>         Environment: Debian 7.7 asterisk 13.0.1 
>            Reporter: Paddy Grice
>
> app_voicemail on ARA is not storing password changes in the db.
>  
> A little hair pulling and playing around and I think the problem is in the function {{ast_update2_realtime}} in main/config.c.
> Issued source is ==>
> {noformat}
> int ast_update2_realtime(const char *family, ...) {
>          RAII_VAR(struct ast_variable *, lookup_fields, NULL, ast_variables_destroy);
>          RAII_VAR(struct ast_variable *, update_fields, NULL, ast_variables_destroy);
>          va_list ap;
>          va_start(ap, family);
>          /* XXX: If we wanted to pass no lookup fields (select all), we'd be
>           * out of luck. realtime_arguments_to_fields expects at least  one key
>           * value pair. */
>          realtime_arguments_to_fields(ap, &lookup_fields);
>          va_end(ap);
>          va_start(ap, family);
>          realtime_arguments_to_fields2(ap, 1, &lookup_fields);
>          va_end(ap);
>          if (!lookup_fields || !update_fields) {
>                  return -1;
>          }
>          return ast_update2_realtime_fields(family, lookup_fields, 
>  update_fields); }
> {noformat}
>  I believe line 3314 of the file main/config.c should be
> {noformat}
>          realtime_arguments_to_fields2(ap, 1, &update_fields);
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list