Skip to content
Snippets Groups Projects
Commit 4242e9c3 authored by alexander.lysikov's avatar alexander.lysikov
Browse files

fixed command 'serial list'

parent 1f715c25
No related branches found
No related tags found
1 merge request!125fixed command 'serial list'
Pipeline #3918 passed with stage
in 12 seconds
...@@ -557,7 +557,7 @@ dap_chain_hash_fast_t* dap_chain_proc_tx_create_cond(dap_chain_net_t * a_net, ...@@ -557,7 +557,7 @@ dap_chain_hash_fast_t* dap_chain_proc_tx_create_cond(dap_chain_net_t * a_net,
if(a_net->pub.default_chain) if(a_net->pub.default_chain)
l_chain = a_net->pub.default_chain; l_chain = a_net->pub.default_chain;
else else
dap_chain_net_get_chain_by_chain_type(a_net, CHAIN_TYPE_TX); l_chain = dap_chain_net_get_chain_by_chain_type(a_net, CHAIN_TYPE_TX);
if(!l_chain) if(!l_chain)
return NULL; return NULL;
......
...@@ -115,7 +115,7 @@ int dap_chain_net_srv_vpn_cdb_init(dap_http_t * a_http) ...@@ -115,7 +115,7 @@ int dap_chain_net_srv_vpn_cdb_init(dap_http_t * a_http)
"\tShow all users\n" "\tShow all users\n"
"vpn_cdb serial generate -n <number of serial keys>] [-acive_days <active days that left for serial>]\n" "vpn_cdb serial generate -n <number of serial keys>] [-acive_days <active days that left for serial>]\n"
"\tGenerate new serial keys\n" "\tGenerate new serial keys\n"
"vpn_cdb serial list [-n <How many show serial keys>] [-shift <How many skip serial keys>] [-nototal]\n" "vpn_cdb serial list [-n <How many show serial keys>] [-shift <How many skip serial keys>] [-activated_only|-inactive_only] [-nototal]\n"
"\tShow serial keys\n" "\tShow serial keys\n"
"vpn_cdb serial update -serial <serial keys> -acive_days <active days that left for serial>\n" "vpn_cdb serial update -serial <serial keys> -acive_days <active days that left for serial>\n"
"\tEdit serial key\n" "\tEdit serial key\n"
......
...@@ -458,12 +458,8 @@ size_t dap_serial_key_len(dap_serial_key_t *a_serial_key) ...@@ -458,12 +458,8 @@ size_t dap_serial_key_len(dap_serial_key_t *a_serial_key)
} }
/** /**
* @brief dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial * @brief dap_chain_net_srv_vpn_cdb_auth_get_serial_param
* @param a_user_str * @param a_serial_str
* @param a_arg_index
* @param a_argc
* @param a_argv
* @param a_str_reply
* @param a_group_out * @param a_group_out
* @return * @return
*/ */
...@@ -489,7 +485,7 @@ dap_serial_key_t* dap_chain_net_srv_vpn_cdb_auth_get_serial_param(const char *a_ ...@@ -489,7 +485,7 @@ dap_serial_key_t* dap_chain_net_srv_vpn_cdb_auth_get_serial_param(const char *a_
/** /**
* @brief dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial * @brief dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial
* @param a_user_str * @param a_serial_str
* @param a_arg_index * @param a_arg_index
* @param a_argc * @param a_argc
* @param a_argv * @param a_argv
...@@ -504,25 +500,66 @@ int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_serial_str, int ...@@ -504,25 +500,66 @@ int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_serial_str, int
const char * l_serial_count_str = NULL; const char * l_serial_count_str = NULL;
const char * l_serial_shift_str = NULL; const char * l_serial_shift_str = NULL;
int l_serial_nototal = dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-nototal", NULL); int l_serial_nototal = dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-nototal", NULL);
int l_serial_show_activated_only = dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-activated_only", NULL);
int l_serial_show_inactive_only = dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-inactive_only", NULL);
dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-n", &l_serial_count_str); dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-n", &l_serial_count_str);
dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-shift", &l_serial_shift_str); dap_chain_node_cli_find_option_val(a_argv, a_arg_index, a_argc, "-shift", &l_serial_shift_str);
size_t l_serial_count = l_serial_count_str ? strtoll(l_serial_count_str, NULL, 10) : 0;
size_t l_serial_shift = l_serial_shift_str ? strtoll(l_serial_shift_str, NULL, 10)+1 : 1; if(l_serial_show_activated_only && l_serial_show_inactive_only){
size_t l_total = dap_chain_global_db_driver_count(s_group_serials, l_serial_shift); dap_chain_node_cli_set_reply_text(a_str_reply, "use onle one option '-activated_only' or '-inactive_only'");
l_serial_count = l_serial_count ? min(l_serial_count, l_total - l_serial_shift) : l_total; return -1;
dap_store_obj_t *l_obj = dap_chain_global_db_driver_cond_read(s_group_serials, l_serial_shift, &l_serial_count); }
long long l_serial_count_tmp = l_serial_count_str ? strtoll(l_serial_count_str, NULL, 10) : 0;
long long l_serial_shift_tmp = l_serial_shift_str ? strtoll(l_serial_shift_str, NULL, 10) : 0;
size_t l_serial_count = l_serial_count_tmp > 0 ? l_serial_count_tmp : 0;
size_t l_serial_shift = l_serial_shift_tmp > 0 ? l_serial_shift_tmp : 0;
//size_t l_serial_shift = l_serial_shift_str ? strtoll(l_serial_shift_str, NULL, 10)+1 : 1;
//size_t l_total = dap_chain_global_db_driver_count(s_group_serials, l_serial_shift);
//l_serial_count = l_serial_count ? min(l_serial_count, l_total - l_serial_shift) : l_total;
size_t l_serial_count_noactivated = 0;
size_t l_serial_count_activated = 0;
// read inactive serials
dap_store_obj_t *l_obj = l_serial_show_inactive_only ? dap_chain_global_db_driver_cond_read(s_group_serials, 0, &l_serial_count_noactivated) : NULL;
// read activated serials
dap_store_obj_t *l_obj_activated = l_serial_show_activated_only ? dap_chain_global_db_driver_cond_read(s_group_serials_activated, 0, &l_serial_count_activated) : 0;
size_t l_total = l_serial_count_noactivated + l_serial_count_activated;
if(l_serial_count > 0) { if(l_serial_count > 0) {
dap_string_t *l_keys = l_serial_count > 1 ? dap_string_new("serial keys:\n") : dap_string_new("serial key: "); dap_string_t *l_keys = l_serial_count > 1 ? dap_string_new("serial keys:\n") : dap_string_new("serial key: ");
for(size_t i = 0; i < l_serial_count; i++) { size_t l_total_actual = 0;
for(size_t i = 0; i < l_serial_count_noactivated; i++) {
if((l_obj + i)->value_len < sizeof(dap_serial_key_t)) if((l_obj + i)->value_len < sizeof(dap_serial_key_t))
continue; continue;
if(l_serial_count > 0 && l_total_actual >= l_serial_count)
break;
dap_serial_key_t *l_serial = (dap_serial_key_t*) (l_obj + i)->value; dap_serial_key_t *l_serial = (dap_serial_key_t*) (l_obj + i)->value;
dap_string_append(l_keys, l_serial->header.serial); if(l_serial_shift > 0)
//if(i < l_serial_count - 1) l_serial_shift--;
else {
dap_string_append(l_keys, l_serial->header.serial);
dap_string_append(l_keys, " inactive");
//if(i < l_serial_count - 1)
dap_string_append(l_keys, "\n"); dap_string_append(l_keys, "\n");
l_total_actual++;
}
}
for(size_t i = 0; i < l_serial_count_activated; i++) {
if((l_obj_activated + i)->value_len < sizeof(dap_serial_key_t))
continue;
dap_serial_key_t *l_serial = (dap_serial_key_t*) (l_obj_activated + i)->value;
if(l_serial_count > 0 && l_total_actual >= l_serial_count)
break;
if(l_serial_shift > 0)
l_serial_shift--;
else {
dap_string_append(l_keys, l_serial->header.serial);
dap_string_append(l_keys, " activated");
//if(i < l_serial_count - 1)
dap_string_append(l_keys, "\n");
l_total_actual++;
}
} }
if(!l_serial_nototal){ if(!l_serial_nototal){
char *l_total_str = dap_strdup_printf("total %u keys", l_total); char *l_total_str = dap_strdup_printf("total %u keys", l_total_actual);
dap_string_append(l_keys, l_total_str); dap_string_append(l_keys, l_total_str);
DAP_DELETE(l_total_str); DAP_DELETE(l_total_str);
//dap_chain_node_cli_set_reply_text(a_str_reply, "\ntotal %u keys", l_total); //dap_chain_node_cli_set_reply_text(a_str_reply, "\ntotal %u keys", l_total);
...@@ -530,7 +567,8 @@ int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_serial_str, int ...@@ -530,7 +567,8 @@ int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_serial_str, int
} }
dap_chain_node_cli_set_reply_text(a_str_reply, "%s", l_keys->str); dap_chain_node_cli_set_reply_text(a_str_reply, "%s", l_keys->str);
dap_string_free(l_keys, true); dap_string_free(l_keys, true);
dap_store_obj_free(l_obj, l_serial_count); dap_store_obj_free(l_obj, l_serial_count_noactivated);
dap_store_obj_free(l_obj_activated, l_serial_count_activated);
} }
else else
dap_chain_node_cli_set_reply_text(a_str_reply, "keys not found"); dap_chain_node_cli_set_reply_text(a_str_reply, "keys not found");
......
...@@ -46,7 +46,7 @@ void dap_chain_net_srv_vpn_cdb_auth_deinit(); ...@@ -46,7 +46,7 @@ void dap_chain_net_srv_vpn_cdb_auth_deinit();
void dap_chain_net_srv_vpn_cdb_auth_add_proc(dap_http_t * a_http, const char * a_url); void dap_chain_net_srv_vpn_cdb_auth_add_proc(dap_http_t * a_http, const char * a_url);
void dap_chain_net_srv_vpn_cdb_auth_set_callback(dap_enc_http_callback_t a_callback_success); void dap_chain_net_srv_vpn_cdb_auth_set_callback(dap_enc_http_callback_t a_callback_success);
int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_user_str, int a_arg_index, int a_argc, char ** a_argv, char **a_str_reply); int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_serial(const char *a_serial_str, int a_arg_index, int a_argc, char ** a_argv, char **a_str_reply);
int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_user(const char *a_user_str, int a_arg_index, int a_argc, char ** a_argv, char **a_str_reply); int dap_chain_net_srv_vpn_cdb_auth_cli_cmd_user(const char *a_user_str, int a_arg_index, int a_argc, char ** a_argv, char **a_str_reply);
int dap_chain_net_srv_vpn_cdb_auth_check_login(const char * a_login, const char * a_password); int dap_chain_net_srv_vpn_cdb_auth_check_login(const char * a_login, const char * a_password);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment