mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 18:45:40 +08:00
Fix counters time check for different platforms
This commit is contained in:
parent
d3f9d80b65
commit
3c8c866ac1
21
src/conf.c
21
src/conf.c
@ -405,17 +405,22 @@ static int h_counter(int argc, unsigned char **argv){
|
|||||||
fprintf(stderr, "Not a counter file %s, line %d\n", argv[1], linenum);
|
fprintf(stderr, "Not a counter file %s, line %d\n", argv[1], linenum);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
#ifdef _MSC_VER
|
|
||||||
#ifdef _TIME64_T_DEFINED
|
#ifdef _TIME64_T_DEFINED
|
||||||
#ifndef _MAX__TIME64_T
|
#ifdef _MAX__TIME64_T
|
||||||
#define _MAX__TIME64_T 0x793406fffi64
|
#define MAX_COUNTER_TIME (_MAX__TIME64_T)
|
||||||
|
#elif defined (MAX__TIME64_T)
|
||||||
|
#define MAX_COUNTER_TIME (MAX__TIME64_T)
|
||||||
|
#else
|
||||||
|
#define MAX_COUNTER_TIME (0x793406fff)
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
#define MAX_COUNTER_TIME ((sizeof(time_t)>4)?0x793406fff:LONG_MAX)
|
||||||
#endif
|
#endif
|
||||||
if(ch1.updated >= _MAX__TIME64_T){
|
|
||||||
|
if(ch1.updated < 0 || ch1.updated >= MAX_COUNTER_TIME){
|
||||||
fprintf(stderr, "Invalid or corrupted counter file %s. Use countersutil utility to convert from older version\n", argv[1]);
|
fprintf(stderr, "Invalid or corrupted counter file %s. Use countersutil utility to convert from older version\n", argv[1]);
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
cheader.updated = ch1.updated;
|
cheader.updated = ch1.updated;
|
||||||
}
|
}
|
||||||
if(argc >=4) {
|
if(argc >=4) {
|
||||||
@ -1209,12 +1214,10 @@ static int h_ace(int argc, unsigned char **argv){
|
|||||||
tl->traf64 = crecord.traf64;
|
tl->traf64 = crecord.traf64;
|
||||||
tl->cleared = crecord.cleared;
|
tl->cleared = crecord.cleared;
|
||||||
tl->updated = crecord.updated;
|
tl->updated = crecord.updated;
|
||||||
#ifdef _MAX__TIME64_T
|
if(tl->cleared < 0 || tl->cleared >= MAX_COUNTER_TIME || tl->updated < 0 || tl->updated >= MAX_COUNTER_TIME){
|
||||||
if(tl->cleared >= _MAX__TIME64_T || tl->updated >= _MAX__TIME64_T){
|
fprintf(stderr, "Invalid, incompatible or corrupted counter file.\n");
|
||||||
fprintf(stderr, "Invalid or corrupted counter file. Use countersutil utility to convert from older version\n");
|
|
||||||
return(6);
|
return(6);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pthread_mutex_lock(&tc_mutex);
|
pthread_mutex_lock(&tc_mutex);
|
||||||
|
Loading…
Reference in New Issue
Block a user