]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix fsapi in verto, the json_api_function expects cmd & arg in the data object
authorSeven Du <dujinfang@gmail.com>
Sat, 3 Jan 2015 08:06:35 +0000 (16:06 +0800)
committerSeven Du <dujinfang@gmail.com>
Sat, 3 Jan 2015 08:06:35 +0000 (16:06 +0800)
src/mod/endpoints/mod_verto/mod_verto.c

index 76164169825cf482fcd01ca0ab52b4770cdc4c03..67a8dec07288c2918b12747fbe37c7e846d67a41 100644 (file)
@@ -3571,10 +3571,15 @@ static switch_bool_t jsapi_func(const char *method, cJSON *params, jsock_t *jsoc
                                }
 
                                if (jsock->allowed_fsapi && !strcmp(function, "fsapi")) {
-                                       cJSON *cmd = cJSON_GetObjectItem(params, "cmd");
-                                       cJSON *arg = cJSON_GetObjectItem(params, "arg");
-
-                                       if (cmd->type == cJSON_String && cmd->valuestring && !auth_api_command(jsock, cmd->valuestring, arg ? arg->valuestring : NULL)) {
+                                       cJSON *data = cJSON_GetObjectItem(params, "data");
+                                       cJSON *cmd;
+                                       cJSON *arg;
+
+                                       if (data &&
+                                               (cmd = cJSON_GetObjectItem(data, "cmd")) &&
+                                               (arg = cJSON_GetObjectItem(data, "arg")) &&
+                                               cmd->type == cJSON_String && cmd->valuestring &&
+                                               !auth_api_command(jsock, cmd->valuestring, arg ? arg->valuestring : NULL)) {
                                                return SWITCH_FALSE;
                                        }
                                }