--- lbbs/src/bbs.c 2025/04/28 12:45:57 1.9 +++ lbbs/src/bbs.c 2025/10/22 04:48:53 1.30 @@ -1,54 +1,62 @@ /*************************************************************************** bbs.c - description ------------------- - begin : Mon Oct 18 2004 - copyright : (C) 2004 by Leaflet - email : leaflet@leafok.com + Copyright : (C) 2004-2025 by Leaflet + Email : leaflet@leafok.com ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * + * the Free Software Foundation; either version 3 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "bbs.h" +#include "common.h" +#include "user_priv.h" +#include #include #include +#define BBS_port_default 23 +#define BBS_ssh_port_default 22 + // BBS enviroment -char BBS_id[20] = ""; -char BBS_name[50] = ""; -char BBS_server[256] = ""; -char BBS_address[50] = ""; -unsigned int BBS_port = 23; -long BBS_max_client = 256; -long BBS_max_user = 10000; -char BBS_start_dt[50] = "2004Äê 1Ô 1ÈÕ"; - -char BBS_username[BBS_max_username_length]; -BBS_user_priv BBS_priv; -int BBS_passwd_complex = 0; -int BBS_user_money = 0; +char BBS_id[BBS_id_max_len + 1] = "Example BBS"; +char BBS_name[BBS_name_max_len + 1] = "Example Site Name"; +char BBS_server[BBS_server_max_len + 1] = "bbs.example.com"; +char BBS_address[BBS_address_max_len + 1] = "0.0.0.0"; +in_port_t BBS_port[2] = {BBS_port_default, BBS_ssh_port_default}; +int BBS_max_client = MAX_CLIENT_LIMIT; +int BBS_max_client_per_ip = MAX_CLIENT_PER_IP_LIMIT; +char BBS_start_dt[BBS_start_dt_max_len + 1] = "2000å¹´ 1月 1æ—¥"; +int BBS_sys_id = 1; + +const int BBS_section_list_load_interval = 5; // second + +// User +const int BBS_user_list_load_interval = 60; // second +const int BBS_user_online_list_load_interval = 5; // second +const int BBS_user_off_line = 900; // 15 minutes + +char BBS_username[BBS_username_max_len + 1]; +char BBS_nickname[BBS_nickname_max_len + 1]; +char BBS_user_tz[BBS_user_tz_max_len + 1]; +int BBS_user_exp; time_t BBS_login_tm; time_t BBS_last_access_tm; -char BBS_current_section_name[20]; +char BBS_current_action[BBS_current_action_max_len + 1]; +time_t BBS_current_action_tm; -char * -setuserfile(char *buf, const char *filename) -{ - sprintf(buf, "data/%s/%ld", filename, BBS_priv.uid); - return buf; -} +const int BBS_current_action_refresh_interval = 60; // 1 minute -char * -sethomefile(char *buf, long int uid, char *filename) +char *setuserfile(char *buf, size_t len, const char *filename) { - sprintf(buf, "data/%s/%ld", filename, uid); + snprintf(buf, len, "%s/%d", filename, BBS_priv.uid); return buf; }