[BusyBox-cvs] svn commit: trunk/busybox/networking

landley at busybox.net landley at busybox.net
Tue May 10 23:53:33 UTC 2005


Author: landley
Date: 2005-05-10 17:53:33 -0600 (Tue, 10 May 2005)
New Revision: 10286

Log:
Patch from Jason Schoon to add IPV6 support to telnetd.  Reworked by Rob
Landley to remove an #ifdef and move another one out of the flow of code.



Modified:
   trunk/busybox/networking/telnetd.c


Changeset:
Modified: trunk/busybox/networking/telnetd.c
===================================================================
--- trunk/busybox/networking/telnetd.c	2005-05-10 23:48:35 UTC (rev 10285)
+++ trunk/busybox/networking/telnetd.c	2005-05-10 23:53:33 UTC (rev 10286)
@@ -49,6 +49,15 @@
 
 #define BUFSIZE 4000
 
+#ifdef CONFIG_FEATURE_IPV6
+#define SOCKET_TYPE	AF_INET6
+typedef struct sockaddr_in6 sockaddr_type;
+#else
+#define SOCKET_TYPE	AF_INET
+typedef struct sockaddr_in sockaddr_type;
+#endif
+
+
 #ifdef CONFIG_LOGIN
 static const char *loginpath = "/bin/login";
 #else
@@ -373,7 +382,7 @@
 telnetd_main(int argc, char **argv)
 {
 #ifndef CONFIG_FEATURE_TELNETD_INETD
-	struct sockaddr_in sa;
+        sockaddr_type sa;
 	int master_fd;
 #endif /* CONFIG_FEATURE_TELNETD_INETD */
 	fd_set rdfdset, wrfdset;
@@ -431,7 +440,7 @@
 
 	/* Grab a TCP socket.  */
 
-	master_fd = socket(AF_INET, SOCK_STREAM, 0);
+        master_fd = socket(SOCKET_TYPE, SOCK_STREAM, 0);
 	if (master_fd < 0) {
 		bb_perror_msg_and_die("socket");
 	}
@@ -440,8 +449,13 @@
 	/* Set it to listen to specified port.  */
 
 	memset((void *)&sa, 0, sizeof(sa));
+#ifdef CONFIG_FEATURE_IPV6
+	sa.sin6_family = AF_INET6;
+	sa.sin6_port = htons(portnbr);
+#else
 	sa.sin_family = AF_INET;
 	sa.sin_port = htons(portnbr);
+#endif
 
 	if (bind(master_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
 		bb_perror_msg_and_die("bind");




More information about the busybox-cvs mailing list