From 0daa92a11754b453b33cf0abdb6af4c1f39c1222 Mon Sep 17 00:00:00 2001 From: keqingmoe Date: Sat, 28 Dec 2024 18:07:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E6=9C=AA=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E5=93=8D=E5=BA=94=E5=87=BD=E6=95=B0=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=BA=AB=E4=BB=BD=E9=AA=8C=E8=AF=81=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/server/response.h | 1 + src/server/auth/admin.c | 2 +- src/server/auth/delete.c | 2 +- src/server/auth/repasswd.c | 2 +- src/server/response.c | 13 +++++++++++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/include/server/response.h b/include/server/response.h index 23f0c01..7af73ac 100644 --- a/include/server/response.h +++ b/include/server/response.h @@ -8,6 +8,7 @@ void res_must_get(mg_connection* conn); void res_must_post(mg_connection* conn); void res_need_token(mg_connection* conn); void res_auth_fail(mg_connection* conn); +void res_unauth(mg_connection* conn); void res_check_exist_fail(mg_connection* conn); void res_user_exist(mg_connection* conn); void res_not_exist(mg_connection* conn); diff --git a/src/server/auth/admin.c b/src/server/auth/admin.c index aa808a6..acf1baf 100644 --- a/src/server/auth/admin.c +++ b/src/server/auth/admin.c @@ -90,7 +90,7 @@ static void impl_repasswd(mg_connection* conn, admin_form_t* form) int result; if (!admin_login(form->password, &result)) { - res_auth_fail(conn); + res_unauth(conn); } else if (!result) { res_incorrect(conn); } diff --git a/src/server/auth/delete.c b/src/server/auth/delete.c index 8094fb8..8898a20 100644 --- a/src/server/auth/delete.c +++ b/src/server/auth/delete.c @@ -76,7 +76,7 @@ int user_delete_handler(mg_connection* conn, void* cbdata) return 1; } if (!verify_token(form.token, secret)) { - res_auth_fail(conn); + res_unauth(conn); delete_form_dtor(&form); return 1; } diff --git a/src/server/auth/repasswd.c b/src/server/auth/repasswd.c index 2ef5e0b..056c56d 100644 --- a/src/server/auth/repasswd.c +++ b/src/server/auth/repasswd.c @@ -89,7 +89,7 @@ int user_repasswd_handler(mg_connection* conn, void* cbdata) return 1; } if (!verify_token(form.token, secret)) { - res_auth_fail(conn); + res_unauth(conn); repasswd_form_dtor(&form); return 1; } diff --git a/src/server/response.c b/src/server/response.c index 6cf1de0..ef60ac3 100644 --- a/src/server/response.c +++ b/src/server/response.c @@ -35,13 +35,13 @@ void res_need_token(mg_connection* conn) "Access-Control-Allow-Origin: *\r\n\r\n" "{\"error\":\"need token\"}"); } -void res_auth_fail(mg_connection* conn) +void res_unauth(mg_connection* conn) { mg_printf(conn, "HTTP/1.1 401 Unauthorized\r\n" "Content-Type: application/json\r\n" "Access-Control-Allow-Origin: *\r\n\r\n" - "{\"error\":\"auth failed\"}"); + "{\"error\":\"unauthorized\"}"); } void res_check_exist_fail(mg_connection* conn) { @@ -252,3 +252,12 @@ void res_need_xxx(mg_connection* conn, const char* xxx) "{\"error\":\"need %s\"}", xxx); } + +void res_auth_fail(mg_connection* conn) +{ + mg_printf(conn, + "HTTP/1.1 500 Internal Server Error\r\n" + "Content-Type: application/json\r\n" + "Access-Control-Allow-Origin: *\r\n\r\n" + "{\"error\":\"failed to authorize\"}"); +}