Diff for /embedaddon/sudo/plugins/sudoers/boottime.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 16:23:02 version 1.1.1.2, 2012/05/29 12:26:49
Line 53 Line 53
 #endif /* !__linux__ */  #endif /* !__linux__ */
   
 #include "missing.h"  #include "missing.h"
   #include "sudo_debug.h"
   
 /*  /*
  * Fill in a struct timeval with the time the system booted.   * Fill in a struct timeval with the time the system booted.
Line 67  get_boottime(struct timeval *tv) Line 68  get_boottime(struct timeval *tv)
     size_t linesize = 0;      size_t linesize = 0;
     ssize_t len;      ssize_t len;
     FILE * fp;      FILE * fp;
       debug_decl(get_boottime, SUDO_DEBUG_UTIL)
   
     /* read btime from /proc/stat */      /* read btime from /proc/stat */
     fp = fopen("/proc/stat", "r");      fp = fopen("/proc/stat", "r");
Line 75  get_boottime(struct timeval *tv) Line 77  get_boottime(struct timeval *tv)
             if (strncmp(line, "btime ", 6) == 0) {              if (strncmp(line, "btime ", 6) == 0) {
                 tv->tv_sec = atoi(line + 6);                  tv->tv_sec = atoi(line + 6);
                 tv->tv_usec = 0;                  tv->tv_usec = 0;
                return 1;                debug_return_bool(1);
             }              }
         }          }
         fclose(fp);          fclose(fp);
         free(line);          free(line);
     }      }
   
    return 0;    debug_return_bool(0);
 }  }
   
 #elif defined(HAVE_SYSCTL) && defined(KERN_BOOTTIME)  #elif defined(HAVE_SYSCTL) && defined(KERN_BOOTTIME)
Line 92  get_boottime(struct timeval *tv) Line 94  get_boottime(struct timeval *tv)
 {  {
     size_t size;      size_t size;
     int mib[2];      int mib[2];
       debug_decl(get_boottime, SUDO_DEBUG_UTIL)
   
     mib[0] = CTL_KERN;      mib[0] = CTL_KERN;
     mib[1] = KERN_BOOTTIME;      mib[1] = KERN_BOOTTIME;
     size = sizeof(*tv);      size = sizeof(*tv);
     if (sysctl(mib, 2, tv, &size, NULL, 0) != -1)      if (sysctl(mib, 2, tv, &size, NULL, 0) != -1)
        return 1;        debug_return_bool(1);
   
    return 0;    debug_return_bool(0);
 }  }
   
 #elif defined(HAVE_GETUTXID)  #elif defined(HAVE_GETUTXID)
Line 108  int Line 111  int
 get_boottime(struct timeval *tv)  get_boottime(struct timeval *tv)
 {  {
     struct utmpx *ut, key;      struct utmpx *ut, key;
       debug_decl(get_boottime, SUDO_DEBUG_UTIL)
   
     memset(&key, 0, sizeof(key));      memset(&key, 0, sizeof(key));
     key.ut_type = BOOT_TIME;      key.ut_type = BOOT_TIME;
Line 117  get_boottime(struct timeval *tv) Line 121  get_boottime(struct timeval *tv)
         tv->tv_usec = ut->ut_tv.tv_usec;          tv->tv_usec = ut->ut_tv.tv_usec;
     }      }
     endutxent();      endutxent();
    return ut != NULL;    debug_return_bool(ut != NULL);
 }  }
   
 #elif defined(HAVE_GETUTID)  #elif defined(HAVE_GETUTID)
Line 126  int Line 130  int
 get_boottime(struct timeval *tv)  get_boottime(struct timeval *tv)
 {  {
     struct utmp *ut, key;      struct utmp *ut, key;
       debug_decl(get_boottime, SUDO_DEBUG_UTIL)
   
     memset(&key, 0, sizeof(key));      memset(&key, 0, sizeof(key));
     key.ut_type = BOOT_TIME;      key.ut_type = BOOT_TIME;
Line 135  get_boottime(struct timeval *tv) Line 140  get_boottime(struct timeval *tv)
         tv->tv_usec = 0;          tv->tv_usec = 0;
     }      }
     endutent();      endutent();
    return ut != NULL;    debug_return_bool(ut != NULL);
 }  }
   
 #else  #else
Line 143  get_boottime(struct timeval *tv) Line 148  get_boottime(struct timeval *tv)
 int  int
 get_boottime(struct timeval *tv)  get_boottime(struct timeval *tv)
 {  {
    return 0;    debug_decl(get_boottime, SUDO_DEBUG_UTIL)
     debug_return_bool(0);
 }  }
 #endif  #endif

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>