File netkit-rsh-0.17-revers.diff of Package rsh

--- rexecd/rexecd.c
+++ rexecd/rexecd.c
@@ -122,6 +122,14 @@
 {
 	struct sockaddr_storage from;
 	socklen_t fromlen;
+	int i, skip_revers = 0, relaxed_revers = 0;
+
+	for(i = 1; i < argc; i++) {
+		if(!strcmp("-r", argv[i]))
+			relaxed_revers = 1;
+		else if(!strcmp("-R", argv[i]))
+			skip_revers = 1;
+	}
 
 	(void)argc;
 
@@ -149,9 +157,13 @@
 #else
 	{
 	char hbuf[NI_MAXHOST];
+	int flags;
+
+	flags = relaxed_revers ? 0 : NI_NAMEREQD;
+	flags = skip_revers ? NI_NUMERICHOST : flags;
 
 	if (getnameinfo((struct sockaddr *)&from, fromlen,
-			hbuf, sizeof(hbuf), NULL, 0, NI_NAMEREQD)) {
+			hbuf, sizeof(hbuf), NULL, 0, flags)) {
 		write(0, "\1Where are you?\n", 16);
 		return 1;
 	}
openSUSE Build Service is sponsored by