summaryrefslogtreecommitdiff
path: root/readconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'readconf.c')
-rw-r--r--readconf.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/readconf.c b/readconf.c
index 88051db57..c8e792991 100644
--- a/readconf.c
+++ b/readconf.c
@@ -160,6 +160,8 @@ typedef enum {
160 oClearAllForwardings, oNoHostAuthenticationForLocalhost, 160 oClearAllForwardings, oNoHostAuthenticationForLocalhost,
161 oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout, 161 oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout,
162 oAddressFamily, oGssAuthentication, oGssDelegateCreds, 162 oAddressFamily, oGssAuthentication, oGssDelegateCreds,
163 oGssTrustDns, oGssKeyEx, oGssClientIdentity, oGssRenewalRekey,
164 oGssServerIdentity,
163 oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, 165 oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
164 oSendEnv, oControlPath, oControlMaster, oControlPersist, 166 oSendEnv, oControlPath, oControlMaster, oControlPersist,
165 oHashKnownHosts, 167 oHashKnownHosts,
@@ -199,10 +201,20 @@ static struct {
199 /* Sometimes-unsupported options */ 201 /* Sometimes-unsupported options */
200#if defined(GSSAPI) 202#if defined(GSSAPI)
201 { "gssapiauthentication", oGssAuthentication }, 203 { "gssapiauthentication", oGssAuthentication },
204 { "gssapikeyexchange", oGssKeyEx },
202 { "gssapidelegatecredentials", oGssDelegateCreds }, 205 { "gssapidelegatecredentials", oGssDelegateCreds },
206 { "gssapitrustdns", oGssTrustDns },
207 { "gssapiclientidentity", oGssClientIdentity },
208 { "gssapiserveridentity", oGssServerIdentity },
209 { "gssapirenewalforcesrekey", oGssRenewalRekey },
203# else 210# else
204 { "gssapiauthentication", oUnsupported }, 211 { "gssapiauthentication", oUnsupported },
212 { "gssapikeyexchange", oUnsupported },
205 { "gssapidelegatecredentials", oUnsupported }, 213 { "gssapidelegatecredentials", oUnsupported },
214 { "gssapitrustdns", oUnsupported },
215 { "gssapiclientidentity", oUnsupported },
216 { "gssapiserveridentity", oUnsupported },
217 { "gssapirenewalforcesrekey", oUnsupported },
206#endif 218#endif
207#ifdef ENABLE_PKCS11 219#ifdef ENABLE_PKCS11
208 { "smartcarddevice", oPKCS11Provider }, 220 { "smartcarddevice", oPKCS11Provider },
@@ -950,10 +962,30 @@ parse_time:
950 intptr = &options->gss_authentication; 962 intptr = &options->gss_authentication;
951 goto parse_flag; 963 goto parse_flag;
952 964
965 case oGssKeyEx:
966 intptr = &options->gss_keyex;
967 goto parse_flag;
968
953 case oGssDelegateCreds: 969 case oGssDelegateCreds:
954 intptr = &options->gss_deleg_creds; 970 intptr = &options->gss_deleg_creds;
955 goto parse_flag; 971 goto parse_flag;
956 972
973 case oGssTrustDns:
974 intptr = &options->gss_trust_dns;
975 goto parse_flag;
976
977 case oGssClientIdentity:
978 charptr = &options->gss_client_identity;
979 goto parse_string;
980
981 case oGssServerIdentity:
982 charptr = &options->gss_server_identity;
983 goto parse_string;
984
985 case oGssRenewalRekey:
986 intptr = &options->gss_renewal_rekey;
987 goto parse_flag;
988
957 case oBatchMode: 989 case oBatchMode:
958 intptr = &options->batch_mode; 990 intptr = &options->batch_mode;
959 goto parse_flag; 991 goto parse_flag;
@@ -1765,7 +1797,12 @@ initialize_options(Options * options)
1765 options->pubkey_authentication = -1; 1797 options->pubkey_authentication = -1;
1766 options->challenge_response_authentication = -1; 1798 options->challenge_response_authentication = -1;
1767 options->gss_authentication = -1; 1799 options->gss_authentication = -1;
1800 options->gss_keyex = -1;
1768 options->gss_deleg_creds = -1; 1801 options->gss_deleg_creds = -1;
1802 options->gss_trust_dns = -1;
1803 options->gss_renewal_rekey = -1;
1804 options->gss_client_identity = NULL;
1805 options->gss_server_identity = NULL;
1769 options->password_authentication = -1; 1806 options->password_authentication = -1;
1770 options->kbd_interactive_authentication = -1; 1807 options->kbd_interactive_authentication = -1;
1771 options->kbd_interactive_devices = NULL; 1808 options->kbd_interactive_devices = NULL;
@@ -1906,8 +1943,14 @@ fill_default_options(Options * options)
1906 options->challenge_response_authentication = 1; 1943 options->challenge_response_authentication = 1;
1907 if (options->gss_authentication == -1) 1944 if (options->gss_authentication == -1)
1908 options->gss_authentication = 0; 1945 options->gss_authentication = 0;
1946 if (options->gss_keyex == -1)
1947 options->gss_keyex = 0;
1909 if (options->gss_deleg_creds == -1) 1948 if (options->gss_deleg_creds == -1)
1910 options->gss_deleg_creds = 0; 1949 options->gss_deleg_creds = 0;
1950 if (options->gss_trust_dns == -1)
1951 options->gss_trust_dns = 0;
1952 if (options->gss_renewal_rekey == -1)
1953 options->gss_renewal_rekey = 0;
1911 if (options->password_authentication == -1) 1954 if (options->password_authentication == -1)
1912 options->password_authentication = 1; 1955 options->password_authentication = 1;
1913 if (options->kbd_interactive_authentication == -1) 1956 if (options->kbd_interactive_authentication == -1)