summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/servers/slapd/log.c')
-rw-r--r--ldap/servers/slapd/log.c36
1 files changed, 7 insertions, 29 deletions
diff --git a/ldap/servers/slapd/log.c b/ldap/servers/slapd/log.c
index 7241129f..cb23748c 100644
--- a/ldap/servers/slapd/log.c
+++ b/ldap/servers/slapd/log.c
@@ -124,7 +124,6 @@ static int log__audit_rotationinfof(char *pathname);
static int log__extract_logheader (FILE *fp, long *f_ctime, PRInt64 *f_size);
static int log__check_prevlogs (FILE *fp, char *filename);
static PRInt64 log__getfilesize(LOGFD fp);
-static PRInt64 log__getfilesize_with_filename(char *filename);
static int log__enough_freespace(char *path);
static int vslapd_log_error(LOGFD fp, char *subsystem, char *fmt, va_list ap, int locked );
@@ -2516,8 +2515,6 @@ log__fix_rotationinfof(char *pathname)
int log_type_id;
int rval = LOG_ERROR;
char *p;
- char *rotated_log = NULL;
- int rotated_log_len = 0;
/* rotation info file is broken; can't trust the contents */
time (&now);
@@ -2560,10 +2557,6 @@ log__fix_rotationinfof(char *pathname)
loginfo.log_audit_logchain = NULL;
break;
}
- /* length of (pathname + .YYYYMMDD-hhmmss)
- * pathname includes ".rotationinfo", but that's fine. */
- rotated_log_len = strlen(pathname) + 17;
- rotated_log = (char *)slapi_ch_malloc(rotated_log_len);
/* read the directory entries into a linked list */
for (dirent = PR_ReadDir(dirptr, dirflags); dirent ;
dirent = PR_ReadDir(dirptr, dirflags)) {
@@ -2596,24 +2589,21 @@ log__fix_rotationinfof(char *pathname)
logp = (struct logfileinfo *) slapi_ch_malloc (sizeof (struct logfileinfo));
logp->l_ctime = log_reverse_convert_time(p);
-
- PR_snprintf(rotated_log, rotated_log_len, "%s/%s",
- logsdir, dirent->name);
switch (log_type_id) {
case ERRORSLOG:
- logp->l_size = log__getfilesize_with_filename(rotated_log);
+ logp->l_size = loginfo.log_error_maxlogsize; /* dummy */
logp->l_next = loginfo.log_error_logchain;
loginfo.log_error_logchain = logp;
loginfo.log_numof_error_logs++;
break;
case ACCESSLOG:
- logp->l_size = log__getfilesize_with_filename(rotated_log);
+ logp->l_size = loginfo.log_access_maxlogsize;
logp->l_next = loginfo.log_access_logchain;
loginfo.log_access_logchain = logp;
loginfo.log_numof_access_logs++;
break;
case AUDITLOG:
- logp->l_size = log__getfilesize_with_filename(rotated_log);
+ logp->l_size =loginfo.log_audit_maxlogsize;
logp->l_next = loginfo.log_audit_logchain;
loginfo.log_audit_logchain = logp;
loginfo.log_numof_audit_logs++;
@@ -2626,7 +2616,6 @@ done:
if (NULL != dirptr)
PR_CloseDir(dirptr);
slapi_ch_free_string(&logsdir);
- slapi_ch_free_string(&rotated_log);
return rval;
}
#undef ERRORSLOG
@@ -2901,23 +2890,12 @@ log__getfilesize(LOGFD fp)
static PRInt64
log__getfilesize(LOGFD fp)
{
- PRFileInfo64 info;
-
- if (PR_GetOpenFileInfo64 (fp, &info) == PR_FAILURE) {
- return -1;
- }
- return (PRInt64)info.size; /* type of size is PROffset64 */
-}
-
-static PRInt64
-log__getfilesize_with_filename(char *filename)
-{
- PRFileInfo64 info;
+ PRFileInfo info;
- if (PR_GetFileInfo64 ((const char *)filename, &info) == PR_FAILURE) {
+ if (PR_GetOpenFileInfo (fp, &info) == PR_FAILURE) {
return -1;
}
- return (PRInt64)info.size; /* type of size is PROffset64 */
+ return (PRInt64)info.size; /* type of size is off_t */
}
#endif
@@ -4077,7 +4055,7 @@ log_reverse_convert_time(char *tbuf)
} else {
return 0;
}
- tm.tm_isdst = -1;
+
return mktime(&tm);
}