/[LeafOK_CVS]/lbbs/src/net_server.c
ViewVC logotype

Diff of /lbbs/src/net_server.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.55 by sysadm, Sat Jun 7 01:51:54 2025 UTC Revision 1.60 by sysadm, Tue Jun 17 01:24:21 2025 UTC
# Line 56  typedef struct process_sockaddr_t PROCES Line 56  typedef struct process_sockaddr_t PROCES
56    
57  static PROCESS_SOCKADDR process_sockaddr_pool[MAX_CLIENT_LIMIT];  static PROCESS_SOCKADDR process_sockaddr_pool[MAX_CLIENT_LIMIT];
58    
59  #define SSH_AUTH_MAX_DURATION 60 // seconds  #define SSH_AUTH_MAX_DURATION (60 * 1000) // milliseconds
60    
61  struct ssl_server_cb_data_t  struct ssl_server_cb_data_t
62  {  {
# Line 67  struct ssl_server_cb_data_t Line 67  struct ssl_server_cb_data_t
67  static int auth_password(ssh_session session, const char *user,  static int auth_password(ssh_session session, const char *user,
68                                                   const char *password, void *userdata)                                                   const char *password, void *userdata)
69  {  {
         MYSQL *db;  
70          struct ssl_server_cb_data_t *p_data = userdata;          struct ssl_server_cb_data_t *p_data = userdata;
71          int ret;          int ret;
72    
         if ((db = db_open()) == NULL)  
         {  
                 return SSH_AUTH_ERROR;  
         }  
   
73          if (strcmp(user, "guest") == 0)          if (strcmp(user, "guest") == 0)
74          {          {
75                  ret = load_guest_info(db);                  ret = load_guest_info();
76          }          }
77          else          else
78          {          {
79                  ret = check_user(db, user, password);                  ret = check_user(user, password);
80          }          }
81    
         mysql_close(db);  
   
82          if (ret == 0)          if (ret == 0)
83          {          {
84                  return SSH_AUTH_SUCCESS;                  return SSH_AUTH_SUCCESS;
# Line 129  static ssh_channel new_session_channel(s Line 121  static ssh_channel new_session_channel(s
121          return SSH_channel;          return SSH_channel;
122  }  }
123    
124  int fork_server(void)  static int fork_server(void)
125  {  {
126          ssh_event event;          ssh_event event;
127          int pid;          int pid;
# Line 193  int fork_server(void) Line 185  int fork_server(void)
185                  event = ssh_event_new();                  event = ssh_event_new();
186                  ssh_event_add_session(event, SSH_session);                  ssh_event_add_session(event, SSH_session);
187    
188                  for (i = 0; i < SSH_AUTH_MAX_DURATION && !SYS_server_exit && !cb_data.error && SSH_channel == NULL; i++)                  for (i = 0; i < SSH_AUTH_MAX_DURATION && !SYS_server_exit && !cb_data.error && SSH_channel == NULL; i += 100)
189                  {                  {
190                          ret = ssh_event_dopoll(event, 1000); // 1 second                          ret = ssh_event_dopoll(event, 100); // 0.1 second
191                          if (ret == SSH_ERROR)                          if (ret == SSH_ERROR)
192                          {                          {
193                                  log_error("ssh_event_dopoll() error: %s\n", ssh_get_error(SSH_session));                                  log_error("ssh_event_dopoll() error: %s\n", ssh_get_error(SSH_session));


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1