本文整理汇总了C++中clone_str函数的典型用法代码示例。如果您正苦于以下问题:C++ clone_str函数的具体用法?C++ clone_str怎么用?C++ clone_str使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clone_str函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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); */
}
示例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);
}
示例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); */
}
示例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");
}
示例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");
}
示例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;
}
示例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;
}
示例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;
}
示例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"));
}
示例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;
}
示例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;
}
}
示例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;
}
示例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);
}
示例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);
}
示例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;
}