This file is indexed.

/usr/share/IlohaMail/include/cache.DB.inc is in ilohamail 0.8.14-0rc3sid6.2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
<?php
/////////////////////////////////////////////////////////
//	
//	include/cache.FS.inc
//
//	(C)Copyright 2003 Ryo Chijiiwa <Ryo@IlohaMail.org>
//
//	This file is part of IlohaMail, and released under GPL.
//	See COPYING, or http://www.fsf.org/copyleft/gpl.html
//
/////////////////////////////////////////////////////////
/********************************************************
	PURPOSE: Unified interface to read/write cache

********************************************************/

$EXISTING_CACHES = array();
$CACHE_ERROR = "";

function cache_read($user, $host, $key){
	global $DB_CACHE_TABLE;
	global $EXISTING_CACHES;
	global $session_dataID;
	
	$db = new idba_obj;
	if (!$db->connect()) return false;
	
	$data = false;
	$sql = "SELECT * FROM $DB_CACHE_TABLE WHERE owner='$session_dataID' and cache_key='$key'";
	$result = $db->query($sql);
	if (($result) && ($db->num_rows($result)>0)){
		$a = $db->fetch_row($result);
		$data = unserialize($a["cache_data"]);
		$EXISTING_CACHES[$key] = $a["id"];
	}else{
		$result = false;
		$EXISTING_CACHES[$key] = false;
	}
		
	return $data;
}

function cache_write($user, $host, $key, $data, $volatile=true){
	global $DB_CACHE_TABLE;
	global $session_dataID;
	global $CACHE_ERROR;
		
	$db = new idba_obj;
	if (!$db->connect()) return false;
	
	if (!$EXISTING_CACHES[$key]){
		$sql = "SELECT id FROM $DB_CACHE_TABLE WHERE owner='$session_dataID' and cache_key='$key'";
		$result = $db->query($sql);
		if (($result) && ($db->num_rows($result)>0)){
			$a = $db->fetch_row($result);
			$EXISTING_CACHES[$key] = $a["id"];
		}else{
			$EXISTING_CACHES[$key] = false;
		}
	}
	
	$data = serialize($data);
	if ($EXISTING_CACHES[$key]){
		$id = $EXISTING_CACHES[$key];
		$ownerID = $session_dataID;
		$sql = "UPDATE $DB_CACHE_TABLE SET cache_data='$data',volatile='$volatile' WHERE id='$id' AND owner='$session_dataID'";
		$result = $db->query($sql);	
	}else{
		$ownerID = $session_dataID;
		$sql = "INSERT INTO $DB_CACHE_TABLE (owner, cache_key, cache_data, cache_ts, volatile) ";
		$sql.= "VALUES ('$session_dataID', '$key', '$data', '".time()."', '$volatile')";
		$result = $db->query($sql);	
	}
	
	if (!$result) $CACHE_ERROR = $db->error();
		
	return $result;
}

function cache_clear($user, $host, $key){
	global $DB_CACHE_TABLE;
	global $session_dataID;
	global $CACHE_ERROR;
		
	$db = new idba_obj;
	if (!$db->connect()) return false;
	
	$sql = "UPDATE $DB_CACHE_TABLE SET cache_data='' WHERE owner='$session_dataID' and cache_key=$key'";
	$result =  $db->query($sql);
	if (!$result) $CACHE_ERROR = $db->error();
	return $result;
}

function cache_clear_all($user, $host){
	global $session_dataID;
	global $DB_CACHE_TABLE;
	
	$db = new idba_obj;
	if (!$db->connect()) return false;

	$expire = time() - (60 * 60 * 24 * 30);  //timestamp 30 days ago
	$sql = "DELETE FROM $DB_CACHE_TABLE ";
	$sql.= " WHERE (owner='$session_dataID' and volatile='1')";
	$sql.= " OR (cache_ts < '$expire' and volatile='1')";
	return $db->query($sql);
}

?>