~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server/: Introduce accessor functions for reading and writing port numbers.
[tripe]
/
server
/
admin.c
diff --git
a/server/admin.c
b/server/admin.c
index
3b99848
..
0ec187c
100644
(file)
--- a/
server/admin.c
+++ b/
server/admin.c
@@
-1020,13
+1020,17
@@
static void a_resolved(struct hostent *h, void *v)
{
admin_resop *r = v;
{
admin_resop *r = v;
- T( trace(T_ADMIN, "admin: resop %s resolved", BGTAG(r)); )
QUICKRAND;
if (!h) {
QUICKRAND;
if (!h) {
+ T( trace(T_ADMIN, "admin: resop %s failed: %s",
+ BGTAG(r), hstrerror(h_errno)); )
a_bgfail(&r->bg, "resolve-error", "%s", r->addr, A_END);
r->func(r, ARES_FAIL);
} else {
a_bgfail(&r->bg, "resolve-error", "%s", r->addr, A_END);
r->func(r, ARES_FAIL);
} else {
+ T( trace(T_ADMIN, "admin: resop %s ok", BGTAG(r)); )
+ r->sa.sin.sin_family = AF_INET;
memcpy(&r->sa.sin.sin_addr, h->h_addr, sizeof(struct in_addr));
memcpy(&r->sa.sin.sin_addr, h->h_addr, sizeof(struct in_addr));
+ setport(&r->sa, r->port);
r->func(r, ARES_OK);
}
sel_rmtimer(&r->t);
r->func(r, ARES_OK);
}
sel_rmtimer(&r->t);
@@
-1109,7
+1113,6
@@
static void a_resolve(admin *a, admin_resop *r, const char *tag,
a_fail(a, "bad-addr-syntax", "[inet] ADDRESS [PORT]", A_END);
goto fail;
}
a_fail(a, "bad-addr-syntax", "[inet] ADDRESS [PORT]", A_END);
goto fail;
}
- r->sa.sin.sin_family = AF_INET;
r->addr = xstrdup(av[i]);
if (!av[i + 1])
pt = TRIPE_PORT;
r->addr = xstrdup(av[i]);
if (!av[i + 1])
pt = TRIPE_PORT;
@@
-1128,7
+1131,7
@@
static void a_resolve(admin *a, admin_resop *r, const char *tag,
a_fail(a, "invalid-port", "%lu", pt, A_END);
goto fail;
}
a_fail(a, "invalid-port", "%lu", pt, A_END);
goto fail;
}
- r->
sa.sin.sin_port = htons(pt)
;
+ r->
port = pt
;
/* --- Report backgrounding --- *
*
/* --- Report backgrounding --- *
*
@@
-1145,6
+1148,8
@@
static void a_resolve(admin *a, admin_resop *r, const char *tag,
if (inet_aton(av[i], &r->sa.sin.sin_addr)) {
T( trace(T_ADMIN, "admin: resop %s done the easy way", BGTAG(r)); )
if (inet_aton(av[i], &r->sa.sin.sin_addr)) {
T( trace(T_ADMIN, "admin: resop %s done the easy way", BGTAG(r)); )
+ r->sa.sin.sin_family = AF_INET;
+ setport(&r->sa, r->port);
func(r, ARES_OK);
xfree(r->addr);
a_bgrelease(&r->bg);
func(r, ARES_OK);
xfree(r->addr);
a_bgrelease(&r->bg);
@@
-1846,7
+1851,6
@@
static void acmd_addr(admin *a, unsigned ac, char *av[])
if ((p = a_findpeer(a, av[0])) != 0) {
ad = p_addr(p);
if ((p = a_findpeer(a, av[0])) != 0) {
ad = p_addr(p);
- assert(ad->sa.sa_family == AF_INET);
a_info(a, "?ADDR", ad, A_END);
a_ok(a);
}
a_info(a, "?ADDR", ad, A_END);
a_ok(a);
}