Commit Graph

675 Commits

Author SHA1 Message Date
jpandre
3d52f33763 Added a field for security options 2007-10-12 12:51:03 +00:00
jpandre
eb1839d187 Defined a security API
Defined an option for graceful security id upgrade
2007-10-12 12:49:58 +00:00
jpandre
a8a33f0bc3 Reverted back relay for free() and consequences on const ptrs 2007-10-09 13:33:11 +00:00
jpandre
44326c40b7 reverted back relay for free() 2007-10-09 13:27:35 +00:00
jpandre
728a9c1aad added a ntfs_free(const void*) 2007-10-09 07:40:53 +00:00
jpandre
f5b7ac0905 Cleaned code
(added a few const to arguments where needed,
made a few fields unsigned)
2007-10-09 07:32:12 +00:00
jpandre
78c14e05a8 Cleaned code (added a few const to arguments where useful) 2007-10-09 07:30:40 +00:00
szaka
4206ceddce fix warnings 2007-10-08 22:03:31 +00:00
jpandre
fe10799d0f New fields to store handles to $Secure
and upgraded to v1.1004
2007-10-06 14:32:12 +00:00
jpandre
006d0aad79 New structs for two-way cacheing 2007-10-06 14:27:25 +00:00
jpandre
7006a9452c Fixed and improved comments 2007-09-28 06:59:53 +00:00
jpandre
99b4aba970 *** empty log message *** 2007-09-27 13:29:52 +00:00
Yura Pakhuchiy
2b1ef811e6 Add NTFS_MNT_INTERIX mount option to make libntfs recognize Interix files.
At present it influence only on ntfs_filldir(), but we can have ntfs_stat() and
other functions on which it will make more influence later.
2007-09-27 15:58:42 +03:00
Yura Pakhuchiy
1b5fb2693c Introduce NTFS_ON_DEBUG macro to add one-liners which would be executed only if DEBUG is defined.
And use it to shut up valgrind crying about writing of unitialized buffer (we do not initialize part of attribute list left for padding)
2007-09-24 19:21:16 +03:00
Yura Pakhuchiy
673c23d74a libntfs: Cache opened attributes. 2007-09-20 15:35:43 +03:00
Yura Pakhuchiy
c0e8e211f3 libntfs: Cache opened inodes. 2007-09-20 14:00:55 +03:00
Yura Pakhuchiy
37476cf609 Introduce NTFS_MNT_FORCE instead of third parameter of utils_mount_volume 2007-09-15 18:12:32 +03:00
Yura Pakhuchiy
e248e6b986 Make libntfs keep track number of free clusters and MFT records.
Thanks for idea to David Fox and Szabolcs Szakacsits.
2007-09-14 12:59:55 +03:00
szaka
a97c661efe statfs optimization: O(1) free cluster calculation (David Fox, Szabolcs Szakacsits) 2007-09-12 20:51:06 +00:00
Yura Pakhuchiy
9cd3246db7 cleanup 2007-09-11 20:56:34 +03:00
Yura Pakhuchiy
82df6c1fea Rework time updates
- Library no longer perform time updates, only provide API for this
- Remove ntfs_inode_update_{a,}time() and introduce ntfs_inode_update_times()
- Make ntfsmount properly update times
- ntfs_delete() now takes pointer to pointer to ntfs_inode for while to delete and closes inode only in cases no more hard links left to file
2007-09-06 18:34:38 +03:00
Yura Pakhuchiy
4679daa0af Fix hole instantiating and new API ntfs_rl_fill_zero
Thanks to Szaka for finding this bug and idea of factoring out zero filling code.
2007-09-05 16:38:51 +03:00
szaka
c9172f66cf add ntfs_security_hash(): hash of a security descriptor (Anton Altaparmakov) 2007-09-02 12:38:29 +00:00
szaka
921457fd65 add ntfs_rol32 and ntfs_ror32 2007-09-02 12:36:33 +00:00
szaka
3ef37024df remove unused list.h header file 2007-09-01 11:28:43 +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
Yura Pakhuchiy
65a81e3563 ntfsclone do bad things about endians, so revert it to original state and put mark on it to not perform sparse bitwise checks 2007-08-23 17:58:52 +03:00
Yura Pakhuchiy
f5a2ae79a9 Improve endian self-test per discussion with Anton. 2007-08-23 17:39:00 +03:00
Yura Pakhuchiy
c0b691ca17 Merge --enable-debug and --enable-debug-logging. Introduce --enable-sparse. 2007-08-22 21:29:19 +03:00
Yura Pakhuchiy
391929cff3 Export NTFS_EFS string 2007-08-22 19:31:24 +03:00
Yura Pakhuchiy
4b58df6817 New API: ntfs_attr_get_name
Add new API ntfs_attr_get_name - returns pointer to unicode name of attribute.

TODO: I believe we have several such local helpers in ntfsprogs and libntfs.
Find and replace them with this one.
2007-08-22 19:28:44 +03:00
Yura Pakhuchiy
ad0c5f59c9 Transparently integrate reading of encrypted files into library
This adds crypto.[ch], several exported functions that you are not interested
to use and dependency on >=libconfig-1.0.1 to read list of PFX files with keys.
See libntfs/config for example configuration file.
2007-08-22 16:55:57 +03: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
Yura Pakhuchiy
87b686f9c9 Undef __bitwise and __force in case someone else defined them before us 2007-07-21 15:13:57 +03:00
szaka
ac23ed59c5 add ntfs_inode_base() helper 2007-07-20 21:43:39 +00:00
Yura Pakhuchiy
1947aacb89 Cleanup 2007-07-01 01:52:48 +03:00
Yura Pakhuchiy
7a68bb3ea0 Endian fixes for gnome-vfs module. Thanks to Anton for tip. 2007-06-10 14:30:41 +03:00
szaka
b4470951ac remove unused ntfs_device_umount() 2007-06-08 23:11:55 +00:00
Yura Pakhuchiy
0d264b7d25 Introduce sparse endian annotations. Adopt library (also fix 2 real bugs) and progs (lots of bugs). 2007-06-08 13:47:57 +03:00
Yura Pakhuchiy
def36146b7 Sparse 0.3 do not longer requires this workaround! 2007-06-08 13:46:10 +03:00
Yura Pakhuchiy
b99d331f78 We do not need to map whole runlist in this case, only until @pos. Introduce ntfs_attr_map_runlist_range to implement this. 2007-06-08 13:41:10 +03:00
Yura Pakhuchiy
e6620be16d Do not create holes in ntfs_attr_pwrite that will be instantiated right after creation
* Add new API: __ntfs_attr_truncate that allow user to select whether holes should be created or clusters allocated
* Update ntfs_attr_pwrite and ntfscp to use it.
2007-06-08 13:35:47 +03:00
szaka
5984592552 support read-write mount with the --force option if logfile is unclean 2007-04-08 20:23:11 +00:00
szaka
8a82a85477 support older than FUSE 2.6 kernel modules 2007-01-15 21:46:31 +00:00
aia21
f6adc3fc78 - mkntfs: Create more Vista like volumes. We now match the security
descriptor attributes (but not yet the security descriptors stored in
  $Secure).  (Anton)
- libntfs: Rewrite ntfs_upcase_table_build() to generate a Vista
  compatible upcase table ($UpCase).  (Anton)
- mkntfs: Remove own generation of upcase table, i.e. delete
  ntfsprogs/upcase.[ch] and use ntfs_upcase_table_build() supplied by
  libntfs.  (Anton)
2006-12-19 16:31:52 +00:00
aia21
1a4fb3431c - mkntfs: Generate a random DCE compliant UUID for the created volume
and include --with-uuid[=PFX] and --without-uuid options.  (Anton)
- configure.ac: Set language to C.  (Anton)
- mkntfs: Always set default cluster size to 4096 bytes regardless of
  volume size.  This is what Windows Vista does and it makes perfect
  sense from a performance point of view.  (Anton)
2006-12-13 00:11:50 +00:00
yura
914cf8f2be Workaround for this bogus s64 warnings. Thanks, Linus! 2006-12-12 20:27:32 +00:00
yura
7b60afcc2f fix sparse errors. and first steps towards endianness checking 2006-12-12 15:02:25 +00:00
yura
2b611a1461 fix clusters per index block calculation (Szaka) 2006-12-11 03:16:22 +00:00
yura
19089b08bd one place with mount option description 2006-12-11 03:03:30 +00:00
yura
03fabce6eb o fix magicNTFS defenition
o remove NTFS_SB_MAGIC because it is unusefull
o rename magicNTFS -> NTFS_SB_MAGIC
o make bootsect.c use NTFS_SB_MAGIC instead of hardcoded value
2006-12-11 03:02:23 +00:00
aia21
8640540b53 Warn about VOLUME_MOUNTED_ON_NT4 wrt Vista in layout.h and do not set the flag
in ntfsfix.
2006-12-09 11:27:37 +00:00
szaka
45630fa43c ntfs_boot_sector_is_ntfs/ntfs_boot_sector_parse: log errors 2006-12-08 23:55:10 +00:00
szaka
52e0bb19d6 fix: directories were unreadable if the cluster size was bigger than 4kB 2006-12-07 01:11:38 +00:00
yura
c475778b47 Turn ntfs_pathname_to_inode() into ntfs_pathname_to_inode_num() which
returns ntfs inode number instead of opened inode itself.
Reimplement ntfs_pathname_to_inode() as wrapper to new API.
2006-12-06 18:50:13 +00:00
aia21
5302d23f7b - Empty the journal at mount time. (Anton)
- Set the volume dirty bit at mount time (if it is not set already and
  clear it again at umount time but only if it was not set to start
  with.  (Anton)
2006-11-28 10:09:56 +00:00
yura
8df298aec2 Introduce MNT_NTFS_NOT_EXCLUSIVE mount option that tells libntfs do
not open volume exclusively. Useful if libntfs user cares about this
himself, eg. FUSE with blkdev option.
2006-11-25 17:37:37 +00:00
yura
cb27c9f616 * Rename MS_{RDONLY,NOATIME} to NTFS_MNT_{RDONLY,NOATIME}.
* Introduce NTFS_MNT_CASE_SENSITIVE.
2006-11-12 22:46:50 +00:00
yura
f2e1ff96d2 Spent really a lot of time applying various "optimizations" from ntfs-3g and
finally figured out that ntfs-3g is faster than ntfsmount only because of
3 reasons:
1) turned on noatime option by default
2) ntfs-3g builds without debug output by default
3) the only real optimization: almost always add resident attributes.
However by accident patch in ntfs-3g for 3) breaks several code paths (why
I am not surprised?), thus I rewrote whole ntfs_attr_add() logic.
2006-11-09 21:19:11 +00:00
szaka
94b94568e3 add ntfs_attr_remove(); convert its users 2006-11-08 21:36:29 +00:00
uvman
1598a68d67 Fix compilation on environments that one can not assign to "va_list args" (e.g. Debian Alpha). Do so by removing the unused log_reason code. Originally, Szaka asked FlatCap for it but never used it. I've asked Szaka if he is going to use it but he did not reply. I got an implicit answer in the form of ntfs-3g commit. Therefore, commit an updated version of the patch I've sent the Debian package maintainer. 2006-11-01 14:05:09 +00:00
uvman
7d585a0327 Change callers of malloc() to ntfs_malloc() (Szaka). Fix compilition (Yuval). 2006-11-01 13:30:40 +00:00
uvman
483522ec1f Introduce misc.c - Proud home of functions with no other home, starting with ntfs_[mc]alloc. (Szaka) 2006-11-01 12:31:11 +00:00
szaka
ba63b7daca initial CVS import 2006-10-30 22:32:48 +00:00
uvman
561cb42743 Move ntfs_index_entry_mark_dirty() from index.h to index.c. (Szaka) 2006-10-29 00:55:45 +00:00
uvman
fe1405393f Change ntfs_collate()'s signature to size_t's. Move ntfs_is_collation_rule_supported to the .c file and rewrite it to be shorter. 2006-10-29 00:01:17 +00:00
uvman
b8ecbf7b94 Spelling fix. 2006-10-28 23:46:30 +00:00
uvman
87d87073c7 The periodic 'int is not neccessarily 32bit' fixes. 2006-10-28 23:45:22 +00:00
uvman
2991c40d90 Remove double-commenting. Why use C++-style comments for multilines anyway? 2006-10-28 23:11:25 +00:00
uvman
ff55ecb513 Whitespace cleanup 2006-10-27 12:24:29 +00:00
aia21
8ddea064b9 Revert 1.13 commit from Yuval: Gratuitous API/ABI change. 2006-10-27 09:04:08 +00:00
uvman
ca2fb9a467 Remove inline keywords from static non-one-liners of '.c' files. 2006-10-26 19:10:05 +00:00
aia21
3d56b14bca fix a packing bug 2006-10-20 19:54:22 +00:00
aia21
0c86fccdc9 Fix GUID to string conversion to follow documentation (details: it is not
little endian at all, it is a binary sequence)...

See remarks section at:

http://windowssdk.msdn.microsoft.com/en-us/library/96ff78dc.aspx
2006-10-10 10:29:11 +00:00
yura
a00ee02388 had not noticed lack of externs :( 2006-08-03 04:30:41 +00:00
yura
1493070b8e Fix include order. Thanks, Yuval! 2006-08-03 02:49:00 +00:00
yura
08689c171e Merge index code from ntfs-3g. Clean it a bit and fix adding index allocation when index root in the base mft record. 2006-08-02 03:55:41 +00:00
yura
9d0f9aec4c Add new API ntfs_attr_exist() that checks whether attribute with selected type and name already present in inode. (Szaka) 2006-08-02 03:12:34 +00:00
yura
b86f4a41c1 introduce ntfs_[cm]alloc 2006-08-02 03:11:12 +00:00
yura
a3a318a8b4 forgot "cvs delete" 2006-07-22 19:39:59 +00:00
yura
28a2b1f2b0 prepare to Szaka's code merge: remove not working Rich's index code 2006-07-17 11:49:52 +00:00
yura
035df31eae move ROUND_{UP,DOWN} to support.h, make second parameter to be order in which
we should power 2 (to prevent incorrect use)
2006-07-13 02:49:07 +00:00
antona
422725fce4 Update a comment for a field. 2006-04-21 16:12:48 +00:00
cha0smaster
d3b82fa6cd fix VCN size in index.c 2006-04-06 17:00:33 +00:00
szaka
134319ae80 libntfs: add and ntfs_inode_badclus_bad() and convert all copy-pastes
to use them
2006-04-05 02:53:40 +00:00
szaka
813933e1bc libntfs: add ntfs_mft_usn_dec() and convert all copy-pastes to use them 2006-04-05 02:49:24 +00:00
szaka
be823c7a1e libntfs: add ntfs_str2ucs and ntfs_freeucs function, and convert
copy-pastes to use them
2006-04-05 02:45:55 +00:00
szaka
ddc558f1ec libntfs: add ntfs_index_root_get() which reads the index root of an attribute 2006-03-27 21:14:56 +00:00
szaka
9b801db7c8 libntfs: add ntfs_attr_readall() which reads the entire data from an attribute 2006-03-27 20:01:36 +00:00
szaka
43f2ab6ec3 mkntfs: set the physical drive and the extended boot signature to 0x80
in the Extended BPB which are needed to boot from disk
2006-03-14 21:20:20 +00:00
cha0smaster
74a95a993b comment ni->{allocated,data}_size 2006-02-23 22:54:55 +00:00
antona
45c9aa137e - Deal with missing syslog function by making code conditional on
presence of syslog.h header file (DOS/djgpp).  (Christophe)
- Avoid clash with existing constants (OSX).  (Christophe)
2006-02-22 14:20:08 +00:00
antona
90596212bf Update documentation for allocated_size in file name attribute. 2006-02-21 11:43:49 +00:00
cha0smaster
32420ad699 implement POC of syslog logging handler, make ntfsmount to use it 2006-02-13 01:23:31 +00:00
antona
e5a3006f47 Only use O_EXCL if mounting r/w. 2006-02-04 02:42:42 +00:00
antona
135282539b Fixes to previous commit. 2006-02-03 23:11:35 +00:00
antona
af9fd39611 Wheee! Lots of last minute fixes and enhancements.
- Compiler warning fixes for gnome-vfs and fuse modules. (Anton)
- Change volume mounting (actually device opening) to happen with
  O_EXCL bit set so at least on Linux no one can change the device
  block size under our feet.  (Anton)
- Change volume mounting and mkntfs to set the device block size to the
  sector size using BLKBSZSET ioctl (Linux only).  This should be
  optimal for performance and should fixes the bug of not being able to
  create the backup boot sector if the number of sectors on the device
  is odd, the sector size is 512 bytes, and the kernel is 2.4.  (Anton)
- Enforce cluster size, mft record size, and index record size to be at
  least equal to the sector size and verify they are still valid and in
  particular display a warning message if the volume will not be
  mountable by the kernel driver (it requires mft record size and index
  record size to be below or equal to the system page size which we
  determine using sysconf()).  (Anton)
2006-02-03 22:19:17 +00:00
antona
29ed836b4b Update VOLUME_FLAGS_MASK, too. 2006-02-03 09:23:03 +00:00
antona
4b0fb6faff Add VOLUME_CHDSK_UNDERWAY flag to volume flags (layout.h). Thanks to Szaka for
the information.
2006-02-03 09:03:09 +00:00
cha0smaster
e2450ad61a tidy up djgpp S_IF{SOCK,LNK} fix 2006-01-30 22:10:31 +00:00
cha0smaster
ff72ed6141 Oops, by accident commited incomplete stuff to dir.h 2006-01-08 15:56:03 +00:00
cha0smaster
e975db6fd5 should fix build under Solaris 2006-01-08 15:53:27 +00:00
cha0smaster
eba747ac93 * Add NTFS_DEV_LIST define. Use it everywhere instead of linux-ntfs-dev@lists.sf.net.
* Replace all ntfs_log_trace where we ask to send mail to us with ntfs_log_error
2005-12-18 16:27:20 +00:00
cha0smaster
ce1aabed3b FreeBSD and Cygwin do not know about MS_NOATIME too. Fix this. 2005-11-24 14:23:38 +00:00
flatcap
0f7ee235ed comments for unions 2005-11-20 11:34:30 +00:00
flatcap
8ee10753ce move a useful ioctl here, from mkntfs 2005-11-19 14:55:51 +00:00
cha0smaster
2367a06b6e Rework time updates, more close to like windows does. Still do not update for / because of sync problems. 2005-11-17 18:00:58 +00:00
szaka
94e1647414 More comments on SDH_INDEX_DATA's reserved_II field 2005-11-16 00:17:53 +00:00
cha0smaster
e58a468d0c * Fix bug with updating atime on read-only volumes. (Thanks to Szaka and Anton)
* Add MS_NOATIME to ntfs_mount. (By Yuval's request)
2005-11-15 16:31:40 +00:00
szaka
ae643af3cd Update QUOTA_CONTROL_ENTRY and QUOTA_O_INDEX_DATA description 2005-11-15 01:00:22 +00:00
cha0smaster
632b146410 Add @from_vcn parameter to ntfs_attr_update_mapping_pairs, update all
users to submit it, thus write speed to very fragmented files
dramatically increased, while write speed to low fragmented files
stayed at approximately same level.
2005-11-14 00:17:19 +00:00
szaka
7b68432c72 Name consistently the same $SDS, $SDH and $SII fields 2005-11-12 15:35:51 +00:00
uvman
0d651e54d3 Give a better name to MFT_RECORD_IS_8 and rename FILE_ATTR_DUP_* to match this meaning. 2005-11-11 23:35:56 +00:00
cha0smaster
4652ad72c6 * implement symblic link creation in ntfs_create
* rename ntfs_create -> __ntfs_create. add wrapers ntfs_create{_symlink,_device}
* ntfsmount: implement .symlink
* ntfsmount: fix readdir to emulate . and .. when needed
2005-11-10 18:13:15 +00:00
cha0smaster
2c3dfcba27 Teech ntfs_create() to create Interix charcter and block devices. Add @dev parameter to ntfs_create() for this. 2005-11-08 16:13:17 +00:00
cha0smaster
53446b07f8 - Change @type parameter for ntfs_create() to be dev_t rather than internal NTFS_DT_* constants.
- Teech ntfs_create() to create FIFOs and sockets.
2005-11-08 15:15:37 +00:00
szaka
1e3ce5d1dd FILE_ATTR_DUP_VIEW_INDEX_PRESENT is also present in $STANDARD_INFORMATION
on 3.x volumes
2005-11-07 22:22:43 +00:00
cha0smaster
a732881c5e see changelog 2005-11-07 20:37:07 +00:00
uvman
09c562fdd3 Disclaim any copyright holding on layout.h 2005-11-06 14:15:38 +00:00
cha0smaster
300f86ac21 * layout.h: update about special INTX files.
* ntfsmount: implement readlink() and add support of symlinks, charcter and block devices to stat().
2005-11-05 22:54:43 +00:00
uvman
9e9179b307 Comment format improvements 2005-11-03 19:20:14 +00:00
szaka
c10f046225 simplified ntfs_generate_guid() 2005-11-01 21:09:52 +00:00
szaka
987f33e5df ntfs_ prefix generate_guid() 2005-11-01 20:24:37 +00:00
szaka
c21d01fe7f fix type of owner_id in QUOTA_O_INDEX_DATA 2005-11-01 20:18:27 +00:00
szaka
1a40e3d4cd Add missing full stops; rename SDS to $SDS 2005-11-01 20:01:03 +00:00
szaka
80923d64dd Fix type of reserved_II in SDH_INDEX_DATA; resolve some magic constants 2005-11-01 19:56:08 +00:00
flatcap
9c2e3a8206 add/update function comment blocks
(ok, they need words, but it's a start)
2005-10-31 01:15:12 +00:00
szaka
370bea1395 ntfsinfo: figure out and dump index attribute types 2005-10-30 22:53:38 +00:00
szaka
e677d9ebf9 Fix GUID example 2005-10-30 22:42:00 +00:00
uvman
5b949d07fa Fix comment formats. 2005-10-28 12:55:41 +00:00
uvman
8f43f0ef4c Match parameter names between .h and .c files 2005-10-28 12:47:49 +00:00
flatcap
8892ba7ac6 remove some colour hacks
remove a few #ifdef DEBUGs and RM_WRITEs
throw in lots of extra traces
2005-10-28 04:32:21 +00:00
flatcap
4e5c1c6efa rebuild logging again.
today's arrangement has five handlers:
ntfs_log_handler_fprintf (renamed from printf)
ntfs_log_handler_null (does nothing, default)
ntfs_log_handler_stdout (everything to stdout)
ntfs_log_handler_outerr (info to stdout, errors to stderr)
ntfs_log_handler_stderr (everything to stderr)
the colour handler has gone away to be replaced by a flag:
NTFS_LOG_FLAG_COLOUR
2005-10-28 04:12:22 +00:00
flatcap
8a584700c5 whitespace fixes - no code changes 2005-10-26 22:54:57 +00:00
flatcap
1f68df3f69 shorten ntfs_logging_* to ntfs_log_* 2005-10-26 20:46:37 +00:00
flatcap
c27c1a40cb explain rm's elements in ntfs_inode, ntfs_volume 2005-10-26 20:45:58 +00:00
uvman
0dd0cdc6be Remove {Dputs, Dprintf, Dperror} and convert callers to ntfs_log_*. Make ntfsinfo use ntfs_logging_parse_option(). 2005-10-25 01:28:10 +00:00
uvman
7cbc0a6cb6 Remove any uses of the old logging system (Dputs, Dprintf, ...) from libntfs. 2005-10-24 20:50:05 +00:00
szaka
746dff1a24 NTFS_INDEX_ prefix $I30, $SII, $SDH, $O and $Q indexes 2005-10-23 18:35:58 +00:00
cha0smaster
b7aaeece53 documment need ea flag 2005-10-22 20:22:21 +00:00
flatcap
f4e427e91a implement logging in libntfs
fix whitespace
fix build problems
tidy source code
and more...
2005-10-21 18:05:13 +00:00
uvman
570705dcab Add a comment to some typedefs per discussion on linux-ntfs-dev 2005-10-20 00:56:11 +00:00
szaka
8f03f5a6ca Optionally create NTFS version 3.0 (W2K) or 3.1 (XP, W2K3, Vista).
Contributed by Erik Sornes. No side-effect for v1.2 NTFS which is still
the default. The implementation needs some minor work: see e.g. the chkdsk
messages and the result of ntfscmp'ing the two images.
2005-10-19 22:04:46 +00:00
flatcap
2a8d602d9f ntfsrm has been split up and merged into libntfs.
currently it's #ifdef'd out.
tree.c - code for handling directory trees
rich.c - a few helpers without a home (this file will go away soon)
Note: ntfsrm isn't in the build any more (you need to ./configure --enable-rich; make extras).  When rm is less intrusive, again, I'll put it back in the build.
2005-10-16 23:33:03 +00:00
flatcap
bde3e0063b centralised logging system 2005-10-16 21:57:00 +00:00
flatcap
8fa46025d5 trailing whitespace 2005-10-16 19:21:47 +00:00
antona
6803fa4b76 Fix endianness bug in ntfsinfo. (Anton) 2005-10-15 23:44:57 +00:00
antona
b67fb5e78f Add a comment about the valid size for $EFS attribute value. 2005-10-15 09:15:46 +00:00
antona
62f9636080 Temporarily disable use of the legal ansi character checking in
libntfs/unistr.c::ntfs_names_collate() pending a proper fix at some
point.  (Anton)
2005-10-13 08:26:02 +00:00
antona
0c293d0407 - Add API (actually renamed from what Rich/FlatCap did):
volume.[hc]::ntfs_libntfs_version() which returns a pointer to a
  static const string of the libntfs verion, i.e. at the moment this is
  "8.0.0".  This required moving the version specifications from
  libntfs/Makefile.am to configure.ac.  This should hopefully have the
  sideeffect that I will remember to increment it when incrementing the
  ntfsprogs version number when making a release given the two are
  right under one another.  (Anton)
- Change ALL utilities to display the libntfs version they are running
  on.  This should make debugging easier in the case that people are
  running mismatched utilities/library.  (Anton)
2005-10-07 14:10:56 +00:00
antona
4b1b89109d Fix the definition of the CHKD ntfs record magic. It had an off by
two error causing it to be CHKB instead of CHKD.
2005-09-26 13:11:00 +00:00
antona
2a104d8eda Megapatch!!! Check evecrything!!! I probably broke everything!!! 2005-09-24 22:54:55 +00:00
szaka
24de91b8fa - Support journals which have been modified by chkdsk. (Anton, Szaka)
- Support journals ($LogFile) with only one restart page as well as
  journals with two different restart pages.  (Anton, Szaka)
2005-09-24 15:59:53 +00:00
cha0smaster
464eab4178 add ntfs_link, update ntfsmount to use it 2005-09-24 15:20:49 +00:00
flatcap
531305cc1e Christophe: add easily accessible version info to libntfs 2005-09-22 16:41:43 +00:00
cha0smaster
3629d931c6 Fix resident attribute adding: Add @val to ntfs_attr_add and @val and @size to ntfs_resident_attr_record_add.
Still need to fix attribute lis entry adding. :-(
2005-09-16 14:28:18 +00:00
flatcap
d75567112c put the test code where it's more useful 2005-09-13 14:30:51 +00:00
cha0smaster
c3727658ca * Fix filenames collation.
* Minor comment cleanup.
2005-08-26 20:17:08 +00:00
cha0smaster
6f8cd6e5ef Cleanups and memleak fix to error code paths of ntfs_create. 2005-08-22 21:33:07 +00:00
cha0smaster
9028a53dfc Sorry it's very large commit (46K of diffs between my local tree and CVS HEAD
before commit), file and directory creation/deletion recursively requested many
changes. See ChangeLog for description of all changes.
2005-08-14 15:44:46 +00:00
antona
0152ddb1b2 Update for more correct EFS information. 2005-08-14 06:16:35 +00:00
antona
6124aafffb Move timeconv to ntfstime, update changelog, and news for new release. 2005-08-04 09:59:39 +00:00
cha0smaster
6d4e6d9893 * fix ntfs_attr_open
* update for 1.11.2
2005-08-04 00:00:27 +00:00
cha0smaster
7aebba2e12 minor improvements to index.h and ntfsmount.c 2005-07-29 21:37:09 +00:00
antona
304f060a76 Add all Makefile.in to maintainer-clean target. 2005-07-29 15:51:49 +00:00
antona
69f55f1ee5 Remove all Makefile.in files and add them all to all .cvsignores. 2005-07-29 15:10:19 +00:00
antona
3ccd12241a Start the build system cleanup. Add AM_MAINTAINER_MODE to configure.ac and
remove configure and Makefile.in.  Also add Makefile.in to .cvsignore.
2005-07-29 15:04:57 +00:00
antona
f0ff698c22 Update some efs info (the 16byte fields in the header are md5 hashes of the
decrypted fek, ddfs, and drfs.  windows uses them as a sanity check and a check
that the efs attribute has not been tampered with.)
2005-07-29 09:54:02 +00:00
antona
2546690ee1 Add EFS structure definitions to layout.h and adapt ntfsdecrypt for it.
More fixes/cleanups to decrypt.c.
This was all Yuval's work but I did some renaming afterwards and some
whitespace cleanups.
2005-07-28 10:36:31 +00:00
cha0smaster
0de66be9c0 ntfscp.c: fix bug intoduced by Anton in changeset 1.21
ntfsinfo: more info on index dumping
dir.c, layout.h: minor fixes
2005-07-25 22:05:27 +00:00
antona
93194b37a0 Add a function to ntfsprogs/decrypt.c that expands an on-disk desx key from 128
bits to the needed 192 bits so it can be used for {en,de}cryption.
Note I couldn't face using the completely insane libgcrypt api so I used
openssl's libcrypto instead...  Anyone feel free to swap once we have it
working.
2005-07-21 12:12:37 +00:00
cha0smaster
b39a2a401f - Move ntfs2utc and utc2ntfs from utils.[ch] to timeconv.h.
- Add [acm]time fields to struct ntfs_inode and set them during ntfs_inode_open.  Update ntfsmount to use them.
- Bump version, update autoscripts.
2005-07-20 19:06:28 +00:00
antona
0dac29a487 Update for 1.11.1 release. 2005-07-20 08:14:52 +00:00
cha0smaster
7b9cac2912 Update ChangeLog and auto scripts. 2005-07-19 21:36:07 +00:00
antona
4ed406e68e Add new utility (make extra) - ntfsdecrypt. (Yuval) 2005-07-16 06:53:40 +00:00
cha0smaster
0b75b12544 ntfsmount:
* use mount function from utils.[ch]
* remove fsname option (need to support if volume already mounted)
* add force option to support mount from utils
* update manual page
* fix tiny memleak
2005-07-15 15:53:22 +00:00
szaka
9f50872ec2 Spelling typos, Debian bug #300073 2005-07-12 16:18:10 +00:00
antona
47b52b54e3 Update changelog, fox more mkntfs bugs (thanks Timur!) and update build system
to SuSE 9.3 again.
2005-07-10 21:42:39 +00:00
cha0smaster
48af715f60 * Add check to auto scripts for FUSE to be >= 2.3.0.
* Move ntfsmount back to standard programs set.
2005-07-10 12:38:46 +00:00
antona
b942e2c03a Move ntfsmount to extra programs as it doesn't even approximate being
compilable!  (At least on my machine which has fuse 2.2.1.)
And I need a working snapshot for Timur.
2005-07-09 21:32:17 +00:00
cha0smaster
0b060773f5 - layout.h: update info about EA's.
- ntfsinfo: dump EA and EA_INFORMATION attributes.
2005-07-09 00:09:53 +00:00
flatcap
7a142ef54c got bored. don't read the diffs. 2005-07-06 22:47:01 +00:00
cha0smaster
cb13f36956 Fix typos, patch from debian version of nftsprogs 1.9.4-2. 2005-07-05 16:34:15 +00:00
cha0smaster
3727a729c2 - Add new utility - ntfsmount. It's a FUSE module that rely on libntfs. So,
you need FUSE to compile it, xattr is also highly recommended. This module
support file overwrite changing it size and can list/read/write/add/remove
named data streams via xattr interface.
- Update auto{make,conf} stuff respectively.
2005-07-03 00:18:37 +00:00
cha0smaster
3adc040305 Add change protype of ntfs_attr_pwrite: make @b const. 2005-07-02 19:16:18 +00:00
antona
ca873f0474 Eeek. Someone did a commit just as I was about to commit so the commit
message was lost!  )-:

Now again...

Monster commit from me due to lack of time.  Sorry about that.

Features:

- Version to 1.10.0
- Update readme, etc ready for release.
- Update build system to suse linux 9.3 versions.
- Fix warnings appearing for me on suse 9.3 with --enable-warnings --enable-debug.
- Set attr_name to NULL in libntfs/attrib.c::__ntfs_attr_init() and fixup all
  callers apropriately.  Thanks to FlatCap/Rich for pointing this out.
- Determine endianness in ./configure and use that in addition to existing
  mechanisms for determining endianness.
2005-06-20 14:31:30 +00:00
flatcap
949043ab36 Tidy whitespace: trailing space; <space><tab> at the beginning of lines
Fix warnings about sign differences
Fix warnings about unused parameters
Tidy a few functions that didn't have { on a new line
2005-06-19 21:09:40 +00:00
cha0smaster
5becfe6c30 - Fix build without config.h.
- Fix gcc4 very large warning in ntfsrm.
2005-06-16 23:16:32 +00:00
cha0smaster
e323ed6a03 Move utils_pathname_to_inode from to library (dir.c), adapt it for library, rename it to ntfs_pathname_to_inode, update all users. 2005-06-12 18:12:55 +00:00
cha0smaster
b1dfa2b306 - Fix memleak in ntfs_attr_pwrite
- Update layout.h a bit to be a kernel driver like.
2005-06-12 15:23:25 +00:00
cha0smaster
676d8782e8 - Update attribute definition handling. (Anton, Yura) 2005-06-09 22:09:39 +00:00
flatcap
554b27dd47 ignore built/generated files 2005-06-09 09:05:30 +00:00
antona
1aeb91827c Update build for changes to function detection in configure.ac. 2005-06-06 14:31:37 +00:00
antona
26945d1e81 Add some offset comments. 2005-06-05 20:06:45 +00:00
cha0smaster
4b000b3d13 - Implement FILE_NAME attributes update in index during inode sync and enable code that set/clean sparse bit. Also add new inode state bit FileNameDirty to indicate that FILE_NAME attributes need update. At least after attribute resize we leave absolutely consist volume.
- Bugfixes to collate.c and index.c.
- Minor formating fixed to ntfscp and ntfsinfo.
2005-06-05 14:55:08 +00:00
cha0smaster
048a1857be Fix some bugs and warnings in code that I commited tonight. 2005-06-04 15:20:00 +00:00
cha0smaster
2d8dc1736d - Port collate.[ch] from kernel to library and implement
ntfs_collate_file_name. Thus we have new API's: ntfs_collate and
  ntfs_is_collation_rule_supported.  (Yura)
- Port index.[ch] from kernel to library. New API's: ntfs_index_lookup,
  ntfs_index_ctx_{get,put}, ntfs_index_entry_mark_dirty.  (Yura)

Just finished porting, it's 03:41 here, so this code should defenitely segfault or at least not work. Today after sleep I will integrate it to library and test it by the way.
2005-06-04 00:57:58 +00:00
szaka
16ffe6063d - remark that Longhorn uses the same NTFS 3.1 format as XP and W2K3 2005-05-10 16:44:58 +00:00
cantab.net!aia21
ac13794c54 Update with SUSE 9.3 build tools.
(Logical change 1.696)
2005-04-19 12:00:26 +00:00
elisa-laajakaista.fi!szaka
e9159478ea ntfsfix: use getopt, added --help and --version, some output cleanup
(Logical change 1.679)
2005-02-19 19:34:37 +00:00
void!yura
3b95cca52c Export functions from logfile.c.
(Logical change 1.666)
2005-01-25 21:41:25 +00:00
void!yura
ce10af07a3 Add LogFileEmpty to volume flags.
(Logical change 1.666)
2005-01-25 21:41:25 +00:00
void!yura
39e6fa1339 Add logfile.c to build
(Logical change 1.665)
2005-01-25 19:46:51 +00:00
void!yura
954c8d121e change prototypes of ntfs_write_significant_bytes and
ntfs_mapping_pairs_build to fix a lot of compiler warnings.

(Logical change 1.660)
2005-01-17 11:58:33 +00:00
void!yura
a82280f235 offsetof already defined in stddef.h in gcc4, so add check to prevent redefinition.
(Logical change 1.658)
2005-01-17 11:46:32 +00:00
(none)!yura
fdfb1ea71a Fix bug that I introduced in changeset 1.495 sle{16,32,64} should be u{16,32,64} not s{16,32,64}.
(Logical change 1.657)
2005-01-13 17:02:06 +00:00
(none)!yura
1be3d9fe66 Update logfile.h to be sync with kernel. Update ntfsdump_logfile accordingly.
(Logical change 1.656)
2005-01-13 15:55:15 +00:00
(none)!yura
925de23711 add {s,}le{16,32,64} and le{VCN,LCN,LSN} to include/ntfs/types.h
(Logical change 1.655)
2005-01-13 15:32:14 +00:00
cantab.net!aia21
a05c3cc3e1 Update to more recent build tools.
(Logical change 1.654)
2005-01-13 09:56:56 +00:00
(none)!yura
14db887f8e Rename NTFS_SECTOR_SIZE to NTFS_BLOCK_SIZE to keep in sync with kernel driver.
(Logical change 1.653)
2005-01-11 20:28:28 +00:00
(none)!yura
8d8b53331f Fix error message in NAttrSet##flag: should not be called for not data attributes.
(Logical change 1.649)
2004-12-22 16:34:02 +00:00
cantab.net!aia21
140a6d2479 Rename/move inode.[hc]::ntfs_inode_{add,rm}_attr() to
attrib.[hc]::ntfs_attr_{add,rm}(), respectively.  (Anton)

(Logical change 1.646)
2004-12-22 14:22:09 +00:00
cantab.net!aia21
db7c9da42f Move NAttr{Sparse,Compressed,Encrypted} to inode struct preserving
the previous interface.  (Yura, with fixes from Anton)

(Logical change 1.645)
2004-12-22 14:04:41 +00:00
cantab.net!aia21
003b867d71 Update build for change to configure.ac.
(Logical change 1.644)
2004-12-17 14:41:57 +00:00
(none)!yura
e2ba16e3db Add @extra parameter to ntfs_attr_record_move_away. New attribute record
holder must have free @extra bytes after moving attribute record to it.

(Logical change 1.639)
2004-11-21 11:13:09 +00:00
(none)!yura
a6258ef736 Rename layout.h::ATTR_RECORD::{compressed_non_,non_,}resident_attr_end
to more shorter {non_,}resident_end and compressed_end.

(Logical change 1.637)
2004-11-21 10:53:22 +00:00
(none)!yura
9a7dd7f07b Add prototypes.
(Logical change 1.632)
2004-11-12 17:09:24 +00:00
(none)!yura
1c283737c5 Change prototype of ntfs_cluster_alloc like in kernel driver.
(Logical change 1.628)
2004-11-05 20:02:16 +00:00
(none)!yura
3cb8b787bd - Remove attrlist.[ch]::ntfs_attrlist_set because it was very bad idea to separate it from ntfs_attrlist_entry_{add,rm}.
- Update ntfs_attrlist_entry_{add,rm} and ntfs_inode_add_attrlist to work without it.
- Some other fixes, improvements and cleanups.

(Logical change 1.615)
2004-10-17 15:56:39 +00:00
(none)!yura
38c81c83f2 add ntfs_inode_rm_attr prototype
(Logical change 1.613)
2004-10-15 11:38:45 +00:00
(none)!yura
af2b917b4c add prototype
(Logical change 1.612)
2004-10-14 18:23:21 +00:00
(none)!yura
488e4b5d30 move ntfscp from extra to standard program set
(Logical change 1.607)
2004-10-12 20:05:02 +00:00
(none)!yura
419e3ce8b7 Remove inode.h::NIno{Clear,Set,}AttrListNonResident and attr_list_rl field from inode.h::_ntfs_inode struct. Adapt all users.
(Logical change 1.600)
2004-10-11 09:16:35 +00:00
(none)!yura
a9ba7534a1 - add prototypes
(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura
daad6adcea - add prototype
(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura
db92f7bfbf - add new 0 length fields to ATTR_RECORD, they can be used to get size of attribute
(Logical change 1.599)
2004-10-10 17:20:48 +00:00
(none)!yura
a929f9f0ba Update.
(Logical change 1.592)
2004-10-07 14:04:09 +00:00
cantab.net!aia21
8b3c03e173 Rename scpu_to_le{16,32,64}() to cpu_to_sle{16,32,64}() to match the kernel.
(Logical change 1.586)
2004-09-30 15:00:31 +00:00
(none)!yura
4b95d5ce3e Add ntfs_attr_update_mapping_pairs prototype.
(Logical change 1.584)
2004-09-29 15:43:22 +00:00
(none)!yura
746c36a4be Add new helper ntfs_attrlist_mark_dirty.
(Logical change 1.584)
2004-09-29 15:43:22 +00:00
(none)!yura
c78630e1dd Add prototype.
(Logical change 1.580)
2004-09-26 19:31:31 +00:00
(none)!yura
52300dca77 - add tfs_inode_add_attrlist prototype.
(Logical change 1.579)
2004-09-25 20:10:16 +00:00
(none)!yura
756a0a84ca - add ntfs_resident_attr_record_add prototype.
(Logical change 1.579)
2004-09-25 20:10:16 +00:00
(none)!yura
5dee144063 - add ntfs_attrlist_set prototype.
(Logical change 1.579)
2004-09-25 20:10:16 +00:00
cantab.net!aia21
3415c47df1 Add NInoAttrListTestAndSetDirty() and TestAndClearDirty().
(Logical change 1.573)
2004-09-20 15:27:55 +00:00
cantab.net!aia21
a70e770622 - Add new API unistr.[hc]::ntfs_ucsndup(). (Anton)
(Logical change 1.570)
2004-09-20 14:46:38 +00:00
(none)!yura
cc15a37332 Export ntfs_make_room_for_attr, ntfs_non_resident_attr_record_add and ntfs_attr_record_rm.
(Logical change 1.568)
2004-09-19 19:30:37 +00:00
(none)!yura
dc152cd323 - remove mref from ntfs_attrlist_entry_add prototype
(Logical change 1.562)
2004-09-17 16:07:04 +00:00
cantab.net!aia21
8dde1ae7ba Add offsetof() macro.
(Logical change 1.561)
2004-09-16 22:43:10 +00:00
cantab.net!aia21
e74eeb2c0b Update ntfs_mft_record_alloc() prototype to reflect reality.
(Logical change 1.551)
2004-09-13 14:44:01 +00:00
cantab.net!aia21
b766a97941 Export ntfs_inode_allocate().
(Logical change 1.550)
2004-09-13 14:39:50 +00:00
cantab.net!aia21
b82469ba50 Remove vol->nr_mft_records and update all users. (Anton)
(Logical change 1.549)
2004-09-13 10:28:54 +00:00
cantab.net!aia21
1159ab3656 Cleanup the ntfs_mapping_pairs_build enhancement.
(Logical change 1.548)
2004-09-13 09:31:42 +00:00
(none)!yura
27e0e7a0c7 Add @stopped_at parameter to ntfs_mapping_pairs_build and adapt all callers.
(Logical change 1.547)
2004-09-12 18:46:04 +00:00
(none)!yura
d7f49f5880 added prototype for ntfs_attrlist_entry_add
(Logical change 1.546)
2004-09-12 11:00:06 +00:00
cantab.net!aia21
fe4fd6b59e Fix silly porting typo.
(Logical change 1.542)
2004-09-09 14:27:59 +00:00
cantab.net!aia21
a085e4b501 Update build to SuSE 9.2 beta 1 tools (autoconf,automake,libtool,...).
(Logical change 1.540)
2004-09-09 13:57:31 +00:00
cantab.net!aia21
cbbd254b20 Export ntfs_attr_record_resize.
(Logical change 1.539)
2004-09-09 13:56:46 +00:00
cantab.net!aia21
44fa8df74b Add ntfs_volume->sb pointer for kernel porting easyness (it is really only
for benefit of being able to call ntfs_error(vol->sb, blah...);

(Logical change 1.538)
2004-09-09 07:54:06 +00:00