# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# IPSec VPN, with bad PSK credentials.
#

{ "name" : "VPNIPSecBadPSK",
  "steps":[
    #  Create WiFi connection from Client to Router.
    [ "create",         { "type" : "hostap" } ],
    [ "config",         { "channel" : "2412", "mode" : "11b" } ],
    [ "connect",        { "security" : "none" } ],

    [ "vpn_server_config", {
                "kind" : "l2tpipsec-psk",
                "replacements" : { "@plutodebug@" : "all" }}],

    #  Launch the VPN Client.
    [ "!vpn_client_config", { "kind"       : "l2tpipsec-psk",
                              "password"   : "paxxword",  # ipsec.secrets
                              "chapuser"   : "chapuxer",  # chap-secrets
                              "chapsecret" : "chapxecret" # chap-secrets
                            }],

    # Verify the client is connected to the server
    [ "!client_ping",       { "ping_ip" : "192.168.1.99", # In xl2tpd.conf.
                              "count" : "10" } ],

    [ "vpn_client_kill" ],       # Shut down the VPN Client.
    [ "vpn_server_kill" ],       # Shut down the VPN Server.
    [ "disconnect" ],            # Disconnect WiFi setup
    ],
}
