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

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

?? connections.h

?? This a good VPN source
?? H
字號:
/* information about connections between hosts and clients * Copyright (C) 1998-2001  D. Hugh Redelmeier * * 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.  See <http://www.fsf.org/copyleft/gpl.txt>. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License * for more details. * * RCSID $Id: connections.h,v 1.98 2004/10/25 01:41:33 mcr Exp $ *//* There are two kinds of connections: * - ISAKMP connections, between hosts (for IKE communication) * - IPsec connections, between clients (for secure IP communication) * * An ISAKMP connection looks like: *   host<--->host * * An IPsec connection looks like: *   client-subnet<-->host<->nexthop<--->nexthop<->host<-->client-subnet * * For the connection to be relevant to this instance of Pluto, * exactly one of the hosts must be a public interface of our machine * known to this instance. * * The client subnet might simply be the host -- this is a * representation of "host mode". * * Each nexthop defaults to the neighbouring host's IP address. * The nexthop is a property of the pair of hosts, not each * individually.  It is only needed for IPsec because of the * way IPsec is mixed into the kernel routing logic.  Furthermore, * only this end's nexthop is actually used.  Eventually, nexthop * will be unnecessary. * * Other information represented: * - each connection has a name: a chunk of uninterpreted text *   that is unique for each connection. * - security requirements (currently just the "policy" flags from *   the whack command to initiate the connection, but eventually *   much more.  Different for ISAKMP and IPsec connections. * - rekeying parameters: *   + time an SA may live *   + time before SA death that a rekeying should be attempted *     (only by the initiator) *   + number of times to attempt rekeying * - With the current KLIPS, we must route packets for a client *   subnet through the ipsec interface (ipsec0).  Only one *   gateway can get traffic for a specific (client) subnet. *   Furthermore, if the routing isn't in place, packets will *   be sent in the clear. *   "routing" indicates whether the routing has been done for *   this connection.  Note that several connections may claim *   the same routing, as long as they agree about where the *   packets are to be sent. * - With the current KLIPS, only one outbound IPsec SA bundle can be *   used for a particular client.  This is due to a limitation *   of using only routing for selection.  So only one IPsec state (SA) *   may "own" the eroute.  "eroute_owner" is the serial number of *   this state, SOS_NOBODY if there is none.  "routing" indicates *   what kind of erouting has been done for this connection, if any. * * Details on routing is in constants.h * * Operations on Connections: * * - add a new connection (with all details) [whack command] * - delete a connection (by name) [whack command] * - initiate a connection (by name) [whack command] * - find a connection (by IP addresses of hosts) *   [response to peer request; finding ISAKMP connection for IPsec connection] * * Some connections are templates, missing the address of the peer * (represented by INADDR_ANY).  These are always arranged so that the * missing end is "that" (there can only be one missing end).  These can * be instantiated (turned into real connections) by Pluto in one of two * different ways: Road Warrior Instantiation or Opportunistic * Instantiation.  A template connection is marked for Opportunistic * Instantiation by specifying the peer client as 0.0.0.0/32 (or the IPV6 * equivalent).  Otherwise, it is suitable for Road Warrior Instantiation. * * Instantiation creates a new temporary connection, with the missing * details filled in.  The resulting template lasts only as long as there * is a state that uses it. *//* connection policy priority: how important this policy is * - used to implement eroute-like precedence (augmented by a small *   bonus for a routed connection). * - a whole number * - larger is more important * - three subcomponents.  In order of decreasing significance: *   + length of source subnet mask (8 bits) *   + length of destination subnet mask (8 bits) *   + bias (8 bit) * - a bias of 1 is added to allow prio BOTTOM_PRIO to be less than all *   normal priorities * - other bias values are created on the fly to give mild preference *   to certaion conditions (eg. routedness) * - priority is inherited -- an instance of a policy has the same priority *   as the original policy, even though its subnets might be smaller. * - display format: n,m */typedef unsigned long policy_prio_t;#define BOTTOM_PRIO   ((policy_prio_t)0)	/* smaller than any real prio */#define set_policy_prio(c) { (c)->prio = \	((policy_prio_t)(c)->spd.this.client.maskbits << 16) \	| ((policy_prio_t)(c)->spd.that.client.maskbits << 8) \	| (policy_prio_t)1; }#define POLICY_PRIO_BUF	(3+1+3+1)extern void fmt_policy_prio(policy_prio_t pp, char buf[POLICY_PRIO_BUF]);/* Note that we include this even if not X509, because we do not want the * structures to change lots. */#include "x509.h"#include "pgp.h"#include "certs.h"#include "smartcard.h"#ifdef VIRTUAL_IPstruct virtual_t;#endif#ifdef XAUTH_USEPAM#include <security/pam_appl.h>#endif#ifdef VIRTUAL_IPstruct virtual_t;#endifstruct ietfAttr;	/* forward declaration of ietfAttr defined in ac.h */struct end {    struct id id;    ip_address	host_addr,	host_nexthop,	host_srcip;    ip_subnet client;        bool key_from_DNS_on_demand;    bool has_client;    bool has_client_wildcard;    bool has_port_wildcard;    bool has_id_wildcards;    char *updown;    u_int16_t host_port;	/* host order */    u_int16_t port;		/* host order */    u_int8_t protocol;    cert_t cert;		/* end certificate */    chunk_t ca;			/* CA distinguished name */    struct ietfAttrList *groups;/* access control groups */    smartcard_t *sc;		/* smartcard reader and key info */#ifdef VIRTUAL_IP    struct virtual_t *virt;#endif    bool xauth_server;    bool xauth_client;    bool modecfg_server;        /* Give local addresses to tunnel's end */    bool modecfg_client;        /* request address for local end */    enum certpolicy sendcert;   /* whether or not to send the certificate */};struct spd_route {    struct spd_route *next;    struct end this;    struct end that;    so_serial_t eroute_owner;    enum routing_t routing;	/* level of routing in place */    uint32_t reqid;};struct connection {    char *name;    lset_t policy;    time_t sa_ike_life_seconds;    time_t sa_ipsec_life_seconds;    time_t sa_rekey_margin;    unsigned long sa_rekey_fuzz;    unsigned long sa_keying_tries;    /* RFC 3706 DPD */    time_t          dpd_delay;    time_t          dpd_timeout;    enum dpd_action dpd_action;    bool               forceencaps;         /* always use NAT-T encap */    char              *log_file_name;       /* name of log file */    FILE              *log_file;            /* possibly open FILE */    CIRCLEQ_ENTRY(connection) log_link;     /* linked list of open conns */    bool               log_file_err;        /* only bitch once */    struct spd_route spd;    /* internal fields: */    unsigned long instance_serial;    policy_prio_t prio;    bool instance_initiation_ok;	/* this is an instance of a policy that mandates initiate */    enum connection_kind kind;    const struct iface *interface;	/* filled in iff oriented */    bool initiated;    so_serial_t	/* state object serial number */	newest_isakmp_sa,	newest_ipsec_sa;#ifdef DEBUG    lset_t extra_debugging;#endif    /* note: if the client is the gateway, the following must be equal */    sa_family_t addr_family;		/* between gateways */    sa_family_t tunnel_addr_family;	/* between clients */    struct connection *policy_next; /* if multiple policies,				       next one to apply */    struct gw_info *gw_info;    struct alg_info_esp *alg_info_esp;    struct alg_info_ike *alg_info_ike;    struct host_pair *host_pair;    struct connection *hp_next;	/* host pair list link */    struct connection *ac_next;	/* all connections list link */        generalName_t *requested_ca;	/* collected certificate requests */#ifdef XAUTH_USEPAM    pam_handle_t  *pamh;		/*  PAM handle for that connection  */#endif};#define oriented(c) ((c).interface != NULL)extern bool orient(struct connection *c);extern bool same_peer_ids(const struct connection *c    , const struct connection *d, const struct id *his_id);/* Format the topology of a connection end, leaving out defaults. * Largest left end looks like: client === host : port [ host_id ] --- hop * Note: if that==NULL, skip nexthop */#define END_BUF	(SUBNETTOT_BUF + ADDRTOT_BUF + IDTOA_BUF + ADDRTOT_BUF + 10)extern size_t format_end(char *buf, size_t buf_len    , const struct end *this, const struct end *that    , bool is_left, lset_t policy);struct whack_message;	/* forward declaration of tag whack_msg */extern void add_connection(const struct whack_message *wm);extern void initiate_connection(const char *name				, int whackfd				, enum crypto_importance importance);extern void initiate_opportunistic(const ip_address *our_client    , const ip_address *peer_client, int transport_proto, bool held, int whackfd, err_t why);extern void terminate_connection(const char *nm);extern void release_connection(struct connection *c, bool relations);extern void delete_connection(struct connection *c, bool relations);extern void delete_connections_by_name(const char *name, bool strict);extern void delete_every_connection(void);extern char *add_group_instance(struct connection *group, const ip_subnet *target);extern void remove_group_instance(const struct connection *group, const char *name);extern void release_dead_interfaces(void);extern void check_orientations(void);extern struct connection *route_owner(struct connection *c				      , struct spd_route **srp				      , struct connection **erop				      , struct spd_route **esrp);extern struct connection *shunt_owner(const ip_subnet *ours    , const ip_subnet *his);extern bool uniqueIDs;	/* --uniqueids? */extern void ISAKMP_SA_established(struct connection *c, so_serial_t serial);#define his_id_was_instantiated(c) ((c)->kind == CK_INSTANCE \    && (id_is_ipaddr(&(c)->spd.that.id)? \    sameaddr(&(c)->spd.that.id.ip_addr, &(c)->spd.that.host_addr) : TRUE))struct state;	/* forward declaration of tag (defined in state.h) */extern struct connection    *con_by_name(const char *nm, bool strict),    *find_host_connection(const ip_address *me, u_int16_t my_port	, const ip_address *him, u_int16_t his_port),    *refine_host_connection(const struct state *st, const struct id *id	, bool initiator, bool aggrmode),    *find_client_connection(struct connection *c			    , const ip_subnet *our_net			    , const ip_subnet *peer_net			    , const u_int8_t our_protocol			    , const u_int16_t out_port			    , const u_int8_t peer_protocol			    , const u_int16_t peer_port),    *find_connection_by_reqid(uint32_t reqid);extern struct connection *find_connection_for_clients(struct spd_route **srp			    , const ip_address *our_client			    , const ip_address *peer_client 			    , int transport_proto);			    /* instantiating routines * Note: connection_discard() is in state.h because all its work * is looking through state objects. */struct gw_info;	/* forward declaration of tag (defined in dnskey.h) */struct alg_info;	/* forward declaration of tag (defined in alg_info.h) */extern struct connection *rw_instantiate(struct connection *c					 , const ip_address *him#ifdef NAT_TRAVERSAL					 , u_int16_t his_port#endif#ifdef VIRTUAL_IP					 , const ip_subnet *his_net#endif					 					 , const struct id *his_id);extern struct connection *oppo_instantiate(struct connection *c					   , const ip_address *him					   , const struct id *his_id					   , struct gw_info *gw					   , const ip_address *our_client					   , const ip_address *peer_client);extern struct connection  *build_outgoing_opportunistic_connection(struct gw_info *gw					   , const ip_address *our_client					   , const ip_address *peer_client);/* worst case: "[" serial "] " myclient "=== ..." peer "===" hisclient '\0' */#define CONN_INST_BUF \    (2 + 10 + 1 + SUBNETTOT_BUF + 7 + ADDRTOT_BUF + 3 + SUBNETTOT_BUF + 1)extern void fmt_conn_instance(const struct connection *c    , char buf[CONN_INST_BUF]);/* operations on "pending", the structure representing Quick Mode * negotiations delayed until a Keying Channel has been negotiated. */struct pending;	/* forward declaration (opaque outside connections.c) */extern void add_pending(int whack_sock    , struct state *isakmp_sa    , struct connection *c    , lset_t policy    , unsigned long try    , so_serial_t replacing);extern void release_pending_whacks(struct state *st, err_t story);extern void unpend(struct state *st);extern void update_pending(struct state *os, struct state *ns);extern void flush_pending_by_state(struct state *st);extern void show_pending_phase2(const struct host_pair *hp, const struct state *st);extern void connection_discard(struct connection *c);/* A template connection's eroute can be eclipsed by * either a %hold or an eroute for an instance iff * the template is a /32 -> /32.  This requires some special casing. */#define eclipsable(sr) (subnetishost(&(sr)->this.client) && subnetishost(&(sr)->that.client))extern long eclipse_count;extern struct connection *eclipsed(struct connection *c, struct spd_route **);/* print connection status */extern void show_connections_status(void);extern int  connection_compare(const struct connection *ca			       , const struct connection *cb);#ifdef NAT_TRAVERSALvoidupdate_host_pair(const char *why, struct connection *c,       const ip_address *myaddr, u_int16_t myport ,       const ip_address *hisaddr, u_int16_t hisport);#endif /* NAT_TRAVERSAL *//* * Local Variables: * c-basic-offset:4 * c-style: pluto * End: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久新电视剧免费观看| 一本大道综合伊人精品热热| 欧美一区二区日韩一区二区| 亚洲一本大道在线| 欧美日韩国产精品成人| 亚洲国产中文字幕在线视频综合| 欧美亚洲尤物久久| 蜜桃一区二区三区在线| 精品毛片乱码1区2区3区| 国产呦精品一区二区三区网站| 久久久久久99久久久精品网站| 国产成人免费av在线| 亚洲欧美综合网| 欧美体内she精高潮| 乱中年女人伦av一区二区| 精品久久久久久久人人人人传媒| 国产91精品露脸国语对白| 亚洲欧美在线视频| 91麻豆精品久久久久蜜臀| 国内精品久久久久影院薰衣草| 国产精品三级av在线播放| 欧美性猛片xxxx免费看久爱| 免费看欧美美女黄的网站| 国产网站一区二区三区| 日本乱人伦一区| 日韩不卡在线观看日韩不卡视频| 久久老女人爱爱| 91精彩视频在线| 极品少妇一区二区三区精品视频| 国产精品久久久久久久久图文区| 欧美日韩免费观看一区三区| 韩国三级电影一区二区| 亚洲自拍偷拍网站| 久久蜜桃香蕉精品一区二区三区| 色婷婷av一区二区三区软件| 精品伊人久久久久7777人| 亚洲乱码国产乱码精品精小说| 欧美一级欧美三级在线观看| 99久久精品免费| 日本不卡视频一二三区| 亚洲欧洲色图综合| 精品1区2区在线观看| 欧美做爰猛烈大尺度电影无法无天| 久久精品国产99国产精品| 亚洲男同性恋视频| 久久欧美中文字幕| 欧美乱妇23p| heyzo一本久久综合| 久草精品在线观看| 亚洲小少妇裸体bbw| 亚洲欧洲日韩女同| www精品美女久久久tv| 欧美日韩中字一区| 不卡av在线免费观看| 狠狠色丁香久久婷婷综| 亚洲大片一区二区三区| 综合激情网...| 国产日韩欧美激情| 欧美精品一区二区三| 91精品国产欧美一区二区18| 欧美在线一二三| 91丨九色丨蝌蚪富婆spa| 国产精品自拍毛片| 蜜桃视频免费观看一区| 五月天婷婷综合| 亚洲成人久久影院| 亚洲综合精品自拍| 亚洲一区免费视频| 亚洲美女在线国产| 亚洲女人的天堂| 中文字幕一区二区三区四区| 国产精品三级在线观看| 国产日韩精品一区二区浪潮av| 日韩欧美在线网站| 91精品国产91久久综合桃花| 欧美日韩亚洲丝袜制服| 色av成人天堂桃色av| 色系网站成人免费| 在线观看日韩电影| 欧美综合一区二区三区| 在线观看一区日韩| 在线免费观看不卡av| 欧洲精品视频在线观看| 欧美丝袜第三区| 欧美日韩视频专区在线播放| 欧美精品日韩精品| 日韩一级完整毛片| 2023国产精品| 国产精品免费丝袜| 日韩一区欧美一区| 亚洲综合色区另类av| 亚洲第一久久影院| 天堂午夜影视日韩欧美一区二区| 亚洲香肠在线观看| 蜜桃av噜噜一区| 国产成人av资源| 99精品久久只有精品| 91久久精品一区二区| 欧美视频在线播放| 欧美电影免费观看完整版| 2020国产精品| 中文字幕在线免费不卡| 亚洲精品国产精华液| 三级在线观看一区二区| 九色|91porny| av一区二区三区四区| 欧美专区亚洲专区| 精品免费一区二区三区| 欧美国产激情一区二区三区蜜月| 亚洲日本护士毛茸茸| 天堂在线一区二区| 国产成人精品三级麻豆| 欧美中文一区二区三区| 精品国产伦理网| 亚洲素人一区二区| 日本最新不卡在线| 国产91丝袜在线播放九色| 色偷偷一区二区三区| 欧美成人乱码一区二区三区| 国产精品福利一区| 日韩成人免费电影| 91一区二区在线观看| 制服丝袜一区二区三区| 国产精品美女久久久久久久久 | 国产精品视频线看| 亚洲一区二区三区四区的| 国产一区二区三区四区在线观看| 色综合色综合色综合色综合色综合| 日韩欧美国产wwwww| 亚洲伦理在线免费看| 国产精品一区二区不卡| 欧美日韩高清一区二区不卡| 中文字幕欧美三区| 免费高清视频精品| 欧美伊人久久久久久久久影院| 久久精品视频在线看| 日本女人一区二区三区| 色综合网站在线| 国产人伦精品一区二区| 日本不卡的三区四区五区| 色诱亚洲精品久久久久久| 久久久精品综合| 日本不卡一二三| 欧美视频一区二区三区在线观看| 国产精品无遮挡| 国产一区二区三区| 日韩一区二区三区av| 亚洲国产美国国产综合一区二区| 欧美在线视频你懂得| 中日韩免费视频中文字幕| 九一久久久久久| 91精品国产综合久久久蜜臀粉嫩 | 97aⅴ精品视频一二三区| 久久午夜电影网| 精品一区二区三区在线播放视频| 欧美午夜电影网| 亚洲综合色区另类av| 91丝袜国产在线播放| 国产精品色在线| 成人精品国产福利| 国产清纯白嫩初高生在线观看91| 韩国成人精品a∨在线观看| 日韩亚洲电影在线| 青青草97国产精品免费观看 | 99久久精品免费精品国产| 国产喷白浆一区二区三区| 久久99久久精品欧美| 精品国产乱码久久久久久闺蜜| 免费日韩伦理电影| 日韩精品一区二区三区视频在线观看| 日韩中文字幕亚洲一区二区va在线| 欧美日韩国产精品自在自线| 性感美女久久精品| 91精品国产综合久久国产大片| 日本特黄久久久高潮| 日韩欧美一级特黄在线播放| 乱一区二区av| 国产人伦精品一区二区| www.久久精品| 亚洲综合视频在线观看| 欧美日韩1区2区| 久久电影网站中文字幕| 久久久一区二区三区捆绑**| 国产成人免费视频| 日韩伦理免费电影| 欧美日韩一级视频| 蜜桃视频在线一区| 国产欧美一区二区三区在线看蜜臀 | 亚洲自拍偷拍综合| 欧美日韩国产首页| 美国欧美日韩国产在线播放| 5月丁香婷婷综合| 国产在线看一区| 国产精品国产三级国产有无不卡 | 欧美va日韩va| 成人少妇影院yyyy| 亚洲综合色区另类av| 日韩精品一区二区三区中文不卡| 国产精品一区二区你懂的| 中文字幕欧美一|