goto fail;
}
r->sa.sin.sin_family = AF_INET;
- r->sasz = sizeof(r->sa.sin);
r->addr = xstrdup(av[i]);
if (!av[i + 1])
pt = TRIPE_PORT;
T( trace(T_ADMIN, "admin: done add op %s", BGTAG(add)); )
if (rc == ARES_OK) {
- add->peer.sasz = add->r.sasz;
add->peer.sa = add->r.sa;
if (p_findbyaddr(&add->r.sa))
a_bgfail(&add->r.bg, "peer-addr-exists", "?ADDR", &add->r.sa, A_END);
}
if (add->peer.tag) xfree(add->peer.tag);
+ if (add->peer.privtag) xfree(add->peer.privtag);
xfree(add->peer.name);
}
OPTTIME("-keepalive", t, { add->peer.t_ka = t; })
OPT("-cork", { add->peer.f |= KXF_CORK; })
OPTARG("-key", arg, {
- if (add->peer.tag)
- xfree(add->peer.tag);
+ if (add->peer.tag) xfree(add->peer.tag);
add->peer.tag = xstrdup(arg);
})
OPT("-mobile", { add->peer.f |= PSF_MOBILE; })
OPTARG("-priv", arg, {
- if (add->peer.privtag)
- xfree(add->peer.privtag);
+ if (add->peer.privtag) xfree(add->peer.privtag);
add->peer.privtag = xstrdup(arg);
})
});
a_info(a, "private-key=%s", ptag,
"current-private-key=%s", p->kx.kpriv->tag, A_END);
a_info(a, "keepalive=%lu", ps->t_ka, A_END);
+ a_info(a, "corked=%s", BOOL(p->kx.f&KXF_CORK),
+ "mobile=%s", BOOL(ps->f&PSF_MOBILE),
+ A_END);
a_ok(a);
}
}
{ "reload", 0, 0, 0, acmd_reload },
{ "servinfo", 0, 0, 0, acmd_servinfo },
{ "setifname", "PEER NEW-NAME", 2, 2, acmd_setifname },
+ { "stats", "PEER", 1, 1, acmd_stats },
{ "svcclaim", "SERVICE VERSION", 2, 2, acmd_svcclaim },
{ "svcensure", "SERVICE [VERSION]", 1, 2, acmd_svcensure },
{ "svcfail", "JOBID TOKENS...", 1, 0xffff, acmd_svcfail },
{ "svcrelease", "SERVICE", 1, 1, acmd_svcrelease },
{ "svcsubmit", "[OPTIONS] SERVICE TOKENS...",
2, 0xffff, acmd_svcsubmit },
- { "stats", "PEER", 1, 1, acmd_stats },
#ifndef NTRACE
{ "trace", "[OPTIONS]", 0, 1, acmd_trace },
#endif
sig_add(&s_term, SIGTERM, a_sigdie, 0);
sig_add(&s_hup, SIGHUP, a_sighup, 0);
- signal(SIGPIPE, SIG_IGN);
sigaction(SIGINT, 0, &sa);
if (sa.sa_handler != SIG_IGN)
sig_add(&s_int, SIGINT, a_sigdie, 0);