本文整理汇总了C++中clone_str函数的典型用法代码示例。如果您正苦于以下问题:C++ clone_str函数的具体用法?C++ clone_str怎么用?C++ clone_str使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clone_str函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: lsw_conf_setdefault
void lsw_conf_setdefault(void)
{
char buf[PATH_MAX];
char *ipsec_conf_dir = FINALCONFDIR;
char *ipsecd_dir = FINALCONFDDIR;
char *conffile = FINALCONFFILE;
char *var_dir = FINALVARDIR;
char *env;
#if 0
char *exec_dir = FINALLIBEXECDIR;
char *lib_dir = FINALLIBDIR;
char *sbin_dir = FINALSBINDIR;
#endif
memset(&global_oco, 0, sizeof(global_oco));
/* allocate them all to make it consistent */
ipsec_conf_dir = clone_str(ipsec_conf_dir, "default conf ipsec_conf_dir");
ipsecd_dir = clone_str(ipsecd_dir, "default conf ipsecd_dir");
conffile = clone_str(conffile, "default conf conffile");
var_dir = clone_str(var_dir, "default conf var_dir");
global_oco.rootdir = "";
global_oco.confddir= ipsecd_dir;
global_oco.vardir = var_dir;
global_oco.confdir = ipsec_conf_dir;
global_oco.conffile = conffile;
/* path to NSS password file */
snprintf(buf, sizeof(buf), "%s/nsspassword", global_oco.confddir);
NSSPassword.data = clone_str(buf, "nss password file path");
NSSPassword.source = PW_FROMFILE;
/* DBG_log("default setting of ipsec.d to %s", global_oco.confddir); */
}
开发者ID:st3fan,项目名称:libreswan,代码行数:34,代码来源:lswconf.c
示例2: lsw_init_ipsecdir
void lsw_init_ipsecdir(const char *ipsec_dir)
{
if (!setup)
lsw_conf_setdefault();
global_oco.confddir = clone_str(ipsec_dir, "override ipsec.d");
global_oco.nssdir = clone_str(ipsec_dir, "override nssdir");
lsw_conf_calculate(&global_oco);
setup = TRUE;
libreswan_log("adjusting ipsec.d to %s", global_oco.confddir);
}
开发者ID:lkundrak,项目名称:libreswan,代码行数:11,代码来源:lswconf.c
示例3: osw_conf_setdefault
void osw_conf_setdefault(void)
{
char buf[PATH_MAX];
char *ipsec_conf_dir = FINALCONFDIR;
char *ipsecd_dir = FINALCONFDDIR;
char *conffile = FINALCONFFILE;
char *var_dir = FINALVARDIR;
char *env;
#if 0
char *exec_dir = FINALLIBEXECDIR;
char *lib_dir = FINALLIBDIR;
char *sbin_dir = FINALSBINDIR;
#endif
memset(&global_oco, 0, sizeof(global_oco));
/* allocate them all to make it consistent */
ipsec_conf_dir = clone_str(ipsec_conf_dir, "default conf ipsec_conf_dir");
ipsecd_dir = clone_str(ipsecd_dir, "default conf ipsecd_dir");
conffile = clone_str(conffile, "default conf conffile");
var_dir = clone_str(var_dir, "default conf var_dir");
/* figure out what we are doing, look for variables in the environment */
if((env = getenv("IPSEC_CONFS")) != NULL) {
pfree(ipsec_conf_dir);
ipsec_conf_dir = clone_str(env, "ipsec_confs");
/* if they change IPSEC_CONFS, reassign ipsecd as well */
snprintf(buf, sizeof(buf), "%s/ipsec.d", ipsec_conf_dir);
pfree(ipsecd_dir);
ipsecd_dir = clone_str(buf, "ipsecdir");
/* if they change IPSEC_CONFS, reassign ipsec policies as well */
snprintf(buf, sizeof(buf), "%s/ipsec.conf", ipsec_conf_dir);
pfree(conffile);
conffile = clone_str(buf, "ipsec.conf");
}
if((env = getenv("IPSEC_CONFFILE")) != NULL) {
pfree(conffile);
pfree(ipsec_conf_dir);
conffile = clone_str(env, "ipsec.conf");
}
global_oco.rootdir = "";
global_oco.confddir= ipsecd_dir;
global_oco.vardir = var_dir;
global_oco.confdir = ipsec_conf_dir;
global_oco.conffile = conffile;
#ifdef HAVE_LIBNSS
/* path to NSS password file */
snprintf(buf, sizeof(buf), "%s/nsspassword", global_oco.confddir);
NSSPassword.data = clone_str(buf, "nss password file path");
NSSPassword.source = PW_FROMFILE;
#endif
/* DBG_log("default setting of ipsec.d to %s", global_oco.confddir); */
}
开发者ID:JetStreamPilot,项目名称:Openswan,代码行数:58,代码来源:oswconf.c
示例4: osw_conf_calculate
static void osw_conf_calculate(struct osw_conf_options *oco)
{
char buf[PATH_MAX];
/* calculate paths to certain subdirs */
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/acerts"), oco->confddir);
oco->acerts_dir = clone_str(buf, "acert path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/cacerts"), oco->confddir);
oco->cacerts_dir = clone_str(buf, "cacert path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/crls"), oco->confddir);
oco->crls_dir = clone_str(buf, "crls path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/private"), oco->confddir);
oco->private_dir = clone_str(buf, "private path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/certs"), oco->confddir);
oco->certs_dir = clone_str(buf, "certs path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/aacerts"), oco->confddir);
oco->aacerts_dir = clone_str(buf, "aacerts path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/ocspcerts"), oco->confddir);
oco->ocspcerts_dir = clone_str(buf, "ocspcerts path");
snprintf(buf, sizeof(buf), "%s/policies", oco->confddir);
oco->policies_dir = clone_str(buf, "policies path");
}
开发者ID:JetStreamPilot,项目名称:Openswan,代码行数:29,代码来源:oswconf.c
示例5: lsw_conf_calculate
static void lsw_conf_calculate(struct lsw_conf_options *oco)
{
char buf[PATH_MAX];
/* will be phased out for NSS in the near future */
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/cacerts"), oco->confddir);
oco->cacerts_dir = clone_str(buf, "cacert path");
snprintf(buf, sizeof(buf), "%s" SUBDIRNAME("/crls"), oco->confddir);
oco->crls_dir = clone_str(buf, "crls path");
/* old OE policies - might get re-used in the near future */
snprintf(buf, sizeof(buf), "%s/policies", oco->confddir);
oco->policies_dir = clone_str(buf, "policies path");
}
开发者ID:lkundrak,项目名称:libreswan,代码行数:15,代码来源:lswconf.c
示例6: key_add_continue
static void key_add_continue(struct adns_continuation *ac, err_t ugh)
{
struct key_add_continuation *kc = (void *) ac;
struct key_add_common *oc = kc->common;
passert(whack_log_fd == NULL_FD);
whack_log_fd = oc->whack_fd;
if (ugh != NULL)
{
oc->diag[kc->lookingfor] = clone_str(ugh);
}
else
{
oc->success = TRUE;
transfer_to_public_keys(kc->ac.gateways_from_dns
#ifdef USE_KEYRR
, &kc->ac.keys_from_dns
#endif /* USE_KEYRR */
);
}
oc->refCount--;
key_add_merge(oc, ac->id);
whack_log_fd = NULL_FD;
}
开发者ID:ramarnat,项目名称:astaro-strongswan,代码行数:26,代码来源:rcv_whack.c
示例7: mapper_find_user
static char * mapper_find_user(X509 *x509,void *context,int *mp) {
if ( !x509 ) return NULL;
if (match) {
*mp = 1;
return clone_str((char *)default_user);
}
return NULL;
}
开发者ID:OpenSC,项目名称:pam_pkcs11,代码行数:8,代码来源:null_mapper.c
示例8: clone_str
const struct osw_conf_options *osw_init_rootdir(const char *root_dir)
{
if(!setup) osw_conf_setdefault();
global_oco.rootdir = clone_str(root_dir, "override /");
osw_conf_calculate(&global_oco);
setup = TRUE;
return &global_oco;
}
开发者ID:JetStreamPilot,项目名称:Openswan,代码行数:9,代码来源:oswconf.c
示例9: calc_myid_str
static void calc_myid_str(enum myid_state s)
{
/* preformat the ID name */
char buf[IDTOA_BUF];
idtoa(&myids[s], buf, IDTOA_BUF);
/* replace() uses pfreeany() */
replace(myid_str[s], clone_str(buf, "myid string"));
}
开发者ID:yottanami,项目名称:libreswan,代码行数:9,代码来源:myid.c
示例10: lsw_init_rootdir
/* This is only used in testing/crypto (and formerly in testing/lib/libpluto) */
void lsw_init_rootdir(const char *root_dir)
{
if (!setup)
lsw_conf_setdefault();
pfreeany(global_oco.rootdir);
global_oco.rootdir = clone_str(root_dir, "override /");
lsw_conf_calculate(&global_oco);
setup = TRUE;
}
开发者ID:lkundrak,项目名称:libreswan,代码行数:10,代码来源:lswconf.c
示例11: use_interface
/* Called to handle --interface <ifname>
* Semantics: if specified, only these (real) interfaces are considered.
*/
bool use_interface(const char *rifn)
{
if (pluto_ifn_inst[0] == '\0')
pluto_ifn_inst = clone_str(rifn, "genifn");
if (pluto_ifn_roof >= (int)elemsof(pluto_ifn)) {
return FALSE;
} else {
pluto_ifn[pluto_ifn_roof++] = rifn;
return TRUE;
}
}
开发者ID:hydromet,项目名称:libreswan,代码行数:15,代码来源:sysdep_linux.c
示例12: alloc_thing
struct starter_conn *alloc_add_conn(struct starter_config *cfg, const char *name)
{
struct starter_conn *conn = alloc_thing(struct starter_conn, "add_conn starter_conn");
conn_default(conn, &cfg->conn_default);
conn->name = clone_str(name, "add conn name");
conn->desired_state = STARTUP_IGNORE;
conn->state = STATE_FAILED;
TAILQ_INIT(&conn->comments);
TAILQ_INSERT_TAIL(&cfg->conns, conn, link);
return conn;
}
开发者ID:rgbriggs,项目名称:libreswan,代码行数:14,代码来源:confread.c
示例13: krb_mapper_find_user
/*
parses the certificate and return the email entry found, or NULL
*/
static char * krb_mapper_find_user(X509 *x509, void *context, int *match) {
char *res;
char **entries= cert_info(x509,CERT_KPN,ALGORITHM_NULL);
if (!entries) {
DBG("get_krb_principalname() failed");
return NULL;
}
DBG1("trying to map kpn entry '%s'",entries[0]);
res = mapfile_find("none",entries[0],0,match);
if (!res) {
DBG("Error in map process");
return NULL;
}
return clone_str(res);
}
开发者ID:Flameeyes,项目名称:pam_pkcs11,代码行数:18,代码来源:krb_mapper.c
示例14: uid_mapper_find_user
/*
parses the certificate and return the map of the first UID entry found
If no UID found or map error, return NULL
*/
static char * uid_mapper_find_user(X509 *x509, void *context, int *match) {
char *res;
char **entries= cert_info(x509,CERT_UID,ALGORITHM_NULL);
if (!entries) {
DBG("get_unique_id() failed");
return NULL;
}
DBG1("trying to map uid entry '%s'",entries[0]);
res = mapfile_find(mapfile,entries[0],ignorecase,match);
if (!res) {
DBG("Error in map process");
return NULL;
}
return clone_str(res);
}
开发者ID:Kozical,项目名称:pam_pkcs11,代码行数:19,代码来源:uid_mapper.c
示例15: zero
struct starter_conn *alloc_add_conn(struct starter_config *cfg, char *name, err_t *perr)
{
struct starter_conn *conn;
conn = (struct starter_conn *)alloc_bytes(sizeof(struct starter_conn),"add_conn starter_conn");
zero(conn);
conn_default(name, conn, &cfg->conn_default);
conn->name = clone_str(name, "conn name");
conn->desired_state = STARTUP_NO;
conn->state = STATE_FAILED;
TAILQ_INIT(&conn->comments);
TAILQ_INSERT_TAIL(&cfg->conns, conn, link);
return conn;
}
开发者ID:SpivEgin,项目名称:Openswan,代码行数:17,代码来源:confread.c
示例16: handle_firewall
/*
* handles left|rightfirewall and left|rightupdown parameters
*/
static void handle_firewall(const char *label, starter_end_t *end,
starter_config_t *cfg)
{
if (end->firewall && (end->seen & LELEM(KW_FIREWALL - KW_END_FIRST)))
{
if (end->updown != NULL)
{
plog("# cannot have both %sfirewall and %supdown", label, label);
cfg->err++;
}
else
{
end->updown = clone_str(firewall_defaults);
end->firewall = FALSE;
}
}
}
开发者ID:ramarnat,项目名称:astaro-strongswan,代码行数:20,代码来源:confread.c
示例17: lsw_conf_setdefault
static void lsw_conf_setdefault(void)
{
char buf[PATH_MAX];
static const struct lsw_conf_options zero_oco; /* full of null pointers */
global_oco = zero_oco;
/* allocate them all to make it consistent */
global_oco.rootdir = clone_str("","rootdir");
global_oco.confddir = clone_str(IPSEC_CONFDDIR, "default conf ipsecd_dir");
global_oco.vardir = clone_str(IPSEC_VARDIR, "default vardir");
global_oco.confdir = clone_str(IPSEC_CONFDIR, "default conf ipsec_conf_dir");
global_oco.conffile = clone_str(IPSEC_CONF, "default conf conffile");
global_oco.nssdir = clone_str(IPSEC_NSSDIR, "default nssdir");
/* path to NSS password file */
snprintf(buf, sizeof(buf), "%s/nsspassword", global_oco.confddir);
NSSPassword.data = clone_str(buf, "nss password file path");
NSSPassword.source = PW_FROMFILE;
}
开发者ID:lkundrak,项目名称:libreswan,代码行数:20,代码来源:lswconf.c
示例18: load_conn
/*
* parse a conn section
*/
static void load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg)
{
char *conn_name = (conn->name == NULL)? "%default":conn->name;
for ( ; kw; kw = kw->next)
{
bool assigned = FALSE;
kw_token_t token = kw->entry->token;
if (token >= KW_LEFT_FIRST && token <= KW_LEFT_LAST)
{
kw_end(conn, &conn->left, token - KW_LEFT_FIRST + KW_END_FIRST
, kw, conn_name, cfg);
continue;
}
else if (token >= KW_RIGHT_FIRST && token <= KW_RIGHT_LAST)
{
kw_end(conn, &conn->right, token - KW_RIGHT_FIRST + KW_END_FIRST
, kw, conn_name, cfg);
continue;
}
if (token == KW_AUTO)
{
token = KW_CONN_SETUP;
}
else if (token == KW_ALSO)
{
if (cfg->parse_also)
{
also_t *also = malloc_thing(also_t);
also->name = clone_str(kw->value);
also->next = conn->also;
conn->also = also;
DBG(DBG_CONTROL,
DBG_log(" also=%s", kw->value)
)
}
continue;
}
if (token < KW_CONN_FIRST || token > KW_CONN_LAST)
{
plog("# unsupported keyword '%s' in conn '%s'"
, kw->entry->name, conn_name);
cfg->err++;
continue;
}
if (!assign_arg(token, KW_CONN_FIRST, kw, (char *)conn, &assigned))
{
plog(" bad argument value in conn '%s'", conn_name);
cfg->err++;
continue;
}
if (assigned)
continue;
switch (token)
{
case KW_TYPE:
conn->policy &= ~(POLICY_TUNNEL | POLICY_SHUNT_MASK);
if (streq(kw->value, "tunnel"))
{
conn->policy |= POLICY_TUNNEL;
}
else if (streq(kw->value, "beet"))
{
conn->policy |= POLICY_BEET;
}
else if (streq(kw->value, "transport_proxy"))
{
conn->policy |= POLICY_PROXY;
}
else if (streq(kw->value, "passthrough") || streq(kw->value, "pass"))
{
conn->policy |= POLICY_SHUNT_PASS;
}
else if (streq(kw->value, "drop"))
{
conn->policy |= POLICY_SHUNT_DROP;
}
else if (streq(kw->value, "reject"))
{
conn->policy |= POLICY_SHUNT_REJECT;
}
else if (strcmp(kw->value, "transport") != 0)
{
plog("# bad policy value: %s=%s", kw->entry->name, kw->value);
cfg->err++;
}
break;
case KW_PFS:
//.........这里部分代码省略.........
开发者ID:ramarnat,项目名称:astaro-strongswan,代码行数:101,代码来源:confread.c
示例19: default_values
static void default_values(starter_config_t *cfg)
{
if (cfg == NULL)
return;
memset(cfg, 0, sizeof(struct starter_config));
/* is there enough space for all seen flags? */
assert(KW_SETUP_LAST - KW_SETUP_FIRST <
sizeof(cfg->setup.seen) * BITS_PER_BYTE);
assert(KW_CONN_LAST - KW_CONN_FIRST <
sizeof(cfg->conn_default.seen) * BITS_PER_BYTE);
assert(KW_END_LAST - KW_END_FIRST <
sizeof(cfg->conn_default.right.seen) * BITS_PER_BYTE);
assert(KW_CA_LAST - KW_CA_FIRST <
sizeof(cfg->ca_default.seen) * BITS_PER_BYTE);
cfg->setup.seen = LEMPTY;
cfg->setup.fragicmp = TRUE;
cfg->setup.hidetos = TRUE;
cfg->setup.uniqueids = TRUE;
cfg->setup.interfaces = new_list("%defaultroute");
#ifdef START_CHARON
cfg->setup.charonstart = TRUE;
#endif
#ifdef START_PLUTO
cfg->setup.plutostart = TRUE;
#endif
cfg->setup.pluto_ikeport = IKE_UDP_PORT;
cfg->setup.ha_seqdiff_in = 0xFFFFFFFF;
cfg->setup.ha_seqdiff_out = 0xFFFFFFFF;
cfg->conn_default.seen = LEMPTY;
cfg->conn_default.startup = STARTUP_NO;
cfg->conn_default.state = STATE_IGNORE;
cfg->conn_default.policy = POLICY_ENCRYPT | POLICY_TUNNEL | POLICY_PUBKEY |
POLICY_PFS | POLICY_MOBIKE;
cfg->conn_default.ike = clone_str(ike_defaults);
cfg->conn_default.esp = clone_str(esp_defaults);
cfg->conn_default.sa_ike_life_seconds = OAKLEY_ISAKMP_SA_LIFETIME_DEFAULT;
cfg->conn_default.sa_ipsec_life_seconds = PLUTO_SA_LIFE_DURATION_DEFAULT;
cfg->conn_default.sa_rekey_margin = SA_REPLACEMENT_MARGIN_DEFAULT;
cfg->conn_default.sa_rekey_fuzz = SA_REPLACEMENT_FUZZ_DEFAULT;
cfg->conn_default.sa_keying_tries = SA_REPLACEMENT_RETRIES_DEFAULT;
cfg->conn_default.addr_family = AF_INET;
cfg->conn_default.tunnel_addr_family = AF_INET;
cfg->conn_default.xfrm_flags = 0;
cfg->conn_default.install_policy = TRUE;
cfg->conn_default.dev = 0;
cfg->conn_default.dpd_delay = 30; /* seconds */
cfg->conn_default.dpd_timeout = 150; /* seconds */
cfg->conn_default.left.seen = LEMPTY;
cfg->conn_default.right.seen = LEMPTY;
cfg->conn_default.left.sendcert = CERT_SEND_IF_ASKED;
cfg->conn_default.right.sendcert = CERT_SEND_IF_ASKED;
anyaddr(AF_INET, &cfg->conn_default.left.addr);
anyaddr(AF_INET, &cfg->conn_default.left.nexthop);
anyaddr(AF_INET, &cfg->conn_default.right.addr);
anyaddr(AF_INET, &cfg->conn_default.right.nexthop);
cfg->conn_default.left.ikeport = 500;
cfg->conn_default.right.ikeport = 500;
cfg->ca_default.seen = LEMPTY;
}
开发者ID:ramarnat,项目名称:astaro-strongswan,代码行数:71,代码来源:confread.c
示例20: kw_end
static void kw_end(starter_conn_t *conn, starter_end_t *end, kw_token_t token,
kw_list_t *kw, char *conn_name, starter_config_t *cfg)
{
err_t ugh = NULL;
bool assigned = FALSE;
bool has_port_wildcard; /* set if port is %any */
char *name = kw->entry->name;
char *value = kw->value;
if (!assign_arg(token, KW_END_FIRST, kw, (char *)end, &assigned))
goto err;
/* post processing of some keywords that were assigned automatically */
switch (token)
{
case KW_SUBNET:
if ((strlen(value) >= 6 && strncmp(value,"vhost:",6) == 0)
|| (strlen(value) >= 5 && strncmp(value,"vnet:",5) == 0))
{
/* used by pluto only */
end->has_virt = TRUE;
}
else
{
ip_subnet net;
char *pos;
int len = 0;
end->has_client = TRUE;
conn->tunnel_addr_family = ip_version(value);
pos = strchr(value, ',');
if (pos)
{
len = pos - value;
}
ugh = ttosubnet(value, len, ip_version(value), &net);
if (ugh != NULL)
{
plog("# bad subnet: %s=%s [%s]", name, value, ugh);
goto err;
}
}
break;
case KW_SOURCEIP:
if (end->has_natip)
{
plog("# natip and sourceip cannot be defined at the same time");
goto err;
}
if (value[0] == '%')
{
if (streq(value, "%modeconfig") || streq(value, "%modecfg") ||
streq(value, "%config") || streq(value, "%cfg"))
{
/* request ip via config payload */
free(end->sourceip);
end->sourceip = NULL;
end->sourceip_mask = 1;
}
else
{ /* %poolname, strip %, serve ip requests */
free(end->sourceip);
end->sourceip = clone_str(value+1);
end->sourceip_mask = 0;
}
end->modecfg = TRUE;
}
else
{
char *pos;
ip_address addr;
ip_subnet net;
conn->tunnel_addr_family = ip_version(value);
pos = strchr(value, '/');
if (pos)
{ /* CIDR notation, address pool */
ugh = ttosubnet(value, 0, conn->tunnel_addr_family, &net);
if (ugh != NULL)
{
plog("# bad subnet: %s=%s [%s]", name, value, ugh);
goto err;
}
*pos = '\0';
free(end->sourceip);
end->sourceip = clone_str(value);
end->sourceip_mask = atoi(pos + 1);
}
else
{ /* fixed srcip */
ugh = ttoaddr(value, 0, conn->tunnel_addr_family, &addr);
if (ugh != NULL)
{
plog("# bad addr: %s=%s [%s]", name, value, ugh);
goto err;
}
end->sourceip_mask = (conn->tunnel_addr_family == AF_INET) ?
//.........这里部分代码省略.........
开发者ID:ramarnat,项目名称:astaro-strongswan,代码行数:101,代码来源:confread.c
注:本文中的clone_str函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论