comm.h
上传用户:tjescc
上传日期:2021-02-23
资源大小:419k
文件大小:3k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. /* Nessus
  2.  * Copyright (C) 1998 Renaud Deraison
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  */
  18.  
  19. #ifndef _NESSUSD_COMM_H
  20. #define _NESSUSD_COMM_H
  21. #ifndef _WIN32
  22. /* kludge: windows debugging mode with all-in-one compilation */
  23. #undef __NESSUS_DEVEL_H__
  24. #endif
  25. #ifndef __NESSUS_DEVEL_H__
  26. typedef struct {
  27.   int ntp_version; /*  NTP_VERSION, as defined in ntp.h         */
  28.   int ciphered:1; /*  TRUE, if we are using encryption         */
  29.   int ntp_11:1; /*  TRUE, if we may use NTP 1.1 features; should
  30.     better be splitted into different capability
  31.     attributes, but this one simplifies the step
  32.     from NTP 1.1 to NTP 1.2. In the future we'll
  33.     use caps, I promise! :-)   */
  34.   int scan_ids:1;         /*  TRUE, if HOLE and INFO messages should
  35.     contain scan ID's.   */
  36.   int pubkey_auth:1; /* TRUE if the client wants to use public key
  37.        authentification */
  38.   int escape_crlf:1; /* TRUE if the client wants us to escape CRLF
  39.       (they will be replaced by ';' if set to FALSE)
  40.    */
  41.   int md5_caching:1; /* TRUE if the client does not want us to send the
  42.    list of plugins directly, but just the md5 
  43.    hash instead
  44.  */
  45.  
  46.   int plugins_version:1; /* TRUE if the client wants us to send the versions
  47.       of our plugins
  48.  */  
  49.   int timestamps:1; /* TRUE if the client wants us to send timestamps
  50.    regarding the start and end of the whole scan
  51.    and of each server (msg TIME)
  52.  */
  53.   int plugins_cve_id:1; /* the the CVE ID of the plugins along with their version */
  54.   int dns:1; /* send the host name and host ip */
  55.   int dependencies:1; /* send the list of plugins dependencies */
  56.   int fast_login:1;
  57.   int md5_by_name:1;
  58.   int plugins_bugtraq_id:1;
  59.   int plugins_xrefs:1;
  60. } ntp_caps;
  61. #endif /* __NESSUS_DEVEL_H__ */
  62. ExtFunc ntp_caps* comm_init(int);
  63. ExtFunc void comm_terminate(struct arglist *);
  64. ExtFunc void comm_send_pluginlist(struct arglist *);
  65. ExtFunc void comm_send_preferences(struct arglist *);
  66. ExtFunc void comm_send_rules(struct arglist *);
  67. ExtFunc void comm_wait_order(struct arglist *);
  68. ExtFunc void comm_setup_plugins(struct arglist *, char *);
  69. ExtFunc void client_handler();
  70. ExtFunc int comm_send_status(struct arglist *, char *, char *, int, int);
  71. #endif