[tac_plus] Accounting time off
heasley
heas at shrubbery.net
Wed Apr 25 18:43:48 UTC 2012
Wed, Apr 25, 2012 at 11:30:52AM -0600, Daniel Schmidt:
> Make no sense. Only difference between 1 and 2 is a sudo make install
> from .19 and .25 directory and restarting service. Find/replace only on
> user * ip's. Where would TZ be set in the code?
its not; its inheritted from the process that starts it.
> # tail -n2 /var/log/tacacs
> Apr 25 17:27:18 1.1.1.1 homer tty2 2.2.2.2 stop
> task_id=101 timezone=MDT service=shell start_time=1335374838
> priv-lvl=15 cmd=write <cr>
> Wed Apr 25 11:28:01 2012 1.1.1.1 homer tty2 2.2.2.2
> stop task_id=102 timezone=MDT service=shell
> start_time=1335374881 priv-lvl=15 cmd=write <cr>
shit, this change was added in F4.0.4.20; sorry missed that in the logs. so,
hrm, but in order for it to use the inheritted timezone, it'd have to use
localtime instead of gmtime.
r3374 | heas | 2011-01-20 00:16:17 +0000 (Thu, 20 Jan 2011) | 2 lines
- change accounting log time format to match syslog
Index: do_acct.c
===================================================================
--- do_acct.c (revision 3199)
+++ do_acct.c (revision 3375)
@@ -20,6 +20,7 @@
*/
#include "tac_plus.h"
+#include <limits.h>
#include <time.h>
#if defined(__DragonFly__) && !defined(O_SYNC)
#define O_SYNC O_FSYNC
@@ -69,9 +70,11 @@
{
int i, errors;
time_t t = time(NULL);
- char *ct = ctime(&t);
+ char ct[LINE_MAX];
+ struct tm *tm;
- ct[24] = '\0';
+ tm = gmtime(&t);
+ strftime(ct, LINE_MAX, "%h %e %T", tm);
if (!acctfd) {
acctfd = open(session.acctfile, O_CREAT | O_WRONLY | O_APPEND, 0644);
More information about the tac_plus
mailing list