char *val, *b, *e, *end, **ret;
int count;
- val = value ? clone_str(value) : NULL;
+ val = strdupnull(value);
if (!val)
{
return NULL;
for (e = b; (*e != '\0'); e++);
if (e != b)
{
- ret[count++] = clone_str(b);
+ ret[count++] = strdupnull(b);
}
b = e + 1;
}
free(*cp);
/* assign the new string */
- *cp = clone_str(kw->value);
+ *cp = strdupnull(kw->value);
}
break;
case ARG_LST:
char **cp1 = (char **)(base1 + token_info[token].offset);
char **cp2 = (char **)(base2 + token_info[token].offset);
- *cp1 = clone_str(*cp2);
+ *cp1 = strdupnull(*cp2);
}
}
}
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.ike = strdupnull(ike_defaults);
+ cfg->conn_default.esp = strdupnull(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;
goto err;
}
}
- end->host = clone_str(value);
+ end->host = strdupnull(value);
}
break;
case KW_SUBNET:
else
{ /* %poolname, strip %, serve ip requests */
free(end->sourceip);
- end->sourceip = clone_str(value+1);
+ end->sourceip = strdupnull(value+1);
end->sourceip_mask = 0;
}
end->modecfg = TRUE;
}
*pos = '\0';
free(end->sourceip);
- end->sourceip = clone_str(value);
+ end->sourceip = strdupnull(value);
end->sourceip_mask = atoi(pos + 1);
}
else
DBG1(DBG_APP, "# bad subnet: %s=%s [%s]", name, value, ugh);
goto err;
}
- end->subnet = clone_str(value);
+ end->subnet = strdupnull(value);
break;
}
case KW_PROTOPORT:
DBG1(DBG_APP, "# bad addr: %s=%s [%s]", name, value, ugh);
goto err;
}
- end->sourceip = clone_str(value);
+ end->sourceip = strdupnull(value);
end->has_natip = TRUE;
conn->policy |= POLICY_TUNNEL;
break;
}
else
{
- end->updown = clone_str(firewall_defaults);
+ end->updown = strdupnull(firewall_defaults);
end->firewall = FALSE;
}
}
{
also_t *also = malloc_thing(also_t);
- also->name = clone_str(kw->value);
+ also->name = strdupnull(kw->value);
also->next = conn->also;
conn->also = also;
static void conn_default(char *name, starter_conn_t *conn, starter_conn_t *def)
{
memcpy(conn, def, sizeof(starter_conn_t));
- conn->name = clone_str(name);
+ conn->name = strdupnull(name);
clone_args(KW_CONN_FIRST, KW_CONN_LAST, (char *)conn, (char *)def);
clone_args(KW_END_FIRST, KW_END_LAST, (char *)&conn->left, (char *)&def->left);
{
also_t *also = malloc_thing(also_t);
- also->name = clone_str(kw->value);
+ also->name = strdupnull(kw->value);
also->next = ca->also;
ca->also = also;
static void ca_default(char *name, starter_ca_t *ca, starter_ca_t *def)
{
memcpy(ca, def, sizeof(starter_ca_t));
- ca->name = clone_str(name);
+ ca->name = strdupnull(name);
clone_args(KW_CA_FIRST, KW_CA_LAST, (char *)ca, (char *)def);
}
{
section_list_t *section = malloc_thing(section_list_t);
- section->name = clone_str($2);
+ section->name = strdupnull($2);
section->kw = NULL;
section->next = NULL;
_parser_kw = &(section->kw);
| CA STRING EOL
{
section_list_t *section = malloc_thing(section_list_t);
- section->name = clone_str($2);
+ section->name = strdupnull($2);
section->kw = NULL;
section->next = NULL;
_parser_kw = &(section->kw);
{
new = (kw_list_t *)malloc_thing(kw_list_t);
new->entry = entry;
- new->value = clone_str($3);
+ new->value = strdupnull($3);
new->next = NULL;
if (_parser_kw_last)
_parser_kw_last->next = new;