35 lines
1.0 KiB
Diff
35 lines
1.0 KiB
Diff
--- a/main.c 2008-03-01 21:01:41.000000000 +0100
|
|
+++ b/main.c 2008-03-04 18:55:10.933488013 +0100
|
|
@@ -82,6 +82,7 @@
|
|
#ifdef ICONV_OPTION
|
|
extern iconv_t ic_send;
|
|
#endif
|
|
+extern int default_af_hint;
|
|
|
|
uid_t our_uid;
|
|
int local_server = 0;
|
|
@@ -381,6 +382,23 @@
|
|
*t++ = '\0';
|
|
}
|
|
|
|
+#ifdef AF_INET
|
|
+ if (default_af_hint == AF_INET) {
|
|
+ if (strncmp(cmd, "ssh", 3) == 0 || strstr(cmd, "/ssh") != NULL) {
|
|
+ /* we're using ssh so we can add a -4 option */
|
|
+ args[argc++] = "-4";
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
+#ifdef AF_INET6
|
|
+ if (default_af_hint == AF_INET6) {
|
|
+ if (strncmp(cmd, "ssh", 3) == 0 || strstr(cmd, "/ssh") != NULL) {
|
|
+ /* we're using ssh so we can add a -6 option */
|
|
+ args[argc++] = "-6";
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
+
|
|
/* check to see if we've already been given '-l user' in
|
|
* the remote-shell command */
|
|
for (i = 0; i < argc-1; i++) {
|