Overview
| Comment: | Updated to allow users to specify permissions on files by their SHA1 in addition to filename | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | 
79c3658a529758f32c1e14b771d386e8 | 
| User & Date: | rkeene on 2015-03-20 03:13:13 | 
| Other Links: | manifest | tags | 
Context
| 
   2015-03-20 
 | ||
| 15:19 | AppFS 1.6 check-in: 11de1e2cff user: rkeene tags: trunk, 1.6 | |
| 03:13 | Updated to allow users to specify permissions on files by their SHA1 in addition to filename check-in: 79c3658a52 user: rkeene tags: trunk | |
| 01:50 | Updated to set umask on startup check-in: 01c5bfc689 user: rkeene tags: trunk | |
Changes
Modified appfsd.tcl from [9ba44d8408] to [9d766a9055].
| ︙ | ︙ | |||
38 39 40 41 42 43 44  | 
	# User-replaceable function get the home directory of the current user
	proc get_homedir {} {
		return [::appfsd::get_homedir]
	}
	# User-replacable function to update permissions
 | | > > > >  | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59  | 
	# User-replaceable function get the home directory of the current user
	proc get_homedir {} {
		return [::appfsd::get_homedir]
	}
	# User-replacable function to update permissions
	proc change_perms {file sha1 perms} {
		if {[info exists ::appfs::user::add_perms($file)]} {
			append perms $::appfs::user::add_perms($file)
		}
		if {[info exists ::appfs::user::add_perms($sha1)]} {
			append perms $::appfs::user::add_perms($sha1)
		}
		return $perms
	}
}
namespace eval ::appfs {
	variable cachedir "/tmp/appfs-cache"
 | 
| ︙ | ︙ | |||
801 802 803 804 805 806 807  | 
						set directory [join [lrange $work 0 end-1] "/"]
						set file [lindex $work end]
						if {$directory == "" && $file == ""} {
							array set retval [list type directory]
						}
 | | |  | 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827  | 
						set directory [join [lrange $work 0 end-1] "/"]
						set file [lindex $work end]
						if {$directory == "" && $file == ""} {
							array set retval [list type directory]
						}
						::appfs::db eval {SELECT type, time, source, size, perms, file_sha1 FROM files WHERE package_sha1 = $pathinfo(package_sha1) AND file_directory = $directory AND file_name = $file;} retval {}
						# Allow an administrator to supply additional permissions to remote files
						if {[info exists retval(perms)]} {
							# Lower case this in case an upper-cased value was put in
							# the database before we started lowercasing them
							set retval(perms) [string tolower $retval(perms)]
							set retval(perms) [::appfs::user::change_perms $path $retval(file_sha1) $retval(perms)]
						}
						if {[info exists retval(type)] && $retval(type) == "directory"} {
							set retval(childcount) [llength [getchildren $path]]
						}
						unset -nocomplain retval(*)
 | 
| ︙ | ︙ |