From e933eec9d4c92765f9e9ace75cecb9e559adb03f Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:00:45 +0000 Subject: [PATCH 1/6] Small Example Menu --- src/main.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index bb469c2..845d0f3 100644 --- a/src/main.c +++ b/src/main.c @@ -98,7 +98,6 @@ int main(void) free(askedPass); free(key); } - catch (MEMORY_ALLOC_FAILURE) { fprintf(stderr, "Memory allocation failure\n"); @@ -110,7 +109,32 @@ int main(void) return 1; } end_try; - free(password); + + // 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"); + } + free(choice); + } + return 0; } \ No newline at end of file From afce4819d1fe33d4c0504b68190fadd04a109dac Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:31:06 +0000 Subject: [PATCH 2/6] 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 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 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 From 4f516d7f0c335b2ee2d3e1607db394012c99ebd1 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:49:34 +0000 Subject: [PATCH 3/6] Removed Menu for a CLI --- bin/KeyMaster | Bin 34288 -> 34288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/KeyMaster b/bin/KeyMaster index bf032460bdace3b41739332a1de83931bb6b305d..8af167108bbb0aae11bd31e59c77a18b1d51eeb8 100755 GIT binary patch delta 2408 zcmZuzeQXp}5P!GrwYC_p1p?u-g;)#tg-LtYfJ>`F+!*|b+60Xtn4(3)hg=Ia;j(R) zjc(S(>Y`wSrcq-Mke-whL%ibxHH`_x8vO%fATeq69U-yN7#md1-^|#GXqYQ$cw|;7@?9i2QmokYC|K3nz<<-D?itu=@`dzU0 zH7e|SWfXk_--h}_6|>)1n!FIH)86@}DKTyOv)}tYMGc|Mz}H2w75<94g`wB{N9$^} zm&^P;b&ItbWqxnnDl>PB5YF0BD>0gj*o%?RaKledqou)cnr zV$^Wk$KjRo9~cd1?IpuXTtfT;6+iQ)_&1*bkXhaD{ZVqh++EziXfSAdFR+)5ED1Nr0i{d zmcKMMef@U8BGV#OO@g=^*0l=5Nlcujvyr>uLkE~kVmwX9E4!yG?UmADgeuEb))U)|q_>MbRjYNzG)~{xTq@D)on{lAUCBDOyy$!2-L*b`h~_!42tt zMW1w}Uj1BE^a+4fVq%}YQA~d1G|{qSx8`%pJ(SiRWRr6awEuuXzWG-!=h(-Avr;5+ z`oB{tPyYpO^tph-JpDFm*Bd+r2#j+nbO`%M+9s1V@oHpW1>&Z3^XZ6vkU4V)QvOXS zWRJjDK=?5t?CGtlSQ6S<{0Vu0?2g@so>9qP zS5;|IcV|<9-Aa-D|BB8g)Ue%2ZX#r*Xj>eye9~N#1Lb@*wNsDfK?4+Q~0cej)8u9XR4s+2nW z98Lj|W2lY%ZGhrNFr77OPs5W9lwvnhOrBDB>PPbtohJWiE&_xcC0GiopTuEKMztWy zWFp~hQ(;}I^ayYTVSAx6>Ab*DJ3xjz@%RlWF9YS+ZLqp5`T9HpggVFraHCO*LRYk; zg$bMNEpS-u$e(0}V0?WZ2P(UYyQUJ>M84~OI%Mwp2Y}G^3@ioo(}>D5SJU_OA&kZZ zxPr=i`eijRO=&+ulk2a8>P?LCHu{P@*O8HLM*}uNH}IVx-<3(9`rpD0!FP~+=K`P2 z*Cs4hf>@jmT@6HTR_W*>%4Y0U6WHL?=#}c&Es%ISp4RY&H(BW#q8IRn^AZK{uFutU zW0R{n!17&|hgkNqJk0U~mVGQgWce}6Pgovdd6eaGmeg6UCdu+7%Tt;N!*p63IHboz z=DMx%w(1=(RB!3PX6yDBt9NdW$M@{m)e>J>e&1c{SzRvj+j6mbb+rJzO}x@h0_@R; zpsCSQxT2t-Pmm@o^haMF^fa*~;a_Q7I-oTr?w>clT@;D&mmvB`WOhLGkS*iC*Hu;0 z*@|tapYD1-)aftot~GbYRNdvs5&?mo^-71C_3A)h6X=-$|8SsJ1p3BFe}LZ>=#!sL UZGqkyd`j(wj&cLT-OGyp1v2o2Gynhq delta 2328 zcmZuzeP|R%6ra1xo$1;35)}Mu%-J?IY3ucjxx{Fhk zW~u*LF<)1+#DAce@2FXA7%0PToH7TdauI6@D0L_J)NEQ->dvOD?k0``F~USOmh{U2 zI0I9<)0cr)hyfUNyYZ544qQU~6Dt1CaAADEioZEahKebyx;YWwa(0t$U*S(DzOD*M zJP~DeJ9YX&E~mTN_rM`-lHhLYJd9#JzndtZ_mZ--TtBX_oSf+}%>H;Z|b zHkW5>AK!c<$XH}{q&&%}c-_2SqT2)6Q*@r<4t!_I6L ztfdG8-6=FmXX+*n1BEg!7E#MYOx36NK-C>^8X&c;k{NDsSGvZe$v%U!`@kSR`#YDj zt@Xf}DUvw;Ta?PxwyOkRP?)P7qoUlg*MUIR!!U{o%r!D@k;%;Nj_fNz+_Y}I5wQ-* znq>z<+$R*+BQO>e{8K>E3lM@gj^z~oOw5Hu14)o$IJAs2n8d>W*l|&4cH$~J!CpqV znn5L=lp!(ckR0M$q)X3~fJ`jCfo!xxn`aP(I=+%srQRXlG3;&YMQj}@%`A@NJ4{;@ z+Cfm;io=gWX_1B2iS7c2DIJI_m1!jLI3~(OC83-#8SZLV0{mY6lg1sqDO5%3UU&ep z5}l~K^D7X@TB)+qqVCS+0=tGyt zpLyDc{)jsLw&HJ9k+ZYB!5c5>4&C=?u>kBHXto(`~=v7?A1{7 zQ7wovs8lDYO^5kZ>ZXUo?gJ)^o)O-2ES?7v&C)p{-CCuUfkn)xq1x7b>d8sT#ZAm3 z&nlqg-I^owyIPUT8iZXoHiM^n#O!Ijn(Pgg>=&wPt?VFAe+?e-8%&B`!7nNJmjtg; zrVGk6R8Kbi^G70i#G7QOLfvX|gi6}@xz1Vp^-LhNBH>Q zyS@>=WbaaAxK4dZJPVo#hCZB7I?PgU^7L0cJ>%hD^Yo;rZ_WEX{QI7s|J3RA^bzmV O=VRzdH#)huD)0}wM^a<} From cb4824bde7aa43353189359beee12aed9d9c51b5 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:49:50 +0000 Subject: [PATCH 4/6] Removed Menu for a CLI --- KeyMaster | Bin 34288 -> 34288 bytes build/CMakeFiles/KeyMaster.dir/src/main.c.o | Bin 5672 -> 5720 bytes src/main.c | 76 ++++++++------------ 3 files changed, 28 insertions(+), 48 deletions(-) diff --git a/KeyMaster b/KeyMaster index bf032460bdace3b41739332a1de83931bb6b305d..8af167108bbb0aae11bd31e59c77a18b1d51eeb8 100755 GIT binary patch delta 2408 zcmZuzeQXp}5P!GrwYC_p1p?u-g;)#tg-LtYfJ>`F+!*|b+60Xtn4(3)hg=Ia;j(R) zjc(S(>Y`wSrcq-Mke-whL%ibxHH`_x8vO%fATeq69U-yN7#md1-^|#GXqYQ$cw|;7@?9i2QmokYC|K3nz<<-D?itu=@`dzU0 zH7e|SWfXk_--h}_6|>)1n!FIH)86@}DKTyOv)}tYMGc|Mz}H2w75<94g`wB{N9$^} zm&^P;b&ItbWqxnnDl>PB5YF0BD>0gj*o%?RaKledqou)cnr zV$^Wk$KjRo9~cd1?IpuXTtfT;6+iQ)_&1*bkXhaD{ZVqh++EziXfSAdFR+)5ED1Nr0i{d zmcKMMef@U8BGV#OO@g=^*0l=5Nlcujvyr>uLkE~kVmwX9E4!yG?UmADgeuEb))U)|q_>MbRjYNzG)~{xTq@D)on{lAUCBDOyy$!2-L*b`h~_!42tt zMW1w}Uj1BE^a+4fVq%}YQA~d1G|{qSx8`%pJ(SiRWRr6awEuuXzWG-!=h(-Avr;5+ z`oB{tPyYpO^tph-JpDFm*Bd+r2#j+nbO`%M+9s1V@oHpW1>&Z3^XZ6vkU4V)QvOXS zWRJjDK=?5t?CGtlSQ6S<{0Vu0?2g@so>9qP zS5;|IcV|<9-Aa-D|BB8g)Ue%2ZX#r*Xj>eye9~N#1Lb@*wNsDfK?4+Q~0cej)8u9XR4s+2nW z98Lj|W2lY%ZGhrNFr77OPs5W9lwvnhOrBDB>PPbtohJWiE&_xcC0GiopTuEKMztWy zWFp~hQ(;}I^ayYTVSAx6>Ab*DJ3xjz@%RlWF9YS+ZLqp5`T9HpggVFraHCO*LRYk; zg$bMNEpS-u$e(0}V0?WZ2P(UYyQUJ>M84~OI%Mwp2Y}G^3@ioo(}>D5SJU_OA&kZZ zxPr=i`eijRO=&+ulk2a8>P?LCHu{P@*O8HLM*}uNH}IVx-<3(9`rpD0!FP~+=K`P2 z*Cs4hf>@jmT@6HTR_W*>%4Y0U6WHL?=#}c&Es%ISp4RY&H(BW#q8IRn^AZK{uFutU zW0R{n!17&|hgkNqJk0U~mVGQgWce}6Pgovdd6eaGmeg6UCdu+7%Tt;N!*p63IHboz z=DMx%w(1=(RB!3PX6yDBt9NdW$M@{m)e>J>e&1c{SzRvj+j6mbb+rJzO}x@h0_@R; zpsCSQxT2t-Pmm@o^haMF^fa*~;a_Q7I-oTr?w>clT@;D&mmvB`WOhLGkS*iC*Hu;0 z*@|tapYD1-)aftot~GbYRNdvs5&?mo^-71C_3A)h6X=-$|8SsJ1p3BFe}LZ>=#!sL UZGqkyd`j(wj&cLT-OGyp1v2o2Gynhq delta 2328 zcmZuzeP|R%6ra1xo$1;35)}Mu%-J?IY3ucjxx{Fhk zW~u*LF<)1+#DAce@2FXA7%0PToH7TdauI6@D0L_J)NEQ->dvOD?k0``F~USOmh{U2 zI0I9<)0cr)hyfUNyYZ544qQU~6Dt1CaAADEioZEahKebyx;YWwa(0t$U*S(DzOD*M zJP~DeJ9YX&E~mTN_rM`-lHhLYJd9#JzndtZ_mZ--TtBX_oSf+}%>H;Z|b zHkW5>AK!c<$XH}{q&&%}c-_2SqT2)6Q*@r<4t!_I6L ztfdG8-6=FmXX+*n1BEg!7E#MYOx36NK-C>^8X&c;k{NDsSGvZe$v%U!`@kSR`#YDj zt@Xf}DUvw;Ta?PxwyOkRP?)P7qoUlg*MUIR!!U{o%r!D@k;%;Nj_fNz+_Y}I5wQ-* znq>z<+$R*+BQO>e{8K>E3lM@gj^z~oOw5Hu14)o$IJAs2n8d>W*l|&4cH$~J!CpqV znn5L=lp!(ckR0M$q)X3~fJ`jCfo!xxn`aP(I=+%srQRXlG3;&YMQj}@%`A@NJ4{;@ z+Cfm;io=gWX_1B2iS7c2DIJI_m1!jLI3~(OC83-#8SZLV0{mY6lg1sqDO5%3UU&ep z5}l~K^D7X@TB)+qqVCS+0=tGyt zpLyDc{)jsLw&HJ9k+ZYB!5c5>4&C=?u>kBHXto(`~=v7?A1{7 zQ7wovs8lDYO^5kZ>ZXUo?gJ)^o)O-2ES?7v&C)p{-CCuUfkn)xq1x7b>d8sT#ZAm3 z&nlqg-I^owyIPUT8iZXoHiM^n#O!Ijn(Pgg>=&wPt?VFAe+?e-8%&B`!7nNJmjtg; zrVGk6R8Kbi^G70i#G7QOLfvX|gi6}@xz1Vp^-LhNBH>Q zyS@>=WbaaAxK4dZJPVo#hCZB7I?PgU^7L0cJ>%hD^Yo;rZ_WEX{QI7s|J3RA^bzmV O=VRzdH#)huD)0}wM^a<} diff --git a/build/CMakeFiles/KeyMaster.dir/src/main.c.o b/build/CMakeFiles/KeyMaster.dir/src/main.c.o index 17f6400fffb03d8d4fe88f96acaf6c0fad486d50..616967d7b4d890686b544d5178723e8f4a802435 100644 GIT binary patch delta 1877 zcmZuyU1$_n6uz@=lFh0a7Y$l}>iUqT5Er);e^58EfzpAh#r7pdiYdgVL5Rjp(g?~Z zpq_?fq3Nqpu0Xo6Nb0;iJwko&fk~<4@m*oAG z)m1VqQemCr%Xt``phBWbgd6N0+l4K=k+BAM#0d}H26R+d0~2O#1@@k%Ty{XOqc@D?m%doUk&8esGE}ze9O$Prg%9z1-k;m2VV2#s; znxxsL^t$o8iY(@A7H3IL0Te87*2;sJmoLY$4S3}dIE8>k%f%XBHKpNLBpNP^?H=1P zIvE38r5@{3AHyyNZ+7Zo5H+Vp1wM3DpuVB5yB`)lHZ4NaFEnT)(3%j&8|9PO!_#qu zXzIhjcf7&3+xR|&vunLm^4#!Jq)XQjx}tu|@!q@)1D+sX4y~vc>0PNIYT}JQW*4?? zyk_;E94U@xFMg3dKZVW6=y3MZ=f&bz7cUPLkEW03^wXObW}6nhy;*_qaWOVQi|X0@ zpLI{Y(Q(+CS7$o9t(3Zg^}4!+bxu9R`dGc_=uXsMs-5;*R$jelcef9`0(U(3)R?{9 zz1%KDN{HNPNc;-#V8JIP*A>ZD$Q{rvNc5ufUj&o>6q5A6BK={c--X1BCiios&q3nr zle-n^-$uI9`k~HIZ1B;_4Mzc=L8d{Z9};h~+-}HD$Rs3Q!?~wzLTq0+xMjKJH5+%3 AbpQYW delta 1858 zcmZuyTWB0r7(TPvjhoG8XJai?L+kiZHpT9`O{fNOO;TALFD;Swp-Q0%-PkU~q)pPK zf$CT$BM!q@;}L!Kp-`xx5*DGbsY;>v;^nQ_r@mz##Ar0^gRp-8IcIiuB|~!l^WVPz zID7sBkW+`;7ILOLIe4_-Moj-`4$vyF1SZVjJv7JkfN25Lb+Qq*O0gzH z?hi<`3kX8$IUW0`a3Riu@A(7o!(O0wZYw^~b zy7RfnSyUj5?FP^>IM$Z%&zK8>Ek(iZ(0paKt}_O3G>6CrgJKuC>D8!rQsdQxhhMUC zu)ZC+NDN^VL@6K=3yvd&fNscRBFe+`>ysg_>%4%gCr-P8aeRYrcO+Vb9*GhWiS~z? z3WW^?|0p?-@@j(jOAGv|jr>shEpXvv_fbujR~OVjdLvYc1;NLJTJ=ff9Z+Ea zSLT$DKx#L?+Gc*N!+d2o^S5K{)vy=AAsO*(8w4cbL_}EG;6un;wt)1W7@+H2vyK#u@k+&*GG?cjjf+zY3(Ir!mDEtdIC)`i*_fJ{X$con!v&*! zrMj46<=MsQd1Gbn^1N~G!d&&-^z#Ng!hlnqJ^z0wHpB=@Xgbi?Fe_gfs4hZNC=^oc zmD#1KnQBELrWoTV`+nC(_;}_y?LJ@0a++85ob|qvkI(klo#DC+8T*3eV diff --git a/src/main.c b/src/main.c index 528058e..95d2a2d 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,6 @@ #include #include #include -#include // Include libcurl header #include "herror.h" #include "dynmem.h" @@ -16,49 +15,6 @@ 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); @@ -154,17 +110,41 @@ int main(void) } end_try; - // 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"; + char *choice = NULL; + + try + { + choice = create(char); + choice = size(choice, 256); + + if (choice == NULL) + { + throw(MEMORY_ALLOC_FAILURE); + } + } + catch (MEMORY_ALLOC_FAILURE) + { + fprintf(stderr, "Memory allocation failure\n"); + return 1; + } + end_try; // Menu loop while (1) { + printf("List of existing passwords:\n<------->\n"); + // Show passwords that are stored in the server + printf("<------->\n\n"); + choice = prompNormalRequest(">> "); + if (strcmp(choice, "exit") == 0 || strcmp(choice, "quit") == 0 || strcmp(choice, "q") == 0) + { + break; + } // Connect to the server and get the list of passwords tro HTTP GET - free(choice); } + free(choice); + free(password); return 0; } \ No newline at end of file From e3bfeb0584e6016af7822586f4ec2f386e97e406 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 26 Feb 2025 21:58:14 +0000 Subject: [PATCH 5/6] Imoproved user experiencc --- KeyMaster | Bin 34288 -> 34288 bytes bin/KeyMaster | Bin 34288 -> 34288 bytes build/CMakeFiles/KeyMaster.dir/src/main.c.o | Bin 5720 -> 5824 bytes src/main.c | 4 ++++ 4 files changed, 4 insertions(+) diff --git a/KeyMaster b/KeyMaster index 8af167108bbb0aae11bd31e59c77a18b1d51eeb8..f024f930ec331626b922aec53a3d0096c82a3c9b 100755 GIT binary patch delta 1745 zcmY*adrVtZ7(chXHsh?C;~OxV#8SN zTywpKd6F5;j3my4sgXuPG>ZkYO$o+iEMysKj2RBOjjwL|V`Vz)@0`;i+~oew_x^t8 z`)=B}W{PX3f$0sA9fU}P5PdZOPh`ibxt;43MOeFqktno6@~j_DS?{m}Jj1jf)*+9G zJs^x^Xyl4CEUhDpFS!mZxLeNl^qHoDvSb;XOBkfg4G4s1U_eE#t#A?5I?={Rvff*bxyS#^fqOVoxGK3*1mOe;i)J z*Z`jz-ZQHP1GC8ABJvwoeaxAcGsIllXsW_JXsF<) z2c1@_hX$OMRb#?bNI!5|w|*{^yP1SchQ31s6e1dz!l5r23oWC2HGNjuL=(;j>w}0h zuQ6L|2_vose_yAD1Br3A6+?p$^f8n`e2i_@cxTDt#}E~BiVL%{;pxgfh=QGKi?od% zbv-YgpqE{i7cOP6TA>Ih5M_s``0X-#klTqlRD$lH>0v{~#&k!yDBFzS$T764{xwtujCVAK1aAg1L3Y%}DB_pCAgxa(cE>t!PT;u7C*q z8rnEsVw_|4aA=TK)S~PdBQP1mG~ZoPSB~)WTrdB7DZto;fS4KCf*=GEn@a;Q3H|Fu zlbx)z9(@^mHtOhG?gEpPPCs+!n6lF8H|}C{6e+mO0Bfx)N9m&b5lN%@RfUp|da80I zKdrB_No6!pkY%oF0uUpY#%*6VXjUE%37WBbA4LVy@kee%%3kX>@zTI?fb&-4* zMGzQ<4|hF@Y~w{CGY-ZxbYHcl{x)OHH!%kv!t+*^n#4Y|&>18I6HQC|i!NoI7ER_6 zwv50jI#F$tZqZ+>3pSsF3nM?w*lSUCi0=azpAIYBx z0=1HrO=ghAckn-8u-}Vo*jQIxxh1q*p~Y#WW^>jLuo-5FPS-qCcah1rQHW1l{2p+Q z==v%1T}$~wSTc!O0N5eFi>~OR_-W=jL@kP4x=HsbWqncDleWtouW+2I>%o)&U0Mg7~}XG$3Hm!#qlO^Z$oRlw@L2x$-XXcr#!N#d?Y>bROhP= z?X696qpzc*p|eTeX6q@h?8vH*{pv z_dV9N?3ce57i6zOr#z04%-SQn@&-Fe8X0T@Ot%8!Or7XpQX74*zaT5p3^~$5$NL*h zk!D(Sd~2WV68`{?qLLZ=kR3vYnd{Sbq3=%VU8(rGls@4U{zLcusr-(Ve*ZtJH>Gb+ P)q4#(+Ko&eFHQRo*g;2~ delta 1660 zcmY*aZA@EL7(Tb9fFhQ`WR?MCjEZc|xzJCb19dYu`@^D}Ge!wZAYsk{*#I$FL!maV zxi(>WaWiBZ;>XIBva!i)%D7Tc{LbUCS*z3Z?hj3YyoX=8PQzxelAQd`d}}*3W$mR{ZJF{meP3Ix z9Hzf&E0sdBIU5Etxr{}2FN6XM8EbeGGOC*8g*?7^Rc-&W8g<#xXpHF-5T>4mKnpCW zT5lR&UH=!P8rgkA4Fzr>zEs8+t%?5|8pI#Pf>6DUhlH*^_3AhK)yN`UcV4J*KgjFx zM9XRa+Bz%U+z2Oh<;xdSjPW6xEN>FRqQn#9i8ykwJ%r z!mX6=wks{P&0UgvUQ!QHv)k@?UmAdUCU%kVSG)_&Qc2|Ae4rB&Yo68K z#CXqY=uUwe2`o?ZThaUAL+6-BAf4bhs}HR(y_lc>E==AAXZhTse%)Xw-&3j-(H74> z#Z3dAk{8D&aoD)E+;-2#v9O1V4gui{Ncr#^!Uq>c7@)g8@Q!qp*#F<8@h znLfh#NO+8A)Z%?i+O5$I1qkg_6LHi!*N&6xpwhx*URA~ig9 zG~S9U)?KvIS8lpvrWRkZ=?^pY`Kqkv5Q4)D^U_g&JDvA!R{Chpw@G=KmV6tOR?4Y! zD8;m`&QrA>+R!qyzGX*=go)SLIu(?W7SzExf20$2-}2?hM>tfMg*P`_@2N~foBAMAaG3JhXOwqcvj#!ffodR zE|B+>al`~p2)rop67ac$hhA@QtLW*f=<06ote8yrKT+sxV|hORLN}pB{`S+gM%T&a z+{x^wH=o{^?qp_`eho0jA=w2O=3MeHjSiOQ1Us+~9-`^NgQj2yRSrEi(Cv{Q>n%uT y#pt?S(grQ;3d7!I*hxdb$FK_wyXC&$&>u1E`+p}rh8;BiUXH^?xyhNK8uNcnE+YT{ diff --git a/bin/KeyMaster b/bin/KeyMaster index 8af167108bbb0aae11bd31e59c77a18b1d51eeb8..f024f930ec331626b922aec53a3d0096c82a3c9b 100755 GIT binary patch delta 1745 zcmY*adrVtZ7(chXHsh?C;~OxV#8SN zTywpKd6F5;j3my4sgXuPG>ZkYO$o+iEMysKj2RBOjjwL|V`Vz)@0`;i+~oew_x^t8 z`)=B}W{PX3f$0sA9fU}P5PdZOPh`ibxt;43MOeFqktno6@~j_DS?{m}Jj1jf)*+9G zJs^x^Xyl4CEUhDpFS!mZxLeNl^qHoDvSb;XOBkfg4G4s1U_eE#t#A?5I?={Rvff*bxyS#^fqOVoxGK3*1mOe;i)J z*Z`jz-ZQHP1GC8ABJvwoeaxAcGsIllXsW_JXsF<) z2c1@_hX$OMRb#?bNI!5|w|*{^yP1SchQ31s6e1dz!l5r23oWC2HGNjuL=(;j>w}0h zuQ6L|2_vose_yAD1Br3A6+?p$^f8n`e2i_@cxTDt#}E~BiVL%{;pxgfh=QGKi?od% zbv-YgpqE{i7cOP6TA>Ih5M_s``0X-#klTqlRD$lH>0v{~#&k!yDBFzS$T764{xwtujCVAK1aAg1L3Y%}DB_pCAgxa(cE>t!PT;u7C*q z8rnEsVw_|4aA=TK)S~PdBQP1mG~ZoPSB~)WTrdB7DZto;fS4KCf*=GEn@a;Q3H|Fu zlbx)z9(@^mHtOhG?gEpPPCs+!n6lF8H|}C{6e+mO0Bfx)N9m&b5lN%@RfUp|da80I zKdrB_No6!pkY%oF0uUpY#%*6VXjUE%37WBbA4LVy@kee%%3kX>@zTI?fb&-4* zMGzQ<4|hF@Y~w{CGY-ZxbYHcl{x)OHH!%kv!t+*^n#4Y|&>18I6HQC|i!NoI7ER_6 zwv50jI#F$tZqZ+>3pSsF3nM?w*lSUCi0=azpAIYBx z0=1HrO=ghAckn-8u-}Vo*jQIxxh1q*p~Y#WW^>jLuo-5FPS-qCcah1rQHW1l{2p+Q z==v%1T}$~wSTc!O0N5eFi>~OR_-W=jL@kP4x=HsbWqncDleWtouW+2I>%o)&U0Mg7~}XG$3Hm!#qlO^Z$oRlw@L2x$-XXcr#!N#d?Y>bROhP= z?X696qpzc*p|eTeX6q@h?8vH*{pv z_dV9N?3ce57i6zOr#z04%-SQn@&-Fe8X0T@Ot%8!Or7XpQX74*zaT5p3^~$5$NL*h zk!D(Sd~2WV68`{?qLLZ=kR3vYnd{Sbq3=%VU8(rGls@4U{zLcusr-(Ve*ZtJH>Gb+ P)q4#(+Ko&eFHQRo*g;2~ delta 1660 zcmY*aZA@EL7(Tb9fFhQ`WR?MCjEZc|xzJCb19dYu`@^D}Ge!wZAYsk{*#I$FL!maV zxi(>WaWiBZ;>XIBva!i)%D7Tc{LbUCS*z3Z?hj3YyoX=8PQzxelAQd`d}}*3W$mR{ZJF{meP3Ix z9Hzf&E0sdBIU5Etxr{}2FN6XM8EbeGGOC*8g*?7^Rc-&W8g<#xXpHF-5T>4mKnpCW zT5lR&UH=!P8rgkA4Fzr>zEs8+t%?5|8pI#Pf>6DUhlH*^_3AhK)yN`UcV4J*KgjFx zM9XRa+Bz%U+z2Oh<;xdSjPW6xEN>FRqQn#9i8ykwJ%r z!mX6=wks{P&0UgvUQ!QHv)k@?UmAdUCU%kVSG)_&Qc2|Ae4rB&Yo68K z#CXqY=uUwe2`o?ZThaUAL+6-BAf4bhs}HR(y_lc>E==AAXZhTse%)Xw-&3j-(H74> z#Z3dAk{8D&aoD)E+;-2#v9O1V4gui{Ncr#^!Uq>c7@)g8@Q!qp*#F<8@h znLfh#NO+8A)Z%?i+O5$I1qkg_6LHi!*N&6xpwhx*URA~ig9 zG~S9U)?KvIS8lpvrWRkZ=?^pY`Kqkv5Q4)D^U_g&JDvA!R{Chpw@G=KmV6tOR?4Y! zD8;m`&QrA>+R!qyzGX*=go)SLIu(?W7SzExf20$2-}2?hM>tfMg*P`_@2N~foBAMAaG3JhXOwqcvj#!ffodR zE|B+>al`~p2)rop67ac$hhA@QtLW*f=<06ote8yrKT+sxV|hORLN}pB{`S+gM%T&a z+{x^wH=o{^?qp_`eho0jA=w2O=3MeHjSiOQ1Us+~9-`^NgQj2yRSrEi(Cv{Q>n%uT y#pt?S(grQ;3d7!I*hxdb$FK_wyXC&$&>u1E`+p}rh8;BiUXH^?xyhNK8uNcnE+YT{ diff --git a/build/CMakeFiles/KeyMaster.dir/src/main.c.o b/build/CMakeFiles/KeyMaster.dir/src/main.c.o index 616967d7b4d890686b544d5178723e8f4a802435..fd9fb44fc932d463d4bc4f22adbdfd3d9852c554 100644 GIT binary patch delta 748 zcmcbib3k{3gWv;R1~AZIg3u2p2HK1Eav}s-fJ_bn28M!(ON|9#65kmi3bsysX)oEq z4dF0A1vdbVWCjX#Om<{67wq7H$VR|qCwDU1bDj`pV2}k$%-DR9QI3)E(BuzH_KdS8 z8!+EyyfvAJrI4|Eavh5!qtE06ENYAnlb^G+2+w6>VA#O$0%V#;cj*U@UR$6V){BgL zCI_&IG6}OzPG{3(oH2PKn;d@^D?(|n?eWR`*upqdfF1$r;bxsI%kB@54wmOxmk z6(CkgzCvWl%CKLW{$$&&o)j0+|^@~bo5_&Pa@UoC*)8$`odaA*S6JMsy%F*)-B uBOeUffk~5tfk8JJNCT0r8;}5|H(e_ztqG)oX-iiLNCSN+y7>Zs2O9vlqsT4* delta 626 zcmX@0dqZb}gJ1_Q0~ly9LFkT&f%c*moCrY{Aaesh14G`#rN)9Vi7ku}1q&v=w3jsC zhHx05f)PL?nSnwIlN}k&1r2y0vJo)Z$(@Y$oC(4V46;B8gUuHi)PX54T&)7QI zfcZA#(aAh4g^XpB>sWx=Cm&!@W7MAfoTWv$gAM2qh8G~yJi1Fic=Xx=)v#V$%j9%6O~&TQ6WQeWOIZ<0du=yO-p3Zk=@0Y>P|r7($+GPJKux*qn!IO$&U^_r zu-Ep&WzO*xeqizi2LIx|HxfrOMc0X@^* zI_Ka2|II&A_*>P%ZUR~ga+-xluPHx7XU*gnoXeTg89{n7_W@ Date: Wed, 26 Feb 2025 22:01:49 +0000 Subject: [PATCH 6/6] Update to help with confusion --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 2abe06c..0ad6e3f 100644 --- a/src/main.c +++ b/src/main.c @@ -54,7 +54,7 @@ int main(void) return 0; } } - printf("KeyMaster\nVersion: 0.1\n\n"); + printf("KeyMaster\nVersion: 0.2\n\n"); try {