--- lbbs/src/common.c 2005/03/02 16:33:49 1.3 +++ lbbs/src/common.c 2025/11/04 13:49:51 1.41 @@ -1,94 +1,59 @@ -/*************************************************************************** - common.c - description - ------------------- - begin : Mon Oct 18 2004 - copyright : (C) 2004 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 * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include +/* SPDX-License-Identifier: GPL-3.0-or-later */ +/* + * common + * - common definitions + * + * Copyright (C) 2004-2025 by Leaflet + */ + +#include "common.h" + +// File loader +const char *data_files_load_startup[] = { + DATA_WELCOME, + DATA_REGISTER, + DATA_GOODBYE, + DATA_LICENSE, + DATA_COPYRIGHT, + DATA_VERSION, + DATA_LOGIN_ERROR, + DATA_ACTIVE_BOARD, + DATA_READ_HELP, + DATA_EDITOR_HELP, + VAR_BBS_TOP}; -//Version information -char app_version[256] = "LBBS-devel version 1.0"; +const int data_files_load_startup_count = sizeof(data_files_load_startup) / sizeof(const char *); -//Global declaration for enviroment -char app_home_dir[256]; - -//Global declaration for sockets -int socket_server; +// Global declaration for sockets +int socket_server[2]; int socket_client; -char hostaddr_server[50]; -char hostaddr_client[50]; -int port_server; +char hostaddr_client[IP_ADDR_LEN]; int port_client; -//Global declaration for database -char DB_host[256]; -char DB_username[50]; -char DB_password[50]; -char DB_database[50]; - -//Common function -const char* -str_space (char *string, int length) +// SSHv2 +int SSH_v2 = 0; +ssh_bind sshbind; +ssh_session SSH_session; +ssh_channel SSH_channel; + +// Global declaration for system +volatile int SYS_server_exit = 0; +volatile int SYS_child_process_count = 0; +volatile int SYS_child_exit = 0; +volatile int SYS_conf_reload = 0; + +// Common function +void sig_hup_handler(int i) +{ + SYS_conf_reload = 1; +} + +void sig_term_handler(int i) { - int i; - for (i = 0; i < length; i++) - { - string[i] = ' '; - } - string[length] = '\0'; - return string; + SYS_server_exit = 1; } -const char* -get_time_str (char *string, size_t length) +void sig_chld_handler(int i) { - char week[10],buffer[256]; - time_t curtime; - struct tm *loctime; - - curtime = time (NULL); - loctime = localtime (&curtime); - - strftime (buffer, 256, "%Y年%m月%d日%H:%M:%S ", loctime); - - switch (loctime->tm_wday) - { - case 0: - strcpy (week, "星期天"); - break; - case 1: - strcpy (week, "星期一"); - break; - case 2: - strcpy (week, "星期二"); - break; - case 3: - strcpy (week, "星期三"); - break; - case 4: - strcpy (week, "星期四"); - break; - case 5: - strcpy (week, "星期五"); - break; - case 6: - strcpy (week, "星期六"); - break; - } - strcat (buffer, week); - - strncpy (string, buffer, length); - - return string; + SYS_child_exit = 1; }