]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Added daemon_start_time and daemon_pid environmental variables.
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Fri, 26 Dec 2008 16:29:28 +0000 (16:29 +0000)
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Fri, 26 Dec 2008 16:29:28 +0000 (16:29 +0000)
In management interface, added new ">CLIENT:ESTABLISHED" notification.

git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3763 e7ae566f-a301-0410-adde-c780ea21d3b5

manage.c
manage.h
management/management-notes.txt
multi.c
options.c
version.m4

index a9878c68a0b11758a82e5ad36622b9edbca09f3b..cff43482bf8775920ffc88d2471a773570857832 100644 (file)
--- a/manage.c
+++ b/manage.c
@@ -2115,9 +2115,13 @@ management_notify_client_needing_auth (struct management *management,
 
 void
 management_connection_established (struct management *management,
-                                  struct man_def_auth_context *mdac)
+                                  struct man_def_auth_context *mdac,
+                                  const struct env_set *es)
 {
   mdac->flags |= DAF_CONNECTION_ESTABLISHED;
+  msg (M_CLIENT, ">CLIENT:ESTABLISHED,%lu", mdac->cid);
+  man_output_extra_env (management);
+  man_output_env (es, true);
 }
 
 void
index 94ec639e1b117335332580da4a9e364fe3157bb6..66fb7d1effe18ba4690feb8c3b7dc8b45f5630a0 100644 (file)
--- a/manage.h
+++ b/manage.h
@@ -355,7 +355,8 @@ void management_notify_client_needing_auth (struct management *management,
                                            const struct env_set *es);
 
 void management_connection_established (struct management *management,
-                                       struct man_def_auth_context *mdac);
+                                       struct man_def_auth_context *mdac,
+                                       const struct env_set *es);
 
 void management_notify_client_close (struct management *management,
                                     struct man_def_auth_context *mdac,
index 6e721de5c5154fcf48a791393ecba2667bdd0ace..45bfda439bf4f2610e00d5d6dbb85677aa2133f5 100644 (file)
@@ -770,7 +770,16 @@ CLIENT notification types:
     >CLIENT:ENV,...
     >CLIENT:ENV,END
 
-(2) Notify existing client disconnection.  The environmental variables passed
+(2) Notify successful client authentication and session initiation.
+    Called after CONNECT.
+
+    >CLIENT:ESTABLISHED,{CID}
+    >CLIENT:ENV,name1=val1
+    >CLIENT:ENV,name2=val2
+    >CLIENT:ENV,...
+    >CLIENT:ENV,END
+
+(3) Notify existing client disconnection.  The environmental variables passed
     are equivalent to those that would be passed to a --client-disconnect
     script.
 
@@ -780,7 +789,7 @@ CLIENT notification types:
     >CLIENT:ENV,...
     >CLIENT:ENV,END
 
-(3) Notify that a particular virtual address or subnet
+(4) Notify that a particular virtual address or subnet
     is now associated with a specific client.
 
     >CLIENT:ADDRESS,{CID},{ADDR},{PRI}
diff --git a/multi.c b/multi.c
index 67047899456db653827b5349ae4d9b3e9686ebd6..ea6ae93b38b2565a2d9fd1e7fa1c29dc653b799a 100644 (file)
--- a/multi.c
+++ b/multi.c
@@ -1698,7 +1698,7 @@ multi_connection_established (struct multi_context *m, struct multi_instance *mi
 
 #ifdef MANAGEMENT_DEF_AUTH
       if (management)
-       management_connection_established (management, &mi->context.c2.mda_context);
+       management_connection_established (management, &mi->context.c2.mda_context, mi->context.c2.es);
 #endif
 
       gc_free (&gc);
index e5cc0f24f8c3a9f25d1ef3337f70971c5abfc688..9ca146f5022cf2736803c6e7a021c6b793143838 100644 (file)
--- a/options.c
+++ b/options.c
@@ -795,6 +795,8 @@ setenv_settings (struct env_set *es, const struct options *o)
   setenv_int (es, "verb", o->verbosity);
   setenv_int (es, "daemon", o->daemon);
   setenv_int (es, "daemon_log_redirect", o->log);
+  setenv_unsigned (es, "daemon_start_time", time(NULL));
+  setenv_int (es, "daemon_pid", openvpn_getpid());
 
 #ifdef ENABLE_CONNECTION
   if (o->connection_list)
index 132e6cde3c3b0a4f2351df48d58574439408b8c8..e0921bf8ed8bc379c48c2dc175523e895bca6e7e 100644 (file)
@@ -1,5 +1,5 @@
 dnl define the OpenVPN version
-define(PRODUCT_VERSION,[2.1_rc15c])
+define(PRODUCT_VERSION,[2.1_rc15d])
 dnl define the TAP version
 define(PRODUCT_TAP_ID,[tap0901])
 define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9])