summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/inet/rpc/rexec.c67
1 files changed, 23 insertions, 44 deletions
diff --git a/libc/inet/rpc/rexec.c b/libc/inet/rpc/rexec.c
index 11c4b9f83..a9d0dd66c 100644
--- a/libc/inet/rpc/rexec.c
+++ b/libc/inet/rpc/rexec.c
@@ -42,34 +42,12 @@
#include <string.h>
#include <unistd.h>
-/* Experimentally off - libc_hidden_proto(memset) */
-/* Experimentally off - libc_hidden_proto(strlen) */
-/* Experimentally off - libc_hidden_proto(strncpy) */
-/* libc_hidden_proto(read) */
-/* libc_hidden_proto(write) */
-/* libc_hidden_proto(close) */
-/* libc_hidden_proto(socket) */
-/* libc_hidden_proto(perror) */
-/* libc_hidden_proto(sprintf) */
-/* libc_hidden_proto(snprintf) */
-/* libc_hidden_proto(getsockname) */
-/* libc_hidden_proto(getnameinfo) */
-/* libc_hidden_proto(getaddrinfo) */
-/* libc_hidden_proto(freeaddrinfo) */
-/* libc_hidden_proto(sleep) */
-/* libc_hidden_proto(atoi) */
-/* libc_hidden_proto(connect) */
-/* libc_hidden_proto(accept) */
-/* libc_hidden_proto(listen) */
-/* libc_hidden_proto(ruserpass) */
-
#define SA_LEN(_x) __libc_sa_len((_x)->sa_family)
-extern int __libc_sa_len (sa_family_t __af) __THROW attribute_hidden;
+extern int __libc_sa_len(sa_family_t __af) __THROW attribute_hidden;
/* int rexecoptions; - google does not know it */
static char ahostbuf[NI_MAXHOST];
-/* libc_hidden_proto(rexec_af) */
int
rexec_af(char **ahost, int rport, const char *name, const char *pass, const char *cmd, int *fd2p, sa_family_t af)
{
@@ -95,19 +73,19 @@ rexec_af(char **ahost, int rport, const char *name, const char *pass, const char
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_CANONNAME;
gai = getaddrinfo(*ahost, servbuff, &hints, &res0);
- if (gai){
+ if (gai) {
/* XXX: set errno? */
return -1;
}
- if (res0->ai_canonname){
+ if (res0->ai_canonname) {
strncpy(ahostbuf, res0->ai_canonname, sizeof(ahostbuf));
ahostbuf[sizeof(ahostbuf)-1] = '\0';
*ahost = ahostbuf;
}
- else{
+ else {
*ahost = NULL;
- __set_errno (ENOENT);
+ __set_errno(ENOENT);
return -1;
}
ruserpass(res0->ai_canonname, &name, &pass);
@@ -115,7 +93,7 @@ retry:
s = socket(res0->ai_family, res0->ai_socktype, 0);
if (s < 0) {
perror("rexec: socket");
- return (-1);
+ return -1;
}
if (connect(s, res0->ai_addr, res0->ai_addrlen) < 0) {
if (errno == ECONNREFUSED && timo <= 16) {
@@ -125,7 +103,7 @@ retry:
goto retry;
}
perror(res0->ai_canonname);
- return (-1);
+ return -1;
}
if (fd2p == 0) {
(void) write(s, "", 1);
@@ -138,10 +116,10 @@ retry:
s2 = socket(res0->ai_family, res0->ai_socktype, 0);
if (s2 < 0) {
(void) close(s);
- return (-1);
+ return -1;
}
listen(s2, 1);
- sa2len = sizeof (sa2);
+ sa2len = sizeof(sa2);
if (getsockname(s2, (struct sockaddr *)&sa2, &sa2len) < 0) {
perror("getsockname");
(void) close(s2);
@@ -158,15 +136,16 @@ retry:
port = atoi(servbuff);
(void) sprintf(num, "%u", port);
(void) write(s, num, strlen(num)+1);
- { socklen_t len = sizeof (from);
- s3 = TEMP_FAILURE_RETRY (accept(s2, (struct sockaddr *)&from,
- &len));
- close(s2);
- if (s3 < 0) {
- perror("accept");
- port = 0;
- goto bad;
- }
+ {
+ socklen_t len = sizeof(from);
+ s3 = TEMP_FAILURE_RETRY(accept(s2,
+ (struct sockaddr *)&from, &len));
+ close(s2);
+ if (s3 < 0) {
+ perror("accept");
+ port = 0;
+ goto bad;
+ }
}
*fd2p = s3;
}
@@ -178,9 +157,9 @@ retry:
/* We don't need the memory allocated for the name and the password
in ruserpass anymore. */
if (name != orig_name)
- free ((char *) name);
+ free((char *) name);
if (pass != orig_pass)
- free ((char *) pass);
+ free((char *) pass);
if (read(s, &c, 1) != 1) {
perror(*ahost);
@@ -195,13 +174,13 @@ retry:
goto bad;
}
freeaddrinfo(res0);
- return (s);
+ return s;
bad:
if (port)
(void) close(*fd2p);
(void) close(s);
freeaddrinfo(res0);
- return (-1);
+ return -1;
}
libc_hidden_def(rexec_af)