shill: vpn: Destroy connection on fatal unsupported management messages.

This will inidicate VPN service connection failure to the UI and end
up prompting the user to re-enter credentials and configuration
options. Still TODO is to pass through relevant error messages to the
UI.

BUG=chromium-os:29425
TEST=unit tests

Change-Id: If34c9aa0290e5b8a9927687c0898da27ddfbb277
Reviewed-on: https://gerrit.chromium.org/gerrit/20374
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/openvpn_driver.h b/openvpn_driver.h
index 1395337..93a630e 100644
--- a/openvpn_driver.h
+++ b/openvpn_driver.h
@@ -64,6 +64,8 @@
 
   virtual std::string GetProviderType() const;
 
+  virtual void Cleanup(Service::ConnectState state);
+
   void ClearMappedProperty(const size_t &index, Error *error);
   std::string GetMappedProperty(const size_t &index, Error *error);
   void SetMappedProperty(const size_t &index,
@@ -71,7 +73,6 @@
                          Error *error);
   Stringmap GetProvider(Error *error);
 
-
   KeyValueStore *args() { return &args_; }
 
   // Returns true if an opton was appended.
@@ -86,8 +87,6 @@
 
  private:
   friend class OpenVPNDriverTest;
-  FRIEND_TEST(OpenVPNDriverTest, AppendFlag);
-  FRIEND_TEST(OpenVPNDriverTest, AppendValueOption);
   FRIEND_TEST(OpenVPNDriverTest, ClaimInterface);
   FRIEND_TEST(OpenVPNDriverTest, Cleanup);
   FRIEND_TEST(OpenVPNDriverTest, Connect);
@@ -156,7 +155,6 @@
   bool PinHostRoute(const IPConfig::Properties &properties);
 
   bool SpawnOpenVPN();
-  void Cleanup(Service::ConnectState state);
 
   // Called when the openpvn process exits.
   static void OnOpenVPNDied(GPid pid, gint status, gpointer data);