亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ssl.h

?? OpenVPN is a robust and highly flexible tunneling application that uses all of the encryption, authe
?? H
?? 第 1 頁 / 共 2 頁
字號:
  /* true if we are a TLS server, client otherwise */  bool server;  /* local and remote options strings     that must match between client and server */  const char *local_options;  const char *remote_options;  /* from command line */  int key_method;  bool replay;  bool single_session;  bool disable_occ;  int transition_window;  int handshake_window;  interval_t packet_timeout;  int renegotiate_bytes;  int renegotiate_packets;  interval_t renegotiate_seconds;  /* cert verification parms */  const char *verify_command;  const char *verify_x509name;  const char *crl_file;  /* allow openvpn config info to be     passed over control channel */  bool pass_config_info;  /* use 32 bit or 64 bit packet-id? */  bool packet_id_long_form;  int replay_window;                   /* --replay-window parm */  int replay_time;                     /* --replay-window parm */  /* packet authentication for TLS handshake */  struct crypto_options tls_auth;  struct key_ctx_bi tls_auth_key;  /* frame parameters for TLS control channel */  struct frame frame;};/* index into tls_session.key */#define KS_PRIMARY    0		/* the primary key */#define KS_LAME_DUCK  1		/* the key that's going to retire soon */#define KS_SIZE       2/* * A tls_session lives through multiple key_state life-cycles.  Soft resets * will reuse a tls_session object, but hard resets or errors will require * that a fresh object be built.  Normally three tls_session objects are maintained * by an active openvpn session.  The first is the current, TLS authenticated * session, the second is used to process connection requests from a new * client that would usurp the current session if successfully authenticated, * and the third is used as a repository for a "lame-duck" key in the event * that the primary session resets due to error while the lame-duck key still * has time left before its expiration.  Lame duck keys are used to maintain * the continuity of the data channel connection while a new key is being * negotiated. */struct tls_session{  /* const options and config info */  const struct tls_options *opt;  /* during hard reset used to control burst retransmit */  bool burst;  /* authenticate control packets */  struct crypto_options tls_auth;  struct packet_id tls_auth_pid;  int initial_opcode;		/* our initial P_ opcode */  struct session_id session_id;	/* our random session ID */  int key_id;			/* increments with each soft reset (for key renegotiation) */  int limit_next;               /* used for traffic shaping on the control channel */  int verify_maxlevel;  char *common_name;  /* not-yet-authenticated incoming client */  struct sockaddr_in untrusted_sockaddr;  struct key_state key[KS_SIZE];};/* index into tls_multi.session */#define TM_ACTIVE    0#define TM_UNTRUSTED 1#define TM_LAME_DUCK 2#define TM_SIZE      3/* * The number of keys we will scan on encrypt or decrypt.  The first * is the "active" key.  The second is the lame_duck or retiring key * associated with the active key's session ID.  The third is a detached * lame duck session that only occurs in situations where a key renegotiate * failed on the active key, but a lame duck key was still valid.  By * preserving the lame duck session, we can be assured of having a data * channel key available even when network conditions are so bad that * we can't negotiate a new key within the time allotted. */#define KEY_SCAN_SIZE 3/* * An openvpn session running with TLS enabled has one tls_multi object. */struct tls_multi{  /* used to coordinate access between main thread and TLS thread */  //MUTEX_PTR_DEFINE (mutex);  /* const options and config info */  struct tls_options opt;  /*   * A list of key_state objects in the order they should be   * scanned by data channel encrypt and decrypt routines.   */  struct key_state* key_scan[KEY_SCAN_SIZE];  /*   * used by tls_pre_encrypt to communicate the encrypt key   * to tls_post_encrypt()   */  struct key_state *save_ks;	/* temporary pointer used between pre/post routines */  /*   * Number of sessions negotiated thus far.   */  int n_sessions;  /*   * Number of errors.   *   * Includes:   *   (a) errors due to TLS negotiation failure   *   (b) errors due to unrecognized or failed-to-authenticate   *       incoming packets   */  int n_errors;  /*   * Our session objects.   */  struct tls_session session[TM_SIZE];};/* * Used in --mode server mode to check tls-auth signature on initial * packets received from new clients. */struct tls_auth_standalone{  struct key_ctx_bi tls_auth_key;  struct crypto_options tls_auth_options;  struct frame frame;};void init_ssl_lib (void);void free_ssl_lib (void);/* Build master SSL_CTX object that serves for the whole of openvpn instantiation */SSL_CTX *init_ssl (bool server,		   const char *ca_file,		   const char *dh_file,		   const char *cert_file,		   const char *priv_key_file, const char *cipher_list);struct tls_multi *tls_multi_init (struct tls_options *tls_options);struct tls_auth_standalone *tls_auth_standalone_init (struct tls_options *tls_options,						      struct gc_arena *gc);void tls_auth_standalone_finalize (struct tls_auth_standalone *tas,				   const struct frame *frame);void tls_multi_init_finalize(struct tls_multi *multi,			     const struct frame *frame);void tls_multi_init_set_options(struct tls_multi* multi,				const char *local,				const char *remote);bool tls_multi_process (struct tls_multi *multi,			struct buffer *to_link,			struct sockaddr_in *to_link_addr,			struct link_socket_info *to_link_socket_info,			interval_t *wakeup);void tls_multi_free (struct tls_multi *multi, bool clear);bool tls_pre_decrypt (struct tls_multi *multi,		      struct sockaddr_in *from,		      struct buffer *buf,		      struct crypto_options *opt);bool tls_pre_decrypt_lite (const struct tls_auth_standalone *tas,			   const struct sockaddr_in *from,			   const struct buffer *buf);void tls_pre_encrypt (struct tls_multi *multi,		      struct buffer *buf, struct crypto_options *opt);void tls_post_encrypt (struct tls_multi *multi, struct buffer *buf);void show_available_tls_ciphers (void);void get_highest_preference_tls_cipher (char *buf, int size);int pem_password_callback (char *buf, int size, int rwflag, void *u);void tls_set_verify_command (const char *cmd);void tls_set_crl_verify (const char *crl);void tls_set_verify_x509name (const char *x509name);int get_max_tls_verify_id (struct tls_multi* multi);const char *tls_common_name (struct tls_multi* multi, bool null);void tls_adjust_frame_parameters(struct frame *frame);bool tls_send_payload (struct tls_multi *multi,		       const struct buffer *buf);bool tls_rec_payload (struct tls_multi *multi,		      struct buffer *buf);/* * inline functions */static inline inttls_test_payload_len (const struct tls_multi *multi){  if (multi)    {      const struct key_state *ks = &multi->session[TM_ACTIVE].key[KS_PRIMARY];      if (ks->state >= S_ACTIVE)	return BLEN (&ks->plaintext_read_buf);    }  return 0;}/* * protocol_dump() flags */#define PD_TLS_AUTH_HMAC_SIZE_MASK 0xFF#define PD_SHOW_DATA               (1<<8)#define PD_TLS                     (1<<9)#define PD_VERBOSE                 (1<<10)const char *protocol_dump (struct buffer *buffer,			   unsigned int flags,			   struct gc_arena *gc);/* * debugging code */#ifdef MEASURE_TLS_HANDSHAKE_STATSvoid show_tls_performance_stats(void);#endif#endif /* USE_CRYPTO && USE_SSL */#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草91视频| 欧美亚洲日本一区| 欧美亚洲国产bt| 国产日韩欧美一区二区三区综合| 最近日韩中文字幕| 韩国av一区二区三区四区| 色综合久久99| 中文字幕欧美日本乱码一线二线| 午夜精品福利在线| 91污片在线观看| 中文在线一区二区| 久久精品国产色蜜蜜麻豆| 欧美高清激情brazzers| 亚洲视频精选在线| 99riav久久精品riav| 国产色产综合产在线视频| 日韩精品成人一区二区在线| 色一情一伦一子一伦一区| 亚洲国产精品ⅴa在线观看| 国产精品一区一区| 精品国产成人系列| 久久97超碰色| 国产精品视频yy9299一区| 日韩激情视频在线观看| 欧美精品一二三区| 日本va欧美va精品发布| 欧美性生活影院| 日韩专区中文字幕一区二区| 欧美亚洲丝袜传媒另类| 亚洲444eee在线观看| 欧美色成人综合| 污片在线观看一区二区| 91.com在线观看| 午夜精品福利久久久| 欧美一区二区三区在线观看 | 国产亚洲人成网站| 激情伊人五月天久久综合| 精品国产制服丝袜高跟| 精品一区二区精品| 久久先锋影音av鲁色资源网| 国产成人综合精品三级| 国产精品美女久久久久久久| 色综合天天天天做夜夜夜夜做| 亚洲欧美日韩小说| 欧美日韩国产免费一区二区| 日本不卡的三区四区五区| 精品福利二区三区| 不卡av电影在线播放| 亚洲精选视频免费看| 欧美日韩国产欧美日美国产精品| 日本成人在线网站| 欧美激情在线观看视频免费| 97精品久久久午夜一区二区三区| 亚洲与欧洲av电影| 亚洲精品一区二区三区香蕉| 成人综合在线观看| 亚洲福利一区二区| 久久综合av免费| 欧美性猛交xxxxxxxx| 国产在线精品视频| 伊人夜夜躁av伊人久久| 日韩视频一区二区三区| 成人激情小说网站| 日韩vs国产vs欧美| 中文字幕一区二区不卡| 91精品国产综合久久久久久久 | 日韩国产一二三区| 精品国产91九色蝌蚪| 色婷婷久久久亚洲一区二区三区| 日韩精品一级二级 | 日本一区二区电影| 欧美丝袜自拍制服另类| 国产经典欧美精品| 亚洲成人精品影院| 国产精品青草综合久久久久99| 欧美午夜一区二区三区 | 免费高清视频精品| 中文字幕一区二区三区四区| 日韩精品一区二区三区蜜臀| 99久久免费精品高清特色大片| 日韩精彩视频在线观看| 亚洲欧美国产毛片在线| 久久久一区二区三区| 在线成人小视频| 91片在线免费观看| 成人一区二区三区在线观看| 免费观看一级特黄欧美大片| 一区二区三区在线不卡| 欧美激情一区二区三区不卡| 欧美va亚洲va国产综合| 欧美午夜精品久久久| av中文一区二区三区| 国产一区二区三区视频在线播放| 五月婷婷综合网| 亚洲免费电影在线| 国产精品久久综合| 国产亚洲精品精华液| 欧美精品一区二| 精品国产一二三区| 欧美一级高清大全免费观看| 在线观看免费视频综合| 色综合久久88色综合天天| 成人自拍视频在线观看| 国产成人精品三级| 国产九色精品成人porny| 国内精品国产成人国产三级粉色| 男女男精品视频| 日韩电影免费在线| 日韩av一二三| 美女脱光内衣内裤视频久久网站| 日韩激情视频网站| 日本va欧美va精品| 久久电影网电视剧免费观看| 免费久久99精品国产| 美女视频一区二区| 国内国产精品久久| 国产精品一区专区| 国产成人精品免费在线| av在线播放成人| 91麻豆.com| 欧美在线观看一二区| 欧美日韩电影在线播放| 日韩三级在线观看| 精品福利在线导航| 国产精品第五页| 一区二区三区免费观看| 亚洲自拍欧美精品| 男人操女人的视频在线观看欧美| 精品一区二区成人精品| 国产传媒久久文化传媒| 色综合久久中文综合久久97 | caoporm超碰国产精品| 色综合久久久网| 欧美日韩你懂的| 亚洲精品在线电影| 亚洲精品少妇30p| 日韩高清一区在线| 成人手机电影网| 欧美日韩另类一区| 欧美变态口味重另类| 综合久久给合久久狠狠狠97色| 一区二区三区在线视频观看58 | 91亚洲精品乱码久久久久久蜜桃| 色综合久久久久| 日韩精品一区二区三区视频 | 丁香婷婷综合激情五月色| 不卡的av在线| 欧美绝品在线观看成人午夜影视| 日韩欧美专区在线| 亚洲图片激情小说| 日韩电影在线观看电影| eeuss影院一区二区三区| 欧美日韩精品一区二区天天拍小说 | 欧美午夜精品久久久久久超碰 | 精品区一区二区| 亚洲狼人国产精品| 久久狠狠亚洲综合| 91免费看片在线观看| 日韩午夜在线影院| 一区二区三区中文免费| 久久66热re国产| 欧洲精品视频在线观看| 久久九九久精品国产免费直播| 亚洲精品老司机| 人禽交欧美网站| 色婷婷国产精品久久包臀| 久久影音资源网| 蜜桃精品在线观看| 欧美三级电影在线观看| 综合激情网...| 国产精品18久久久久久久网站| 在线日韩国产精品| 国产精品视频一二| 国产激情精品久久久第一区二区| 欧美日韩国产123区| 亚洲毛片av在线| av一区二区三区黑人| 久久精品在线观看| 国产自产2019最新不卡| 日韩欧美国产三级| 日日嗨av一区二区三区四区| 91麻豆蜜桃一区二区三区| 欧美韩国日本综合| 国产在线国偷精品产拍免费yy| 日韩视频123| 久久精品国产在热久久| 91精品国产色综合久久久蜜香臀| 一区二区三区日韩欧美| 91浏览器在线视频| 亚洲欧美韩国综合色| 91在线精品一区二区| 亚洲在线免费播放| 欧美视频完全免费看| 亚洲一区二区偷拍精品| 92精品国产成人观看免费| 国产精品九色蝌蚪自拍| 99久久精品一区| 亚洲素人一区二区| 欧美中文字幕亚洲一区二区va在线| 日韩毛片精品高清免费|