ng_socket: with getsockname() return node ID for unnamed node
Reviewed by: afedorov Differential Revision: https://reviews.freebsd.org/D42691
This commit is contained in:
parent
4064a1108b
commit
d2de66a90d
|
@ -523,6 +523,9 @@ ng_getsockaddr(struct socket *so, struct sockaddr **addr)
|
|||
if (NG_NODE_HAS_NAME(node))
|
||||
bcopy(NG_NODE_NAME(node), sg->sg_data,
|
||||
strlen(NG_NODE_NAME(node)));
|
||||
else
|
||||
snprintf(sg->sg_data, sizeof(sg->sg_data), "[%x]",
|
||||
ng_node2ID(node));
|
||||
mtx_unlock(&pcbp->sockdata->mtx);
|
||||
|
||||
sg->sg_len = sg_len;
|
||||
|
|
|
@ -42,13 +42,12 @@ ATF_TC_BODY(getsockname, tc)
|
|||
char name[NG_NODESIZ] = NAME;
|
||||
int cs;
|
||||
|
||||
#if 0
|
||||
/* Unnamed node. */
|
||||
/* Unnamed node returns its ID as name. */
|
||||
ATF_REQUIRE(NgMkSockNode(NULL, &cs, NULL) == 0);
|
||||
ATF_REQUIRE(getsockname(cs, (struct sockaddr *)&sg, &len) == 0);
|
||||
ATF_REQUIRE(strspn(sg.sg_data, "[0123456789abcdef]") >= 3 &&
|
||||
sg.sg_data[strspn(sg.sg_data, "[0123456789abcdef]")] == '\0');
|
||||
close(cs);
|
||||
/* Unnamed node doesn't return any name/ID now. */
|
||||
#endif
|
||||
|
||||
/* Named node. */
|
||||
ATF_REQUIRE(NgMkSockNode(name, &cs, NULL) == 0);
|
||||
|
|
Loading…
Reference in New Issue