[SCM] Samba Shared Repository - branch v3-6-test updated

Jeremy Allison jra at samba.org
Tue Nov 23 12:16:18 MST 2010


The branch, v3-6-test has been updated
       via  d760315 Fix bug #7785 - atime limit.
      from  c80a672 s3: Add a word of warning about "winbind use default domain"

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit d760315089b97cc105fce4d248374ecf6c9413d0
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 23 11:12:17 2010 -0800

    Fix bug #7785 - atime limit.
    
    On a 64-bit time_t system make MAX_TIME_T the max value that
    can be represented in a struct tm. This allows applications to
    set times in the future beyond the 32-bit time_t limit (2037).
    
    This is only in source3/configure.in, needs adding to the waf
    configure/build system (but I'll need help with that).
    
    Jeremy.
    (cherry picked from commit cbb3ae6c9964e8ae28f56219b61a1a2e854265b9)

-----------------------------------------------------------------------

Summary of changes:
 source3/configure.in |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/configure.in b/source3/configure.in
index 2014ae8..3203963 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -2219,6 +2219,31 @@ if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then
     AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type])
 fi
 
+AC_CACHE_CHECK([for TIME_T_MAX],samba_cv_TIME_T_MAX,[
+AC_TRY_RUN([#include <time.h>
+main() {
+	struct tm *tm;
+	if (sizeof(time_t) == 8) {
+		time_t max_time = 0x7fffffffffffffffll;
+		tm = gmtime(&max_time);
+		/* This should fail with 32-bit tm_year. */
+		if (tm == NULL) {
+			/* Max time_t that works with 32-bit int tm_year in struct tm. */
+			max_time = 67768036191676799ll;
+			tm = gmtime(&max_time);
+			if (tm) {
+				exit(0);
+			}
+		}
+	}
+	exit(1);
+}],
+samba_cv_TIME_T_MAX=yes,samba_cv_TIME_T_MAX=no,samba_cv_TIME_T_MAX=cross)])
+if test x"$samba_cv_TIME_T_MAX" = x"yes"; then
+    AC_DEFINE(TIME_T_MAX,67768036191676799ll,[The maximum value of the 'time_t' type])
+fi
+
+
 AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
 AC_TRY_RUN([#include <stdio.h>
 #include <sys/stat.h>


-- 
Samba Shared Repository


More information about the samba-cvs mailing list