Commit Graph

848 Commits (56c8393be04c8b114ea9c90c7fd07a727e40b60d)

Author SHA1 Message Date
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
cha0smaster fe408380c7 typo fix 2005-10-17 20:21:22 +00:00
flatcap ea2c4c6c61 fix build warning - duplicate definition 2005-10-17 14:07:28 +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 139f6c6603 prevent a few name clashes with the new rm code 2005-10-16 22:37:48 +00:00
flatcap 2436151e59 fix warning (uninitialised variable) 2005-10-16 21:37:12 +00:00
flatcap 8fa46025d5 trailing whitespace 2005-10-16 19:21:47 +00:00
szaka 27a9764d3a Check and report bad sectors before cluster allocation check because
chkdsk doesn't always fix $Bitmap with bad sectors
2005-10-16 18:50:56 +00:00
szaka 48feb16fa9 Factor out cluster allocation check 2005-10-16 11:12:08 +00:00
antona 85c866fcea More endianness fixes! 2005-10-15 23:51:13 +00:00
antona 6803fa4b76 Fix endianness bug in ntfsinfo. (Anton) 2005-10-15 23:44:57 +00:00
antona 1d4958d38c Fix endianness bug (le16 instead of le32 when accessing mft record
bytes_in_use) in volume.c::ntfs_volume_write_flags() and
ntfsfix.c::OLD_ntfs_volume_set_flags().  (Anton)
2005-10-15 23:13:49 +00:00
antona 3adf923766 Fix compilation and warnings in ntfsdecrypt.c on OSX/gcc4.0.1. The
compilation failure was because we use strnlen() which is gnu
specific and not present on my current version of OSX so ntfsdecrypt
now provides own version if it is not present on system.  (Anton)
2005-10-15 22:30:20 +00:00
antona da1495a11d Fix compilation on OSX in ntfscmp.c where stderr = stdout is not legal (but
happens to work on Linux) to do portable low-level file descriptor mangling.
2005-10-15 21:48:37 +00:00
antona f5961c075e - Fix compilation on OSX in ntfsclone.c where stderr = stdout
is not legal (but happens to work on Linux) to do proper
  low-level file descriptor mangling which is portable.  (Anton)
- Add test/runlist-data to EXTRA_DIST so it gets included in the
  distribution otherwise make test fails on released sources.  Solution
  is not perfect as it also adds the test/runlist-data/CVS directory
  but it will do at least for me.  (Anton)
2005-10-15 21:44:17 +00:00
antona b9422552da Fix compilation on OSX in ntfsresize.c where stderr = stdout is not
legal (but happens to work on Linux) to do proper low-level file
descriptor mangling which is portable.  (Anton)
2005-10-15 21:26:16 +00:00
flatcap 42de4cf905 tidy up some __attribute__ usage 2005-10-12 11:52:40 +00:00
flatcap e44bb7afb7 fix build bug - wouldn't build without DEBUG defined 2005-10-11 23:09:07 +00:00
antona a40d7e55d6 - Revert patch from Christophe applied by Yura.
- Provide a realpath() alternative for systems which do not have it.
  This is _much_ nicer as it avoids the horrible #ifdef gunk in the code...
2005-10-10 12:55:11 +00:00
cha0smaster bf91f7c0fc Apply patch from Christophe. 2005-10-10 11:04:56 +00:00
szaka 9e589a7bce Fix some corner cases and all memory leaks; handle corrupt NTFS more gracefully 2005-10-09 12:53:44 +00:00
antona cc57c76cd5 Move mount.ntfs-fuse and mkfs.ntfs to be symlinks instead of
hardlinks and move both to /sbin rather than prefix/sbin.  Note we
still obey $destdir so building packages works as well as installing
into alternate chroot / other system still works.
2005-10-07 23:01:23 +00:00
antona 4c3687fc64 Fix hardcoded location for hardlink on uninstall. (Anton, Szaka) 2005-10-07 15:52:29 +00:00
cha0smaster 8854585270 oops, fix previous fix 2005-10-07 15:15:13 +00:00
cha0smaster 093431f2f7 revert 1.49, mount.ntfs-fuse should be in /sbin, not /usr/sbin or /usr/local/sbin 2005-10-07 15:13:10 +00:00
antona 0377e979d0 Various fixes before release. 2005-10-07 15:02:15 +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
cha0smaster 3814896a5b fix compiler warning 2005-10-07 13:26:44 +00:00
antona 3d46df6b4a Prepare for 1.12.0 release. 2005-10-07 12:52:52 +00:00
antona 31ee9de6ac Fix stupid bug in mkntfs which caused it to fail even though only the
backup boot sector could not be written because a 2.4 kernel is used
and the partition has an odd number of sectors.  (Anton)
2005-10-07 12:21:32 +00:00
szaka ae276bbfe1 Fix 'make install' and 'make uninstall' if FUSE isn't enabled 2005-10-05 20:11:23 +00:00
antona 95ab175a92 revert manual to say that the volume is marked dirty. Anton 2005-10-05 13:32:39 +00:00
antona aa7e3cc98e return volume set dirty functionality to ntfsfix on Yura's request. Anton 2005-10-05 13:01:10 +00:00
cha0smaster ce52b49c36 Minor man pages updates 2005-10-05 11:14:30 +00:00
szaka 4f74c30984 Revert to the original output but by also fixing the "format string" warnings 2005-10-04 22:03:13 +00:00
cha0smaster ecc920583e revert utils.c revision 1.46, because it breaks ntfsmount output 2005-10-04 21:42:07 +00:00
uvman 62579b84d4 compiler warnings fixes. 2005-10-04 20:36:42 +00:00
cha0smaster fa46de6b6f accept noauto mount option for better support mounting via fstab 2005-10-04 20:00:22 +00:00
cha0smaster cc9bc93221 * change interface: ntfsmount device mnt_point -o opts
* hardlink ntfsmount to /sbin/mount.ntfs-fuse, thus volume can be mounted via fstab without any helpers
* update man page for ntfsmount
2005-10-03 21:07:24 +00:00
cha0smaster 96f31a07ed Add locale options to ntfsmount. 2005-10-03 19:48:54 +00:00
cha0smaster f292546aed EPERM is returned if windows was hibernated 2005-10-01 00:42:11 +00:00
szaka 54891f3112 Emphasize Windows needs to be rebooted twice after chkdsk /f 2005-09-30 20:29:58 +00:00
szaka 39403911a4 Clarify --force usage 2005-09-30 19:51:12 +00:00
szaka d07aab11f5 Update unclean_journal_msg 2005-09-30 19:46:45 +00:00
antona 813354f56d Add missing options to mkntfs' getopt() parsing string. (What a silly bug!)
Fix a compile warning in ntfscmp.
2005-09-30 19:24:13 +00:00
flatcap 519d68eb53 remove some junk 2005-09-30 16:58:20 +00:00
szaka ab2ad80ae7 Accept incorrect $Bitmap size if it covers the entire volume 2005-09-29 23:30:15 +00:00
flatcap 9ee916bbd0 need config.h for the autoconf #ifdefs 2005-09-29 12:50:39 +00:00
antona 8db479a6b1 Patch from Christophe:
A lot of headers are checked by autoconf (AC_CHECK_HEADERS in configure.ac).
Please find a patch that add the missing "#ifdef" to the source code.
2005-09-28 13:47:47 +00:00
flatcap 2aa1cfe3d9 fix a build warning 2005-09-27 15:25:19 +00:00
szaka 431258997d Fix saving by sectors during --rescue 2005-09-25 21:42:47 +00:00
szaka a0338ab9b2 Fix uninteded output and typo 2005-09-25 19:35:56 +00:00
szaka 660b44f3ed Fix --enable-really-statici: mkntfs redefined ntfs_attr_put_search_ctx() 2005-09-25 19:22:11 +00:00
cha0smaster 8afb8a0daa minor cleanup 2005-09-25 11:42:26 +00:00
szaka 44e60c37c4 Fix 'make extra' (ntfsmove) compilation 2005-09-24 23:46:54 +00:00
antona 2a104d8eda Megapatch!!! Check evecrything!!! I probably broke everything!!! 2005-09-24 22:54:55 +00:00
szaka 99e18269b7 Hint user the --rescue option if they have bad sectors 2005-09-24 21:36:51 +00:00
szaka eb51c61ba4 Emphasize that disk partitioning must use sector as the unit instead of
cylinder to avoid shifting of the partition
2005-09-24 20:12:36 +00:00
cha0smaster 53ffb79352 fix potential bug 2005-09-24 17:06:35 +00:00
cha0smaster cba53f8895 * ntfsmount: implement rename
* update man page for ntfsmount
2005-09-24 16:19:29 +00:00
cha0smaster 464eab4178 add ntfs_link, update ntfsmount to use it 2005-09-24 15:20:49 +00:00
cha0smaster c9294cb701 Remove 'use_ino' because I'm afraid I can not use it with "file:stream" nammed data stream access interface. :-( 2005-09-24 13:05:36 +00:00
szaka 192348fa0a ntfsclone manual: update --ignore-fs-check option description 2005-09-20 16:24:26 +00:00
flatcap 7f8ad30c09 more code juggling
try and sort out transfer
2005-09-20 00:05:49 +00:00
cha0smaster 94be253f74 minor ntfsmount cleanup 2005-09-16 14:30:08 +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
antona ea0202921d Clarify the logfile check/hibernation warning. (Yuval) 2005-09-10 07:55:58 +00:00
cha0smaster 3164c705f7 ntfsmount: Apply patch from Yuval to fix 'df' output. 2005-08-31 14:31:53 +00:00
cha0smaster f80efa5e9a Make ntfsdecrypt compile. 2005-08-26 12:25:13 +00:00
cha0smaster 14702e50f2 ntfsmount: Aplly patch from Yuval with minor fixes to it.
Temporary remove kernel_cache from default options.
2005-08-26 12:23:00 +00:00
antona 190e59886f Define PATH_MAX if not defined in ntfsprogs/ntfsmount.c and
libntfs/volume.c.  Needed to compile on DOS with djgpp.  (Christophe)
2005-08-26 11:44:11 +00:00
szaka 605726b340 ntfscmp: new util for development, debugging, testing, etc. 2005-08-25 20:42:54 +00:00
cha0smaster 0835682401 refix previous fix to man page :) 2005-08-23 12:38:37 +00:00
cha0smaster 1ed76a2d3e small fix to ntfsmount man page 2005-08-23 12:07:26 +00:00
cha0smaster 6f8cd6e5ef Cleanups and memleak fix to error code paths of ntfs_create. 2005-08-22 21:33:07 +00:00
szaka dc284e1e10 Fix gigaleak in ntfscluster, utils.c::mft_next_record() 2005-08-21 09:46:29 +00:00
szaka d29a3e9b97 Fix incorrect volume usage calculation 2005-08-21 00:50:14 +00:00
flatcap fa99ae3d0f more housekeeping - no code changes 2005-08-17 15:59:27 +00:00
flatcap 96e1f45319 housekeeping - no code changes 2005-08-17 14:53:07 +00:00
flatcap db1e9afb1f create an index alloc (needs work) 2005-08-17 14:33:16 +00:00
flatcap 49a4f377f3 fix up dt root add 2005-08-16 13:33:12 +00:00
flatcap b312a44483 change utils_dump_mem to take a void ptr
update the comments a bit
2005-08-16 13:25:15 +00:00
szaka 6d7ca452ff Articulate --bad-sectors a bit better 2005-08-15 21:44:10 +00:00
szaka a9e02e7687 Hard link mkfs.ntfs and mkfs.ntfs.8 with mkntfs and mkntfs.8 2005-08-15 20:48:48 +00:00
flatcap 301c8bd331 tidy up complicated mft mess 2005-08-14 22:22:06 +00:00
flatcap 14ab52fb23 give the new file some dummy data 2005-08-14 16:08:44 +00:00
flatcap a1ef87e393 tidy up error message 2005-08-14 15:56:31 +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
flatcap 4e292d96f1 remove old version of dt_alloc_children
clean up inode handling
fix ridiculous mft reading bug
mftrec mark free -> set inuse
inc attrib instance ids
successfully create a file
2005-08-14 12:26:55 +00:00
flatcap fd54e78256 more code to start testing add
keep track of dir names
2005-08-11 13:59:08 +00:00
flatcap 8567df0b6d display year in long listing 2005-08-11 13:53:08 +00:00
antona 68aab0dacd Minor cleanup. 2005-08-10 11:33:10 +00:00
antona c9d112e9ea Fix ntfsdecrypt to also work with passwordless files. Note this
requires a patched gnutls library or it still does not work.  (Anton)
2005-08-10 10:17:03 +00:00
antona 8ffbca582f Add comment about broken gnutls empty password handling. 2005-08-09 11:07:26 +00:00
antona 5dd973f683 Fix some memleaks in ntfsdecrypt and do some cleanups there.
Fix testing whether to compile crypto code in configure.ac.
2005-08-09 10:57:40 +00:00
cha0smaster 6a9aca9a22 ntfsmount: fix small memleak 2005-08-08 13:14:41 +00:00
antona 16ed5a54b2 Fix breakage introduced by Yuval. 2005-08-06 14:46:42 +00:00
antona 518c9d6fee Deal with non-password better. 2005-08-06 14:37:31 +00:00
uvman cd37ed9527 fix a few warnings in ntfsdecrypt and make it work. 2005-08-06 14:17:31 +00:00
antona d0dd037463 Set password to NULL instead of empty string "" so GNU TLS assumes it is not
encrypted.
2005-08-06 06:11:56 +00:00
antona 640573bf12 Finish next stage in ntfsdecrypt evolution. It is now almost finished in that
it fully works to decrypt any ntfs enecrypted file both from Linux and Windows.
All you need to supply is your private key in form of a .prx file as exported
for example by the cypher command in XP SP2 or otherwise as exported by the
management console's certificate manager plugin.
2005-08-05 23:41:52 +00:00
szaka a0adaafe38 Credit Ralf Beyer 2005-08-05 17:28:41 +00:00
antona 8d86fdefec Fix make extra directly after ./configure. Thanks to Yuval for the bug report. 2005-08-04 13:12:41 +00:00
antona d658b8f019 Fix typo in ChangeLog (thanks Szaka!).
Do more detection in configure.ac and in particular check for getopt_long,
windows.h, wincrypt.h, and gcrypt.h and most importantly (for now) give command
line option to enable crypto stuff and autodetect if libgcrypt is present.
And only build ntfsdecrypt (still make extra only) only if both --enable-crypto
was specified AND libgcrypt was found.
2005-08-04 10:36:35 +00:00
antona 6124aafffb Move timeconv to ntfstime, update changelog, and news for new release. 2005-08-04 09:59:39 +00:00
szaka 4e8e7ae9fa Fix for ntfs_rl_truncate() EIO: always set the correct size for $BadClus:$Bad,
even if Windows set it incorrectly
2005-08-03 22:40:29 +00:00
cha0smaster 36c5f89d13 Fix ntfsmount warnings. 2005-08-03 22:29:14 +00:00
szaka 26bedb9462 rl_expand(): make it a bit more readable 2005-08-03 21:46:35 +00:00
szaka 22590fea7e rl_expand(): check if new length isn't already more than requested 2005-08-03 21:35:22 +00:00
cha0smaster 39ec2a8347 ntfsmount: perror => Eprintf on partial {read,write}. 2005-08-03 14:06:04 +00:00
cha0smaster fe67916350 * attrib.c: refix ntfs_attr_p{read,write}
* ntfsmount.c: code that now not really needed, but for any case
2005-08-03 13:52:50 +00:00
antona 55760d93e8 Remove include of openssl/md5.h as that is no longer used. 2005-08-02 09:48:42 +00:00
antona 7e53648b59 Fix a warning. 2005-08-02 09:44:58 +00:00
szaka 06052dafcf Replaced all occurances of ENOTSUP to EOPNOTSUPP to be in better harmony
with the kernel driver
2005-08-01 22:10:38 +00:00
cha0smaster fd2e6eb09d ntfsmount: fix nr_links for directories. 2005-08-01 22:04:27 +00:00
szaka cebd8ec132 White space cleanup 2005-08-01 20:33:26 +00:00
szaka 78297900bd Let the user know if the journal file couldn't be checked or was unlean 2005-08-01 20:22:24 +00:00
cha0smaster f7e5e1cc26 * Fix ntfs_attr_p{read,write}. (see Changelog)
* Minor fixes and some stubs for uncommitted code.
* Update README about ./autogen.sh.
2005-08-01 13:40:51 +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
cha0smaster 4088de1017 Change errno and print more verbose message in case if logfile check failed. 2005-07-29 14:44:23 +00:00
antona 1a029f788e Remove Openssl linking in for decrypt.c from Makefile.am and update build
system.
2005-07-28 16:24:27 +00:00
antona 79e9e30ee3 Use libgcrypt instead of openssl for desx_key_expand's MD5 hashing. 2005-07-28 16:18:20 +00:00
antona 5b087e6d8a Fix a core dump. 2005-07-28 15:14:40 +00:00
antona f67d8fcee1 Use double indirection in case libgcrypt clones the key for you hack for
closing the des cipher.
2005-07-28 11:27:31 +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
antona 0a18d2fce7 Fix some stupid mistakes from the cleanup. 2005-07-27 21:33:00 +00:00
antona 997e23fb15 Fixes to last cleanup. 2005-07-27 18:17:31 +00:00
antona 8c54a0b1a9 First pass at massive cleanup of ntfsdectypt/decrypt. 2005-07-27 15:55:42 +00:00
antona 0eb4cfbb42 Some more cleanups I missed last time. 2005-07-27 10:48:46 +00:00
antona bb3c2172b8 Run through Lindent and some manual aftercleanups. 2005-07-27 10:30:57 +00:00
antona d723668d27 decrypt.c:
- Finally working desx decryption thanks to Yuval figuring out that ntfs uses
  des encryption when decrypting!!!  (Yuval)
- Make it compile on Linux.  (Anton)
- Add CALG_DES constant for Linux.  (Anton)
2005-07-27 09:18:26 +00:00
antona 7cd7b2416f finally have verified des key expansion to be correct and have test cases for
it and des decryption.  Currently the des test fails.  It appears ntfs does not
use standard des encryption.  )-:  Perhaps it uses the export non-restricted
40-bit des key instead of 56-bit des...
2005-07-26 16:35:00 +00:00
antona 54b65e2b3c Fixes for key order for desx. Still doesn't work but now keys are correct. 2005-07-26 01:32:51 +00:00
antona 261f059e3e - Fix bug I introduced causing the IV to be wrong for AES decryption.
- Fix a bug where we fail to supply the buffer size when exporting the key.
  Not sure how that ever worked...
2005-07-25 23:23:48 +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
szaka 61ee94dfb2 Don't show detailed resizing related info by default since the only real
restriction to shrink to the smallest size possible is the relocation of
the first $MFT $DATA extent, usually around 3 GB.
2005-07-25 21:19:08 +00:00
szaka 7943e71620 Support resizing into the middle of a $MFT $DATA extent 2005-07-25 20:40:07 +00:00
szaka 34c676fad3 Support relocation of $MFT with $ATTRIBUTE_LIST 2005-07-24 22:34:36 +00:00
antona 6377902ed4 Update decryption for desx after more reverse engineering. Still doesn't work
though.  )-:
2005-07-24 14:42:43 +00:00
szaka f6c4797379 Fix in relocate_attributes(): don't stop processing of MFT record attributes
at AT_DATA of $BadClus and $Bitmap. In practice, there aren't non-resident
attributes after them so this recent bug shouldn't have caused data loss.
2005-07-24 09:06:55 +00:00
antona 00c7127551 First attempts at DesX decryption (not working yet!). 2005-07-22 23:45:32 +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
cha0smaster 0f4d02e9e4 ntfsls: not all files started with '$' are system files, check by inode number instead. 2005-07-20 16:04:40 +00:00
antona e55c6769e1 Apply some updates after doing some reverse engineering. 2005-07-20 10:59:06 +00:00
antona 0dac29a487 Update for 1.11.1 release. 2005-07-20 08:14:52 +00:00
cha0smaster c8cb65fcd9 Make @outs_len to be 0 when @**outs NULL in ntfs_ucstombs calls. Previous code
it correct since @outs_len is ingored when @**outs == NULL, but may confuse
because it was equal to @ins_len what is incorrect (eg. international utf8
characters).
2005-07-19 23:13:26 +00:00