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

Diff of /lbbs/src/bbs_net.c

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

Revision 1.84 by sysadm, Sun Nov 30 10:05:16 2025 UTC Revision 1.85 by sysadm, Sun Nov 30 11:12:06 2025 UTC
# Line 522  static int bbsnet_connect(int n) Line 522  static int bbsnet_connect(int n)
522    
523                  if (ssh_options_set(session, SSH_OPTIONS_FD, &sock) < 0 ||                  if (ssh_options_set(session, SSH_OPTIONS_FD, &sock) < 0 ||
524                          ssh_options_set(session, SSH_OPTIONS_PROCESS_CONFIG, &ssh_process_config) < 0 ||                          ssh_options_set(session, SSH_OPTIONS_PROCESS_CONFIG, &ssh_process_config) < 0 ||
525                            ssh_options_set(session, SSH_OPTIONS_KNOWNHOSTS, SSH_KNOWN_HOSTS_FILE) < 0 ||
526                          ssh_options_set(session, SSH_OPTIONS_HOST, bbsnet_conf[n].ip) < 0 ||                          ssh_options_set(session, SSH_OPTIONS_HOST, bbsnet_conf[n].ip) < 0 ||
527                          ssh_options_set(session, SSH_OPTIONS_USER, remote_user) < 0 ||                          ssh_options_set(session, SSH_OPTIONS_USER, remote_user) < 0 ||
528                          ssh_options_set(session, SSH_OPTIONS_HOSTKEYS, "+ssh-rsa") < 0 ||                          ssh_options_set(session, SSH_OPTIONS_HOSTKEYS, "+ssh-rsa") < 0 ||
# Line 531  static int bbsnet_connect(int n) Line 532  static int bbsnet_connect(int n)
532                          goto cleanup;                          goto cleanup;
533                  }                  }
534    
535                    ssh_set_blocking(session, 0);
536    
537                  while (!SYS_server_exit)                  while (!SYS_server_exit)
538                  {                  {
539                          ret = ssh_connect(session);                          ret = ssh_connect(session);
# Line 545  static int bbsnet_connect(int n) Line 548  static int bbsnet_connect(int n)
548                          }                          }
549                  }                  }
550    
551                  ssh_set_blocking(session, 0);                  ret = ssh_session_is_known_server(session);
552                    switch (ret)
553                    {
554                    case SSH_KNOWN_HOSTS_NOT_FOUND:
555                    case SSH_KNOWN_HOSTS_UNKNOWN:
556                            if (ssh_session_update_known_hosts(session) != SSH_OK)
557                            {
558                                    log_error("ssh_session_update_known_hosts(%s) error\n", bbsnet_conf[n].ip);
559                                    prints("\033[1;31m无法添加服务器证书\033[m");
560                                    press_any_key();
561                                    goto cleanup;
562                            }
563                            log_common("SSH key of (%s) is added into %s\n", bbsnet_conf[n].ip, SSH_KNOWN_HOSTS_FILE);
564                    case SSH_KNOWN_HOSTS_OK:
565                            break;
566                    case SSH_KNOWN_HOSTS_CHANGED:
567                    case SSH_KNOWN_HOSTS_OTHER:
568                            log_error("ssh_session_is_known_server(%s) error: %d\n", bbsnet_conf[n].ip, ret);
569                            prints("\033[1;31m服务器证书已变更\033[m");
570                            press_any_key();
571                            goto cleanup;
572                    }
573    
574                  for (int i = 0; !SYS_server_exit;)                  for (int i = 0; !SYS_server_exit;)
575                  {                  {


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

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