diff --git a/.gitignore b/.gitignore index f355734436c886675083f9db848b915653bbc43a..5dc8672711e2a0b98e0db4910017ab00dcfdacee 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ build/ .fetched_source list* test +scripts/.resut.out logs/ server/local_builds/ /config diff --git a/useful/stg312/.size.out b/useful/stg312/.size.out index 04ddde3e3be9ef2536fc3d1adabf9e158555d969..b2a5411b4f58dd832e211adebe54449bc667b1ac 100644 --- a/useful/stg312/.size.out +++ b/useful/stg312/.size.out @@ -1 +1 @@ -6906932 heuhue.r1.tar.gz +1725600 testando-sem-crc-2.r1.tar.gz diff --git a/useful/stg312/.upid.out b/useful/stg312/.upid.out index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c39cab2506cdae4bac0191b7f65efca588bed9d7 100644 --- a/useful/stg312/.upid.out +++ b/useful/stg312/.upid.out @@ -0,0 +1 @@ +{"uploadid":"QzD0kFOzZ5W22miyHCooFOsN85ypK4ZsjRp","status":"ok","code":"003","msg":"New upload succesful"} \ No newline at end of file diff --git a/useful/stg312/clone_stage4.sh b/useful/stg312/clone_stage4.sh index b533badf6d6ce1f2cfdaf191c0da99f9caf839c6..237689e75003d5975e284e41e6ce10f0a5fb5a10 100755 --- a/useful/stg312/clone_stage4.sh +++ b/useful/stg312/clone_stage4.sh @@ -35,7 +35,7 @@ else rm -rf "$4" fi cd "$2" - /root/dnbd3/build/dnbd3-server --crc "$5" + #/root/dnbd3/build/dnbd3-server --crc "$5" tar cvzf "$5".tar.gz user_data.info "$5" "$5".crc split --verbose -n $7 "$5".tar.gz "$5".tar.gz. du "$5".tar.gz > .size.out diff --git a/useful/stg312/openslx_gui b/useful/stg312/openslx_gui index 4b3a28a9778424b8988c0491d134cd3d04757dde..f85970bf66db33352eb881a20c42cd7551632f7a 100755 Binary files a/useful/stg312/openslx_gui and b/useful/stg312/openslx_gui differ diff --git a/useful/stg312/upload-utils.c b/useful/stg312/upload-utils.c index d80fb82438def4bdce876e0ff2fecd8ac1366e59..e9a0785cc2044ab3fcbdacfeed18c7d9329d04ff 100644 --- a/useful/stg312/upload-utils.c +++ b/useful/stg312/upload-utils.c @@ -387,7 +387,7 @@ void faz_upload_dummy(GtkWidget *w, gpointer p){ //função de teste que faz upload da imagem teste.r1 void faz_upload_teste(GtkWidget *w, gpointer p){ - GtkWidget *loading; + GtkWidget *loading, *window_stg4_upload_confirm; GtkBuilder *builder; int i; struct dados *data = malloc(sizeof(*data)); @@ -402,6 +402,7 @@ void faz_upload_teste(GtkWidget *w, gpointer p){ builder = gtk_builder_new(); gtk_builder_add_from_file (builder, "openslx_gui_v01.glade", NULL); loading = GTK_WIDGET(gtk_builder_get_object(builder, "loading_screen")); + window_stg4_upload_confirm = GTK_WIDGET(gtk_builder_get_object(builder, "window_stg4_upload_confirm")); gtk_widget_show_all(loading); strcpy(argv[0], "./upload"); @@ -412,6 +413,7 @@ void faz_upload_teste(GtkWidget *w, gpointer p){ g_spawn_async_with_pipes(NULL, argv,NULL,G_SPAWN_DO_NOT_REAP_CHILD,NULL,NULL, &pid, NULL, NULL, NULL, NULL); handler = sai_do_script; data->dado6 = loading; + data->dado1 = window_stg4_upload_confirm; data->pid = pid; g_child_watch_add(pid, handler, data); stg4_tela_confirmacao_upload(NULL, p); diff --git a/useful/stg312/utils.c b/useful/stg312/utils.c index 5a536f30f23b73e200414ee487078091f6468371..34370a58fbfe629989e3a7560efec5345b49a23d 100644 --- a/useful/stg312/utils.c +++ b/useful/stg312/utils.c @@ -18,481 +18,6 @@ #include <sys/types.h> #include <signal.h> -/* -int checa_upload_antigo(){ - - FILE *upload_in_progress; - char *old_upload; - old_upload = malloc(255*sizeof(char)); - - upload_in_progress = fopen(".progress.out", "a+"); - printf("Linha %d\n", __LINE__); - rewind(upload_in_progress); - fscanf(upload_in_progress, "%s", old_upload); - printf("Linha %d\n", __LINE__); - - puts(old_upload); - if(!(strcmp(old_upload, "Upload"))){ - return 1; - } - return 0; -} - -int calcula_tempo_upload(){ - - FILE *velocidade_upload; - velocidade_upload = fopen(".speed.out", "r"); - - char *velocidade; - velocidade = malloc(255*sizeof(char)); - int velocidade_f; - - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - fscanf(velocidade_upload, "%s", velocidade); - puts(velocidade); - puts("vai calcular"); - velocidade_f = atoi(velocidade); - puts("calculou"); - puts("chegou aqui"); - return((1953)/velocidade_f*3); // *3 para levar em conta problemas de rede. -} - -//Função que gera o arquivo de dados do usuario, tanto os que foram recebidos do banco quanto informaçõs de sistema. Esse arquivo -// sera submetido junto à imagem quando o upload for feito. -void gera_arquivo_dados_usuario(){ - - user_info dados_do_user; - pega_dados_do_usuario(&dados_do_user); - FILE *user_data_file; - user_data_file = fopen("user_data.info", "wr"); - - fputs("Nome do criador da imagem: ", user_data_file); - fputs(dados_do_user.name, user_data_file); - fputs("\nLogin do criador da imagem: ", user_data_file); - fputs(dados_do_user.login, user_data_file); - fputs("\nEmail do criador da imagem: ", user_data_file); - fputs(dados_do_user.email, user_data_file); - fputs("\nCidade do criador da imagem: ", user_data_file); - fputs(dados_do_user.city, user_data_file); - - time_t timer; - time(&timer); - fputs("\nData da criação da imagem: ", user_data_file); - fputs(ctime(&timer), user_data_file); - - fclose(user_data_file); - system("uname -a >> user_data.info"); - system("lsb_release -a >> user_data.info"); - - - - -} - -//Função que checa o arquivo .login.out para verificar o suceso do login. -int checa_sucesso_do_login(){ - - FILE *login; - char *user_data_str; - login = fopen(".login.out", "r");; - user_data_str = malloc(2550*sizeof(char)); - fgets(user_data_str,2550*sizeof(char), login ); - - printf("%zu tamanho da string\n", strlen(user_data_str)); - puts(user_data_str); - - json_t *root; - json_error_t error; - root = json_loads(user_data_str,0, &error); - printf("Linha %d\n", __LINE__); - - if(!root){ - puts("erro ao carregar dados!"); - //exit(0); - } - printf("Linha %d\n", __LINE__); - - if(!json_is_object(root)) - { - fprintf(stderr, "error: root is not an array\n"); - json_decref(root); - } - printf("Linha %d\n", __LINE__); - - json_t *sha; - printf("Linha %d\n", __LINE__); - - const char *message_text; - printf("Linha %d\n", __LINE__); - - sha = json_object_get(root, "status"); - printf("Linha %d\n", __LINE__); - - if(json_is_string(sha)) - { - printf("Linha %d\n", __LINE__); - message_text = json_string_value(sha); - printf("Linha %d\n", __LINE__); - puts(message_text); - printf("Linha %d\n", __LINE__); - }else{ - printf("Linha %d\n", __LINE__); - puts("error, not string"); - return 0; - printf("Linha %d\n", __LINE__); - } - - if(!(strcmp("ok", message_text))){ - printf("Linha %d\n", __LINE__); - puts(message_text); - return 1; - } - - printf("Linha %d\n", __LINE__); - return 0; - - -} - -//Função que utiliza o arquivo gerado pela chamada Curl com os dados do usuario e coloca eles na estrutura user_info *dados -void pega_dados_do_usuario(user_info *dados){ - - FILE *user_data; - char *user_data_str; - user_data_str = malloc(2550*sizeof(char)); - user_data = fopen(".data.out", "r"); - fgets(user_data_str,2550*sizeof(char), user_data ); - puts("User data: "); - puts(user_data_str); - puts("User data end "); - - json_t *root; - json_error_t error; - root = json_loads(user_data_str,0, &error); - if(!root){ - puts("erro ao carregar dados!"); - //exit(0); - } - - if(!json_is_object(root)) - { - fprintf(stderr, "error: root is not an array\n"); - json_decref(root); - } - - json_t *sha; - const char *message_text; - sha = json_object_get(root, "name"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - strcpy(dados->name, message_text); - }else{ - dados->name[0] = '\0'; - puts("error, not string"); - } - - sha = json_object_get(root, "login"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - strcpy(dados->login, message_text); - - }else{ - dados->login[0] = '\0'; - puts("error, not string"); - } - - sha = json_object_get(root, "email"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - strcpy(dados->email, message_text); - - }else{ - dados->email[0] = '\0'; - puts("error, not string"); - } - - sha = json_object_get(root, "city"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - strcpy(dados->city, message_text); - - }else{ - dados->city[0] = '\0'; - puts("error, not string"); - } -} - -int checa_sucesso_get_info(){ - - FILE *user_data; - char *user_data_str; - user_data_str = malloc(2550*sizeof(char)); - user_data = fopen(".data.out", "r"); - fgets(user_data_str,2550*sizeof(char), user_data ); - puts("User data: "); - puts(user_data_str); - puts("User data end "); - - json_t *root; - json_error_t error; - root = json_loads(user_data_str,0, &error); - if(!root){ - puts("erro ao carregar dados!"); - //exit(0); - } - - if(!json_is_object(root)) - { - fprintf(stderr, "error: root is not an array\n"); - json_decref(root); - } - - json_t *sha; - const char *message_text; - sha = json_object_get(root, "status"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - if(!(strcmp(message_text, "ok"))){ - return 1; - } - return 0; - }else{ - puts("Erro Crítico. Não encontrou a mensagem de erro. Se esse erro persistir, informe o suporte técnico."); - return 0; - } - - -} -//Função que faz o Login do usuario no sistema. Utiliza a biblioteca Libcurlc para realizar as requisições http. -// Guarda as saidas em arquivos para uso posterios. Guarda o cookie para uso posterios tbm -int faz_login_dummy(GtkWidget *w, gpointer p){ - dados *data_ant = p; - tela_principal(NULL, data_ant); - return 1; -} - -int faz_login(GtkWidget *w, gpointer p){ - - dados *data_ant = p; - CURL *curl; - char *data = malloc(255*sizeof(char)); - strcpy(data, "login="); - char * resp; - FILE *dados_do_user, *login_out; - resp = malloc(255*sizeof(char)); - puts("teste"); - puts(gtk_entry_get_text(GTK_ENTRY(data_ant->dado3))); - strcat(data, gtk_entry_get_text(GTK_ENTRY(data_ant->dado3))); - strcat(data, "&passwd="); - strcat(data, gtk_entry_get_text(GTK_ENTRY(data_ant->dado4))); - strcat(data, "&request=login"); - puts(data); - - dados_do_user = fopen(".data.out", "wr"); - login_out = fopen(".login.out", "wr"); - - - curl = curl_easy_init(); - if(curl) { - - curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0"); - curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1 ); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, login_out); - curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookie"); - curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookie"); - - curl_easy_setopt(curl, CURLOPT_VERBOSE, 0); - curl_easy_setopt(curl, CURLOPT_HEADER, 0); - - //curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.6/slx-admin/api.php?do=webservice"); - curl_easy_setopt(curl, CURLOPT_URL, API_URL); - curl_easy_setopt(curl, CURLOPT_POST, 1); - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); - puts("Fazendo login."); - curl_easy_perform(curl); - - puts("teste 2"); - fclose(login_out); - printf("Linha antes checagem %d\n", __LINE__); - if(checa_sucesso_do_login()){ - - printf("Linha %d\n", __LINE__); - char *data2="request=getinfo"; - curl_easy_setopt(curl, CURLOPT_WRITEDATA, dados_do_user); - curl_easy_setopt(curl, CURLOPT_POST, 1); - curl_easy_setopt(curl, CURLOPT_VERBOSE, 0); - curl_easy_setopt(curl, CURLOPT_HEADER, 0); - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data2); - printf("Linha %d\n", __LINE__); - puts("pegando informação."); - curl_easy_perform(curl); - fclose(dados_do_user); - if(!(checa_sucesso_get_info())){ //nao conseguiu pegar informações - - puts("Erro ao carregar informações do usuário. Por favor tente novamente. Se o erro persistir avisse o suporte técnico."); - - } - //curl_easy_setopt(curl, CURLOPT_URL, "192.168.0.5/apply/upload"); - //res = curl_easy_perform(curl); - - if(curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &resp) == CURLE_OK) - puts(resp); - else - puts("Nao pegou dados"); - curl_easy_cleanup(curl); - puts("teste"); - if(checa_upload_antigo()){ - tela_upload_antigo(NULL, data_ant); - }else{ - if(data_ant->control == 0){ - tela_principal(NULL, data_ant); - } - } - return 1; - } - printf("Linha %d\n", __LINE__); - } - printf("Linha %d\n", __LINE__); - gtk_label_set_text(GTK_LABEL(data_ant->dado5), "Login nao encontrado!"); - printf("Linha %d\n", __LINE__); - return 0; -} - -void pega_upload_id(char *id){ - - FILE *user_data; - char *user_data_str; - user_data_str = malloc(2550*sizeof(char)); - user_data = fopen(".upid.out", "r"); - fgets(user_data_str,2550*sizeof(char), user_data ); - puts("User data: "); - puts(user_data_str); - puts("User data end "); - - json_t *root; - json_error_t error; - root = json_loads(user_data_str,0, &error); - if(!root){ - puts("erro ao carregar dados!"); - //exit(0); - } - - if(!json_is_object(root)) - { - fprintf(stderr, "error: root is not an array\n"); - json_decref(root); - } - - json_t *sha; - const char *message_text; - sha = json_object_get(root, "uploadid"); - if(json_is_string(sha)) - { - message_text = json_string_value(sha); - puts(message_text); - }else{ - puts("error, not string"); - } - - strcpy(id, message_text); -} - -//Função que faz o upload da imagem + dados para a api do site. Atualmente faz upload só de UM arquivo -void faz_upload_dummy(GtkWidget *w, gpointer p){ - stg4_tela_confirmacao_upload(NULL, p); -}//Função de teste dummy - -//função de teste que faz upload da imagem teste.r1 -void faz_upload_teste(GtkWidget *w, gpointer p){ - - GtkWidget *loading; - GtkBuilder *builder; - int i; - struct dados *data = malloc(sizeof(*data)); - GPid pid; - GChildWatchFunc handler; - char **argv; - argv = malloc(10*sizeof(char*)); - for (i=0; i < 10; i++){ - argv[i] = malloc(255*sizeof(char)); - } - - builder = gtk_builder_new(); - gtk_builder_add_from_file (builder, "openslx_gui_v01.glade", NULL); - loading = GTK_WIDGET(gtk_builder_get_object(builder, "loading_screen")); - - gtk_widget_show_all(loading); - strcpy(argv[0], "./upload"); - strcpy(argv[1], "/home/ent13/Desktop/pasta-teste"); - strcpy(argv[2], "teste"); - strcpy(argv[3], ".r1"); - argv[4] = NULL; - g_spawn_async_with_pipes(NULL, argv,NULL,G_SPAWN_DO_NOT_REAP_CHILD,NULL,NULL, &pid, NULL, NULL, NULL, NULL); - handler = sai_do_script; - data->dado6 = loading; - data->pid = pid; - g_child_watch_add(pid, handler, data); - stg4_tela_confirmacao_upload(NULL, p); - -} - -void faz_upload(GtkWidget *w, gpointer p){ - - GtkWidget *loading; - dados *data_ant = p; - GtkBuilder *builder; - struct dados *data = malloc(sizeof(*data)); - int i; - GPid pid; - GChildWatchFunc handler; - char **argv; - argv = malloc(10*sizeof(char*)); - for (i=0; i < 10; i++){ - argv[i] = malloc(255*sizeof(char)); - } - - builder = gtk_builder_new(); - gtk_builder_add_from_file (builder, "openslx_gui_v01.glade", NULL); - loading = GTK_WIDGET(gtk_builder_get_object(builder, "loading_screen")); - - gtk_widget_show_all(loading); - strcpy(argv[0], "./upload"); - strcpy(argv[1], gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(data_ant->dado4))); - strcpy(argv[2], gtk_entry_get_text(GTK_ENTRY(data_ant->dado3))); - strcpy(argv[3], ".r1"); - argv[4] = NULL; - g_spawn_async_with_pipes(NULL, argv,NULL,G_SPAWN_DO_NOT_REAP_CHILD,NULL,NULL, &pid, NULL, NULL, NULL, NULL); - handler = sai_do_script; - data->dado6 = loading; - data->pid = pid; - g_child_watch_add(pid, handler, data); - stg4_tela_confirmacao_upload(NULL, p); - -} -*/ //FUnção que acha o caminho para o tm-scripts, utilizada no arquivo clone_stage4.sh void acha_tm_scripts(char *path){ @@ -773,6 +298,7 @@ void sai_do_script(GPid pid, gint status, gpointer p){ loading = data_ant->dado6; pid = data_ant->pid; gtk_widget_hide(loading); + //gtk_widget_show(window); checa_sucesso(); g_spawn_close_pid(pid);