shill: openvpn: Don't process management messages if server is stopped.

A management message may result in the server being stopped so don't process any
further messages from the current batch. A new batch of messages will not be
received because the communication socket is closed. Also, some logging cleanup.

BUG=chromium-os:31704
TEST=unit tests, tested on device

Change-Id: I31280b571c1bdba650ad9f57e61962bd86bedf6e
Reviewed-on: https://gerrit.chromium.org/gerrit/24998
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/openvpn_management_server.h b/openvpn_management_server.h
index d40cdf5..14e4376 100644
--- a/openvpn_management_server.h
+++ b/openvpn_management_server.h
@@ -38,6 +38,7 @@
  private:
   friend class OpenVPNManagementServerTest;
   FRIEND_TEST(OpenVPNManagementServerTest, OnInput);
+  FRIEND_TEST(OpenVPNManagementServerTest, OnInputStop);
   FRIEND_TEST(OpenVPNManagementServerTest, OnReady);
   FRIEND_TEST(OpenVPNManagementServerTest, OnReadyAcceptFail);
   FRIEND_TEST(OpenVPNManagementServerTest, ParseNeedPasswordTag);
@@ -79,6 +80,8 @@
 
   static std::string ParseNeedPasswordTag(const std::string &message);
 
+  bool IsStarted() const { return sockets_; }
+
   OpenVPNDriver *driver_;
   GLib *glib_;
   base::WeakPtrFactory<OpenVPNManagementServer> weak_ptr_factory_;