C: check-root-user.c

This commit is contained in:
Alexander Popov 2024-05-16 20:40:00 +03:00
parent 60ba2c59e7
commit bbed68cff2
Signed by: iiiypuk
GPG Key ID: E47FE0AB36CD5ED6
4 changed files with 123 additions and 110 deletions

5
code/C/.clang-format Normal file
View File

@ -0,0 +1,5 @@
Language: Cpp
BasedOnStyle: LLVM
IndentWidth: 2
ColumnLimit: 132
SortIncludes: Never

View File

@ -0,0 +1,18 @@
/**
* https://man.openbsd.org/getuid
*/
#include <unistd.h>
#include <stdio.h>
void main(int argc, char const *argv[]) {
uid_t user = getuid();
uid_t privs = geteuid();
printf("User: %u\n", user);
printf("Privs: %u\n", privs);
puts("::");
char *login = getlogin();
printf("%s\n", login);
}

View File

@ -3,10 +3,8 @@ atomic_bool running = true;
#define PORT 8000 #define PORT 8000
#define PREFIX "/api" #define PREFIX "/api"
int callback_default(const struct _u_request *request, int callback_default(const struct _u_request *request, struct _u_response *response, void *user_data);
struct _u_response *response, void *user_data); int callback_all_test_foo(const struct _u_request *request, struct _u_response *response, void *user_data);
int callback_all_test_foo(const struct _u_request *request,
struct _u_response *response, void *user_data);
void *thread_server(void *vargp) { void *thread_server(void *vargp) {
int ret; int ret;
@ -18,10 +16,8 @@ void *thread_server(void *vargp) {
instance.max_post_body_size = 1024; instance.max_post_body_size = 1024;
ulfius_add_endpoint_by_val(&instance, "GET", PREFIX, "/param/:name", 0, ulfius_add_endpoint_by_val(&instance, "GET", PREFIX, "/param/:name", 0, &callback_all_test_foo, "user data 1");
&callback_all_test_foo, "user data 1"); ulfius_add_endpoint_by_val(&instance, "POST", PREFIX, "/param/:name", 0, &callback_all_test_foo, "user data 2");
ulfius_add_endpoint_by_val(&instance, "POST", PREFIX, "/param/:name", 0,
&callback_all_test_foo, "user data 2");
ulfius_set_default_endpoint(&instance, &callback_default, NULL); ulfius_set_default_endpoint(&instance, &callback_default, NULL);
@ -41,18 +37,15 @@ void *thread_server(void *vargp) {
ulfius_clean_instance(&instance); ulfius_clean_instance(&instance);
} }
int callback_default(const struct _u_request *request, int callback_default(const struct _u_request *request, struct _u_response *response, void *user_data) {
struct _u_response *response, void *user_data) {
(void)(request); (void)(request);
(void)(user_data); (void)(user_data);
ulfius_set_string_body_response(response, 404, ulfius_set_string_body_response(response, 404, "Page not found, do what you want");
"Page not found, do what you want");
return U_CALLBACK_CONTINUE; return U_CALLBACK_CONTINUE;
} }
int callback_all_test_foo(const struct _u_request *request, int callback_all_test_foo(const struct _u_request *request, struct _u_response *response, void *user_data) {
struct _u_response *response, void *user_data) {
// url_params = request->map_url // url_params = request->map_url
// post_params = request->map_post_body // post_params = request->map_post_body

View File

@ -58,8 +58,7 @@ void my_function_with_response(webui_event_t* e) {
int main() { int main() {
// HTML // HTML
const char* my_html = const char *my_html = "<html>"
"<html>"
" <head>" " <head>"
" <title>Call C from JavaScript Example</title>" " <title>Call C from JavaScript Example</title>"
" <style>" " <style>"
@ -123,7 +122,5 @@ int main() {
} }
#if defined(_MSC_VER) #if defined(_MSC_VER)
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow) { int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow) { return main(); }
return main();
}
#endif #endif