summaryrefslogtreecommitdiff
path: root/readconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'readconf.c')
-rw-r--r--readconf.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/readconf.c b/readconf.c
index 5aa371ed9..2b1d7cc46 100644
--- a/readconf.c
+++ b/readconf.c
@@ -12,7 +12,7 @@
12 */ 12 */
13 13
14#include "includes.h" 14#include "includes.h"
15RCSID("$OpenBSD: readconf.c,v 1.131 2004/05/27 00:50:13 dtucker Exp $"); 15RCSID("$OpenBSD: readconf.c,v 1.132 2004/06/13 15:03:02 djm Exp $");
16 16
17#include "ssh.h" 17#include "ssh.h"
18#include "xmalloc.h" 18#include "xmalloc.h"
@@ -106,7 +106,7 @@ typedef enum {
106 oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout, 106 oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout,
107 oAddressFamily, oGssAuthentication, oGssDelegateCreds, 107 oAddressFamily, oGssAuthentication, oGssDelegateCreds,
108 oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, 108 oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
109 oSendEnv, 109 oSendEnv, oControlPath, oControlMaster,
110 oDeprecated, oUnsupported 110 oDeprecated, oUnsupported
111} OpCodes; 111} OpCodes;
112 112
@@ -195,6 +195,8 @@ static struct {
195 { "serveraliveinterval", oServerAliveInterval }, 195 { "serveraliveinterval", oServerAliveInterval },
196 { "serveralivecountmax", oServerAliveCountMax }, 196 { "serveralivecountmax", oServerAliveCountMax },
197 { "sendenv", oSendEnv }, 197 { "sendenv", oSendEnv },
198 { "controlpath", oControlPath },
199 { "controlmaster", oControlMaster },
198 { NULL, oBadOption } 200 { NULL, oBadOption }
199}; 201};
200 202
@@ -764,6 +766,14 @@ parse_int:
764 } 766 }
765 break; 767 break;
766 768
769 case oControlPath:
770 charptr = &options->control_path;
771 goto parse_string;
772
773 case oControlMaster:
774 intptr = &options->control_master;
775 goto parse_flag;
776
767 case oDeprecated: 777 case oDeprecated:
768 debug("%s line %d: Deprecated option \"%s\"", 778 debug("%s line %d: Deprecated option \"%s\"",
769 filename, linenum, keyword); 779 filename, linenum, keyword);
@@ -905,6 +915,8 @@ initialize_options(Options * options)
905 options->server_alive_interval = -1; 915 options->server_alive_interval = -1;
906 options->server_alive_count_max = -1; 916 options->server_alive_count_max = -1;
907 options->num_send_env = 0; 917 options->num_send_env = 0;
918 options->control_path = NULL;
919 options->control_master = -1;
908} 920}
909 921
910/* 922/*
@@ -1025,6 +1037,8 @@ fill_default_options(Options * options)
1025 options->server_alive_interval = 0; 1037 options->server_alive_interval = 0;
1026 if (options->server_alive_count_max == -1) 1038 if (options->server_alive_count_max == -1)
1027 options->server_alive_count_max = 3; 1039 options->server_alive_count_max = 3;
1040 if (options->control_master == -1)
1041 options->control_master = 0;
1028 /* options->proxy_command should not be set by default */ 1042 /* options->proxy_command should not be set by default */
1029 /* options->user will be set in the main program if appropriate */ 1043 /* options->user will be set in the main program if appropriate */
1030 /* options->hostname will be set in the main program if appropriate */ 1044 /* options->hostname will be set in the main program if appropriate */