From afce4819d1fe33d4c0504b68190fadd04a109dac Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:31:06 +0000 Subject: [PATCH] Begging of the menu --- KeyMaster | Bin 0 -> 34288 bytes bin/KeyMaster | Bin 34288 -> 34288 bytes build/CMakeFiles/KeyMaster.dir/src/main.c.o | Bin 5152 -> 5672 bytes include/ui/ui.c | 2 +- src/main.c | 72 ++++++++++++++------ 5 files changed, 52 insertions(+), 22 deletions(-) create mode 100755 KeyMaster diff --git a/KeyMaster b/KeyMaster new file mode 100755 index 0000000000000000000000000000000000000000..bf032460bdace3b41739332a1de83931bb6b305d GIT binary patch literal 34288 zcmeHQeT-CB6~Dtb1MRG36$(XOHH*uKv%6H3qHC9rX@|nnO#%B6@iEN2Wv9%}tZ&`` z+c>%~Ov5;iCPGDwNiiW2V-r^!VkO;$0tU4vMWTin(h%J?Z`+k@Xafsu7=P#9H?waa zZT!c7YR=7`d+#~-oO93p-H)Ar?tO3G`uClwLii>MAtr!oh$ab<7aD3p+z$$abiHlW zW1(k5Pd-7?@yR!y{ZNkl9Dt&(Zw@`ZdAy3WZy7HW4nG-UB7`K9u3N?)%VAJ>{WX38 zgMoZxn$jV@Vk;$+M2~7wxvrqIto)gd2J!AR&G9$I5$bw0ZJF`pjw(NX zygzaL`3YN$!p(V|qNYQjhobLv?xCn+`T2O4r)`+g}NV%rrBmEtRu1qb;-r)q{HLJp)99w4_)@@uL zTDwj~C1|$Btq<^&hG|hCQJZX+oDi7q9*U3by3p{D!*}f!q8DPqW)7%vpAer$*}Gqe z7U<1Dy$$3})4>pZ(k=AVYhYjRkr8_@NCV9THDuCeLn6MtA=aIUfu}SNL~$IB6>ER_ z%EPk`AAIT1pX$H-w`GuNAcQ2u)O!%{y|PZ&3*ViIi&4n&5s!qvd&tl5mn2)wsNWSJ zYNIjxnpXfZ-&ib&XH$3DGCG5+gNQ4>9ZE}%U*yc-Bkz|Ll;Ojpj7Q2 zLgjpDl&(P(L!;r`xyG$$0}EP&tN#)7j~KSVXLh9DhZ`j)k3k=Cd+hvk8Q%}>ydn+qBnSO;UsFU56UKqWF_Q58&t^_eTke?40F)vacz6Xu-`9H$}#wP|pLm5bAP@AvRjH((n z7NtQU|0>LY$u*k(BK}%O!Vmu;ke4e`HSRq}xNSXaU&URTzzo-VtigU5IYph?*U^UI zVl8Ed`)T6s2{bM#$zbg@KM$5hOM0~CO3fW^2`qExYR1ifZm7mS2=&72h1Sug)47}e z1EJf2{g^zF%Z`=Ix zHe6Ib3;CKc*Y*wBazcsMNrD63;SjCCXc_dnHX#( z8M>q}&cF&`{6YrRw~gGMK)sOv3aUk!%We5Ou3U21+C+)25bZ{2jza$Cg6;yMl>6|Gt@j9eEzqm3u=OejvA- z3h_gYz5rcU=gYuWtYTHG=BgFl=!F#>ST3tk z^fh)Ox+lwC3QYh)lL))jiklBF_8fw=ke@?CD)z~uw0t(Ttb~?abaa&y#*=_>QtE#WRQ&6kPL)H6xXt6ItXGyRK zQIGAYqCAWW`I&Molcyl6yU%*rxc3~bcAWL-0cU-=?jkDXx&fKLBXeph*S#zAA(_*F z%5}pszb5k!WKN)#>qcaLOXj08zaw+HSX-`}Aag>nTt{&|8i^;2m}aH4RF{#|+QDgc zX}?Rp+l*TVDOB6q5=JC#Xhza9OszYWF||xG{>_Y`bw$$Y-6=D+Qq-kItI?SKJ?6{;P!Y@tVv}Ov807gl8B~b%$Mxe{}eS-Us@u* zQ$`atjR@k3Xh~zYmP#6rX!YF<$wezQQ5O~KjqcV6uAQ3xuNh_Lu& z@n2%sQl=KS(wfoPWp(>SQ&3wKi#c&u0P`;kYMVMzy9upoY-#^PK`n&d{US65b+jWD zj~W9ns=LfJJ@n6n`1_oa4iw^RWhr`8!8s$q2rvSS03*N% zFanGKBftnS0*nA7zz8q`i~u9R2rvSS03*N%FanGKBftnS0*nA7zz8q`i~u9R2rvSS z03*N%FanGKBftnS0*nA7zz8q`i~u9R2rvSS03*N%FanGKBftnS0*nA7@c)Z|hM~2A zj)Ul1=kCV=)ct=5k?33El_cvecnzSXB2jieJRsm(2-*PJ4(bB!1AQNK6!aU=8PG-0 zTcE3;TcDXf;hPIu48pS_zQ;k^K)al1bX`wdk?2l6+Oboo_bTwod6#5ICSt~vC}x;u zm(Zh$RN4@FdzTqcTJ5Nq2G|{j743+aLQkZUJD%%=UZ;Eq1EtX!?dldfy|y9riWT0n zfLrABSccHk(MS@$(uO5%)0P<}A1D)KWkumXVp;HSMWLjs@|}(fOg>$GXC64=-H)Rw z%61~V@Eo#XVoxWjwiDlN-@lJl z%g{RztznAkQM?0U>hWY(#?rTE+S?(!CuT&=?k;PyvBwhkVXReVc4q|7d_2%)rZAKx zG~k4IRK}bT>w7zTd`Eq4Z5JkNqa`9J?0`?b+CVe&Dai|Q6yKjGesP6gu6X(^eE3j90|G2}qIQ%y%?T&t@!_zw#q;ENVufu-}Jml0Q6PDRH{%0QkWe@*~hkwn( zW2uhw_lAf6tB1er;RihYyB_|Uhad6qJ~g=N_@;UI8V^6m!)qRXiHHB9ho^Tu=*xm@0q>?0qW}N^ literal 0 HcmV?d00001 diff --git a/bin/KeyMaster b/bin/KeyMaster index ff086396a7b34cf43a93a0026a4465c260b893eb..bf032460bdace3b41739332a1de83931bb6b305d 100755 GIT binary patch delta 1899 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 diff --git a/include/ui/ui.c b/include/ui/ui.c index 5494b98..a790bac 100644 --- a/include/ui/ui.c +++ b/include/ui/ui.c @@ -40,7 +40,7 @@ char *prompNormalRequest(char *message) temp = size(temp, 256); - printf("%s\n", message); + printf("%s", message); scanf("%s", temp); return temp; diff --git a/src/main.c b/src/main.c index 845d0f3..528058e 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,7 @@ #include #include #include +#include // Include libcurl header #include "herror.h" #include "dynmem.h" @@ -15,6 +16,49 @@ void clear_input_buffer(void) ; } +// Function to perform a GET request +void perform_get_request(const char *url) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_DEFAULT); + curl = curl_easy_init(); + if (curl) + { + curl_easy_setopt(curl, CURLOPT_URL, url); + res = curl_easy_perform(curl); + if (res != CURLE_OK) + { + fprintf(stderr, "GET request failed: %s\n", curl_easy_strerror(res)); + } + curl_easy_cleanup(curl); + } + curl_global_cleanup(); +} + +// Function to perform a POST request +void perform_post_request(const char *url, const char *post_fields) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_DEFAULT); + curl = curl_easy_init(); + if (curl) + { + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_fields); + res = curl_easy_perform(curl); + if (res != CURLE_OK) + { + fprintf(stderr, "POST request failed: %s\n", curl_easy_strerror(res)); + } + curl_easy_cleanup(curl); + } + curl_global_cleanup(); +} + int main(void) { char *password = create(char); @@ -109,32 +153,18 @@ int main(void) return 1; } end_try; - free(password); + + // Example usage of GET and POST requests + const char *get_url = "http://148.71.10.137:51820/"; + const char *post_fields = "field1=value1&field2=value2"; // Menu loop while (1) { - printf("1. Add a new password\n2. Show all passwords\n3. Exit\n"); - char *choice = prompNormalRequest("Enter your choice: "); - if (strcmp(choice, "1") == 0) - { - printf("Adding a new password\n"); - } - else if (strcmp(choice, "2") == 0) - { - printf("Showing all passwords\n"); - } - else if (strcmp(choice, "3") == 0) - { - printf("Exiting...\n"); - break; - } - else - { - printf("Invalid choice\n"); - } + + // Connect to the server and get the list of passwords tro HTTP GET free(choice); } - + free(password); return 0; } \ No newline at end of file