]> andersk Git - openssh.git/blobdiff - readconf.c
- djm@cvs.openbsd.org 2010/01/09 00:20:26
[openssh.git] / readconf.c
index 53fc6c7ba598c0fe5a0f4e0581320fca05b876e7..47c77472a837458d322624697a4bc1aa1ff2080d 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.c,v 1.176 2009/02/12 03:00:56 djm Exp $ */
+/* $OpenBSD: readconf.c,v 1.181 2009/12/29 16:38:41 stevesk Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -130,8 +130,8 @@ typedef enum {
        oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
        oSendEnv, oControlPath, oControlMaster, oHashKnownHosts,
        oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand,
-       oVisualHostKey, oZeroKnowledgePasswordAuthentication,
-       oDeprecated, oUnsupported
+       oVisualHostKey, oUseRoaming, oRDomain,
+       oZeroKnowledgePasswordAuthentication, oDeprecated, oUnsupported
 } OpCodes;
 
 /* Textual representations of the tokens. */
@@ -228,6 +228,12 @@ static struct {
        { "localcommand", oLocalCommand },
        { "permitlocalcommand", oPermitLocalCommand },
        { "visualhostkey", oVisualHostKey },
+       { "useroaming", oUseRoaming },
+#ifdef USE_ROUTINGDOMAIN
+       { "routingdomain", oRDomain },
+#else
+       { "routingdomain", oUnsupported },
+#endif
 #ifdef JPAKE
        { "zeroknowledgepasswordauthentication",
            oZeroKnowledgePasswordAuthentication },
@@ -914,6 +920,25 @@ parse_int:
                intptr = &options->visual_host_key;
                goto parse_flag;
 
+       case oUseRoaming:
+               intptr = &options->use_roaming;
+               goto parse_flag;
+
+#ifdef USE_ROUTINGDOMAIN
+       case oRDomain:
+               arg = strdelim(&s);
+               if (!arg || *arg == '\0')
+                       fatal("%.200s line %d: Missing argument.",
+                           filename, linenum);
+               value = a2rdomain(arg);
+               if (value == -1)
+                       fatal("%.200s line %d: Bad rdomain.",
+                           filename, linenum);
+               if (*activep)
+                       options->rdomain = value;
+               break;
+#endif
+
        case oDeprecated:
                debug("%s line %d: Deprecated option \"%s\"",
                    filename, linenum, keyword);
@@ -1063,6 +1088,8 @@ initialize_options(Options * options)
        options->tun_remote = -1;
        options->local_command = NULL;
        options->permit_local_command = -1;
+       options->use_roaming = -1;
+       options->rdomain = -1;
        options->visual_host_key = -1;
        options->zero_knowledge_password_authentication = -1;
 }
@@ -1136,7 +1163,7 @@ fill_default_options(Options * options)
        /* options->macs, default set in myproposals.h */
        /* options->hostkeyalgorithms, default set in myproposals.h */
        if (options->protocol == SSH_PROTO_UNKNOWN)
-               options->protocol = SSH_PROTO_1|SSH_PROTO_2;
+               options->protocol = SSH_PROTO_2;
        if (options->num_identity_files == 0) {
                if (options->protocol & SSH_PROTO_1) {
                        len = 2 + strlen(_PATH_SSH_CLIENT_IDENTITY) + 1;
@@ -1199,6 +1226,8 @@ fill_default_options(Options * options)
                options->tun_remote = SSH_TUNID_ANY;
        if (options->permit_local_command == -1)
                options->permit_local_command = 0;
+       if (options->use_roaming == -1)
+               options->use_roaming = 1;
        if (options->visual_host_key == -1)
                options->visual_host_key = 0;
        if (options->zero_knowledge_password_authentication == -1)
@@ -1209,6 +1238,7 @@ fill_default_options(Options * options)
        /* options->hostname will be set in the main program if appropriate */
        /* options->host_key_alias should not be set by default */
        /* options->preferred_authentications will be set in ssh */
+       /* options->rdomain should not be set by default */
 }
 
 /*
This page took 0.033093 seconds and 4 git commands to generate.