Commit Graph

307 Commits (58541b47f9ae4dc4310b51ccd9d25e4de17b4673)

Author SHA1 Message Date
jpandre 0377cd7107 Improved consistency of ownership for chmod 2008-04-08 10:22:13 +00:00
jpandre 6b8648409c Improved denials to group 2008-04-08 10:15:26 +00:00
szaka 77e5ff36d1 ntfs_make_room_for_attr(): "no space" condition must be ENOSPC, not EINVAL
ntfs_attr_add(): fix adding attribute which can be resident and non-resident
2008-04-02 17:21:11 +00:00
szaka 69423166cb fix: symlink failed or the size was truncated at modulo 256 if the target was over 255 bytes 2008-04-02 10:29:22 +00:00
szaka 2f85653372 Fix build. libfuse-lite and include/fuse-lite must be symlinks to the
respective fuse lite directories.
2008-03-28 22:26:24 +00:00
jpandre e4a835076a Updating the source directory tree 2008-03-28 14:42:50 +00:00
jpandre e5fcb9e844 Fixed a bug in security API 2008-03-23 08:41:18 +00:00
jpandre d766714986 Fixed processing of security options 2008-03-14 09:13:30 +00:00
jpandre 5258a873f1 Improved processing of group membership 2008-03-13 18:36:06 +00:00
jpandre cc9d5c0b57 Fixed write checks for directories 2008-03-13 14:09:16 +00:00
jpandre 2fa89952ff Fixed cache creation when mount fails 2008-03-12 16:22:24 +00:00
jpandre be365af93b Made implicit user mapping more general and improved checks 2008-03-12 16:15:52 +00:00
jpandre 1f1ebf2548 Fixed consistency checks in security API 2008-03-12 16:05:39 +00:00
jpandre 3fb950c590 Implemented dynamic groups and a generic user mapping 2008-03-11 15:36:40 +00:00
jpandre 97a85f91f9 Fixed an endianness error 2008-03-11 10:42:45 +00:00
jpandre 53fa335624 Adapted to ntfs-3g.1.2310 2008-03-10 15:35:54 +00:00
jpandre beb5e6ae48 Changed representation of special mode bits in ACEs and put them in
canonical order
2008-03-10 11:28:59 +00:00
jpandre 8cc3d7d7b2 Improved consistency checks related to $Secure 2008-03-06 11:26:23 +00:00
jpandre 72e221d828 Fixed getting the group of files 2008-03-05 18:34:58 +00:00
jpandre a38b79897d Adapted to ntfs-3g.1.2216 2008-02-18 15:15:13 +00:00
jpandre 2ff8218406 Adapted to ntfs-3g-1.2121-RC 2008-01-23 08:16:23 +00:00
jpandre d7741bccc6 Moved user mapping file to hidden directory .NTFS-3G 2008-01-16 20:07:56 +00:00
jpandre 31d414ca1d Implemented an option to designate a user mapping file 2008-01-15 17:41:46 +00:00
jpandre d5fc330628 Improved search for the longest run of unallocated blocks 2008-01-15 17:35:05 +00:00
jpandre 038156ba82 Reengineered LRU caches, made generic, and applied to finding inode numbers 2008-01-10 17:32:55 +00:00
jpandre 076358d6fd Redefined ownership of files 2007-12-14 17:02:39 +00:00
jpandre 78bd8350ca Fixed a bug when getting permissions for the first time 2007-12-13 17:27:32 +00:00
jpandre 59a21e6110 Reengineered permissions cache 2007-12-13 09:14:51 +00:00
jpandre 7335c9af68 Fixed inserting users into groups 2007-12-09 08:33:54 +00:00
jpandre ecc7c2099f Fixed checking for unchanged owner in chgrp 2007-12-09 08:32:19 +00:00
jpandre 99ff26cb0b Developped processing of static supplementary groups 2007-12-07 08:46:36 +00:00
jpandre 4a41445698 Added alignment checks in ACL sanity checking 2007-12-04 07:55:59 +00:00
jpandre a892467a88 Fixed bad release of index root 2007-12-04 07:51:30 +00:00
jpandre 9557f92cd0 Fixed compatibility with Windows for allowing writes to group and world 2007-12-02 20:23:17 +00:00
jpandre d49a557167 Fixed recognition of alternate world SID 2007-12-02 20:22:22 +00:00
jpandre 3284b3fd4a Fixed a memory leak when user mapping is not activated 2007-11-29 11:17:42 +00:00
jpandre d78230bb7f Fixed audit functions 2007-11-24 09:25:22 +00:00
jpandre fe34d3f231 Extended security API for auditing security data 2007-11-23 10:50:15 +00:00
jpandre d6cbe236e9 Fixed "Dr Watson" situation again 2007-11-23 10:48:47 +00:00
jpandre f73e9ed9ce Fixed setting of read-only flag 2007-11-20 13:48:15 +00:00
jpandre 3a51d80655 Adjusted to v 1.1104 2007-11-20 11:05:49 +00:00
jpandre bd86c2e445 Adjusted to v 1.1120 2007-11-20 11:03:57 +00:00
jpandre b2025c15d0 Fixed access to files owned by root with access granted to a user 2007-11-20 07:25:03 +00:00
jpandre ea6d22763e Fixed flags checking in security descriptors 2007-11-20 07:21:56 +00:00
szaka 6bbb912bca fix: unlink may failed with I/O error 2007-11-18 22:20:19 +00:00
szaka c38e349117 ntfs_readdir(): fix reading dirs over 600,000 files (GeorgeK, Szaka) 2007-11-15 07:21:43 +00:00
szaka 906637db9e posix file time updates (Yura Pakhuchiy, Szabolcs Szakacsits) 2007-11-13 00:11:51 +00:00
jpandre d519250d5b Tested security fields offset rather than flags in security API for consistency with "Dr Watson" case 2007-11-10 18:00:13 +00:00
jpandre 943248d0cf Considered security descriptors with no DACL as valid (for "DR Watson") 2007-11-10 15:52:37 +00:00
jpandre 84b00ba63a Set files created by unmapped users as created by root 2007-11-09 09:05:13 +00:00
jpandre e8d01bead0 Logged circumstances in which errno is set to EIO 2007-11-08 18:30:41 +00:00
jpandre afb21cdd92 Fixed clearing setgid if file group does not match process group 2007-11-06 16:39:24 +00:00
jpandre e9f4de2d94 Adjusted to v 1.1104 2007-11-05 17:16:48 +00:00
jpandre 2b2f210d57 Cleared gaps between $Secure:$SDS records to avoid warnings from chkdsk 2007-11-05 16:46:52 +00:00
jpandre dfdbc7c1f6 Fixed setuid and setgid (for directories, and if owner == group) 2007-11-01 20:51:15 +00:00
jpandre 0a6f37914c Fixed group ACE when group is owner and either setuid or setgid 2007-11-01 14:20:03 +00:00
jpandre cd25021844 Reorganized file creation to avoid temporary security settings 2007-10-30 17:09:11 +00:00
jpandre 442cbe8a73 Fixed header after merging security attributes 2007-10-30 08:54:31 +00:00
jpandre c7850ddf82 Fixed condition for accepting a chgrp 2007-10-30 08:52:51 +00:00
jpandre a8dc8655d0 Adjusted to v 1.1030 2007-10-29 16:28:33 +00:00
jpandre d0a84b3ef3 Fixed size returned in security API 2007-10-24 10:02:32 +00:00
jpandre 9551e7eee6 Recognized local users group as meaning world 2007-10-24 07:18:44 +00:00
jpandre b31b4cb124 Returned the securid and size even if short buffer in security API 2007-10-24 06:37:52 +00:00
szaka 5167f7b5dd ntfs_security_hash(): big-endian fix (Erik Larsson) 2007-10-22 18:51:20 +00:00
jpandre c6830ecc23 Fixed a few errno returns 2007-10-22 12:58:06 +00:00
jpandre 4fa21ffe2d Accepted symbolic names for uid and gid in user mapping file 2007-10-21 16:45:06 +00:00
jpandre 8fb2068f41 Recognized the generic creator-owner SID 2007-10-21 16:14:30 +00:00
jpandre ece8b56697 Removed old unused code 2007-10-20 15:27:44 +00:00
jpandre 0c15d089ef Implemented cache extension for legacy directories 2007-10-20 12:40:22 +00:00
jpandre 6a96a5cebd Checked volume designated in security API is not mounted 2007-10-20 07:07:03 +00:00
jpandre a597c1c608 Implemented special protection modes : sticky, setuid, setgid 2007-10-19 15:18:55 +00:00
jpandre 3ad5de1d1f Fixed security initialization for old volumes which do not have a $Secure file 2007-10-19 08:09:27 +00:00
jpandre 6886650afc Fixed several endianness errors 2007-10-19 07:16:21 +00:00
jpandre 62407b6b1e Made a double check before creating the first security id 2007-10-18 16:05:33 +00:00
jpandre 86084908e2 Reorganized ACL inheritance to allow inheritance in directories with a

							
						
2007-10-18 14:56:18 +00:00
jpandre 3db8bb1848 Stuffed zeroes into $SDS before writing into a new block, to prevent

							
						
2007-10-17 12:23:02 +00:00
jpandre 764dced1f1 Fixed errno when could not write to $SDS 2007-10-17 12:20:22 +00:00
jpandre 5f914d0492 Padded end of $SDH entries with 0x490049 like Windows (purpose unknown) 2007-10-17 12:17:51 +00:00
jpandre 85c536de3f Fixed unneeded generation of security id after a hash collision

							
						
2007-10-15 15:04:11 +00:00
jpandre d93d9562ee Fixed a special case in getting next index entry 2007-10-15 14:59:30 +00:00
jpandre f7ae72ca0a Updated a comment 2007-10-12 13:24:58 +00:00
jpandre 86f94559c2 Implemented an option for upgrading gracefully individual security attributes

							
						
2007-10-12 12:56:28 +00:00
jpandre 91a4873a23 Implemented a function giving next entry in an index

							
						
2007-10-12 12:54:49 +00:00
szaka 4eebc42d42 remove bogus format attribute which caused some gcc to crash 2007-10-10 19:37:25 +00:00
jpandre a8a33f0bc3 Reverted back relay for free() and consequences on const ptrs 2007-10-09 13:33:11 +00:00
jpandre 7cc6adba7c Fixed a missing inode closing 2007-10-09 11:59:33 +00:00
jpandre 0eebef6e06 Code cleaning : fixed machine-dependent cast when fprintf'ing with %lld 2007-10-09 09:05:43 +00:00
jpandre cd8e66dc3a Code cleaning : fixed machine-dependent casts when fprintf'ing with %lld 2007-10-09 09:05:06 +00:00
jpandre 0fcd72cf55 Cleaned code

							
						
2007-10-09 08:01:37 +00:00
jpandre 88772c9912 Cleaned code

							
						
2007-10-09 07:55:28 +00:00
jpandre 728a9c1aad added a ntfs_free(const void*) 2007-10-09 07:40:53 +00:00
jpandre 8a210f7776 Cleaned code

							
						
2007-10-09 07:37:07 +00:00
jpandre 2e35668e86 - implemented partial key comparing for hash keys

							
						
2007-10-09 07:35:09 +00:00
szaka 4206ceddce fix warnings 2007-10-08 22:03:31 +00:00
jpandre 13a68a1864 Upgraded to v1.1004 2007-10-06 14:48:10 +00:00
jpandre b0f972c764 - fixed a memory corruption case in cacheing of security attributes

							
						
2007-10-06 14:46:53 +00:00
jpandre 492dbcbe9e Checked consistency of standard information size and v3_Extensions flag 2007-10-06 14:41:23 +00:00
jpandre e84a56b165 Made two more functions public for temporary use in security.c 2007-10-06 14:39:08 +00:00
jpandre cc2e201f81 Fixed initial security id for created files 2007-10-06 14:37:22 +00:00
jpandre 66c79fde0c Removed an unneeded variable 2007-10-06 14:35:55 +00:00
jpandre 75f1f4c112 Upgraded to v1.1004 2007-10-06 14:34:49 +00:00
jpandre b823389638 Removed outdated debug instructions 2007-09-28 06:56:51 +00:00
jpandre a774c2437d Fixed an error in creating initial non-inherited security descriptor 2007-09-28 06:53:42 +00:00
jpandre 99b4aba970 *** empty log message *** 2007-09-27 13:29:52 +00:00
szaka 64f9f0dc1a ntfs_volume_check_hiberfile: relaxed too strict check: if the hiberfil.sys
header has garbage then the volume is not hibernated
2007-09-12 21:11:12 +00:00
szaka a97c661efe statfs optimization: O(1) free cluster calculation (David Fox, Szabolcs Szakacsits) 2007-09-12 20:51:06 +00:00
szaka a4277b3d0f ntfs_attr_pwrite: write cluster size blocks if it's possible when expanding
attributes. This will cause the kernel not to seek and read disk blocks for
filling the end of the buffer which increases write speed at least by 2-11
fold typically. (David Fox, Szabolcs Szakacsits)
2007-09-09 21:39:37 +00:00
szaka d70399e3c4 Scatter objects more far from each other to reduce disk fragmentation.
This greatly helps multi GB size file write performance, especially after
writing tens of thousands smaller files.
2007-09-09 21:26:37 +00:00
szaka c9172f66cf add ntfs_security_hash(): hash of a security descriptor (Anton Altaparmakov) 2007-09-02 12:38:29 +00:00
szaka 19a3585d23 ntfs_volume_startup: cleanup 2007-08-25 21:20:28 +00:00
szaka 718160d167 fix compilation with glibc 2.7 (Tom "spot" Callaway) 2007-08-25 20:27:02 +00:00
szaka 965dd72bb3 Add --disable-library option: don't install libntfs-3g but link into ntfs-3g.
Binary size is 10-15% down, performance is 2-5% up (Bernhard Kaindl)
2007-08-23 22:32:25 +00:00
szaka d2fab4e71f fix: utimes() shouldn't update the parent dir mtime (Wayne Sherman, Szaka) 2007-08-10 15:01:21 +00:00
szaka a7e4d503e2 fix: rename may updated mtime for some files/dirs (Wayne Sherman, Szaka) 2007-08-09 14:11:54 +00:00
szaka 3b0d3efe40 fix ntfs_readdir(): return with error if filldir() fails 2007-08-08 16:15:15 +00:00
szaka 817e052b80 ntfs_mft_bitmap_find_free_rec: log errno 2007-07-21 22:20:26 +00:00
szaka 75649971f9 ntfs_mft_bitmap_find_free_rec: logging cleanup 2007-07-21 22:18:49 +00:00
szaka 8636d42841 ntfs_mft_records_read, ntfs_file_record_read: log all errors 2007-07-20 22:42:19 +00:00
szaka 58e31d44eb ntfs_mft_bitmap_extend_allocation: remove redundant cluster allocation 2007-07-20 22:02:50 +00:00
szaka 6f083fc36f ntfs_mft_bitmap_extend_allocation: rename ret to err to match similar function 2007-07-20 21:52:07 +00:00
szaka ac23ed59c5 add ntfs_inode_base() helper 2007-07-20 21:43:39 +00:00
szaka 2cc87f0c78 ntfs_extent_inode_open: log all errors 2007-07-20 21:26:24 +00:00
szaka 84be568f75 ntfs_attr_pread: log all errors 2007-07-20 21:16:34 +00:00
szaka b5973632e9 ntfs_attr_pwrite, ntfs_attr_mst_pwrite: log errors 2007-07-18 22:44:11 +00:00
szaka 66eec0839d ntfs_runlists_merge: log all errors 2007-07-16 20:47:48 +00:00
szaka fa961c737b ntfs_mft_record_layout: log all errors 2007-07-16 20:39:26 +00:00
szaka 7444b30fc4 ntfs_attr_find_in_attrdef: log all errors 2007-07-16 20:36:21 +00:00
szaka ea53c7b5fc ntfs_attr_add: log all errors 2007-07-16 19:59:52 +00:00
szaka 472f6fc991 ntfs_attr_size_bounds_check, ntfs_non_resident_attr_record_add: log errors 2007-07-16 19:31:32 +00:00
szaka 396899bb8e ntfs_attr_pwrite: fix missing error handling 2007-07-15 22:14:14 +00:00
szaka d405b5b371 ntfs_mft_record_init(): log errno 2007-07-15 18:17:35 +00:00
szaka 7c926367b9 ntfs_mft_record_format(): cleanup 2007-07-15 16:44:42 +00:00
szaka f6b2f6f98f ntfs_inode_free_space(): log all errors 2007-07-13 23:35:08 +00:00
szaka f45af6814c ntfs_attr_record_move_away(): log all errors 2007-07-13 23:04:40 +00:00
szaka 9a8a59e136 ntfs_inode_add_attrlist(): log all errors 2007-07-13 22:42:35 +00:00
szaka 52d473a5ef ntfs_attr_update_mapping_pairs(): log all errors 2007-07-13 21:33:34 +00:00
szaka 0cee6bc4bb remove redundant ntfs_attr_get_search_ctx() error logging 2007-07-13 20:05:48 +00:00
szaka 115306462a ntfs_mft_data_extend_allocation: log errno 2007-07-11 22:55:22 +00:00
szaka be0cdbb04a ntfs_attr_update_mapping_pairs: refactoring 2007-07-11 22:50:39 +00:00
szaka c8176a77a2 ntfs_rl_sparse, ntfs_rl_get_compressed_size: log errors 2007-07-11 22:46:05 +00:00
szaka 496c285c5d ntfs_attr_free()/ntfs_inode_free(): don't scare users with bogus errors 2007-07-09 22:18:07 +00:00
szaka 076e26f92e ntfs_log_handler_syslog(): don't lose errno in an error path 2007-07-08 20:47:48 +00:00
szaka c214b9c11c No need to check for ENOSPC because ntfs_log_perror() does it now 2007-07-08 20:45:14 +00:00
szaka 4519f33eb5 Log ENOSPC (full disk) errors only during debug 2007-07-08 20:38:18 +00:00
szaka 3f66b95f14 fix very rare, recoverable directory corruption 2007-07-08 18:41:27 +00:00
szaka 2655455f74 fix trace logging 2007-07-08 15:02:49 +00:00
szaka 1cf9c5957b ntfs_resident_attr_resize(), ntfs_non_resident_attr_expand(): log all errors 2007-07-08 14:56:11 +00:00
szaka 78348655bd ntfs_ir_truncate(): log all errors 2007-07-07 23:11:19 +00:00
szaka 59af03cfb8 ntfs_index_add_filename(): don't lose errno 2007-07-07 23:10:28 +00:00
szaka d5642d5cd6 ntfs_ib_write(): don't log ENOSPC error (full disk) 2007-06-28 07:17:44 +00:00