2 Author: Andreas Bombe <aeb@debian.org>
3 Date: Mon Jan 23 03:10:56 2017 +0100
5 fatlabel: Make sure printf style patterns in label are not expanded
7 Writing a label to an unlabeled filesystem involves creating a root
8 directory entry to contain the label. For this, the
9 alloc_rootdir_entry() function used for creating new directory nodes for
10 recovered orphan cluster chains is reused. However, this expects the
11 filename to be a printf style pattern to generate a unique name.
13 If the filesystem is unlabeled and the new label contains a printf
14 specifier other than %d or similar, the attempted expansion of the
15 pattern might crash fatlabel.
17 Change alloc_rootdir_entry() to take an additional argument gen_name and
18 only expand the name if its value is true.
20 Signed-off-by: Andreas Bombe <aeb@debian.org>
23 Author: Andreas Bombe <aeb@debian.org>
24 Date: Fri Nov 4 13:10:58 2016 +0100
26 testsuite: Add missing fsck test files to dist_check_DATA
28 Signed-off-by: Andreas Bombe <aeb@debian.org>
31 Author: Andreas Bombe <aeb@debian.org>
32 Date: Thu Nov 3 20:03:25 2016 +0100
34 testsuite: Test for bad characters in file names
36 The FAT16 test image contains four files with three errors. One has a
37 space in the name, one a space in the extension and one contains '>' in
40 Signed-off-by: Andreas Bombe <aeb@debian.org>
43 Author: Andreas Bombe <aeb@debian.org>
44 Date: Sun Sep 18 00:11:43 2016 +0200
46 fsck: Fix reporting of length to truncate with shared clusters
48 When files share clusters and one of the two files has been selected to
49 truncate fsck reports which file has been selected and the length to
50 which it will be truncated. All code paths erronously printed the length
51 of the file that was not going to be truncated, leading to possible user
54 Signed-off-by: Andreas Bombe <aeb@debian.org>
57 Author: Andreas Bombe <aeb@debian.org>
58 Date: Sat Sep 17 23:34:07 2016 +0200
60 testsuite: Test for files sharing clusters
62 The FAT32 test image contains three files. One shares a cluster with the
63 root directory and the other two share clusters among themselves.
65 Signed-off-by: Andreas Bombe <aeb@debian.org>
68 Author: Andreas Bombe <aeb@debian.org>
69 Date: Sat Sep 17 22:41:07 2016 +0200
71 testsuite: Run fsck in test-mkfs
73 Now the test-mkfs script also runs fsck on the created image to test its
74 basic operation. The test fails if fsck reports seeing an error.
76 Signed-off-by: Andreas Bombe <aeb@debian.org>
79 Author: Andreas Bombe <aeb@debian.org>
80 Date: Sat Sep 17 22:25:06 2016 +0200
82 Fix FAT32 FSInfo signature checking
84 In commit 7444694 the definition of struct info_sector was corrected to
85 match the FSInfo sector specification. The initialization was adapted,
86 but other places were missed. All runs of fsck would then incorrectly
87 report a signature error on the FSInfo sector.
89 Signed-off-by: Andreas Bombe <aeb@debian.org>
92 Author: Nico Roeser <nico@n1c0.de>
93 Date: Fri Sep 16 20:05:08 2016 +0200
95 mkfs: Bring back ability to set sector size.
97 This had accidently been broken when the code was overhauled, resulting
98 in unconditionally setting the sector size when devinfo detected it.
100 Signed-off-by: Andreas Bombe <aeb@debian.org>
103 Author: Andreas Bombe <aeb@debian.org>
104 Date: Fri Sep 16 03:32:12 2016 +0200
106 Request minimum automake version 1.11 and add workaround for <1.13
108 Before automake 1.13, parallel-tests wasn't the default set it
109 explicitly in the automake options list. The parallel test harness was
110 introduced in 1.11 therefore that is the minimum now.
112 However, the AM_TESTS_ENVIRONMENT variable was only starting to work in
113 1.13, so there is now a version check and a conditional assignment to
114 TESTS_ENVIRONMENT (which should be for user setting only) in case
115 automake is 1.11 or 1.12.
117 Without it, the fact of xxd being found is not passed to the test
118 scripts which then skip all tests due to perceived lack of xxd.
120 Signed-off-by: Andreas Bombe <aeb@debian.org>
123 Author: Andreas Bombe <aeb@debian.org>
124 Date: Fri Sep 16 01:45:17 2016 +0200
126 Add missing autoreconf step to Travis CI configuration
128 Signed-off-by: Andreas Bombe <aeb@debian.org>
131 Author: Andreas Bombe <aeb@debian.org>
132 Date: Fri Sep 16 01:39:08 2016 +0200
134 Add configuration for the Travis CI build service
136 Signed-off-by: Andreas Bombe <aeb@debian.org>
139 Author: Andreas Bombe <aeb@debian.org>
140 Date: Wed Sep 14 20:37:57 2016 +0200
142 Check and fix printf style arguments to die() and pdie()
144 Add the "format" gcc style attribute to the declarations of die() and
145 pdie() so that the compiler knows how to check their arguments for
148 Fix all problematic calls detected by this.
150 Signed-off-by: Andreas Bombe <aeb@debian.org>
153 Author: Andreas Bombe <aeb@debian.org>
154 Date: Wed Sep 14 03:38:08 2016 +0200
156 Make some implicit integer conversions safer
158 Coverity reports a few places where signed or short integers are
159 promoted to int and then extended to long which might cause unintended
160 sign extension. Given the context (being sector sizes and similar) the
161 values should never actually reach unsafe values, but this patch cleans
164 Signed-off-by: Andreas Bombe <aeb@debian.org>
167 Author: Andreas Bombe <aeb@debian.org>
168 Date: Tue Sep 13 20:25:34 2016 +0200
170 mkfs: Remove redundant unreachable warning message
172 At some point the check for too many clusters for user requested FAT16
173 was moved a few lines above. The original location can only be reached
174 when the cluster count is too low for FAT16 which means the too many
175 clusters message can not be triggered there.
177 Found through the dead code detection of Coverity Scan.
179 Signed-off-by: Andreas Bombe <aeb@debian.org>
182 Author: Andreas Bombe <aeb@debian.org>
183 Date: Tue Sep 13 20:12:21 2016 +0200
185 Fix octal character parsing in file_cvt()
187 Apparently the octal code parsing got rewritten into a loop at some
188 point while the rest of the code was not removed. It was impossible to
189 specify an octal character code without the function returning an error.
191 This affected the -u and -d options for fsck.
193 Found through the dead code detection of Coverity Scan.
195 Signed-off-by: Andreas Bombe <aeb@debian.org>
198 Author: Andreas Bombe <aeb@debian.org>
199 Date: Mon Sep 12 20:21:53 2016 +0200
201 testsuite: Test for circular cluster chain
203 The test image contains a file four clusters in length where the third
204 cluster has been modified to point back to the second cluster.
206 Signed-off-by: Andreas Bombe <aeb@debian.org>
209 Author: Andreas Bombe <aeb@debian.org>
210 Date: Mon Sep 12 19:51:10 2016 +0200
212 Fix truncation logic in circular chain check
214 When scanning for circular chains, the first FAT entry that appeared a
215 second time in a chain should cause the previous cluster to be the
216 termination of the chain.
218 To that end, test_file() keeps variables to point to the previous
219 cluster and the current number of clusters. When the -t option is given,
220 all clusters are checked to be readable and skipped (variables not
221 updates) in test_file() when they are not.
223 The problem was that the variables were updated only when the read check
224 succeeded. If the -t option is not given, that check does not happen and
225 the variables keep their initial value. The circular chain fix would
226 then always truncate to zero length and fail to update the free cluster
227 count, requiring a second fsck run.
229 Fix by updating these variables unconditionally when -t option is not
232 Signed-off-by: Andreas Bombe <aeb@debian.org>
235 Author: Andreas Bombe <aeb@debian.org>
236 Date: Mon Sep 12 14:39:11 2016 +0200
238 testsuite: Test for too long cluster chain
240 The test image contains a file marked as 7 bytes in length (just a small
241 part of 1 cluster) in the directory entry that has 2 clusters assigned
244 Signed-off-by: Andreas Bombe <aeb@debian.org>
247 Author: Andreas Bombe <aeb@debian.org>
248 Date: Wed Sep 7 21:09:41 2016 +0200
250 Fix definition and initialization of fsinfo sector
252 Change the definition of the fsinfo struct to be more in line with the
253 official definition, in particular make the trailing signature field 32
254 bit instead of 16 bit. During initialization in init_fsinfo(), first
255 clear the whole struct to zero before setting fields, to make sure
256 reserved fields are zeroed.
260 Signed-off-by: Andreas Bombe <aeb@debian.org>
263 Author: Andreas Bombe <aeb@debian.org>
264 Date: Wed Sep 7 20:45:29 2016 +0200
268 Add the framework for a fsck testsuite and a few tests, including a test
269 for the yet unimplemented check for misordered dot/dotdot directory
272 The test driver runs fsck twice on a given image and fails the test if
273 the first run does not detect an error or the second run still detects
276 Signed-off-by: Andreas Bombe <aeb@debian.org>
279 Author: Andreas Bombe <aeb@debian.org>
280 Date: Tue May 31 03:32:42 2016 +0200
282 Add testsuite foundations
284 Add testsuite on the basis of the automake framework. As a start, three
285 tests for basic mkfs functionality compare mkfs generated images against
288 Signed-off-by: Andreas Bombe <aeb@debian.org>
291 Author: Andreas Bombe <aeb@debian.org>
292 Date: Wed Sep 7 03:48:16 2016 +0200
294 Append +git to version number in configure.ac
296 Don't let dosfstools compiled from git with additional commits show the
297 exact release version number.
299 Signed-off-by: Andreas Bombe <aeb@debian.org>
302 Author: Álvaro Fernández Rojas <noltari@gmail.com>
303 Date: Thu Jun 30 08:43:50 2016 +0200
305 Add config.guess and config.sub to gitignore
307 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
308 Signed-off-by: Andreas Bombe <aeb@debian.org>
311 Author: Álvaro Fernández Rojas <noltari@gmail.com>
312 Date: Thu Jun 30 08:41:51 2016 +0200
314 Use autoconf to look for OS X endian include.
316 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
317 Signed-off-by: Andreas Bombe <aeb@debian.org>
320 Author: Alessio Sergi <al3hex@gmail.com>
321 Date: Fri May 6 18:18:18 2016 +0200
323 src/device_info.c: Fix undefined PATH_MAX under musl
325 In musl libc, PATH_MAX is defined in <limits.h>.
327 Signed-off-by: Andreas Bombe <aeb@debian.org>
330 Author: Lars Wendler <polynomial-c@gentoo.org>
331 Date: Tue May 10 09:47:57 2016 +0200
333 Don't link to udev via LDFLAGS. There's LDADD for such a task.
336 https://www.gnu.org/software/automake/manual/html_node/Linking.html
338 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
339 Signed-off-by: Andreas Bombe <aeb@debian.org>
342 Author: Andreas Bombe <aeb@debian.org>
343 Date: Wed May 11 03:44:58 2016 +0200
345 mkfs: Default to 64/32 heads/sectors for targets smaller than 512 MB
347 This may put defaults in certain use cases a little bit more in line
348 with the old defaults in versions up to 3.0.28. It has mostly aesthetic
351 Signed-off-by: Andreas Bombe <aeb@debian.org>
353 commit 786e66e (tag: v4.0)
354 Author: Andreas Bombe <aeb@debian.org>
355 Date: Fri May 6 03:19:07 2016 +0200
357 Releasing version 4.0.
359 Signed-off-by: Andreas Bombe <aeb@debian.org>
362 Author: Andreas Bombe <aeb@debian.org>
363 Date: Fri May 6 02:34:42 2016 +0200
365 src/Makefile.am: Fix CPPFLAGS for VPATH builds
367 The -I flag to add the blkdev subdir to the include search path is now
368 relative to $(srcdir) to allow VPATH builds to work. Additionally move
369 the -I flag from the mkfs_fat and testdevinfo CFLAGS to CPPFLAGS where
372 Signed-off-by: Andreas Bombe <aeb@debian.org>
375 Author: Andreas Bombe <aeb@debian.org>
376 Date: Wed Apr 27 21:38:37 2016 +0200
378 read_boot(): Handle excessive FAT size specifications
380 The variable used for storing the FAT size (in bytes) was an unsigned
381 int. Since the size in sectors read from the BPB was not sufficiently
382 checked, this could end up being zero after multiplying it with the
383 sector size while some offsets still stayed excessive. Ultimately it
384 would cause segfaults when accessing FAT entries for which no memory
387 Make it more robust by changing the types used to store FAT size to
388 off_t and abort if there is no room for data clusters. Additionally
389 check that FAT size is not specified as zero.
391 Fixes #25 and fixes #26.
393 Reported-by: Hanno Böck
394 Signed-off-by: Andreas Bombe <aeb@debian.org>
397 Author: Andreas Bombe <aeb@debian.org>
398 Date: Wed Apr 27 14:16:53 2016 +0200
400 Use variable total_fat_entries in read_boot() for readability
402 Signed-off-by: Andreas Bombe <aeb@debian.org>
405 Author: Álvaro Fernández Rojas <noltari@gmail.com>
406 Date: Fri Apr 8 12:20:46 2016 +0200
408 Add missing iconv library for OS X
410 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
411 Signed-off-by: Andreas Bombe <aeb@debian.org>
414 Author: Álvaro Fernández Rojas <noltari@gmail.com>
415 Date: Fri Apr 8 12:20:27 2016 +0200
417 Add endian support for OS X
419 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
420 Signed-off-by: Andreas Bombe <aeb@debian.org>
423 Author: Joel Holdsworth <joel.holdsworth@vcatechnology.com>
424 Date: Thu Mar 10 00:53:07 2016 +0000
426 Configure option to disable building with libudev
428 Signed-off-by: Andreas Bombe <aeb@debian.org>
431 Author: Andreas Bombe <aeb@debian.org>
432 Date: Mon Feb 22 03:47:14 2016 +0100
434 Remove use of PATH_MAX in path_name()
436 The length of a file path on the checked filesystem has no relation to
437 the maximum path length of the system fsck is running on. So replace it
438 with a constant of our own.
440 As a bonus this will not fail compilation on a system without PATH_MAX.
442 Signed-off-by: Andreas Bombe <aeb@debian.org>
445 Author: Andreas Bombe <aeb@debian.org>
446 Date: Wed Feb 17 21:04:35 2016 +0100
448 Add preliminary entry for release 4.0 to NEWS
450 Signed-off-by: Andreas Bombe <aeb@debian.org>
453 Author: Andreas Bombe <aeb@debian.org>
454 Date: Wed Feb 17 21:02:06 2016 +0100
456 Adjust ridiculous source indentation in io.c
458 Signed-off-by: Andreas Bombe <aeb@debian.org>
461 Author: Andreas Bombe <aeb@debian.org>
462 Date: Wed Feb 17 20:51:53 2016 +0100
464 Document ./configure --enable-compat-symlinks in README
466 Signed-off-by: Andreas Bombe <aeb@debian.org>
469 Author: Andreas Bombe <aeb@debian.org>
470 Date: Wed Feb 17 15:16:27 2016 +0100
472 Add include paths.h in the HAVE_DECL_GETMNTENT case
474 _PATH_MOUNTED is now used for getmntent() in place of MOUNTED because
475 the latter was marked as a deprecated alias in glibc's mntent.h. The
476 mntent.h of musl libc does not include the _PATH_MOUNTED however. Fix
477 this by including paths.h alongside mntent.h
479 Signed-off-by: Andreas Bombe <aeb@debian.org>
482 Author: Andreas Bombe <aeb@debian.org>
483 Date: Wed Feb 17 15:06:56 2016 +0100
485 man fsck: Document the -c option
487 Signed-off-by: Andreas Bombe <aeb@debian.org>
490 Author: Andreas Bombe <aeb@debian.org>
491 Date: Mon Feb 15 02:10:57 2016 +0100
493 Add NEWS file with changes of the last two releases
495 Signed-off-by: Andreas Bombe <aeb@debian.org>
498 Author: Andreas Bombe <aeb@debian.org>
499 Date: Fri Feb 12 03:56:16 2016 +0100
501 Make filesystem mounted check portable
503 A new function is_device_mounted() in device_info.c is now used by
504 check_mount() in mkfs.fat.c. It contains the getmntent() using code
505 used before in check_mount() and now an alternative using getmntinfo()
506 as found on the BSDs.
508 In case neither function is available, is_device_mounted() defaults to
509 reporting that the device isn't mounted.
511 Signed-off-by: Andreas Bombe <aeb@debian.org>
514 Author: Andreas Bombe <aeb@debian.org>
515 Date: Fri Feb 12 01:57:33 2016 +0100
517 Make use of endian.h portable to BSD
519 The endian.h found on Linux and the BSDs appear to be compatible, but
520 they are found in different locations. Add tests in configure.ac and a
521 new endian_compat.h file that has the logic to include the correct
524 Signed-off-by: Andreas Bombe <aeb@debian.org>
527 Author: Andreas Bombe <aeb@debian.org>
528 Date: Wed Feb 10 21:30:06 2016 +0100
530 Fix format string in check_file() (%lu → %llu)
532 The cluster chain length printing needs a 64 bit calculation, so we can
533 just use unsigned long long instead of uint64_t and use the format
536 Signed-off-by: Andreas Bombe <aeb@debian.org>
539 Author: Andreas Bombe <aeb@debian.org>
540 Date: Fri Feb 5 14:39:00 2016 +0100
542 blkdev.c: Prevent unused parameter warnings in fallback code
544 Signed-off-by: Andreas Bombe <aeb@debian.org>
547 Author: Andreas Bombe <aeb@debian.org>
548 Date: Fri Feb 5 14:36:14 2016 +0100
550 blkdev_get_size(): Remove unused variable ch
552 Signed-off-by: Andreas Bombe <aeb@debian.org>
555 Author: Andreas Bombe <aeb@debian.org>
556 Date: Wed Feb 10 03:22:19 2016 +0100
558 Reinstate alignment of FAT32 structures to cluster size
560 This reverts commits 17c956cb9 and d63e0d627 where the alignment was
561 removed because it created problems with a device that refused to read
562 the aligned filesystem. The option -a is already provided to disable
563 alignment in order to handle such cases.
565 This change brings it back in line with FAT12/16 where alignment wasn't
566 disabled and brings consistency with the current command line options,
567 where only the option to disable alignment exists but no opposite option
570 Signed-off-by: Andreas Bombe <aeb@debian.org>
573 Author: Andreas Bombe <aeb@debian.org>
574 Date: Wed Feb 3 03:38:33 2016 +0100
576 Makefile.am: Add historic documentation to distribution
578 Signed-off-by: Andreas Bombe <aeb@debian.org>
581 Author: Andreas Bombe <aeb@debian.org>
582 Date: Wed Feb 3 02:38:24 2016 +0100
584 src/Makefile.am: Add forgotten msdos_fs.h to mkfs_fat_SOURCES
586 Signed-off-by: Andreas Bombe <aeb@debian.org>
589 Author: Andreas Bombe <aeb@debian.org>
590 Date: Wed Feb 3 02:34:51 2016 +0100
592 Remove sys/ioctl.h and linux/fd.h include from io.c
594 These weren't used anymore and the linux/fd.h include would
595 gratuitously cause compilation to fail on non-Linux environments.
597 Signed-off-by: Andreas Bombe <aeb@debian.org>
600 Author: Andreas Bombe <aeb@debian.org>
601 Date: Wed Feb 3 02:31:00 2016 +0100
603 Reinstate some #include <sys/types.h>
605 These shouldn't have been removed in commit 245d0cce5. Put them back for
606 correctness even though the definitions were pulled in implicitly.
608 Signed-off-by: Andreas Bombe <aeb@debian.org>
611 Author: Andreas Bombe <aeb@debian.org>
612 Date: Wed Jan 27 21:38:29 2016 +0100
614 src/Makefile.am: Put all header files in appropriate _SOURCES variables
616 With the headers missing the dist targets of the automake generated
617 Makefiles would not include them and make the resulting dist
620 Also combine sources collections into common variables for
623 Signed-off-by: Andreas Bombe <aeb@debian.org>
626 Author: Andreas Bombe <aeb@debian.org>
627 Date: Wed Jan 27 15:28:42 2016 +0100
629 mkfs man: Note that sector sizes > 4096 are non-standard
631 Signed-off-by: Andreas Bombe <aeb@debian.org>
634 Author: Andreas Bombe <aeb@debian.org>
635 Date: Mon Jan 25 21:30:23 2016 +0100
637 mkfs: Improve parsing of bad blocks file
639 The bad blocks file that can be given to mkfs via the -l option had a
640 very simplistic design. It failed to notice it was parsing an empty
641 line and would report errors for that.
643 Replace it with a more robust version that ignores empty lines as well
644 as leading and trailing white space. Additionally it produces meaningful
648 Signed-off-by: Andreas Bombe <aeb@debian.org>
651 Author: Andreas Bombe <aeb@debian.org>
652 Date: Mon Jan 25 02:47:12 2016 +0100
654 mkfs: Limit filesystem size on targets that are too large
656 For FAT filesystems, the number of sectors has to fit into a 32 bit
657 variable. Previously this was not checked possibly causing invalid
658 filesystems to be generated.
660 Now there is a check for that case which will limit the number of
661 sectors if needed and print a warning that disk space will be left
664 Signed-off-by: Andreas Bombe <aeb@debian.org>
667 Author: Andreas Bombe <aeb@debian.org>
668 Date: Fri Jan 22 21:29:20 2016 +0100
670 mkfs: Improved bounds checking in mark_FAT_sector()/mark_FAT_cluster()
672 In mark_FAT_sector() the sector number itself is now checked against
673 limits instead of the computed cluster number. Even with sector number
674 before the start of the data area, the cluster number may be valid for
675 the first cluster due to dividing by the cluster size.
677 Both functions now check for upper limits and should prevent writing
678 past the valid end of the FAT.
680 Signed-off-by: Andreas Bombe <aeb@debian.org>
683 Author: Andreas Bombe <aeb@debian.org>
684 Date: Fri Jan 15 02:17:16 2016 +0100
686 mkfs: Fix offset error in FAT12/16 bad cluster marking
688 The root directory wasn't factored in to the calculation of the data
689 area start sector. On FAT32 the root directory is in the data area, but
690 for FAT12 and FAT16 it is a reserved space before the start of the data
693 On FAT12 and FAT16, this resulted in the wrong clusters being marked
694 during bad blocks mapping, whether from check_blocks() or from reading
695 the user supplied bad blocks file.
697 Signed-off-by: Andreas Bombe <aeb@debian.org>
700 Author: Andreas Bombe <aeb@debian.org>
701 Date: Fri Jan 15 01:59:59 2016 +0100
703 mkfs: Fix off-by-2 error in bad cluster marking
705 mark_FAT_sector(), which has the mark_sector_bad() macro as its sole
706 user, computed the cluster number corresponding to the sector by taking
707 its offset from the first data sector and dividing by sectors per
710 What it missed was that the first data cluster is number 2 and not 0.
711 This meant all marks were off by 2 and when the first two clusters are
712 supposed to be marked, it would overwrite the reserved cluster values
713 and create an invalid filesystem.
715 Signed-off-by: Andreas Bombe <aeb@debian.org>
718 Author: Andreas Bombe <aeb@debian.org>
719 Date: Thu Jan 14 14:43:00 2016 +0100
721 .gitignore: Add .dirstamp
723 Signed-off-by: Andreas Bombe <aeb@debian.org>
726 Author: Andreas Bombe <aeb@debian.org>
727 Date: Thu Jan 14 14:38:53 2016 +0100
729 mkfs: Reword non-standard sector size warning
731 Signed-off-by: Andreas Bombe <aeb@debian.org>
734 Author: Andreas Bombe <aeb@debian.org>
735 Date: Wed Dec 30 15:10:35 2015 +0100
737 Clean up includes in mkfs.fat.c
739 Moving the device probing out into device_info.c removed the need for a
740 number of includes in mkfs.fat.c. Remove them and add a define for
741 BLOCK_SIZE, which was the only thing used from linux/fs.h.
743 Signed-off-by: Andreas Bombe <aeb@debian.org>
746 Author: Andreas Bombe <aeb@debian.org>
747 Date: Sun Nov 29 01:59:10 2015 +0100
749 Don't use pointer to first member when more of the struct gets copied
751 Where a fs_write() of "first 13 bytes of directory entry" is intended,
752 actually use pointer to directory entry structure instead of the 11
753 byte name field at the beginning.
755 This does not change how the code works, it is just a clean up.
757 Signed-off-by: Andreas Bombe <aeb@debian.org>
760 Author: Andreas Bombe <aeb@debian.org>
761 Date: Sun Nov 29 00:44:48 2015 +0100
763 Remove name/extension split in directory entry structures
765 Both the DIR_ENT structure in fsck.fat.h and the msdos_dir_entry in
766 msdos_fs.h - these represent the on disk format of directory entries -
767 had the name field split into name[8] followed by ext[3].
769 By far the most operations on name are on the full name including
770 extension and they treated the name field as an 11 byte array. This is
771 an array overflow that worked because the structs have the attribute
772 packed and the extension field is following right after.
774 Nevertheless, this is not clean C and the merging of both fields
775 actually simplified the code in a few places.
777 Signed-off-by: Andreas Bombe <aeb@debian.org>
780 Author: Andreas Bombe <aeb@debian.org>
781 Date: Fri Nov 27 21:29:49 2015 +0100
783 Free allocated strings after use
785 There are multiple calls to cnv_unicode() in lfn.c which returns an
786 allocated string. Most had the appropriate free() calls after printing
787 the strings. Add the missing two calls where memory was leaked.
791 Signed-off-by: Andreas Bombe <aeb@debian.org>
794 Author: Andreas Bombe <aeb@debian.org>
795 Date: Fri Nov 27 03:34:51 2015 +0100
797 Add test for and include linux/hdreg.h in blkdev.c
799 Before, blkdev did not include it and depended on its own fallback
800 definition of the ioctl and struct hd_geometry.
802 Signed-off-by: Andreas Bombe <aeb@debian.org>
805 Author: Andreas Bombe <aeb@debian.org>
806 Date: Fri Nov 27 03:28:14 2015 +0100
808 Add FDGETPRM attempt to blkdev_get_geometry()
810 If HDIO_GETGEO isn't available or has failed, try FDGETPRM. This should
811 get the geometry from floppy drivers where HDIO_GETGEO isn't supported.
813 Signed-off-by: Andreas Bombe <aeb@debian.org>
816 Author: Andreas Bombe <aeb@debian.org>
817 Date: Fri Nov 27 03:25:55 2015 +0100
819 Add blkdev_get_start() for getting partition start offset
821 Signed-off-by: Andreas Bombe <aeb@debian.org>
824 Author: Andreas Bombe <aeb@debian.org>
825 Date: Thu Nov 26 23:33:02 2015 +0100
827 Remove use of libblkid again
829 It appears libblkid is not as widely available as presumed, since some
830 platforms only have the original libblkid included in e2fsprogs which
831 lacks the needed functionality. This commit removes the requirement and
834 As a replacement, blkdev.c from util-linux is included, which offers the
835 required basic functionality in a portable way.
837 Signed-off-by: Andreas Bombe <aeb@debian.org>
840 Author: Andreas Bombe <aeb@debian.org>
841 Date: Wed Oct 21 21:32:30 2015 +0200
843 Use just device size not major number in Atari mode
845 In Atari mode, read_boot() in boot.c used the device major number to
846 determine whether to use FAT12. It would always use FAT12 for a floppy,
847 otherwise only if it is a RAM disk or loopback device and has a size
848 corresponding to standard floppy formats.
850 Since this check was already broken for a long time (another place that
851 assumed 8 bit major numbers) and there is no real point to make the
852 distinction based on device, this commit reduces the check to just
853 compare against standard floppy sizes.
855 Signed-off-by: Andreas Bombe <aeb@debian.org>
858 Author: Andreas Bombe <aeb@debian.org>
859 Date: Wed Oct 21 00:18:22 2015 +0200
861 Remove loff_t and llseek()
863 There appear to have been multiple conversions to 64 bit file offsets on
864 32 bit architectures in dosfstools over the years, but today with the
865 proper setup off_t is 64 bits and simple lseek() can be used. The
866 AC_SYS_LARGEFILE macro in configure.ac does what is required to make
869 Given this, convert all uses of loff_t to off_t, remove llseek()
870 definitions and change llseek() calls to plain lseek().
872 Signed-off-by: Andreas Bombe <aeb@debian.org>
875 Author: Andreas Bombe <aeb@debian.org>
876 Date: Fri Oct 16 21:47:04 2015 +0200
880 These macros have been added back when dosfstools was around version 2.
881 It is difficult to say whether these are still working correctly or
882 whether they are in use at all. FreeDOS appears to still show version
883 2.11 of dosfstools in their software directory.
885 Supporting actual MS-DOS or compatible may need more work in the
886 current state of things and this DJGPP support can be removed until
889 Signed-off-by: Andreas Bombe <aeb@debian.org>
892 Author: Andreas Bombe <aeb@debian.org>
893 Date: Thu Oct 8 16:17:22 2015 +0200
895 mkfs.fat: Complete overhaul of device probing
897 The device probing in mkfs.fat is used to get device parameters where
898 needed and also to decide whether to refuse overwriting a device due to
899 possible user error. This code has suffered severe bitrot and is highly
900 Linux specific. Highlights include using hardcoded major/minor device
901 numbers to classify a device, and using 8 bits major/minor numbers that
902 have become obsolete a long time ago and thus often misidentifying a
905 The overhauled implementation is now in src/device_info.c and makes use
906 of libudev (optional, recommended) and libblkid (required) to probe the
907 device and where Linux ioctls are required it provides fallbacks and
908 does not attempt to call these on non-Linux systems. The FAT parameter
909 selection has been unified and simplified in the process.
911 A new executable testdevinfo has been added that gets built but not
912 automatically installed. It takes one file name, uses the same probing
913 as mkfs.fat would with verbose messages enabled and displays the
916 Signed-off-by: Andreas Bombe <aeb@debian.org>
919 Author: Andreas Bombe <aeb@debian.org>
920 Date: Sat Sep 12 02:54:33 2015 +0200
922 Die on out of range cluster values in set_fat()/get_fat()
924 To prevent bugs caused by FAT corruption inside fsck to go unnoticed,
925 add a check against out of range requested cluster values in get_fat()
926 and against out of range cluster to change and new cluster value in
929 When an invalid cluster value is detected, these functions now die()
930 with an "internal error" message.
932 Signed-off-by: Andreas Bombe <aeb@debian.org>
935 Author: Andreas Bombe <aeb@debian.org>
936 Date: Mon Sep 14 00:33:49 2015 +0200
938 configure.ac: Use AS_HELP_STRING to format option help
940 Signed-off-by: Andreas Bombe <aeb@debian.org>
943 Author: Andreas Bombe <aeb@debian.org>
944 Date: Mon Sep 14 00:30:40 2015 +0200
946 version.h: Use @configure_input@ autoconf variable in boilerplate
948 Signed-off-by: Andreas Bombe <aeb@debian.org>
951 Author: Andreas Bombe <aeb@debian.org>
952 Date: Mon Sep 14 00:29:27 2015 +0200
954 .gitignore: Add TAGS in addition to tags
956 Signed-off-by: Andreas Bombe <aeb@debian.org>
959 Author: Andreas Bombe <aeb@debian.org>
960 Date: Fri Sep 11 20:28:12 2015 +0200
962 Rename clusters field in DOS_FS struct
964 Rename it to data_clusters to prevent mistaking the clusters field of
965 the DOS_FS struct as the total number of FAT entries instead of the
966 number of data clusters (two less than the number of entries).
968 Signed-off-by: Andreas Bombe <aeb@debian.org>
971 Author: Andreas Bombe <aeb@debian.org>
972 Date: Fri Sep 11 19:47:29 2015 +0200
974 set_fat(): Fix off-by-2 error leading to corruption in FAT12
976 In FAT12 two 12 bit entries are combined to a 24 bit value (three
977 bytes). Therefore, when an even numbered FAT entry is set in FAT12, it
978 must be be combined with the following entry. To prevent accessing
979 beyond the end of the FAT array, it must be checked that the cluster is
982 Previously, the check tested that the requested cluster was equal to
983 fs->clusters - 1. However, fs->clusters is the number of data clusters
984 not including the two reserved FAT entries at the start so the test
985 triggered two clusters early.
987 If the third to last entry was written on a FAT12 filesystem with an
988 odd number of clusters, the second to last entry would be corrupted.
989 This corruption may also lead to invalid memory accesses when the
990 corrupted entry becomes out of bounds and is used later.
992 Change the test to fs->clusters + 1 to fix.
994 Reported-by: Hanno Böck
995 Signed-off-by: Andreas Bombe <aeb@debian.org>
998 Author: Andreas Bombe <aeb@debian.org>
999 Date: Fri Sep 11 19:34:10 2015 +0200
1001 set_fat(): Move FAT12 next cluster check up
1003 In FAT12 two 12 bit entries are combined to a 24 bit value (three
1004 bytes). Therefore, when an even numbered FAT entry is set in FAT12, it
1005 must be be combined with the following entry. To prevent accessing
1006 beyond the end of the FAT array, it must be checked that the cluster is
1009 This check was broken in ff1b24e9 (first included in 3.0.3) as the
1010 lookup was done unconditionally and the check influenced only using the
1013 Move the check up to fix.
1015 Signed-off-by: Andreas Bombe <aeb@debian.org>
1018 Author: Andreas Bombe <aeb@debian.org>
1019 Date: Tue Sep 8 03:58:29 2015 +0200
1021 Prevent out of bound array read in date_dos2unix()
1023 The function date_dos2unix() is called during fsck while showing
1024 information about duplicate file names. In case the date field of a
1025 directory entry contains the invalid value 0 for the month,
1026 date_dos2unix would read index -1 of the day_n array.
1028 Add a check to prevent that and also make the day_n array const on this
1031 Reported-by: Hanno Böck
1032 Signed-off-by: Andreas Bombe <aeb@debian.org>
1035 Author: Yann E. MORIN <yann.morin.1998@free.fr>
1036 Date: Sun Aug 16 15:55:43 2015 +0200
1038 mkfs.fat: fix incorrect int type
1040 u_int32_t is not a stanard type, while uint32_t is. This fixes builds
1041 with the musl C library, which only defines so-called "clean" headers;
1042 build failures are like (back-quotes and elision manually added for
1045 http://autobuild.buildroot.org/results/a09/a0923d7f6d4dbae02eba4c5024bbdae3a52aa85a/build-end.log
1047 /home/peko/autobuild/instance-1/output/host/usr/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE \
1048 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -D_LARGEFILE_SOURCE \
1049 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkfs.fat.o src/mkfs.fat.c
1050 src/mkfs.fat.c: In function 'main':
1051 src/mkfs.fat.c:1415:18: error: 'u_int32_t' undeclared (first use in this function)
1052 volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); [...]
1054 src/mkfs.fat.c:1415:18: note: each undeclared identifier is reported only once for each
1055 function it appears in
1057 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
1058 Signed-off-by: Andreas Bombe <aeb@debian.org>
1061 Author: Andreas Bombe <aeb@debian.org>
1062 Date: Wed Jun 3 03:33:10 2015 +0200
1064 Add README.md, remove Markdown formatting from README
1066 Signed-off-by: Andreas Bombe <aeb@debian.org>
1069 Author: Andreas Bombe <aeb@debian.org>
1070 Date: Wed Jun 3 03:27:24 2015 +0200
1072 Add simple README in Markdown format
1074 Signed-off-by: Andreas Bombe <aeb@debian.org>
1077 Author: Andreas Bombe <aeb@debian.org>
1078 Date: Tue Jun 2 18:25:06 2015 +0200
1080 Configure option for legacy names symlinks
1082 The symlinks from the old names (mkdosfs, dosfsck, etc.) are now only
1083 created on "make install" when the --enable-compat-symlinks option was
1086 Signed-off-by: Andreas Bombe <aeb@debian.org>
1089 Author: Andreas Bombe <aeb@debian.org>
1090 Date: Sun May 31 02:40:19 2015 +0200
1092 Convert build system to autoconf/automake
1094 In preparation for fixing the horribly outdated and broken device
1095 checking - which will likely involve using additional libraries like
1096 libblkid - as well as making this package portable to other operating
1097 systems, the build system is now the tried and true autoconf/automake
1098 combination which should make both goals a little more straightforward.
1100 The release version number and date are now in configure.ac and
1101 substituted by configure where they are needed. Now it is no longer
1102 necessary to change the number in multiple places for a release and the
1103 man pages get the number substituted directly into them, making the
1104 update-version.sh script and the VERSION file obsolete.
1106 The English man pages are moved back up one directory to mark their
1107 status as the master copy for all translations. At the moment the po4a
1108 translation infrastructure is defunct since it isn't integrated into
1109 the automake environment yet. So far it hasn't been used, so that is
1110 not an actual regression.
1112 The date in the man pages is not automatically updated anymore. This is
1113 as it should be, since the date is supposed to signify the time of the
1114 last nontrivial change and not the release date of the software.
1116 Signed-off-by: Andreas Bombe <aeb@debian.org>
1118 commit 85022fe (tag: v3.0.28)
1119 Author: Andreas Bombe <aeb@debian.org>
1120 Date: Sat May 16 02:56:17 2015 +0200
1122 Releasing version 3.0.28.
1124 Signed-off-by: Andreas Bombe <aeb@debian.org>
1127 Author: Andreas Bombe <aeb@debian.org>
1128 Date: Sat May 16 02:10:18 2015 +0200
1130 manpages: Mark MT and ME tags as untranslated for po4a
1132 Signed-off-by: Andreas Bombe <aeb@debian.org>
1135 Author: Andreas Bombe <aeb@debian.org>
1136 Date: Sun May 10 19:59:02 2015 +0200
1138 mkfs: Small changes to FAT32 cluster size selection
1140 Put the cluster size selection back in line with the table used in
1141 Microsoft's fatgen103.pdf and fix the comment. This only involved
1142 changing some comparison operators, all values stayed the same.
1144 Signed-off-by: Andreas Bombe <aeb@debian.org>
1147 Author: Andreas Bombe <aeb@debian.org>
1148 Date: Mon Apr 20 23:41:34 2015 +0200
1150 fsck: Mention -r is default in usage message
1152 Signed-off-by: Andreas Bombe <aeb@debian.org>
1155 Author: Andreas Bombe <aeb@debian.org>
1156 Date: Mon Apr 20 23:30:56 2015 +0200
1158 manpages: Remove obsolete information about Linux FAT support
1160 Signed-off-by: Andreas Bombe <aeb@debian.org>
1163 Author: Andreas Bombe <aeb@debian.org>
1164 Date: Thu Apr 16 23:16:08 2015 +0200
1166 manpages: Convert the rest of argument placeholders to upper case
1168 Signed-off-by: Andreas Bombe <aeb@debian.org>
1171 Author: Andreas Bombe <aeb@debian.org>
1172 Date: Thu Apr 16 22:51:20 2015 +0200
1174 manpages: Fix formatting
1176 Make the manpages conform to the rules for groff sources. First,
1177 eliminate empty lines because these create vertical spaces where it
1178 isn't desired. Man page sources should not contain empty lines. Second,
1179 put a line break between sentences in a paragraph. A period is
1180 recognized and formatted as a full stop period only when a line break
1181 comes right after it.
1183 Signed-off-by: Andreas Bombe <aeb@debian.org>
1186 Author: Andreas Bombe <aeb@debian.org>
1187 Date: Fri Apr 10 20:32:50 2015 +0200
1189 fsck: Verify first cluster of a file is not 1
1191 Previously the FAT was checked for any out of bounds entries which were
1192 cleared. However the first cluster of a file, as specified in its
1193 directory entry, was not verified to not be 1.
1195 In addition to missing this filesystem error, code that correctly
1196 assumes the FAT contained no bad entries anymore could still look up
1197 invalid table indices depending on the value stored in entry 1. With
1198 the right values and FAT size this can lead to a segfault by accessing
1201 Now test_file() will ignore files where the first cluster equals 1 and
1202 an additional check in check_file() will truncate them.
1204 This bug was reported in http://bugs.debian.org/773885 by Jakub Wilk.
1206 Signed-off-by: Andreas Bombe <aeb@debian.org>
1209 Author: Andreas Bombe <aeb@debian.org>
1210 Date: Thu Apr 2 23:35:00 2015 +0200
1212 Simplify synopses of man pages
1214 Since there is only one mode of invocation for the tools, it is
1215 somewhat pointless to list every possible option in the synopsis.
1217 Fix a few style inconsistencies in addition, specifically that
1218 placeholders for option arguments are in capital letters and should be
1219 shown where the option is described.
1221 Signed-off-by: Andreas Bombe <aeb@debian.org>
1224 Author: Andreas Bombe <aeb@debian.org>
1225 Date: Wed Apr 1 20:55:58 2015 +0200
1227 Update homepage and maintainer sections of man pages
1229 Signed-off-by: Andreas Bombe <aeb@debian.org>
1232 Author: Andreas Bombe <aeb@debian.org>
1233 Date: Wed Apr 1 20:05:01 2015 +0200
1235 mkfs: Show a clearer message that file already exists with -C
1237 Signed-off-by: Andreas Bombe <aeb@debian.org>
1240 Author: Andreas Bombe <aeb@debian.org>
1241 Date: Mon Mar 30 21:12:51 2015 +0200
1243 mkfs: Remove O_TRUNC from file creation call
1245 open() is called with O_EXCL | O_CREAT, so it will definitely create a
1246 new, empty file or error out. O_TRUNC is superfluous and may be harmless
1247 in practice but its effect under these circumstances is unspecified.
1249 Signed-off-by: Andreas Bombe <aeb@debian.org>
1252 Author: Andreas Bombe <aeb@debian.org>
1253 Date: Mon Mar 30 21:09:51 2015 +0200
1255 mkfs: Use ftruncate() for expanding created file
1257 Signed-off-by: Andreas Bombe <aeb@debian.org>
1260 Author: Andreas Bombe <aeb@debian.org>
1261 Date: Tue Mar 24 21:32:40 2015 +0100
1263 mkfs: Add --invariant option
1265 The --invariant option is designed to prevent random or time based
1266 differences to end up in generated filesystems so that multiple runs
1267 generate on the same file or device create completely identical results.
1269 This is intended for debugging or regression testing of mkfs.fat.
1271 Signed-off-by: Andreas Bombe <aeb@debian.org>
1274 Author: Andreas Bombe <aeb@debian.org>
1275 Date: Thu Mar 19 21:35:21 2015 +0100
1277 mkfs: Add long option parsing
1279 Add long option parsing with getopt_long() to mkfs and define --help as
1280 the first long option. The usage() function now takes an exit code
1281 parameter so that the --help option handling can exit the program with
1282 a success exit code.
1284 Signed-off-by: Andreas Bombe <aeb@debian.org>
1287 Author: Andreas Bombe <aeb@debian.org>
1288 Date: Mon Mar 16 21:08:35 2015 +0100
1290 Do not expect EOF as return value of getopt()
1292 Signed-off-by: Andreas Bombe <aeb@debian.org>
1295 Author: Andreas Bombe <aeb@debian.org>
1296 Date: Wed Mar 11 21:45:04 2015 +0100
1298 fsck.fat: Fix read beyond end of array on FAT12
1300 When a FAT12 filesystem contains an odd number of clusters, setting the
1301 last cluster with set_fat() will trigger a read of the next entry,
1302 which does not exist in the fat array allocated for this.
1304 Round up the allocation to an even number of FAT entries for FAT12 so
1305 that this is fixed without introducing special casing in get_fat().
1307 Signed-off-by: Andreas Bombe <aeb@debian.org>
1310 Author: Álvaro Fernández Rojas <noltari@gmail.com>
1311 Date: Sat Mar 7 13:23:23 2015 +0100
1313 Remove linux/msdos_fs.h includes
1315 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1316 Signed-off-by: Andreas Bombe <aeb@debian.org>
1319 Author: Álvaro Fernández Rojas <noltari@gmail.com>
1320 Date: Thu Feb 26 19:22:54 2015 +0100
1322 Remove non standard int types
1324 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1325 Signed-off-by: Andreas Bombe <aeb@debian.org>
1328 Author: Álvaro Fernández Rojas <noltari@gmail.com>
1329 Date: Thu Feb 26 19:41:19 2015 +0100
1333 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1334 Signed-off-by: Andreas Bombe <aeb@debian.org>
1337 Author: Álvaro Fernández Rojas <noltari@gmail.com>
1338 Date: Thu Feb 26 12:51:23 2015 +0100
1340 Makefile: avoid using install -D
1342 OS X and FreeBSD are not compatible with this option
1344 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1345 Signed-off-by: Andreas Bombe <aeb@debian.org>
1348 Author: Álvaro Fernández Rojas <noltari@gmail.com>
1349 Date: Thu Feb 26 12:50:57 2015 +0100
1351 Makefile: fix typo in uninstall-man
1353 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1354 Signed-off-by: Andreas Bombe <aeb@debian.org>
1357 Author: Andreas Bombe <aeb@debian.org>
1358 Date: Thu Feb 19 21:22:54 2015 +0100
1360 fsck.fat: Make -r option default
1362 Default mode is now to interactively repair with the option to write
1363 the changes back at the end (like the -r option) instead of the previous
1364 default mode of interactively correcting but never writing back the
1367 The -r option continues to be recognized by fsck.fat.
1369 Signed-off-by: Andreas Bombe <aeb@debian.org>
1372 Author: Andreas Bombe <aeb@debian.org>
1373 Date: Fri Feb 20 03:19:28 2015 +0100
1375 mkfs.fat: Allow 0xF0 to be specified as media byte
1377 Let the -M option accept 0xF0, which should be the proper descriptor
1378 byte for 3.5" 1.44 MB and 2.88 MB floppies.
1380 Also split the error reporting for -M between badly formatted and
1383 Signed-off-by: Andreas Bombe <aeb@debian.org>
1386 Author: Andreas Bombe <aeb@debian.org>
1387 Date: Wed Jan 28 15:07:18 2015 +0100
1389 Make all char* that may take literals const
1391 Every char* variable or function argument that may be given a literal
1392 string is now made const. Additionally add -Wwrite-strings to CFLAGS to
1393 enable a warning where const would be missing.
1395 Signed-off-by: Andreas Bombe <aeb@debian.org>
1398 Author: Andreas Bombe <aeb@debian.org>
1399 Date: Mon Dec 29 18:24:54 2014 +0100
1401 mkfs.fat.c: Use unsigned char for binary data
1403 Simple char technically works for the dummy_boot_jump variables, but
1404 some compiler warning settings would give a warning over a signed char
1405 overflowing with the values given as initializers.
1407 Signed-off-by: Andreas Bombe <aeb@debian.org>
1410 Author: Andreas Bombe <aeb@debian.org>
1411 Date: Sun Nov 16 19:49:22 2014 +0100
1413 Fix indentation of "fix power loss damage" commit
1415 I fixed the (sometimes misleading) indentation of the code introduced in
1416 commit 6893c45 to be in line with the reset of the code and also removed
1417 the /* PATCH ED+DL */ comments which are quite meaningless to the wider
1420 Signed-off-by: Andreas Bombe <aeb@debian.org>
1423 Author: Andreas Bombe <aeb@debian.org>
1424 Date: Sat Nov 15 16:48:48 2014 +0100
1426 Add tags and editor backup files to .gitignore
1428 Signed-off-by: Andreas Bombe <aeb@debian.org>
1430 commit cb98ae2 (tag: v3.0.27)
1431 Author: Andreas Bombe <aeb@debian.org>
1432 Date: Wed Nov 12 01:10:23 2014 +0100
1434 Releasing version 3.0.27.
1436 Signed-off-by: Andreas Bombe <aeb@debian.org>
1439 Author: Andreas Bombe <aeb@debian.org>
1440 Date: Wed Nov 12 00:22:17 2014 +0100
1442 fsck.fat: Don't print version string every time -v is encountered
1444 Remove the printing of the version string every time -v is seen during
1445 command line parsing in fsck.fat. The version string is printed anyway
1446 before opening the filesystem device/image.
1448 Signed-off-by: Andreas Bombe <aeb@debian.org>
1451 Author: Andreas Bombe <aeb@debian.org>
1452 Date: Tue Nov 11 23:25:30 2014 +0100
1454 Fix attempt to rename root dir in fsck due to uninitialized fields
1456 When add_file() is called with offset 0, it will construct a DIR_ENT for
1457 the root directory instead of reading the contents from the filesystem.
1458 It did not initialize the whole DIR_ENT on the stack, just select
1461 In particular, the lcase field was left with an undefined value. If
1462 that value happened to include the FAT_NO_83NAME bit, the "neither long
1463 nor short file name" check in bad_name() added in 3.0.26 would trigger
1464 and cause an attempt to rename the entry (which is not possible).
1467 $ /sbin/fsck.fat -y bad.img
1468 fsck.fat 3.0.26 (2014-03-07)
1470 Bad short file name ().
1473 bad.img: 14 files, 19388/403266 clusters
1475 This commit changes the initialization zeroize the whole struct before
1476 setting individual fields. Thanks to AlexisM, who found the cause and
1477 posted a patch on the Debian bug http://bugs.debian.org/764992 .
1479 Signed-off-by: Andreas Bombe <aeb@debian.org>
1482 Author: Andreas Bombe <aeb@debian.org>
1483 Date: Tue Nov 11 22:49:50 2014 +0100
1485 Support long file names in volume labeling code
1487 The code to find the volume label directory entry in find_volume_de()
1488 did not consider long file names so far. Directory entries that make up
1489 long file names have four attribute bits set, including the "volume"
1492 This caused the code to mistake a directory entry that is part of a
1493 long file name as the volume name entry. If such an entry is found
1494 first, fatlabel would print garbage when asked to display the label and
1495 mangle the long file name when asked to set it. The latter would lead
1496 to the loss of the long file name and require a fsck to clean up.
1498 Change so that the set of attributes equal that of LFN entries will no
1499 langer match as a volume label.
1501 Signed-off-by: Andreas Bombe <aeb@debian.org>
1503 commit 1646f6e (tag: v3.0.26)
1504 Author: Daniel Baumann <mail@daniel-baumann.ch>
1505 Date: Fri Mar 7 18:40:13 2014 +0100
1507 Releasing version 3.0.26.
1509 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1512 Author: Dir Lotter <dirk.lotter@siemens.com>
1513 Date: Fri Mar 7 18:25:39 2014 +0100
1515 Fix "odd" files created by frequent power-loss.
1517 After running many power losses the filesystem can degrate, containing "odd"
1518 files making the filesystem corrupt that could not be solved by fsck:
1520 * file was not visible in a ls -l
1521 * ls -i reported a "invalid file name" on the console
1522 * a test program with diropen/dirread showed the file, a stat on this file
1524 * file was not accessible and could not be deleted
1526 After digging into the code we found why fsck didn't repair the file system:
1527 One thing was we don't have short filenames. Another issue was that the LFN
1528 pointer was set to NULL and so it looked like we didn't have short and long
1531 Our patch of check.c includes:
1533 * returns 1 from function bad_name() in case no short and no long filename
1535 * auto_rename() and rename_file() got a special handling for the case no short
1537 - it enables the short file name (we think here was a weakness of the old
1538 code: it changed the short filename but didn't enabled it in the
1539 file->dir_ent.lcase entry)
1540 - it reset all attributes except ATTR_DIR and ATTR_VOLUME
1542 This solved our problem pretty well.
1544 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1547 Author: Natanael Copa <ncopa@alpinelinux.org>
1548 Date: Sat Feb 8 18:53:30 2014 +0100
1550 Build fixes for musl libc.
1552 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1554 commit 52588b7 (tag: v3.0.25)
1555 Author: Daniel Baumann <mail@daniel-baumann.ch>
1556 Date: Fri Jan 17 07:11:11 2014 +0100
1558 Releasing version 3.0.25.
1560 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1563 Author: Daniel Baumann <mail@daniel-baumann.ch>
1564 Date: Fri Jan 17 07:09:54 2014 +0100
1566 Updating copyright headers for 2014.
1568 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1571 Author: Andrew Tridgell <tridge@samba.org>
1572 Date: Tue Jan 14 09:37:51 2014 +1100
1574 Fixed remaining 64 bit build warnings.
1576 Some of these may be real bugs.
1578 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1581 Author: Andrew Tridgell <tridge@samba.org>
1582 Date: Tue Jan 14 09:25:28 2014 +1100
1584 Prevent corruption of FAT during fsck on 64 bit platforms.
1586 unsigned long is 64 bit on x86-64, which means set_fat was writing two
1587 entries, which corrupts the next entry. This can cause loss of data in
1590 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1592 commit 0d2c9bc (tag: v3.0.24)
1593 Author: Daniel Baumann <mail@daniel-baumann.ch>
1594 Date: Sat Nov 23 10:36:55 2013 +0100
1596 Releasing version 3.0.24.
1598 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1601 Author: Jaroslav Skarvada <jskarvad@redhat.com>
1602 Date: Sat Nov 23 10:34:48 2013 +0100
1604 Fixed dosfsck on big endian platforms (Resolves: rhbz#1029695).
1606 It seems there is problem in the double conversion on big endians.
1607 The first conversion is done by the explicit conversion to __u16
1608 in the GET_UNALIGNED_W macro, so the secondary conversion by le16toh
1609 seems to be redundant (and wrong).
1611 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1613 commit 6debb4a (tag: v3.0.23)
1614 Author: Daniel Baumann <mail@daniel-baumann.ch>
1615 Date: Tue Oct 15 08:05:46 2013 +0200
1617 Releasing version 3.0.23.
1619 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1622 Author: Daniel Baumann <mail@daniel-baumann.ch>
1623 Date: Tue Oct 15 08:04:11 2013 +0200
1625 Reformating mkfs.fat manpage.
1627 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1630 Author: Michael Shigorin <mike@altlinux.org>
1631 Date: Tue Oct 15 01:29:33 2013 +0400
1633 Fixing "Fixing default sectors per cluster for FAT32" for UEFI.
1635 FAT32 "EFI System Partition" is basically required for UEFI boot;
1636 commit ge048a8d broke that for me with both virtualbox-4.2 and
1637 real hardware (ASUS C60M1-I to be exact) given ~250Mb filesystem.
1639 This commit amends that one by reverting its effects for these
1640 small sizes by restoring 512b cluster size for <= 260Mb FAT32.
1642 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1645 Author: Daniel Baumann <mail@daniel-baumann.ch>
1646 Date: Fri Aug 9 09:38:13 2013 +0200
1648 Also allowing lowercase labels in mkfs (with warning message) consistent with the recent fsck change, thanks to Michael Baum <mbaum@devonit.com>.
1650 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1653 Author: Tim Harder <radhermit@gentoo.org>
1654 Date: Fri Jul 19 18:15:21 2013 +0200
1656 Add install-man dependency to install-symlinks Makefile target.
1658 This fixes a race condition during parallel installs where man page
1659 symlinks won't be installed because install-man hasn't been run yet.
1661 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1663 commit 651f91c (tag: v3.0.22)
1664 Author: Daniel Baumann <mail@daniel-baumann.ch>
1665 Date: Fri Jul 19 07:01:19 2013 +0200
1667 Releasing version 3.0.22.
1669 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1672 Author: Daniel Baumann <mail@daniel-baumann.ch>
1673 Date: Fri Jul 19 06:55:24 2013 +0200
1675 Addding install-symlinks target to phony targets in Makefile.
1677 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1680 Author: Daniel Baumann <mail@daniel-baumann.ch>
1681 Date: Fri Jul 19 06:55:00 2013 +0200
1683 Adding uninstall-symlinks target in Makefile.
1685 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1688 Author: Daniel Baumann <mail@daniel-baumann.ch>
1689 Date: Fri Jul 19 06:45:40 2013 +0200
1691 Allowing fatlabel to write labels in all lowercase but give a warning about DOS/Windows (Closes: #714971).
1693 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1696 Author: John S Gruber <JohnSGruber@gmail.com>
1697 Date: Fri Jul 19 06:40:21 2013 +0200
1699 Add options and make dos boot sector more compatible with reference system (Closes: #552673).
1701 Unless overridden by the user sets the DOS boot sector's
1702 hidden-sectors field to match the start of a hard disk's
1705 Initialize DOS boot sector drive_number according to FAT media type
1706 Addresses LP: #398241 and Debian #552673
1708 Adds options to override the DOS boot sector device_number and
1711 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1714 Author: Daniel Baumann <mail@daniel-baumann.ch>
1715 Date: Wed Jul 17 12:52:20 2013 +0200
1717 Correcting wrong check preventing installation of fatlabel legacy manpage symlink.
1719 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1721 commit d0065d3 (tag: v3.0.21)
1722 Author: Daniel Baumann <mail@daniel-baumann.ch>
1723 Date: Tue Jul 16 08:34:28 2013 +0200
1725 Releasing version 3.0.21.
1727 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1730 Author: Jaroslav Skarvada <jskarvad@redhat.com>
1731 Date: Tue Jun 25 14:53:14 2013 +0200
1733 Adding the missing -p option to the fsck manpage (to be consistent with the output of the tool).
1735 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1738 Author: Patrick J. Volkerding <volkerdi@slackware.com>
1739 Date: Mon Jun 24 14:23:00 2013 +0200
1741 Using $MANDIR instead of hardcoded ${PREFIX}/share/man in the Makefile.
1743 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1746 Author: Daniel Baumann <mail@daniel-baumann.ch>
1747 Date: Fri Jun 14 18:50:31 2013 +0200
1749 Making install-symlinks Makefile target depend on install-bin to not break when using make in parallel, thanks to David Walser <luigiwalser@yahoo.com>.
1751 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1754 Author: Daniel Baumann <mail@daniel-baumann.ch>
1755 Date: Wed Jun 12 13:00:10 2013 +0200
1757 Using US digit date format in version date, rather than name abbrev.
1759 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1761 commit a64195f (tag: v3.0.20)
1762 Author: Daniel Baumann <mail@daniel-baumann.ch>
1763 Date: Wed Jun 12 12:25:32 2013 +0200
1765 Releasing version 3.0.20.
1767 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1770 Author: Daniel Baumann <mail@daniel-baumann.ch>
1771 Date: Wed Jun 12 12:07:58 2013 +0200
1773 Softening message about different boot sectors a bit (Closes: #704198).
1775 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1778 Author: Daniel Baumann <mail@daniel-baumann.ch>
1779 Date: Wed Jun 12 11:42:52 2013 +0200
1781 Harmonizing program name output.
1783 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1786 Author: Martin Wilck <mwilck@arcor.de>
1787 Date: Wed Jun 12 11:38:00 2013 +0200
1789 Don't align FAT to cluster size.
1791 See previous patch for explanation.
1793 With this patch and the previous two, the
1794 mkdosfs generated FAT32 file systems work well in my extremely
1795 picky TechniSat device. Of course, they're also detected cleanly
1796 by Linux and Windows.
1798 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1801 Author: Martin Wilck <mwilck@arcor.de>
1802 Date: Wed Jun 12 11:36:08 2013 +0200
1804 Don't align FAT32 reserved sectors to cluster size.
1806 For certain file system sizes (in particular, exact GB sizes -
1807 don't ask me why) a Technisat HD S2 Plus DVB receiver will still
1808 choke on mkdosfs generated file systems, even if the sectors per
1809 cluster problem is fixed.
1811 By comparing the properties of generated FAT32 FS with results
1812 of the Windows tool "h2format" (www.heise.de/download/h2format.html),
1813 I found that the remaining problems were caused by rounding of the
1814 reserved sectors and FAT space to cluster size (the h2format tool
1817 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1820 Author: Martin Wilck <mwilck@arcor.de>
1821 Date: Wed Jun 12 11:33:33 2013 +0200
1823 Fixing default sectors per cluster for FAT32 (Closes: #690062).
1825 The default sectors per cluster calculated by mkdosfs are outdated,
1826 see http://technet.microsoft.com/en-us/library/cc938438.aspx.
1828 The deviations may cause some 3rd party devices (e.g. TechniSat DVB
1829 receivers) to hang when reading mkdosfs generated file systems.
1831 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1834 Author: Daniel Baumann <mail@daniel-baumann.ch>
1835 Date: Tue Jun 11 20:19:09 2013 +0200
1837 Splitting out legacy symlink creation in toplevel Makefile to own target.
1839 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1842 Author: Daniel Baumann <mail@daniel-baumann.ch>
1843 Date: Wed Jun 12 11:29:12 2013 +0200
1845 Correcting wrong toolname in fsck.fat.
1847 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1850 Author: Daniel Baumann <mail@daniel-baumann.ch>
1851 Date: Tue Jun 11 19:51:47 2013 +0200
1853 Consistently spelling filesystem as filesystem, and not file system.
1855 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1858 Author: Daniel Baumann <mail@daniel-baumann.ch>
1859 Date: Tue Jun 11 19:30:19 2013 +0200
1861 Removing Debian reference in GPL license headers.
1863 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1865 commit 5505cc2 (tag: v3.0.19)
1866 Author: Daniel Baumann <mail@daniel-baumann.ch>
1867 Date: Tue Jun 11 18:46:03 2013 +0200
1869 Releasing version 3.0.19.
1871 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1874 Author: Daniel Baumann <mail@daniel-baumann.ch>
1875 Date: Tue Jun 11 18:44:50 2013 +0200
1877 Running indent on source files.
1879 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1882 Author: Daniel Baumann <mail@daniel-baumann.ch>
1883 Date: Tue Jun 11 18:41:41 2013 +0200
1885 Using memcpy instead of strcpy to fix segfault with fortify, thanks to Dave Reisner <falconindy@jabber.org>.
1887 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1890 Author: Daniel Baumann <mail@daniel-baumann.ch>
1891 Date: Sun Jun 9 13:17:16 2013 +0200
1893 Correcting fsck.fat spelling error in manpages, thanks to E.J.M. Hartman <E.J.M.Hartman@tudelft.nl>.
1895 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1897 commit 2d8ef9b (tag: v3.0.18)
1898 Author: Daniel Baumann <mail@daniel-baumann.ch>
1899 Date: Thu Jun 6 09:49:00 2013 +0200
1901 Releasing version 3.0.18.
1903 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1906 Author: Daniel Baumann <mail@daniel-baumann.ch>
1907 Date: Thu Jun 6 09:38:45 2013 +0200
1909 Adding initial i18n support for manpages with po4a.
1911 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1914 Author: Daniel Baumann <mail@daniel-baumann.ch>
1915 Date: Thu Jun 6 09:17:13 2013 +0200
1917 Renaming tools to sane namespace and keeping legacy symlinks in place.
1919 dosfslabel becomes fatlabel,
1920 dosfsck becomes fsck.fat,
1921 and mkdosfs becomes mkfs.fat.
1923 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1926 Author: Daniel Baumann <mail@daniel-baumann.ch>
1927 Date: Wed Jun 5 07:12:03 2013 +0200
1929 Correcting wrong spelling of Debian in mkdosfs manpage.
1931 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1934 Author: Daniel Baumann <mail@daniel-baumann.ch>
1935 Date: Wed Jun 5 07:10:50 2013 +0200
1937 Correcting spelling typo in boot.c.
1939 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1942 Author: Martin Pitt <martinpitt@gnome.org>
1943 Date: Fri May 24 09:35:44 2013 +0200
1945 dosfslabel: Do not read beyond string length (Closes: #709587).
1947 When checking whether the label contains any lower-case characters, do not read
1948 beyond the end of the string.
1950 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1952 commit 4203a90 (tag: v3.0.17)
1953 Author: Daniel Baumann <mail@daniel-baumann.ch>
1954 Date: Wed May 29 10:14:09 2013 +0200
1956 Releasing version 3.0.17.
1958 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1961 Author: Daniel Baumann <mail@daniel-baumann.ch>
1962 Date: Wed May 29 09:48:24 2013 +0200
1964 Updating maximal lenght of a label in manpage to talk about bytes instead of characters, thanks to Francois Wendling <frwendling@gmail.com> (Closes: #655953).
1966 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1969 Author: Jaroslav Skarvada <jskarvad@redhat.com>
1970 Date: Wed May 29 09:56:08 2013 +0200
1972 Fixing segfault in dosfslabel.
1974 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1977 Author: James Byrne <jbyrne@aminocom.com>
1978 Date: Mon Apr 22 12:29:51 2013 +0100
1980 Allow operation on SH4 CPUs and remove compiler warnings.
1982 Simplify the GET_UNALIGNED_W macro and use it in all cases instead of making it
1983 conditional on CPU types. This missed some CPUs that needed it (e.g. SH4), and
1984 in any case the implementation caused "dereferencing type-punned pointer will
1985 break strict-aliasing rules" warnings.
1987 Enable extra warnings, but disable signed comparison and missing field
1988 initializer warnings as these are not helpful.
1990 Update write_boot_label() so that the boot_sector_16 and boot_sector cases are
1991 handled separately instead of using an aliased pointer, as that causes
1992 "dereferencing type-punned pointer will break strict-aliasing rules" warnings.
1994 Make date_dos2unix(), usage() and cdiv() static functions as they are only used
1995 in the files in which they are declared.
1997 Update bad_name() and lfn_get() so that the extension is processed separately
1998 instead of by indexing past the end of the name field as that causes "array
1999 subscript is above array bounds" warnings.
2001 Update the dosfsck() main function to avoid a warning that free_clusters may
2002 be used uninitialized. Do not print the final count of files and clusters when
2003 dosfsck is run with the "-b" option because the used files and clusters have
2004 not been counted in this case.
2006 Alter the setup_tables() function so that it does not cause an "array subscript
2007 is below array bounds" warning.
2009 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2012 Author: James Byrne <jbyrne@aminocom.com>
2013 Date: Mon Apr 22 13:32:01 2013 +0100
2015 Add a .gitignore file.
2017 Add a .gitignore file so that the results of compilation do not appear as
2020 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2023 Author: James Byrne <jbyrne@aminocom.com>
2024 Date: Mon Apr 22 12:38:52 2013 +0100
2026 Finish cleanup of byteswap code.
2028 Commit 9ba8992 left three references to the old CT_LE_W macro.
2029 Remove these since no conversion was needed as the value being
2032 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2035 Author: Daniel Baumann <mail@daniel-baumann.ch>
2036 Date: Thu Apr 4 08:08:00 2013 +0200
2038 Shortening links to upstream homepage.
2040 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2043 Author: Cristian Rodríguez <crrodriguez@opensuse.org>
2044 Date: Fri Mar 1 08:23:34 2013 +0100
2046 Fix offsetof definition.
2048 * include stddef.h to get the correct offsetof definition.
2049 * remove local offsetof definition, systems not having it on stddef.h
2050 are in violation of C89, C99, POSIX.1-2001.
2052 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2055 Author: Cristian Rodríguez <crrodriguez@opensuse.org>
2056 Date: Fri Mar 1 08:58:36 2013 +0100
2058 Cleanup byteswap code.
2060 Remove all duplicate macro definitions for byteswapping routines
2061 and replace them for proper usage of userspace endian(3).
2063 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2065 commit 8733e12 (tag: v3.0.16)
2066 Author: Daniel Baumann <mail@daniel-baumann.ch>
2067 Date: Wed May 29 10:06:01 2013 +0200
2069 Releasing version 3.0.16.
2071 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2074 Author: Petr Gajdos <pgajdos@suse.cz>
2075 Date: Fri Mar 1 08:34:12 2013 +0100
2077 Create rootdir entry volume label with mkdosfs, create it when
2078 it doesn't exist with dosfslabel.
2080 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
2081 for more information.
2083 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2086 Author: Petr Gajdos <pgajdos@suse.cz>
2087 Date: Fri Mar 1 08:33:18 2013 +0100
2089 Forbid lowercase letters in label.
2091 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
2092 http://support.microsoft.com/kb/71715/en-us for more information.
2094 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2097 Author: Petr Gajdos <pgajdos@suse.cz>
2098 Date: Fri Mar 1 08:32:02 2013 +0100
2100 Read label also from rootdir entry.
2102 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
2103 for more information.
2105 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2108 Author: Petr Gajdos <pgajdos@suse.cz>
2109 Date: Fri Mar 1 08:30:21 2013 +0100
2111 alloc_rootdir_entry() is intended to be called with pattern == "FSCK%04dREC",
2112 the old code (probably c&p from auto_rename()) doesn't reflect this.
2114 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2117 Author: Petr Gajdos <pgajdos@suse.cz>
2118 Date: Fri Mar 1 08:29:00 2013 +0100
2120 Instead of eleven blanks, fill in "NO NAME " as specification tells.
2122 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
2123 http://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html for more information.
2125 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2128 Author: Petr Gajdos <pgajdos@suse.cz>
2129 Date: Fri Mar 1 08:58:15 2013 +0100
2131 Write uppercase letters in label.
2133 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
2134 http://support.microsoft.com/kb/71715/en-us for more information.
2136 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2138 commit a75fb1c (tag: v3.0.15)
2139 Author: Daniel Baumann <mail@daniel-baumann.ch>
2140 Date: Thu Feb 21 15:06:52 2013 +0100
2142 Releasing version 3.0.15.
2144 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2147 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2148 Date: Mon Feb 4 00:22:34 2013 +0400
2150 Using wcstombs() to convert LFN unicode characters to printable text.
2152 This closes Debian bug #596336.
2154 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2157 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2158 Date: Sun Sep 5 18:59:47 2010 +0400
2160 Recode short filenames from DOS codepage (default 437).
2162 Recode short filenames from DOS codepage (default 437) to the current
2163 character encoding. This makes messages of dosfsck more readable.
2164 Partially closes Debian bug #596336.
2166 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2169 Author: Jaroslav Skarvada <jskarvad@redhat.com>
2170 Date: Thu Feb 21 14:40:52 2013 +0100
2172 Fixing root directory allocation.
2174 See https://bugzilla.redhat.com/show_bug.cgi?id=674095 for more information.
2176 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2179 Author: Jaroslav Skarvada <jskarvad@redhat.com>
2180 Date: Thu Feb 21 14:40:25 2013 +0100
2182 Fixing device detection.
2184 See https://bugzilla.redhat.com/show_bug.cgi?id=710480 for more information.
2186 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2188 commit 7a75638 (tag: v3.0.14)
2189 Author: Daniel Baumann <mail@daniel-baumann.ch>
2190 Date: Wed Jan 23 13:22:01 2013 +0100
2192 Releasing version 3.0.14.
2194 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2197 Author: Daniel Baumann <mail@daniel-baumann.ch>
2198 Date: Wed Jan 23 13:16:20 2013 +0100
2200 Documenting dosfsck -b in its manpage.
2202 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2205 Author: Oleksij Rempel <bug-track@fisher-privat.net>
2206 Date: Wed Jan 23 12:36:56 2013 +0100
2208 Adding option for bootsector read-only check.
2210 Most boot sectors may contains marker for filesystem state. We can this
2211 bit on every mount and warn user if some thing wrong, without checking
2212 complete filesystem.
2214 Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2215 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2218 Author: Oleksij Rempel <bug-track@fisher-privat.net>
2219 Date: Wed Jan 23 12:35:13 2013 +0100
2221 Checking boot sector for dirty bit.
2223 Some OSos use reseved byte of boot sector to set state of the file
2224 system. If first bit set, then filesystem is proably damaged - write
2225 operation was not finished/cache not snycted/...
2227 Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2228 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2231 Author: Daniel Baumann <mail@daniel-baumann.ch>
2232 Date: Wed Jan 23 12:25:59 2013 +0100
2234 Completing and updating all copyright headers for 2013.
2236 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2239 Author: Daniel Baumann <mail@daniel-baumann.ch>
2240 Date: Wed Jan 23 12:17:20 2013 +0100
2242 Updating my email address.
2244 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2246 commit 13cdb4d (tag: v3.0.13)
2247 Author: Daniel Baumann <mail@daniel-baumann.ch>
2248 Date: Sat Jun 30 19:10:44 2012 +0200
2250 Releasing version 3.0.13.
2252 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2255 Author: Jaroslav Škarvada <jskarvad@redhat.com>
2256 Date: Sat Jun 30 19:09:11 2012 +0200
2258 Fix 'dosfslabel throws "Seek to 114116076544:Invalid argument" error when labeling'.
2260 See https://bugzilla.redhat.com/show_bug.cgi?id=693662 for more information.
2262 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2264 commit e243612 (tag: v3.0.12)
2265 Author: Daniel Baumann <mail@daniel-baumann.ch>
2266 Date: Sat Oct 29 08:40:53 2011 +0200
2268 Releasing version 3.0.12.
2270 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2273 Author: Michael Casadevall <mcasadevall@ubuntu.com>
2274 Date: Tue Jun 7 19:19:30 2011 +0200
2276 Correcting miscalculation of sector number in some cases.
2278 mkdosfs will incorrectly calculate the number of sectors of a
2279 given FAT partition if the number sectors are odd due to
2280 count_blocks incorrectly handling the remainder of a division
2281 operation. This miscalculation causes the OMAP4 bootloader to
2284 This bug can be observed by comparing the total sector size in
2285 fdisk expert more to fsck.msdos; this discrepancy only shows up
2286 when the number of sectors are odd.
2288 See https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/794043
2289 for more information.
2291 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2294 Author: Daniel Baumann <mail@daniel-baumann.ch>
2295 Date: Sat Jan 8 23:38:59 2011 +0100
2299 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2302 Author: Sergey Gusarov <laborer2008@gmail.com>
2303 Date: Sat Jan 8 23:36:11 2011 +0100
2305 Fixing compiler warnings related to the mismatch of types "char *" / "unsigned
2308 These warnings appear when you compile the project with the option "-Wall", what
2309 is done with the current default Makefile.
2311 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2314 Author: Jaroslav Skarvada <jskarvad@redhat.com>
2315 Date: Thu Jan 6 22:35:00 2011 +0100
2317 Fixing overflow bug in reclaim_file function, see
2318 https://bugzilla.redhat.com/show_bug.cgi?id=660154 for more information.
2320 The problem is that alloc_rootdir_entry counts with 10000 files at max, but the
2321 filename buffer is only 8 chars long. Due to pattern mask used it results to
2322 only 10 files at max (FSCK0-9REC). If there is more than 10 files, it overflows
2325 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2328 Author: Sergey Gusarov <laborer2008@gmail.com>
2329 Date: Thu Jan 6 22:31:39 2011 +0100
2331 Fixing conversion specifiers in accordance with the type of expressions.
2333 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2336 Author: Daniel Baumann <mail@daniel-baumann.ch>
2337 Date: Sun Jan 2 15:41:44 2011 +0100
2339 Indenting source files.
2341 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2344 Author: Daniel Baumann <mail@daniel-baumann.ch>
2345 Date: Sun Jan 2 15:39:03 2011 +0100
2347 Adding Nindent script from syslinux.
2349 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2351 commit 66d55cd (tag: v3.0.11)
2352 Author: Daniel Baumann <mail@daniel-baumann.ch>
2353 Date: Fri Dec 24 17:58:29 2010 +0100
2355 Releasing version 3.0.11.
2357 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2360 Author: Michael Stapelberg <michael@stapelberg.de>
2361 Date: Fri Nov 19 14:09:36 2010 +0100
2363 Add better error message when the device cannot be opened.
2365 This is helpful for SD cards or other removable media which have an enabled
2366 write lock -- without the "Permission denied" message, the user has to strace
2367 mkdosfs to find out what's going on.
2369 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2372 Author: Jaroslav Skarvada <jskarvad@redhat.com>
2373 Date: Fri Oct 8 13:38:16 2010 +0200
2375 Unalign on s390x, see http://bugzilla.redhat.com/show_bug.cgi?id=624596 for
2378 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2380 commit 5ef7f1f (tag: v3.0.10)
2381 Author: Daniel Baumann <mail@daniel-baumann.ch>
2382 Date: Sun Sep 12 09:35:47 2010 +0200
2384 Releasing version 3.0.10.
2386 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2389 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2390 Date: Sun Sep 12 09:29:12 2010 +0200
2392 Modify LFN direntries when file is renamed or deleted, see
2395 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2398 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2399 Date: Sun Sep 12 09:27:07 2010 +0200
2401 If the test of short filename fails, dosfsck could complain about
2402 bad long filename, see Debian bug #596327.
2404 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2407 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2408 Date: Sun Sep 12 09:24:47 2010 +0200
2410 dosfsck: don't complain about bad filenames when short filename
2411 contains 7 or more characters with codes 128-255, see Debian
2414 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2417 Author: Mitch Rybczynski <mrybczynski@miovision.com>
2418 Date: Mon Jul 5 14:45:54 2010 +0200
2420 Adding __arm__ define check for some crosscompile toolchains.
2422 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2425 Author: Daniel Baumann <mail@daniel-baumann.ch>
2426 Date: Sun Mar 14 16:42:32 2010 +0100
2428 Modernizing dosfslabel manpage.
2430 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2433 Author: Daniel Baumann <mail@daniel-baumann.ch>
2434 Date: Sun Mar 14 16:33:47 2010 +0100
2436 Modernizing dosfsck manpage.
2438 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2441 Author: Daniel Baumann <mail@daniel-baumann.ch>
2442 Date: Sun Mar 14 16:05:32 2010 +0100
2444 Fixing spelling error in boot.c.
2446 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2448 commit 5b6849d (tag: v3.0.9)
2449 Author: Daniel Baumann <mail@daniel-baumann.ch>
2450 Date: Sun Jan 31 08:31:32 2010 +0100
2452 Releasing version 3.0.9.
2454 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2457 Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2458 Date: Sun Jan 31 00:11:41 2010 -0500
2460 Be sure to store the updated reserved_sector count in the boot sector,
2461 see Debian bug #567337.
2463 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2465 commit 2a3bef8 (tag: v3.0.8)
2466 Author: Daniel Baumann <mail@daniel-baumann.ch>
2467 Date: Sat Jan 23 10:16:18 2010 +0100
2469 Releasing version 3.0.8.
2471 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2474 Author: Daniel Baumann <mail@daniel-baumann.ch>
2475 Date: Sat Jan 23 10:15:01 2010 +0100
2477 Removing some cruft in end-comments.
2479 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2482 Author: Steven J. Magnani <steve@digidescorp.com>
2483 Date: Thu Jan 21 16:58:11 2010 +0100
2485 When compiling a 32-bit version of dosfstools on an x86_64 machine,
2486 the resulting applications report strange errors on "large" (> 2 GiB)
2489 Seek to -2118967808:Invalid argument
2491 Warning: Filesystem is FAT32 according to fat_length and fat32_length fields,
2492 but has only 8613 clusters, less than the required minimum of 65525.
2493 This may lead to problems on some systems.
2495 This appears to be due to compilation with a 32-bit off_t and lseek() library
2498 Use lseek64 for positioning, and change some suspect uses of off_t to loff_t.
2500 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2503 Author: Steven J. Magnani <steve@digidescorp.com>
2504 Date: Thu Jan 21 16:56:26 2010 +0100
2506 If dosfsck is run in read-only mode (-n), exit with code 0
2507 if the only issue found is an uninitialized free cluster summary.
2509 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2512 Author: Steven J. Magnani <steve@digidescorp.com>
2513 Date: Thu Jan 21 16:55:30 2010 +0100
2515 On x86_64, dosfsck incorrectly claims that a free_cluster summary of
2516 0xFFFFFFFF, defined by Microsoft to be "uninitialized," is wrong.
2518 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2521 Author: H. Peter Anvin <hpa@zytor.com>
2522 Date: Fri Jan 8 09:16:38 2010 +0100
2524 mkdosfs: correct alignment of the root directory.
2526 Correct the code to align the root directory; it was broken before
2527 since bs.dir_entries had already been set at the point of alignment.
2528 This patch removes the dual use of bs.dir_entries and root_dir_entries
2529 to carry the same information: the information is carried in
2530 root_dir_entires exclusively, and then bs.dir_entries is set inside
2531 setup_tables() at a late point.
2533 The code to align the root directory is also wrapped in
2534 if (align_structures); this avoids rounding the number of root
2535 directory entries up to a whole sector when used with -a
2536 (i.e. preserves the previous behavior.)
2538 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2541 Author: H. Peter Anvin <hpa@zytor.com>
2542 Date: Wed Jan 6 20:55:36 2010 +0100
2544 mkdosfs: improve wording in the man page for the -a option.
2546 Improve the English language used in the man page for the -a (no
2547 align) option to mkdosfs.
2549 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2552 Author: Daniel Baumann <mail@daniel-baumann.ch>
2553 Date: Wed Jan 6 11:27:25 2010 +0100
2555 Adding reference to dosfslable in mkdosfs manpage.
2557 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2560 Author: H. Peter Anvin <hpa@zytor.com>
2561 Date: Wed Jan 6 11:18:55 2010 +0100
2563 mkdosfs: by default align all structures to cluster boundaries
2565 Align all data structures (reserved sectors, FATs, root directory for
2566 FAT12/16) to an even multiple of the cluster size. This means that if
2567 the partition is aligned, so will all clusters be. This adds
2568 significant performance for anything where the physical sector size is
2569 larger than the logical sector size, e.g. flash media or large-sector
2572 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2574 commit 171bc07 (tag: v3.0.7)
2575 Author: Daniel Baumann <mail@daniel-baumann.ch>
2576 Date: Thu Dec 24 10:53:36 2009 +0100
2578 Releasing version 3.0.7.
2580 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2583 Author: Ben Hutchings <ben@decadent.org.uk>
2584 Date: Thu Dec 24 09:55:52 2009 +0100
2586 Fixing dosfslabel to set volume label in the right place,
2587 see Debian bug #559985.
2589 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2592 Author: Lubomir Rintel <lkundrak@v3.sk>
2593 Date: Thu Dec 24 09:39:39 2009 +0100
2595 Fixing out-of bound writes.
2597 Firstly, packed attribute is added to the structure so that extension
2598 is guarranteed to immediately follow name for the cross-name-extension
2601 Secondly, writes into dir_entry->name that span through the extension as
2602 well are split into two, so that FORTIFY_SOURCE's bound checking does
2603 not abort dosfsck. There also was an off-by-one error in auto_rename()'s
2606 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2609 Author: San Mehat <san@google.com>
2610 Date: Thu Dec 24 09:31:41 2009 +0100
2612 Adding custom exit code in dosfsck for the case where the FS is read only.
2614 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2616 commit 0657e01 (tag: v3.0.6)
2617 Author: Daniel Baumann <mail@daniel-baumann.ch>
2618 Date: Sun Oct 4 10:59:33 2009 +0200
2620 Releasing version 3.0.6.
2622 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2625 Author: Steven J. Magnani <steve@digidescorp.com>
2626 Date: Sun Oct 4 10:58:43 2009 +0200
2628 Attempt to improve clarity of the orphan cluster reclaim code.
2629 Minor optimization - remove some unnecessary checking.
2631 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2634 Author: Steven J. Magnani <steve@digidescorp.com>
2635 Date: Sun Oct 4 08:37:19 2009 +0200
2637 Close hole that permitted clusters to link to (invalid) cluster 1.
2639 If an orphan chain that linked to cluster 1 was reclaimed to a file,
2640 deletion of the file would result in a filesystem panic.
2642 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2645 Author: Steven J. Magnani <steve@digidescorp.com>
2646 Date: Sun Oct 4 08:32:30 2009 +0200
2648 Fix erroneous report of huge number of clusters in use on big-endian
2649 systems when the FSINFO free cluster count is reset.
2651 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2653 commit 16ba63f (tag: v3.0.5)
2654 Author: Daniel Baumann <mail@daniel-baumann.ch>
2655 Date: Mon Jul 27 14:26:11 2009 +0200
2657 Releasing version 3.0.5.
2659 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2662 Author: Piotr Kaczuba <pepe@attika.ath.cx>
2663 Date: Sun Jul 26 22:21:25 2009 +0200
2665 Signed/unsigned char mismatch in check.c causes false positives
2666 in bad_name() and can result in data loss, see Debian bug #538758.
2668 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2671 Author: Andrew Tridgell <tridge@samba.org>
2672 Date: Sun Jul 26 22:12:06 2009 +0200
2674 Update to new kernel patches that add FAT_NO_83NAME flag.
2676 See http://lkml.org/lkml/2009/7/20/425 and
2677 http://lkml.org/lkml/2009/7/20/424 for more information.
2679 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2681 commit dd0f0b5 (tag: v3.0.4)
2682 Author: Daniel Baumann <mail@daniel-baumann.ch>
2683 Date: Tue Jul 21 08:10:52 2009 +0200
2685 Releasing version 3.0.4.
2687 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2690 Author: Andrew Tridgell <tridge@samba.org>
2691 Date: Tue Jul 21 07:59:22 2009 +0200
2693 Modify dosfstools to support the dummy 8.3 short filename values
2694 used by Linux systems with the VFAT_FS_DUALNAMES option disabled.
2696 See http://lkml.org/lkml/2009/6/26/313 and
2697 http://lkml.org/lkml/2009/6/26/314 for more information.
2699 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2702 Author: Paul Rupe <prupe@nc.rr.com>
2703 Date: Tue May 19 10:37:52 2009 +0200
2705 Fixing "Too many files need repair" error during fsck.
2707 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2709 commit 7c16098 (tag: v3.0.3)
2710 Author: Daniel Baumann <mail@daniel-baumann.ch>
2711 Date: Mon May 18 15:12:04 2009 +0200
2713 Releasing version 3.0.3.
2715 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2718 Author: Daniel Baumann <mail@daniel-baumann.ch>
2719 Date: Mon May 18 15:10:55 2009 +0200
2721 Also declaring arm as an unaligned architecture, see Debian bug #502961.
2723 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2726 Author: Steven J. Magnani <steve@digidescorp.com>
2727 Date: Mon May 18 15:01:49 2009 +0200
2729 Adding support for limited-memory embedded systems.
2731 This patch reorganizes heap memory usage by dosfsck and mkdosfs
2732 to support limited-memory embedded systems - in particular, those
2733 based on Xilinx's Microblaze processor. It also adds a few comments.
2735 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2738 Author: Mike Frysinger <vapier@gentoo.org>
2739 Date: Thu Mar 5 07:03:36 2009 +0100
2741 Declaring Blackfin as an unaligned architecture.
2743 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2745 commit b54a8a4 (tag: v3.0.2)
2746 Author: Daniel Baumann <mail@daniel-baumann.ch>
2747 Date: Sat Feb 28 09:48:04 2009 +0100
2749 Releasing version 3.0.2.
2751 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2754 Author: Hiroaki Ishizawa <hiroaki.ishizawa@gmail.com>
2755 Date: Fri Feb 13 10:00:46 2009 +0100
2757 dosfsck corrupts root directory when fs->nfats is 1.
2759 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2762 Author: Stepan Kasal <skasal@redhat.com>
2763 Date: Fri Jan 30 14:56:33 2009 +0100
2765 src/dosfslabel.c (main): After writing the label, exit code should be 0.
2767 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2770 Author: Daniel Baumann <mail@daniel-baumann.ch>
2771 Date: Fri Jan 30 14:06:01 2009 +0100
2773 Also installing ChangeLog in install-doc target of Makefile.
2775 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2778 Author: Stepan Kasal <skasal@redhat.com>
2779 Date: Fri Jan 30 14:05:12 2009 +0100
2781 Makefile: Do not clobber time stamps of doc files.
2783 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2785 commit df2d2f1 (tag: v3.0.1)
2786 Author: Daniel Baumann <mail@daniel-baumann.ch>
2787 Date: Sun Nov 23 22:45:45 2008 +0100
2789 Releasing version 3.0.1.
2791 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2794 Author: Daniel Baumann <mail@daniel-baumann.ch>
2795 Date: Sun Nov 23 18:41:01 2008 +0100
2797 Applying Fedoras dosfstools-vfat-timingfix.diff from Bill Nottingham
2798 <notting@redhat.com> to fix vfat timing issue. See
2799 https://bugzilla.redhat.com/show_bug.cgi?id=448247 for more information.
2801 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2804 Author: Ulrich Mueller <ulm@gentoo.org>
2805 Date: Tue Oct 7 07:55:37 2008 +0200
2807 Patch to check for bad number of clusters in dosfsck:
2809 * FAT16 filesystems with 65525 clusters or more will be rejected
2810 (Before, this was not tested for. Up to 65535 clusters were accepted
2813 * For FAT32 filesystems with less than 65525 a warning message will be
2816 Macro MSDOS_FAT12 is now replaced by FAT12_THRESHOLD to make it
2817 consistent with the definition in mkdosfs and to remove the dependency
2818 on the kernel version.
2820 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2823 Author: Dann Frazier <dannf@hp.com>
2824 Date: Tue Sep 30 07:25:19 2008 +0200
2826 Changing some wording to make the indended meaning of "full-disk device"
2829 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2831 commit 21e9ba0 (tag: v3.0.0)
2832 Author: Daniel Baumann <mail@daniel-baumann.ch>
2833 Date: Sun Sep 28 11:43:19 2008 +0200
2835 Releasing version 3.0.0.
2837 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2840 Author: Daniel Baumann <mail@daniel-baumann.ch>
2841 Date: Sun Sep 28 11:29:01 2008 +0200
2843 Adding GPL headers to all files.
2845 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2848 Author: Daniel Baumann <mail@daniel-baumann.ch>
2849 Date: Sun Sep 28 10:51:55 2008 +0200
2851 Adding new GPL license file.
2853 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2856 Author: Daniel Baumann <mail@daniel-baumann.ch>
2857 Date: Fri Sep 26 23:31:12 2008 +0200
2859 Redoing Makefile from scratch.
2861 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2864 Author: Daniel Baumann <mail@daniel-baumann.ch>
2865 Date: Sat Sep 27 00:17:38 2008 +0200
2867 Removing whitespaces in all files at EOL and EOF.
2869 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2872 Author: Daniel Baumann <mail@daniel-baumann.ch>
2873 Date: Fri Sep 26 23:48:56 2008 +0200
2875 Adding Debians dosfslabel.8 manpage from Francois Wendling
2876 <frwendling@free.fr>.
2878 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2881 Author: Daniel Baumann <mail@daniel-baumann.ch>
2882 Date: Fri Sep 26 18:36:04 2008 +0200
2884 Updating version.h includes to new location of version.h file.
2886 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2889 Author: Daniel Baumann <mail@daniel-baumann.ch>
2890 Date: Fri Sep 26 18:19:36 2008 +0200
2892 Removing old lsm file.
2894 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2897 Author: Daniel Baumann <mail@daniel-baumann.ch>
2898 Date: Fri Sep 26 18:07:47 2008 +0200
2900 Removing old cvsignore files.
2902 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2905 Author: Daniel Baumann <mail@daniel-baumann.ch>
2906 Date: Fri Sep 26 18:18:39 2008 +0200
2908 Removing old build file.
2910 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2913 Author: Daniel Baumann <mail@daniel-baumann.ch>
2914 Date: Fri Sep 26 18:19:16 2008 +0200
2916 Removing old GPL license files.
2918 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2921 Author: Daniel Baumann <mail@daniel-baumann.ch>
2922 Date: Fri Sep 26 18:21:57 2008 +0200
2924 Unifying dosfsck and mkdosfs Makefiles in common src/Makefile.
2926 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2929 Author: Daniel Baumann <mail@daniel-baumann.ch>
2930 Date: Fri Sep 26 18:04:02 2008 +0200
2932 Unifying dosfsck and mkdosfs sources in common src directory.
2934 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2937 Author: Daniel Baumann <mail@daniel-baumann.ch>
2938 Date: Fri Sep 26 18:05:27 2008 +0200
2940 Unifying dosfsck and mkdosfs manpages in common man directory.
2942 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2945 Author: Daniel Baumann <mail@daniel-baumann.ch>
2946 Date: Fri Sep 26 18:12:29 2008 +0200
2948 Unifying dosfsck and mkdosfs documents in common doc directory.
2950 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2953 Author: Daniel Baumann <mail@daniel-baumann.ch>
2954 Date: Fri Sep 26 15:39:51 2008 +0200
2956 Applying Gentoos dosfstools-2.11-preen.patch from Roy Marples
2957 <uberlord@gentoo.org> to alias dosfsck -p to -a:
2959 * Map -p to -a for baselayout-2, #177514.
2961 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2964 Author: Daniel Baumann <mail@daniel-baumann.ch>
2965 Date: Fri Sep 26 15:49:43 2008 +0200
2967 Applying Gentoos dosfstools-2.11-build.patch from Mike Frysinger
2968 <vapier@gentoo.org> to improve Makefile:
2970 * Respect user settings #157785/#157786 by Diego Petteno.
2972 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2975 Author: Daniel Baumann <mail@daniel-baumann.ch>
2976 Date: Fri Sep 26 15:37:34 2008 +0200
2978 Applying Gentoos dosfstools-2.11-verify-double-count-fix.patch from
2979 Robin H. Johnson <robbat2@gentoo.org> to fix double count of files
2980 during verification:
2982 * Don't double-count n_files during a verification pass.
2983 Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845
2985 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2988 Author: Daniel Baumann <mail@daniel-baumann.ch>
2989 Date: Fri Sep 26 15:33:36 2008 +0200
2991 Applying Gentoos dosfstools-2.11-fat32size.patch from Mike Frysinger
2992 <vapier@gentoo.org> to fix generation of filesystems on 256meg devices:
2994 * Fix generation of FAT filesystems on devices that are 256meg in size
2995 Patch by Ulrich Mueller and accepted upstream
2996 http://bugs.gentoo.org/112504
2998 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3001 Author: Daniel Baumann <mail@daniel-baumann.ch>
3002 Date: Fri Sep 26 15:22:06 2008 +0200
3004 Applying Suses dosfstools-2.11-unsupported-sector-size.patch from Petr
3005 Gajdos <pgajdos@suse.cz> to add sector size warning:
3007 * added warning for creation msdos on filesystem with sector size
3008 greater than 4096 [fate#303325]
3010 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3013 Author: Daniel Baumann <mail@daniel-baumann.ch>
3014 Date: Fri Sep 26 15:18:35 2008 +0200
3016 Applying Suses dosfstools-2.11-mkdosfs-geo0.diff from Ludwig Nussel
3017 <lnussel@suse.de> to fix handling of zero heads and sectors:
3019 * the HDIO_GETGEO ioctl works on device mapper devices but returns
3020 zero heads and sectors. Therefore let's a) assume dummy values in
3021 that case in mkdosfs and b) don't consider such fat file systems as
3022 invalid in dosfsck. The Linux kernel accepts them anyways.
3024 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3027 Author: Daniel Baumann <mail@daniel-baumann.ch>
3028 Date: Fri Sep 26 15:15:40 2008 +0200
3030 Applying Suses dosfstools-2.11-linuxfs.patch from Ruediger Oertel
3031 <ro@suse.de> to not include linux/fs.h.
3033 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3036 Author: Daniel Baumann <mail@daniel-baumann.ch>
3037 Date: Fri Sep 26 15:11:50 2008 +0200
3039 Applying Fedoras dosfstools-2.11-assumeKernel26.patch from Peter Vrabec
3040 <pvrabec@redhat.com> to remove linux 2.6 conditionals:
3042 * LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) does not work with
3043 glibc-kernheaders-2.4-9.1.94
3045 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3048 Author: Daniel Baumann <mail@daniel-baumann.ch>
3049 Date: Fri Sep 26 15:05:00 2008 +0200
3051 Applying Debians 99-conglomeration.dpatch (no other information
3054 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3057 Author: Daniel Baumann <mail@daniel-baumann.ch>
3058 Date: Fri Sep 26 14:26:41 2008 +0200
3060 Applying Debians 15-manpage-files.dpatch from Daniel Baumann
3061 <daniel@debian.org> to improve dosfsck manpage:
3063 * Lists fsckNNNN.rec files in FILES section (Closes: #444596).
3065 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3068 Author: Daniel Baumann <mail@daniel-baumann.ch>
3069 Date: Fri Sep 26 14:34:42 2008 +0200
3071 Applying Debians 13-getopt.dpatch from Adonikam Virgo
3072 <adonikam@virgonet.org> to fix mkdosfs getopt:
3074 * Fixes backup sector getopt (Closes: #232387, #479794).
3076 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3079 Author: Daniel Baumann <mail@daniel-baumann.ch>
3080 Date: Fri Sep 26 14:34:17 2008 +0200
3082 Applying Debians 12-zero-slot.dpatch by Karl Tomlinson
3083 <karlt@karlt.net> to fix dosfsck zero slot crashes:
3085 * Fixes crashes due to zero slot numbers causing a negative offset in
3086 the call to copy_lfn_part in lfn_add_slot. On amd64 this results in
3087 a SIGSEGV in copy_lfn_part. On x86 the result is heap corruption and
3088 thus sometimes a SIGSEGV or double free abort later. (Closes:
3089 #152550, #353198, #356377, #401798).
3091 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3094 Author: Daniel Baumann <mail@daniel-baumann.ch>
3095 Date: Fri Sep 26 14:33:54 2008 +0200
3097 Applying Debians 11-memory-efficiency.dpatch from Eero Tamminen
3098 <eero.tamminen@nokia.com> to improve dosfsck memory efficiency:
3100 * Improves memory efficiency when checking filesystems.
3102 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3105 Author: Daniel Baumann <mail@daniel-baumann.ch>
3106 Date: Fri Sep 26 14:33:28 2008 +0200
3108 Applying Debians 10-manpage-synopsis.dpatch from Daniel Baumann
3109 <daniel@debian.org> to fix manpage synopsis:
3111 * List alternative binary names in manpage synopsis (Closes: #284983).
3113 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3116 Author: Daniel Baumann <mail@daniel-baumann.ch>
3117 Date: Fri Sep 26 14:32:46 2008 +0200
3119 Applying Debians 09-manpage-fat32.dpatch from Daniel Baumann
3120 <daniel@debian.org> to improve mkdosfs manpage:
3122 * Don't claim that FAT32 is not choosed automatically (Closes:
3125 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3128 Author: Daniel Baumann <mail@daniel-baumann.ch>
3129 Date: Fri Sep 26 14:32:23 2008 +0200
3131 Applying Debians 08-manpage-drop.dpatch from Daniel Baumann
3132 <daniel@debian.org> to improve dosfsck manpage:
3134 * Don't use confusing word 'drop' when 'delete' is meant (Closes:
3137 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3140 Author: Daniel Baumann <mail@daniel-baumann.ch>
3141 Date: Fri Sep 26 14:31:50 2008 +0200
3143 Applying Debians 07-manpage-spelling.dpatch from Justin Pryzby
3144 <justinpryzby@users.sourceforge.net> to fix mkdosfs manpage typos.
3146 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3149 Author: Daniel Baumann <mail@daniel-baumann.ch>
3150 Date: Fri Sep 26 14:30:31 2008 +0200
3152 Applying Suses dosfstools-2.11_determine-sector-size.patch from Petr
3153 Gajdos <pgajdos@suse.cz> to determine mkdosfs sector size automatically:
3155 * determine sector size of device automatically or if -S parameter
3156 present, verify, that it's not under physical sector size
3158 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3161 Author: Daniel Baumann <mail@daniel-baumann.ch>
3162 Date: Fri Sep 26 14:30:03 2008 +0200
3164 Applying Suses dosfstools-2.11-o_excl.patch from Pavol Rusnak
3165 <prusnak@suse.cz> to use O_EXCL in mkdosfs:
3167 * mkdosfs now opens device with O_EXCL [#238687]
3169 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3172 Author: Daniel Baumann <mail@daniel-baumann.ch>
3173 Date: Fri Sep 26 14:29:36 2008 +0200
3175 Applying Debians 04-unaligned-memory.dpatch from Khalid Aziz
3176 <khalid_aziz@hp.com> to fix dosfsck unaligned memory accesses:
3178 * Fix unaligned memory accesses which cause warnings to appear
3179 everytime the elilo bootloader script runs. This has led a number of
3180 users to believe their install has failed (Closes: #258839).
3182 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3185 Author: Daniel Baumann <mail@daniel-baumann.ch>
3186 Date: Fri Sep 26 13:47:40 2008 +0200
3188 Applying Fedoras dosfstools-2.11-label.patch from Jeremy Katz
3189 <katzj@redhat.com> to add dosfslabel (originally by Peter Jones).
3191 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3194 Author: Daniel Baumann <mail@daniel-baumann.ch>
3195 Date: Fri Sep 26 13:41:14 2008 +0200
3197 Applying Fedoras dosfstools-2.11-fortify.patch from Jakub Jelinek
3198 <jakub@redhat.com> to make it build with -D_FORTIFY_SOURCE=2:
3200 * This violates -D_FORTIFY_SOURCE=2 (which is stricter than C
3201 standard), but isn't actually any buffer overflow. But using memcpy
3202 is more efficient anyway.
3204 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3207 Author: Daniel Baumann <mail@daniel-baumann.ch>
3208 Date: Fri Sep 26 13:40:47 2008 +0200
3210 Applying Fedoras dosfstools-2.7-argfix.patch (no other information
3213 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3215 commit ba6774a (tag: v2.11)
3216 Author: Daniel Baumann <mail@daniel-baumann.ch>
3217 Date: Thu Jun 26 12:45:36 2008 +0200
3219 Adding version 2.11.
3221 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>