]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Use long long to format time_t-related environment variables
authorJeremie Courreges-Anglas <jca@wxcvbn.org>
Sun, 5 Nov 2017 09:46:41 +0000 (10:46 +0100)
committerGert Doering <gert@greenie.muc.de>
Fri, 10 Nov 2017 13:17:45 +0000 (14:17 +0100)
Signed-off-by: Jeremie Courreges-Anglas <jca@wxcvbn.org>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Message-Id: <20171105094641.55673-1-jca@wxcvbn.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg15750.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/misc.c
src/openvpn/misc.h
src/openvpn/multi.c
src/openvpn/options.c

index 8c7f611693798ba66a979c2ec5822a129b93d7f3..001fe1c48732511022a27422cb5ac813cdc50eb3 100644 (file)
@@ -553,10 +553,10 @@ setenv_int(struct env_set *es, const char *name, int value)
 }
 
 void
-setenv_unsigned(struct env_set *es, const char *name, unsigned int value)
+setenv_long_long(struct env_set *es, const char *name, long long value)
 {
     char buf[64];
-    openvpn_snprintf(buf, sizeof(buf), "%u", value);
+    openvpn_snprintf(buf, sizeof(buf), "%lld", value);
     setenv_str(es, name, buf);
 }
 
index eb39ce3f41635515edb38595f51bb913c40a6590..f6c810a2bd842d56ca3a553a5278c3fb865b2e5d 100644 (file)
@@ -98,7 +98,7 @@ void setenv_counter(struct env_set *es, const char *name, counter_type value);
 
 void setenv_int(struct env_set *es, const char *name, int value);
 
-void setenv_unsigned(struct env_set *es, const char *name, unsigned int value);
+void setenv_long_long(struct env_set *es, const char *name, long long value);
 
 void setenv_str(struct env_set *es, const char *name, const char *value);
 
index 4545bce184e2ee3da9c1673ffa0d2dc8e29eba02..82a0b9d98f188b1afb56462b00f97937cf7f838c 100644 (file)
@@ -565,10 +565,7 @@ multi_client_disconnect_setenv(struct multi_context *m,
     setenv_stats(&mi->context);
 
     /* setenv connection duration */
-    {
-        const unsigned int duration = (unsigned int) now - mi->created;
-        setenv_unsigned(mi->context.c2.es, "time_duration", duration);
-    }
+    setenv_long_long(mi->context.c2.es, "time_duration", now - mi->created);
 }
 
 static void
@@ -1769,7 +1766,7 @@ multi_client_connect_setenv(struct multi_context *m,
     {
         const char *created_ascii = time_string(mi->created, 0, false, &gc);
         setenv_str(mi->context.c2.es, "time_ascii", created_ascii);
-        setenv_unsigned(mi->context.c2.es, "time_unix", (unsigned int)mi->created);
+        setenv_long_long(mi->context.c2.es, "time_unix", mi->created);
     }
 
     gc_free(&gc);
index 7aa311aa0a2d03e08d33c0ac605aaa76ad0bdec5..641a26e2eccac1d08fda50e69ef43c147c22642f 100644 (file)
@@ -990,7 +990,7 @@ 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_long_long(es, "daemon_start_time", time(NULL));
     setenv_int(es, "daemon_pid", platform_getpid());
 
     if (o->connection_list)