int verify_root_cmd ( parameters* in, parameters* out );
int get_lock_state ( parameters* in, parameters* out );
int get_shell_env ( parameters* in, parameters* out );
+int verify_push ( parameters* in, parameters* out );
int auth_support ( parameters* in, parameters* out );
int auth_get_key_file_paths ( parameters* in, parameters* out );
return PLUGIN_CMD_SUCCESS;
}
+int verify_push ( parameters* in, parameters* out )
+{
+ if ( in == NULL || in->number_of_parameter != 1 || in->array_of_parameter == NULL
+ || in->array_of_parameter[0].type != type_string ) {
+ D ( "Invalid argument\n" );
+ return PLUGIN_CMD_FAIL;
+ }
+
+ if ( out == NULL ) {
+ D ( "Invalid argument\n" );
+ return PLUGIN_CMD_FAIL;
+ }
+
+ out->number_of_parameter = 1;
+ out->array_of_parameter = ( parameter* ) malloc ( sizeof ( parameter ) );
+ if (out->array_of_parameter == NULL) {
+ D("failed to allocate memory for the parameter\n");
+ return PLUGIN_CMD_FAIL;
+ }
+ out->array_of_parameter[0].type = type_int32;
+ out->array_of_parameter[0].v_int32 = PLUGIN_RET_VALID;
+
+ return PLUGIN_CMD_SUCCESS;
+}
\ No newline at end of file
ret = get_lock_state ( in, out );
} else if ( cmd == PLUGIN_SYNC_CMD_GET_SHELL_ENV ) {
ret = get_shell_env ( in, out );
+ } else if ( cmd == PLUGIN_SYNC_CMD_VERITY_PUSH ) {
+ ret = verify_push ( in, out );
} else {
ret = PLUGIN_CMD_NOT_SUPPORT;
}
#include "sdktools.h"
#include "sdbd_plugin.h"
#include "utils.h"
+#include "plugin.h"
#define SYNC_TIMEOUT 15
return -1;
}
+ if (!request_validity_to_plugin(PLUGIN_SYNC_CMD_VERITY_PUSH, path)) {
+ fail_message(s, "You cannot push files to this path.");
+ return -1;
+ }
+
tmp = strrchr(path,',');
if(tmp) {
*tmp = 0;
#define PLUGIN_SYNC_CMD_AUTH_GET_KEY_FILEPATHS 1007
#define PLUGIN_SYNC_CMD_GET_LOCK_STATE 1008
#define PLUGIN_SYNC_CMD_GET_SHELL_ENV 1009
+#define PLUGIN_SYNC_CMD_VERITY_PUSH 1010
#define PLUGIN_SYNC_CMD_SEC_INIT 1100
#define PLUGIN_SYNC_CMD_SEC_DEINIT 1101