svn commit: samba r21637 - in branches: SAMBA_3_0/source/lib SAMBA_3_0_25/source/lib

jmcd at samba.org jmcd at samba.org
Thu Mar 1 20:52:15 GMT 2007


Author: jmcd
Date: 2007-03-01 20:52:14 +0000 (Thu, 01 Mar 2007)
New Revision: 21637

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21637

Log:
Get "password never expires" account policy working.
0x8000000000000000LL is "infinity" to NT and should
not be converted numerically to time_t.


Modified:
   branches/SAMBA_3_0/source/lib/time.c
   branches/SAMBA_3_0_25/source/lib/time.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/time.c
===================================================================
--- branches/SAMBA_3_0/source/lib/time.c	2007-03-01 19:22:31 UTC (rev 21636)
+++ branches/SAMBA_3_0/source/lib/time.c	2007-03-01 20:52:14 UTC (rev 21637)
@@ -36,6 +36,8 @@
 #define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN)
 #endif
 
+#define NTTIME_INFINITY (NTTIME)0x8000000000000000LL
+
 /**
  External access to time_t_min and time_t_max.
 **/
@@ -1180,6 +1182,10 @@
 		return (time_t)-1;
 	}
 
+	if (*nt == NTTIME_INFINITY) {
+		return (time_t)-1;
+	}
+
 	/* reverse the time */
 	/* it's a negative value, turn it to positive */
 	d=~*nt;
@@ -1248,7 +1254,7 @@
 		
 	if (t == (time_t)-1) {
 		/* that's what NT uses for infinite */
-		*nt = 0x8000000000000000LL;
+		*nt = NTTIME_INFINITY;
 		return;
 	}		
 
@@ -1306,7 +1312,7 @@
 	if (nttime==0)
 		return "Now";
 
-	if (nttime==0x8000000000000000LL)
+	if (nttime==NTTIME_INFINITY)
 		return "Never";
 
 	high = 65536;	
@@ -1335,7 +1341,7 @@
 		return False;
 	}
 
-	if (*nt == 0x8000000000000000LL) {
+	if (*nt == NTTIME_INFINITY) {
 		return False;
 	}
 

Modified: branches/SAMBA_3_0_25/source/lib/time.c
===================================================================
--- branches/SAMBA_3_0_25/source/lib/time.c	2007-03-01 19:22:31 UTC (rev 21636)
+++ branches/SAMBA_3_0_25/source/lib/time.c	2007-03-01 20:52:14 UTC (rev 21637)
@@ -36,6 +36,8 @@
 #define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN)
 #endif
 
+#define NTTIME_INFINITY (NTTIME)0x8000000000000000LL
+
 /**
  External access to time_t_min and time_t_max.
 **/
@@ -1180,6 +1182,10 @@
 		return (time_t)-1;
 	}
 
+	if (*nt == NTTIME_INFINITY) {
+		return (time_t)-1;
+	}
+
 	/* reverse the time */
 	/* it's a negative value, turn it to positive */
 	d=~*nt;
@@ -1248,7 +1254,7 @@
 		
 	if (t == (time_t)-1) {
 		/* that's what NT uses for infinite */
-		*nt = 0x8000000000000000LL;
+		*nt = NTTIME_INFINITY;
 		return;
 	}		
 
@@ -1306,7 +1312,7 @@
 	if (nttime==0)
 		return "Now";
 
-	if (nttime==0x8000000000000000LL)
+	if (nttime==NTTIME_INFINITY)
 		return "Never";
 
 	high = 65536;	
@@ -1335,7 +1341,7 @@
 		return False;
 	}
 
-	if (*nt == 0x8000000000000000LL) {
+	if (*nt == NTTIME_INFINITY) {
 		return False;
 	}
 



More information about the samba-cvs mailing list