$ git clone https://socialnetwork.ion.nu/socialnetwork.git
commit 684e47c5d3d4c55bc60505af9a16743a4852fb4d
Author: Alicia <...>
Date: Thu Jun 14 06:01:42 2018 +0000
socialtest: added a 'whoami' command, listing ID and socket address.
diff --git a/socialtest.c b/socialtest.c
index 9ba0792..9556b56 100644
--- a/socialtest.c
+++ b/socialtest.c
@@ -258,6 +258,18 @@ int main(int argc, char** argv)
{
peer_bootstrap(sock, &buf[10]);
}
+ else if(!strcmp(buf, "whoami"))
+ {
+ printf("ID: "PEERFMT"\n", PEERARG(peer_id));
+ struct sockaddr_storage sockaddr;
+ socklen_t addrlen=sizeof(sockaddr);
+ getsockname(sock, (struct sockaddr*)&sockaddr, &addrlen);
+ char addr[INET6_ADDRSTRLEN];
+ char port[64];
+ if(getnameinfo((struct sockaddr*)&sockaddr, addrlen, addr, INET6_ADDRSTRLEN, port, 64, NI_NUMERICHOST|NI_NUMERICSERV|NI_DGRAM)){continue;}
+ const char* fmt=((sockaddr.ss_family==AF_INET6)?"Address: [%s]:%s\n":"Address: %s:%s\n");
+ printf(fmt, addr, port);
+ }
else if(!strcmp(buf, "help"))
{
printf("Available commands:\n"
@@ -273,7 +285,8 @@ int main(int argc, char** argv)
"privacy flag \n"
"privacy circle \n"
"setcircle <circle ID>\n"
- "bootstrap <host>:<port>\n");
+ "bootstrap <host>:<port>\n"
+ "whoami\n");
}
else{printf("Unknown command '%s'\n", buf);}
}