--- lbbs/include/bbs.h 2004/10/22 15:20:32 1.2 +++ lbbs/include/bbs.h 2025/05/07 05:35:01 1.18 @@ -1,78 +1,50 @@ /*************************************************************************** - bbs.h - description - ------------------- - begin : Mon Oct 18 2004 - copyright : (C) 2004 by Leaflet - email : leaflet@leafok.com + bbs.h - description + ------------------- + 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. * * * ***************************************************************************/ +#ifndef _BBS_H_ +#define _BBS_H_ + #include +#include -//BBS +// BBS #define BBS_max_section 1024 +#define BBS_username_max_len 12 +#define BBS_password_max_len 12 extern char BBS_id[20]; extern char BBS_name[50]; extern char BBS_server[256]; extern char BBS_address[50]; -extern unsigned int BBS_port; -extern long BBS_max_client; -extern long BBS_max_user; +extern in_port_t BBS_port; +extern unsigned int BBS_max_client; +extern unsigned int BBS_max_user; extern char BBS_start_dt[50]; -//User privilege -#define S_NONE 0x0 -#define S_LIST 0x1 -#define S_GETEXP 0x2 -#define S_POST 0x4 -#define S_MSG 0x8 -#define S_MAIL 0x10 -#define S_MAN_S 0x20 -#define S_MAN_M 0x60 //(0x40 | 0x20) -#define S_ADMIN 0xe0 //(0x80 | 0x40 | 0x20) -#define S_ALL 0xff -#define S_DEFAULT 0x3 //0x1 | 0x2 - -#define P_GUEST 0x0 //游客 -#define P_USER 0x1 //普通用户 -#define P_AUTH_USER 0x2 //认证用户 -#define P_MAN_S 0x4 //副版主 -#define P_MAN_M 0x8 //正版主 -#define P_MAN_C 0x10 //栏目主管 -#define P_ADMIN_S 0x20 //次系统管理员 -#define P_ADMIN_M 0x40 //主系统管理员 - -struct user_priv -{ - long int uid; - long int auid; - int level; - int g_priv; - struct - { - int sid; - int s_priv; - }s_priv_list[BBS_max_section]; - int s_count; -}; - -typedef struct user_priv BBS_user_priv; - -//Session -extern BBS_user_priv BBS_priv; +// Session +#define MAX_DELAY_TIME 600 // 10 minutes +#define BBS_user_off_line 900 // 15 minutes -extern int BBS_passwd_complex; +extern char BBS_username[BBS_username_max_len + 1]; extern time_t BBS_login_tm; extern time_t BBS_last_access_tm; -extern time_t BBS_last_sub_tm; +extern char BBS_current_section_name[20]; + +extern char *setuserfile(char *buf, size_t len, const char *filename); + +#endif //_BBS_H_