fixes file name extraction on download; fixes wrong user name case
This commit is contained in:
@@ -129,6 +129,12 @@ int32_t db_user_auth(i_auth_t *c, o_auth_t *r) {
|
|||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK && !PQntuples(res))
|
if (PQresultStatus(res) != PGRES_TUPLES_OK && !PQntuples(res))
|
||||||
return exit_query(1);
|
return exit_query(1);
|
||||||
|
|
||||||
|
const int tup_len = PQntuples(res);
|
||||||
|
|
||||||
|
if (tup_len == 0) {
|
||||||
|
return exit_query(4);
|
||||||
|
}
|
||||||
|
|
||||||
const char *pass = PQgetvalue(res, 0, 2);
|
const char *pass = PQgetvalue(res, 0, 2);
|
||||||
string_to_SHA256(c->pass, passHashed);
|
string_to_SHA256(c->pass, passHashed);
|
||||||
if (pass == NULL) {
|
if (pass == NULL) {
|
||||||
|
|||||||
+7
-4
@@ -92,8 +92,8 @@ void file_list(session *sess, server_data_t *s_d, i_file_list_t *f_args) {
|
|||||||
!fl_current->permissions) {
|
!fl_current->permissions) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int h_len = sprintf(item_h, "%s %zu %s", fl_current->name, fl_current->size,
|
int h_len = sprintf(item_h, "[%s] %zu %s", fl_current->name,
|
||||||
fl_current->owner);
|
fl_current->size, fl_current->owner);
|
||||||
int d_len = strlen(fl_current->description);
|
int d_len = strlen(fl_current->description);
|
||||||
|
|
||||||
for (int i = h_len; i < d_len; i++) {
|
for (int i = h_len; i < d_len; i++) {
|
||||||
@@ -143,7 +143,11 @@ int32_t file_send_prepare(session *sess, char *line, server_data_t *s_d) {
|
|||||||
char err_mes[256];
|
char err_mes[256];
|
||||||
uint32_t mlen;
|
uint32_t mlen;
|
||||||
|
|
||||||
sscanf(line, "%*s %*s %s", args.name);
|
char *name_begin = strchr(line, '[') + 1;
|
||||||
|
char *name_end = strrchr(line, ']');
|
||||||
|
int name_len = name_end - name_begin;
|
||||||
|
strncpy(args.name, name_begin, name_len);
|
||||||
|
args.name[name_len] = 0;
|
||||||
sess->file = db_get_file(&args);
|
sess->file = db_get_file(&args);
|
||||||
|
|
||||||
if (sess->file == NULL)
|
if (sess->file == NULL)
|
||||||
@@ -183,7 +187,6 @@ int file_receive_prepare(session *sess, char *line, server_data_t *s_d) {
|
|||||||
int sd = sess->sd;
|
int sd = sess->sd;
|
||||||
size_t fsize = 0;
|
size_t fsize = 0;
|
||||||
int perm;
|
int perm;
|
||||||
/* TODO: */
|
|
||||||
char *name_begin = strchr(line, '"') + 1;
|
char *name_begin = strchr(line, '"') + 1;
|
||||||
char *name_end = strrchr(line, '"');
|
char *name_end = strrchr(line, '"');
|
||||||
int name_len = name_end - name_begin;
|
int name_len = name_end - name_begin;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
/* *** MAIN *** */
|
/* *** MAIN *** */
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
@@ -12,6 +13,8 @@ int main(int argc, char *argv[]) {
|
|||||||
server_data.welcome_message = get_welcome_mes();
|
server_data.welcome_message = get_welcome_mes();
|
||||||
init_db_connection();
|
init_db_connection();
|
||||||
server_data.ls = start_server();
|
server_data.ls = start_server();
|
||||||
|
/* TODO: display server port */
|
||||||
|
printf("Server is started!\n");
|
||||||
server_main_loop(&server_data);
|
server_main_loop(&server_data);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
+1
-1
@@ -17,7 +17,7 @@ int32_t create_user(session *sess, char *line) {
|
|||||||
res = db_user_create(&p);
|
res = db_user_create(&p);
|
||||||
if (res > 0) {
|
if (res > 0) {
|
||||||
sess->state = OP_WAIT;
|
sess->state = OP_WAIT;
|
||||||
sess->uname = malloc(strlen(p.uname));
|
sess->uname = malloc(strlen(p.uname)+1);
|
||||||
strcpy(sess->uname, p.uname);
|
strcpy(sess->uname, p.uname);
|
||||||
sess->uid = res;
|
sess->uid = res;
|
||||||
sess->privileges = 1; /* by default */
|
sess->privileges = 1; /* by default */
|
||||||
|
|||||||
Reference in New Issue
Block a user