}
void confclient_cb(struct gconffile **cf, char *block, char *opt, char *val) {
- char *type = NULL, *tls = NULL, *matchcertattr = NULL, *rewritein = NULL, *rewriteinalias = NULL, *rewriteusername = NULL;
+ char *type = NULL, *tls = NULL, *matchcertattr = NULL,
+ *rewritein = NULL, *rewriteinalias = NULL, *rewriteout = NULL, *rewriteusername = NULL;
struct clsrvconf *conf;
debug(DBG_DBG, "confclient_cb called for %s", block);
"CertificateNameCheck", CONF_BLN, &conf->certnamecheck,
"rewrite", CONF_STR, &rewriteinalias,
"rewriteIn", CONF_STR, &rewritein,
+ "rewriteOut", CONF_STR, &rewriteout,
"rewriteattribute", CONF_STR, &rewriteusername,
NULL
);
free(rewriteinalias);
conf->rewritein = rewritein ? getrewrite(rewritein, NULL) : getrewrite("defaultclient", "default");
free(rewritein);
+ if (rewriteout) {
+ conf->rewriteout = getrewrite(rewriteout, NULL);
+ free(rewriteout);
+ }
if (rewriteusername) {
if (!addrewriteattr(conf, rewriteusername))
}
void confserver_cb(struct gconffile **cf, char *block, char *opt, char *val) {
- char *type = NULL, *tls = NULL, *matchcertattr = NULL, *rewritein = NULL, rewriteinalias = NULL;
+ char *type = NULL, *tls = NULL, *matchcertattr = NULL, *rewritein = NULL, *rewriteinalias = NULL, *rewriteout = NULL;
long int retryinterval = LONG_MIN, retrycount = LONG_MIN;
struct clsrvconf *conf;
"MatchCertificateAttribute", CONF_STR, &matchcertattr,
"rewrite", CONF_STR, &rewriteinalias,
"rewriteIn", CONF_STR, &rewritein,
+ "rewriteOut", CONF_STR, &rewriteout,
"StatusServer", CONF_BLN, &conf->statusserver,
"RetryInterval", CONF_LINT, &retryinterval,
"RetryCount", CONF_LINT, &retrycount,
free(rewriteinalias);
conf->rewritein = rewritein ? getrewrite(rewritein, NULL) : getrewrite("defaultserver", "default");
free(rewritein);
+ if (rewriteout) {
+ conf->rewriteout = getrewrite(rewriteout, NULL);
+ free(rewriteout);
+ }
if (!resolvepeer(conf, 0))
debugx(1, DBG_ERR, "failed to resolve host %s port %s, exiting", conf->host ? conf->host : "(null)", conf->port ? conf->port : "(null)");