xref: /reactos/sdk/lib/fslib/vfatlib/check/ChangeLog (revision 50cf16b3)
1commit cad2c17
2Author: Andreas Bombe <aeb@debian.org>
3Date:   Mon Jan 23 03:10:56 2017 +0100
4
5    fatlabel: Make sure printf style patterns in label are not expanded
6
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.
12
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.
16
17    Change alloc_rootdir_entry() to take an additional argument gen_name and
18    only expand the name if its value is true.
19
20    Signed-off-by: Andreas Bombe <aeb@debian.org>
21
22commit 77371e2
23Author: Andreas Bombe <aeb@debian.org>
24Date:   Fri Nov 4 13:10:58 2016 +0100
25
26    testsuite: Add missing fsck test files to dist_check_DATA
27
28    Signed-off-by: Andreas Bombe <aeb@debian.org>
29
30commit d6df1d4
31Author: Andreas Bombe <aeb@debian.org>
32Date:   Thu Nov 3 20:03:25 2016 +0100
33
34    testsuite: Test for bad characters in file names
35
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
38    the name.
39
40    Signed-off-by: Andreas Bombe <aeb@debian.org>
41
42commit 307966c
43Author: Andreas Bombe <aeb@debian.org>
44Date:   Sun Sep 18 00:11:43 2016 +0200
45
46    fsck: Fix reporting of length to truncate with shared clusters
47
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
52    confusion.
53
54    Signed-off-by: Andreas Bombe <aeb@debian.org>
55
56commit b33424e
57Author: Andreas Bombe <aeb@debian.org>
58Date:   Sat Sep 17 23:34:07 2016 +0200
59
60    testsuite: Test for files sharing clusters
61
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.
64
65    Signed-off-by: Andreas Bombe <aeb@debian.org>
66
67commit db5ec04
68Author: Andreas Bombe <aeb@debian.org>
69Date:   Sat Sep 17 22:41:07 2016 +0200
70
71    testsuite: Run fsck in test-mkfs
72
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.
75
76    Signed-off-by: Andreas Bombe <aeb@debian.org>
77
78commit 4ac17ae
79Author: Andreas Bombe <aeb@debian.org>
80Date:   Sat Sep 17 22:25:06 2016 +0200
81
82    Fix FAT32 FSInfo signature checking
83
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.
88
89    Signed-off-by: Andreas Bombe <aeb@debian.org>
90
91commit e883d07
92Author: Nico Roeser <nico@n1c0.de>
93Date:   Fri Sep 16 20:05:08 2016 +0200
94
95    mkfs: Bring back ability to set sector size.
96
97    This had accidently been broken when the code was overhauled, resulting
98    in unconditionally setting the sector size when devinfo detected it.
99
100    Signed-off-by: Andreas Bombe <aeb@debian.org>
101
102commit 4ef83db
103Author: Andreas Bombe <aeb@debian.org>
104Date:   Fri Sep 16 03:32:12 2016 +0200
105
106    Request minimum automake version 1.11 and add workaround for <1.13
107
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.
111
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.
116
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.
119
120    Signed-off-by: Andreas Bombe <aeb@debian.org>
121
122commit 6a8c8b7
123Author: Andreas Bombe <aeb@debian.org>
124Date:   Fri Sep 16 01:45:17 2016 +0200
125
126    Add missing autoreconf step to Travis CI configuration
127
128    Signed-off-by: Andreas Bombe <aeb@debian.org>
129
130commit 54f7aef
131Author: Andreas Bombe <aeb@debian.org>
132Date:   Fri Sep 16 01:39:08 2016 +0200
133
134    Add configuration for the Travis CI build service
135
136    Signed-off-by: Andreas Bombe <aeb@debian.org>
137
138commit 5421752
139Author: Andreas Bombe <aeb@debian.org>
140Date:   Wed Sep 14 20:37:57 2016 +0200
141
142    Check and fix printf style arguments to die() and pdie()
143
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
146    correctness.
147
148    Fix all problematic calls detected by this.
149
150    Signed-off-by: Andreas Bombe <aeb@debian.org>
151
152commit 83e5ec5
153Author: Andreas Bombe <aeb@debian.org>
154Date:   Wed Sep 14 03:38:08 2016 +0200
155
156    Make some implicit integer conversions safer
157
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
162    it up anyway.
163
164    Signed-off-by: Andreas Bombe <aeb@debian.org>
165
166commit ff5e718
167Author: Andreas Bombe <aeb@debian.org>
168Date:   Tue Sep 13 20:25:34 2016 +0200
169
170    mkfs: Remove redundant unreachable warning message
171
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.
176
177    Found through the dead code detection of Coverity Scan.
178
179    Signed-off-by: Andreas Bombe <aeb@debian.org>
180
181commit e359a33
182Author: Andreas Bombe <aeb@debian.org>
183Date:   Tue Sep 13 20:12:21 2016 +0200
184
185    Fix octal character parsing in file_cvt()
186
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.
190
191    This affected the -u and -d options for fsck.
192
193    Found through the dead code detection of Coverity Scan.
194
195    Signed-off-by: Andreas Bombe <aeb@debian.org>
196
197commit ccd0a9d
198Author: Andreas Bombe <aeb@debian.org>
199Date:   Mon Sep 12 20:21:53 2016 +0200
200
201    testsuite: Test for circular cluster chain
202
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.
205
206    Signed-off-by: Andreas Bombe <aeb@debian.org>
207
208commit fab40f8
209Author: Andreas Bombe <aeb@debian.org>
210Date:   Mon Sep 12 19:51:10 2016 +0200
211
212    Fix truncation logic in circular chain check
213
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.
217
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.
222
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.
228
229    Fix by updating these variables unconditionally when -t option is not
230    given.
231
232    Signed-off-by: Andreas Bombe <aeb@debian.org>
233
234commit 8394ceb
235Author: Andreas Bombe <aeb@debian.org>
236Date:   Mon Sep 12 14:39:11 2016 +0200
237
238    testsuite: Test for too long cluster chain
239
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
242    to it in the FAT.
243
244    Signed-off-by: Andreas Bombe <aeb@debian.org>
245
246commit 7444694
247Author: Andreas Bombe <aeb@debian.org>
248Date:   Wed Sep 7 21:09:41 2016 +0200
249
250    Fix definition and initialization of fsinfo sector
251
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.
257
258    Fixes #33.
259
260    Signed-off-by: Andreas Bombe <aeb@debian.org>
261
262commit f78cb68
263Author: Andreas Bombe <aeb@debian.org>
264Date:   Wed Sep 7 20:45:29 2016 +0200
265
266    Add fsck testsuite
267
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
270    entries.
271
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
274    an error.
275
276    Signed-off-by: Andreas Bombe <aeb@debian.org>
277
278commit 7667295
279Author: Andreas Bombe <aeb@debian.org>
280Date:   Tue May 31 03:32:42 2016 +0200
281
282    Add testsuite foundations
283
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
286    references images.
287
288    Signed-off-by: Andreas Bombe <aeb@debian.org>
289
290commit f881195
291Author: Andreas Bombe <aeb@debian.org>
292Date:   Wed Sep 7 03:48:16 2016 +0200
293
294    Append +git to version number in configure.ac
295
296    Don't let dosfstools compiled from git with additional commits show the
297    exact release version number.
298
299    Signed-off-by: Andreas Bombe <aeb@debian.org>
300
301commit 8788615
302Author: Álvaro Fernández Rojas <noltari@gmail.com>
303Date:   Thu Jun 30 08:43:50 2016 +0200
304
305    Add config.guess and config.sub to gitignore
306
307    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
308    Signed-off-by: Andreas Bombe <aeb@debian.org>
309
310commit 39ab842
311Author: Álvaro Fernández Rojas <noltari@gmail.com>
312Date:   Thu Jun 30 08:41:51 2016 +0200
313
314    Use autoconf to look for OS X endian include.
315
316    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
317    Signed-off-by: Andreas Bombe <aeb@debian.org>
318
319commit 69ac2b0
320Author: Alessio Sergi <al3hex@gmail.com>
321Date:   Fri May 6 18:18:18 2016 +0200
322
323    src/device_info.c: Fix undefined PATH_MAX under musl
324
325    In musl libc, PATH_MAX is defined in <limits.h>.
326
327    Signed-off-by: Andreas Bombe <aeb@debian.org>
328
329commit 744db84
330Author: Lars Wendler <polynomial-c@gentoo.org>
331Date:   Tue May 10 09:47:57 2016 +0200
332
333    Don't link to udev via LDFLAGS. There's LDADD for such a task.
334
335    See also:
336    https://www.gnu.org/software/automake/manual/html_node/Linking.html
337
338    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
339    Signed-off-by: Andreas Bombe <aeb@debian.org>
340
341commit 1e76e57
342Author: Andreas Bombe <aeb@debian.org>
343Date:   Wed May 11 03:44:58 2016 +0200
344
345    mkfs: Default to 64/32 heads/sectors for targets smaller than 512 MB
346
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
349    value in most cases.
350
351    Signed-off-by: Andreas Bombe <aeb@debian.org>
352
353commit 786e66e (tag: v4.0)
354Author: Andreas Bombe <aeb@debian.org>
355Date:   Fri May 6 03:19:07 2016 +0200
356
357    Releasing version 4.0.
358
359    Signed-off-by: Andreas Bombe <aeb@debian.org>
360
361commit a79ff90
362Author: Andreas Bombe <aeb@debian.org>
363Date:   Fri May 6 02:34:42 2016 +0200
364
365    src/Makefile.am: Fix CPPFLAGS for VPATH builds
366
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
370    it actually belongs.
371
372    Signed-off-by: Andreas Bombe <aeb@debian.org>
373
374commit e8eff14
375Author: Andreas Bombe <aeb@debian.org>
376Date:   Wed Apr 27 21:38:37 2016 +0200
377
378    read_boot(): Handle excessive FAT size specifications
379
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
385    was allocated.
386
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.
390
391    Fixes #25 and fixes #26.
392
393    Reported-by: Hanno Böck
394    Signed-off-by: Andreas Bombe <aeb@debian.org>
395
396commit 016800e
397Author: Andreas Bombe <aeb@debian.org>
398Date:   Wed Apr 27 14:16:53 2016 +0200
399
400    Use variable total_fat_entries in read_boot() for readability
401
402    Signed-off-by: Andreas Bombe <aeb@debian.org>
403
404commit a6478d8
405Author: Álvaro Fernández Rojas <noltari@gmail.com>
406Date:   Fri Apr 8 12:20:46 2016 +0200
407
408    Add missing iconv library for OS X
409
410    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
411    Signed-off-by: Andreas Bombe <aeb@debian.org>
412
413commit ce67dc6
414Author: Álvaro Fernández Rojas <noltari@gmail.com>
415Date:   Fri Apr 8 12:20:27 2016 +0200
416
417    Add endian support for OS X
418
419    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
420    Signed-off-by: Andreas Bombe <aeb@debian.org>
421
422commit 08f3869
423Author: Joel Holdsworth <joel.holdsworth@vcatechnology.com>
424Date:   Thu Mar 10 00:53:07 2016 +0000
425
426    Configure option to disable building with libudev
427
428    Signed-off-by: Andreas Bombe <aeb@debian.org>
429
430commit ed4e47b
431Author: Andreas Bombe <aeb@debian.org>
432Date:   Mon Feb 22 03:47:14 2016 +0100
433
434    Remove use of PATH_MAX in path_name()
435
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.
439
440    As a bonus this will not fail compilation on a system without PATH_MAX.
441
442    Signed-off-by: Andreas Bombe <aeb@debian.org>
443
444commit b1a38ab
445Author: Andreas Bombe <aeb@debian.org>
446Date:   Wed Feb 17 21:04:35 2016 +0100
447
448    Add preliminary entry for release 4.0 to NEWS
449
450    Signed-off-by: Andreas Bombe <aeb@debian.org>
451
452commit 4ad3e9e
453Author: Andreas Bombe <aeb@debian.org>
454Date:   Wed Feb 17 21:02:06 2016 +0100
455
456    Adjust ridiculous source indentation in io.c
457
458    Signed-off-by: Andreas Bombe <aeb@debian.org>
459
460commit b96acb2
461Author: Andreas Bombe <aeb@debian.org>
462Date:   Wed Feb 17 20:51:53 2016 +0100
463
464    Document ./configure --enable-compat-symlinks in README
465
466    Signed-off-by: Andreas Bombe <aeb@debian.org>
467
468commit de39c5c
469Author: Andreas Bombe <aeb@debian.org>
470Date:   Wed Feb 17 15:16:27 2016 +0100
471
472    Add include paths.h in the HAVE_DECL_GETMNTENT case
473
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
478
479    Signed-off-by: Andreas Bombe <aeb@debian.org>
480
481commit 86c7acd
482Author: Andreas Bombe <aeb@debian.org>
483Date:   Wed Feb 17 15:06:56 2016 +0100
484
485    man fsck: Document the -c option
486
487    Signed-off-by: Andreas Bombe <aeb@debian.org>
488
489commit ef9a73c
490Author: Andreas Bombe <aeb@debian.org>
491Date:   Mon Feb 15 02:10:57 2016 +0100
492
493    Add NEWS file with changes of the last two releases
494
495    Signed-off-by: Andreas Bombe <aeb@debian.org>
496
497commit bda6551
498Author: Andreas Bombe <aeb@debian.org>
499Date:   Fri Feb 12 03:56:16 2016 +0100
500
501    Make filesystem mounted check portable
502
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.
507
508    In case neither function is available, is_device_mounted() defaults to
509    reporting that the device isn't mounted.
510
511    Signed-off-by: Andreas Bombe <aeb@debian.org>
512
513commit 4b8c9cc
514Author: Andreas Bombe <aeb@debian.org>
515Date:   Fri Feb 12 01:57:33 2016 +0100
516
517    Make use of endian.h portable to BSD
518
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
522    files.
523
524    Signed-off-by: Andreas Bombe <aeb@debian.org>
525
526commit d7665f2
527Author: Andreas Bombe <aeb@debian.org>
528Date:   Wed Feb 10 21:30:06 2016 +0100
529
530    Fix format string in check_file() (%lu → %llu)
531
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
534    string %llu.
535
536    Signed-off-by: Andreas Bombe <aeb@debian.org>
537
538commit 6225e59
539Author: Andreas Bombe <aeb@debian.org>
540Date:   Fri Feb 5 14:39:00 2016 +0100
541
542    blkdev.c: Prevent unused parameter warnings in fallback code
543
544    Signed-off-by: Andreas Bombe <aeb@debian.org>
545
546commit 34cdded
547Author: Andreas Bombe <aeb@debian.org>
548Date:   Fri Feb 5 14:36:14 2016 +0100
549
550    blkdev_get_size(): Remove unused variable ch
551
552    Signed-off-by: Andreas Bombe <aeb@debian.org>
553
554commit 5571d29
555Author: Andreas Bombe <aeb@debian.org>
556Date:   Wed Feb 10 03:22:19 2016 +0100
557
558    Reinstate alignment of FAT32 structures to cluster size
559
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.
564
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
568    to enable it.
569
570    Signed-off-by: Andreas Bombe <aeb@debian.org>
571
572commit 2c71ace
573Author: Andreas Bombe <aeb@debian.org>
574Date:   Wed Feb 3 03:38:33 2016 +0100
575
576    Makefile.am: Add historic documentation to distribution
577
578    Signed-off-by: Andreas Bombe <aeb@debian.org>
579
580commit bcbae63
581Author: Andreas Bombe <aeb@debian.org>
582Date:   Wed Feb 3 02:38:24 2016 +0100
583
584    src/Makefile.am: Add forgotten msdos_fs.h to mkfs_fat_SOURCES
585
586    Signed-off-by: Andreas Bombe <aeb@debian.org>
587
588commit 19d1a13
589Author: Andreas Bombe <aeb@debian.org>
590Date:   Wed Feb 3 02:34:51 2016 +0100
591
592    Remove sys/ioctl.h and linux/fd.h include from io.c
593
594    These weren't used anymore and the linux/fd.h include would
595    gratuitously cause compilation to fail on non-Linux environments.
596
597    Signed-off-by: Andreas Bombe <aeb@debian.org>
598
599commit f691660
600Author: Andreas Bombe <aeb@debian.org>
601Date:   Wed Feb 3 02:31:00 2016 +0100
602
603    Reinstate some #include <sys/types.h>
604
605    These shouldn't have been removed in commit 245d0cce5. Put them back for
606    correctness even though the definitions were pulled in implicitly.
607
608    Signed-off-by: Andreas Bombe <aeb@debian.org>
609
610commit 51afd41
611Author: Andreas Bombe <aeb@debian.org>
612Date:   Wed Jan 27 21:38:29 2016 +0100
613
614    src/Makefile.am: Put all header files in appropriate _SOURCES variables
615
616    With the headers missing the dist targets of the automake generated
617    Makefiles would not include them and make the resulting dist
618    unbuildable.
619
620    Also combine sources collections into common variables for
621    deduplication.
622
623    Signed-off-by: Andreas Bombe <aeb@debian.org>
624
625commit bf6f142
626Author: Andreas Bombe <aeb@debian.org>
627Date:   Wed Jan 27 15:28:42 2016 +0100
628
629    mkfs man: Note that sector sizes > 4096 are non-standard
630
631    Signed-off-by: Andreas Bombe <aeb@debian.org>
632
633commit ea96c32
634Author: Andreas Bombe <aeb@debian.org>
635Date:   Mon Jan 25 21:30:23 2016 +0100
636
637    mkfs: Improve parsing of bad blocks file
638
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.
642
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
645    error messages.
646
647    GitHub: Fixes #17
648    Signed-off-by: Andreas Bombe <aeb@debian.org>
649
650commit dfb5bea
651Author: Andreas Bombe <aeb@debian.org>
652Date:   Mon Jan 25 02:47:12 2016 +0100
653
654    mkfs: Limit filesystem size on targets that are too large
655
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.
659
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
662    unused in that case.
663
664    Signed-off-by: Andreas Bombe <aeb@debian.org>
665
666commit fc0343f
667Author: Andreas Bombe <aeb@debian.org>
668Date:   Fri Jan 22 21:29:20 2016 +0100
669
670    mkfs: Improved bounds checking in mark_FAT_sector()/mark_FAT_cluster()
671
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.
676
677    Both functions now check for upper limits and should prevent writing
678    past the valid end of the FAT.
679
680    Signed-off-by: Andreas Bombe <aeb@debian.org>
681
682commit 9211c8a
683Author: Andreas Bombe <aeb@debian.org>
684Date:   Fri Jan 15 02:17:16 2016 +0100
685
686    mkfs: Fix offset error in FAT12/16 bad cluster marking
687
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
691    area.
692
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.
696
697    Signed-off-by: Andreas Bombe <aeb@debian.org>
698
699commit 0627a62
700Author: Andreas Bombe <aeb@debian.org>
701Date:   Fri Jan 15 01:59:59 2016 +0100
702
703    mkfs: Fix off-by-2 error in bad cluster marking
704
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
708    cluster.
709
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.
714
715    Signed-off-by: Andreas Bombe <aeb@debian.org>
716
717commit 2dca9aa
718Author: Andreas Bombe <aeb@debian.org>
719Date:   Thu Jan 14 14:43:00 2016 +0100
720
721    .gitignore: Add .dirstamp
722
723    Signed-off-by: Andreas Bombe <aeb@debian.org>
724
725commit 6a966fb
726Author: Andreas Bombe <aeb@debian.org>
727Date:   Thu Jan 14 14:38:53 2016 +0100
728
729    mkfs: Reword non-standard sector size warning
730
731    Signed-off-by: Andreas Bombe <aeb@debian.org>
732
733commit bebc9ac
734Author: Andreas Bombe <aeb@debian.org>
735Date:   Wed Dec 30 15:10:35 2015 +0100
736
737    Clean up includes in mkfs.fat.c
738
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.
742
743    Signed-off-by: Andreas Bombe <aeb@debian.org>
744
745commit 12a1d46
746Author: Andreas Bombe <aeb@debian.org>
747Date:   Sun Nov 29 01:59:10 2015 +0100
748
749    Don't use pointer to first member when more of the struct gets copied
750
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.
754
755    This does not change how the code works, it is just a clean up.
756
757    Signed-off-by: Andreas Bombe <aeb@debian.org>
758
759commit d38bd2d
760Author: Andreas Bombe <aeb@debian.org>
761Date:   Sun Nov 29 00:44:48 2015 +0100
762
763    Remove name/extension split in directory entry structures
764
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].
768
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.
773
774    Nevertheless, this is not clean C and the merging of both fields
775    actually simplified the code in a few places.
776
777    Signed-off-by: Andreas Bombe <aeb@debian.org>
778
779commit 0847e4c
780Author: Andreas Bombe <aeb@debian.org>
781Date:   Fri Nov 27 21:29:49 2015 +0100
782
783    Free allocated strings after use
784
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.
788
789    Found by Coverity.
790
791    Signed-off-by: Andreas Bombe <aeb@debian.org>
792
793commit 1b7d91e
794Author: Andreas Bombe <aeb@debian.org>
795Date:   Fri Nov 27 03:34:51 2015 +0100
796
797    Add test for and include linux/hdreg.h in blkdev.c
798
799    Before, blkdev did not include it and depended on its own fallback
800    definition of the ioctl and struct hd_geometry.
801
802    Signed-off-by: Andreas Bombe <aeb@debian.org>
803
804commit 5024372
805Author: Andreas Bombe <aeb@debian.org>
806Date:   Fri Nov 27 03:28:14 2015 +0100
807
808    Add FDGETPRM attempt to blkdev_get_geometry()
809
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.
812
813    Signed-off-by: Andreas Bombe <aeb@debian.org>
814
815commit 4a146d7
816Author: Andreas Bombe <aeb@debian.org>
817Date:   Fri Nov 27 03:25:55 2015 +0100
818
819    Add blkdev_get_start() for getting partition start offset
820
821    Signed-off-by: Andreas Bombe <aeb@debian.org>
822
823commit 254f8ab
824Author: Andreas Bombe <aeb@debian.org>
825Date:   Thu Nov 26 23:33:02 2015 +0100
826
827    Remove use of libblkid again
828
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
832    use of libblkid.
833
834    As a replacement, blkdev.c from util-linux is included, which offers the
835    required basic functionality in a portable way.
836
837    Signed-off-by: Andreas Bombe <aeb@debian.org>
838
839commit c9fb33c
840Author: Andreas Bombe <aeb@debian.org>
841Date:   Wed Oct 21 21:32:30 2015 +0200
842
843    Use just device size not major number in Atari mode
844
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.
849
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.
854
855    Signed-off-by: Andreas Bombe <aeb@debian.org>
856
857commit 64486ad
858Author: Andreas Bombe <aeb@debian.org>
859Date:   Wed Oct 21 00:18:22 2015 +0200
860
861    Remove loff_t and llseek()
862
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
867    that happen.
868
869    Given this, convert all uses of loff_t to off_t, remove llseek()
870    definitions and change llseek() calls to plain lseek().
871
872    Signed-off-by: Andreas Bombe <aeb@debian.org>
873
874commit e03a5f4
875Author: Andreas Bombe <aeb@debian.org>
876Date:   Fri Oct 16 21:47:04 2015 +0200
877
878    Remove DJGPP support
879
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.
884
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
887    then.
888
889    Signed-off-by: Andreas Bombe <aeb@debian.org>
890
891commit 5b9a88d
892Author: Andreas Bombe <aeb@debian.org>
893Date:   Thu Oct 8 16:17:22 2015 +0200
894
895    mkfs.fat: Complete overhaul of device probing
896
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
903    device.
904
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.
910
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
914    results.
915
916    Signed-off-by: Andreas Bombe <aeb@debian.org>
917
918commit 53eddfc
919Author: Andreas Bombe <aeb@debian.org>
920Date:   Sat Sep 12 02:54:33 2015 +0200
921
922    Die on out of range cluster values in set_fat()/get_fat()
923
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
927    set_fat().
928
929    When an invalid cluster value is detected, these functions now die()
930    with an "internal error" message.
931
932    Signed-off-by: Andreas Bombe <aeb@debian.org>
933
934commit 456767b
935Author: Andreas Bombe <aeb@debian.org>
936Date:   Mon Sep 14 00:33:49 2015 +0200
937
938    configure.ac: Use AS_HELP_STRING to format option help
939
940    Signed-off-by: Andreas Bombe <aeb@debian.org>
941
942commit 3cfb479
943Author: Andreas Bombe <aeb@debian.org>
944Date:   Mon Sep 14 00:30:40 2015 +0200
945
946    version.h: Use @configure_input@ autoconf variable in boilerplate
947
948    Signed-off-by: Andreas Bombe <aeb@debian.org>
949
950commit 41ef834
951Author: Andreas Bombe <aeb@debian.org>
952Date:   Mon Sep 14 00:29:27 2015 +0200
953
954    .gitignore: Add TAGS in addition to tags
955
956    Signed-off-by: Andreas Bombe <aeb@debian.org>
957
958commit bdc3d2a
959Author: Andreas Bombe <aeb@debian.org>
960Date:   Fri Sep 11 20:28:12 2015 +0200
961
962    Rename clusters field in DOS_FS struct
963
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).
967
968    Signed-off-by: Andreas Bombe <aeb@debian.org>
969
970commit 0790812
971Author: Andreas Bombe <aeb@debian.org>
972Date:   Fri Sep 11 19:47:29 2015 +0200
973
974    set_fat(): Fix off-by-2 error leading to corruption in FAT12
975
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
980    not the last one.
981
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.
986
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.
991
992    Change the test to fs->clusters + 1 to fix.
993
994    Reported-by: Hanno Böck
995    Signed-off-by: Andreas Bombe <aeb@debian.org>
996
997commit 39ce90f
998Author: Andreas Bombe <aeb@debian.org>
999Date:   Fri Sep 11 19:34:10 2015 +0200
1000
1001    set_fat(): Move FAT12 next cluster check up
1002
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
1007    not the last one.
1008
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
1011    looked up value.
1012
1013    Move the check up to fix.
1014
1015    Signed-off-by: Andreas Bombe <aeb@debian.org>
1016
1017commit 2aad1c8
1018Author: Andreas Bombe <aeb@debian.org>
1019Date:   Tue Sep 8 03:58:29 2015 +0200
1020
1021    Prevent out of bound array read in date_dos2unix()
1022
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.
1027
1028    Add a check to prevent that and also make the day_n array const on this
1029    occasion.
1030
1031    Reported-by: Hanno Böck
1032    Signed-off-by: Andreas Bombe <aeb@debian.org>
1033
1034commit 3b95786
1035Author: Yann E. MORIN <yann.morin.1998@free.fr>
1036Date:   Sun Aug 16 15:55:43 2015 +0200
1037
1038    mkfs.fat: fix incorrect int type
1039
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
1043    readability):
1044
1045        http://autobuild.buildroot.org/results/a09/a0923d7f6d4dbae02eba4c5024bbdae3a52aa85a/build-end.log
1046
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); [...]
1053                          ^
1054        src/mkfs.fat.c:1415:18: note: each undeclared identifier is reported only once for each
1055        function it appears in
1056
1057    Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
1058    Signed-off-by: Andreas Bombe <aeb@debian.org>
1059
1060commit 2b1c4d1
1061Author: Andreas Bombe <aeb@debian.org>
1062Date:   Wed Jun 3 03:33:10 2015 +0200
1063
1064    Add README.md, remove Markdown formatting from README
1065
1066    Signed-off-by: Andreas Bombe <aeb@debian.org>
1067
1068commit b720acc
1069Author: Andreas Bombe <aeb@debian.org>
1070Date:   Wed Jun 3 03:27:24 2015 +0200
1071
1072    Add simple README in Markdown format
1073
1074    Signed-off-by: Andreas Bombe <aeb@debian.org>
1075
1076commit 2b255e6
1077Author: Andreas Bombe <aeb@debian.org>
1078Date:   Tue Jun 2 18:25:06 2015 +0200
1079
1080    Configure option for legacy names symlinks
1081
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
1084    given to configure.
1085
1086    Signed-off-by: Andreas Bombe <aeb@debian.org>
1087
1088commit 0643db7
1089Author: Andreas Bombe <aeb@debian.org>
1090Date:   Sun May 31 02:40:19 2015 +0200
1091
1092    Convert build system to autoconf/automake
1093
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.
1099
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.
1105
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.
1111
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.
1115
1116    Signed-off-by: Andreas Bombe <aeb@debian.org>
1117
1118commit 85022fe (tag: v3.0.28)
1119Author: Andreas Bombe <aeb@debian.org>
1120Date:   Sat May 16 02:56:17 2015 +0200
1121
1122    Releasing version 3.0.28.
1123
1124    Signed-off-by: Andreas Bombe <aeb@debian.org>
1125
1126commit ad1342e
1127Author: Andreas Bombe <aeb@debian.org>
1128Date:   Sat May 16 02:10:18 2015 +0200
1129
1130    manpages: Mark MT and ME tags as untranslated for po4a
1131
1132    Signed-off-by: Andreas Bombe <aeb@debian.org>
1133
1134commit 3ed9ec2
1135Author: Andreas Bombe <aeb@debian.org>
1136Date:   Sun May 10 19:59:02 2015 +0200
1137
1138    mkfs: Small changes to FAT32 cluster size selection
1139
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.
1143
1144    Signed-off-by: Andreas Bombe <aeb@debian.org>
1145
1146commit 9984552
1147Author: Andreas Bombe <aeb@debian.org>
1148Date:   Mon Apr 20 23:41:34 2015 +0200
1149
1150    fsck: Mention -r is default in usage message
1151
1152    Signed-off-by: Andreas Bombe <aeb@debian.org>
1153
1154commit 3eaca68
1155Author: Andreas Bombe <aeb@debian.org>
1156Date:   Mon Apr 20 23:30:56 2015 +0200
1157
1158    manpages: Remove obsolete information about Linux FAT support
1159
1160    Signed-off-by: Andreas Bombe <aeb@debian.org>
1161
1162commit a5e34de
1163Author: Andreas Bombe <aeb@debian.org>
1164Date:   Thu Apr 16 23:16:08 2015 +0200
1165
1166    manpages: Convert the rest of argument placeholders to upper case
1167
1168    Signed-off-by: Andreas Bombe <aeb@debian.org>
1169
1170commit 2303765
1171Author: Andreas Bombe <aeb@debian.org>
1172Date:   Thu Apr 16 22:51:20 2015 +0200
1173
1174    manpages: Fix formatting
1175
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.
1182
1183    Signed-off-by: Andreas Bombe <aeb@debian.org>
1184
1185commit d3969b8
1186Author: Andreas Bombe <aeb@debian.org>
1187Date:   Fri Apr 10 20:32:50 2015 +0200
1188
1189    fsck: Verify first cluster of a file is not 1
1190
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.
1194
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
1199    unallocated memory.
1200
1201    Now test_file() will ignore files where the first cluster equals 1 and
1202    an additional check in check_file() will truncate them.
1203
1204    This bug was reported in http://bugs.debian.org/773885 by Jakub Wilk.
1205
1206    Signed-off-by: Andreas Bombe <aeb@debian.org>
1207
1208commit 2a56575
1209Author: Andreas Bombe <aeb@debian.org>
1210Date:   Thu Apr 2 23:35:00 2015 +0200
1211
1212    Simplify synopses of man pages
1213
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.
1216
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.
1220
1221    Signed-off-by: Andreas Bombe <aeb@debian.org>
1222
1223commit 40f1436
1224Author: Andreas Bombe <aeb@debian.org>
1225Date:   Wed Apr 1 20:55:58 2015 +0200
1226
1227    Update homepage and maintainer sections of man pages
1228
1229    Signed-off-by: Andreas Bombe <aeb@debian.org>
1230
1231commit 0169db8
1232Author: Andreas Bombe <aeb@debian.org>
1233Date:   Wed Apr 1 20:05:01 2015 +0200
1234
1235    mkfs: Show a clearer message that file already exists with -C
1236
1237    Signed-off-by: Andreas Bombe <aeb@debian.org>
1238
1239commit 2967e27
1240Author: Andreas Bombe <aeb@debian.org>
1241Date:   Mon Mar 30 21:12:51 2015 +0200
1242
1243    mkfs: Remove O_TRUNC from file creation call
1244
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.
1248
1249    Signed-off-by: Andreas Bombe <aeb@debian.org>
1250
1251commit 90612df
1252Author: Andreas Bombe <aeb@debian.org>
1253Date:   Mon Mar 30 21:09:51 2015 +0200
1254
1255    mkfs: Use ftruncate() for expanding created file
1256
1257    Signed-off-by: Andreas Bombe <aeb@debian.org>
1258
1259commit 58e8e09
1260Author: Andreas Bombe <aeb@debian.org>
1261Date:   Tue Mar 24 21:32:40 2015 +0100
1262
1263    mkfs: Add --invariant option
1264
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.
1268
1269    This is intended for debugging or regression testing of mkfs.fat.
1270
1271    Signed-off-by: Andreas Bombe <aeb@debian.org>
1272
1273commit 354feaf
1274Author: Andreas Bombe <aeb@debian.org>
1275Date:   Thu Mar 19 21:35:21 2015 +0100
1276
1277    mkfs: Add long option parsing
1278
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.
1283
1284    Signed-off-by: Andreas Bombe <aeb@debian.org>
1285
1286commit b611549
1287Author: Andreas Bombe <aeb@debian.org>
1288Date:   Mon Mar 16 21:08:35 2015 +0100
1289
1290    Do not expect EOF as return value of getopt()
1291
1292    Signed-off-by: Andreas Bombe <aeb@debian.org>
1293
1294commit a41fc32
1295Author: Andreas Bombe <aeb@debian.org>
1296Date:   Wed Mar 11 21:45:04 2015 +0100
1297
1298    fsck.fat: Fix read beyond end of array on FAT12
1299
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.
1303
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().
1306
1307    Signed-off-by: Andreas Bombe <aeb@debian.org>
1308
1309commit e18d72f
1310Author: Álvaro Fernández Rojas <noltari@gmail.com>
1311Date:   Sat Mar 7 13:23:23 2015 +0100
1312
1313    Remove linux/msdos_fs.h includes
1314
1315    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1316    Signed-off-by: Andreas Bombe <aeb@debian.org>
1317
1318commit 245d0cc
1319Author: Álvaro Fernández Rojas <noltari@gmail.com>
1320Date:   Thu Feb 26 19:22:54 2015 +0100
1321
1322    Remove non standard int types
1323
1324    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1325    Signed-off-by: Andreas Bombe <aeb@debian.org>
1326
1327commit 628b3ec
1328Author: Álvaro Fernández Rojas <noltari@gmail.com>
1329Date:   Thu Feb 26 19:41:19 2015 +0100
1330
1331    Improve .gitignore
1332
1333    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1334    Signed-off-by: Andreas Bombe <aeb@debian.org>
1335
1336commit 02b5a6d
1337Author: Álvaro Fernández Rojas <noltari@gmail.com>
1338Date:   Thu Feb 26 12:51:23 2015 +0100
1339
1340    Makefile: avoid using install -D
1341
1342    OS X and FreeBSD are not compatible with this option
1343
1344    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1345    Signed-off-by: Andreas Bombe <aeb@debian.org>
1346
1347commit fb6aea6
1348Author: Álvaro Fernández Rojas <noltari@gmail.com>
1349Date:   Thu Feb 26 12:50:57 2015 +0100
1350
1351    Makefile: fix typo in uninstall-man
1352
1353    Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
1354    Signed-off-by: Andreas Bombe <aeb@debian.org>
1355
1356commit 357ab07
1357Author: Andreas Bombe <aeb@debian.org>
1358Date:   Thu Feb 19 21:22:54 2015 +0100
1359
1360    fsck.fat: Make -r option default
1361
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
1365    changes.
1366
1367    The -r option continues to be recognized by fsck.fat.
1368
1369    Signed-off-by: Andreas Bombe <aeb@debian.org>
1370
1371commit 266a5fc
1372Author: Andreas Bombe <aeb@debian.org>
1373Date:   Fri Feb 20 03:19:28 2015 +0100
1374
1375    mkfs.fat: Allow 0xF0 to be specified as media byte
1376
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.
1379
1380    Also split the error reporting for -M between badly formatted and
1381    invalid numbers.
1382
1383    Signed-off-by: Andreas Bombe <aeb@debian.org>
1384
1385commit 16e97e9
1386Author: Andreas Bombe <aeb@debian.org>
1387Date:   Wed Jan 28 15:07:18 2015 +0100
1388
1389    Make all char* that may take literals const
1390
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.
1394
1395    Signed-off-by: Andreas Bombe <aeb@debian.org>
1396
1397commit 8b8948c
1398Author: Andreas Bombe <aeb@debian.org>
1399Date:   Mon Dec 29 18:24:54 2014 +0100
1400
1401    mkfs.fat.c: Use unsigned char for binary data
1402
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.
1406
1407    Signed-off-by: Andreas Bombe <aeb@debian.org>
1408
1409commit 45aeed0
1410Author: Andreas Bombe <aeb@debian.org>
1411Date:   Sun Nov 16 19:49:22 2014 +0100
1412
1413    Fix indentation of "fix power loss damage" commit
1414
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
1418    world.
1419
1420    Signed-off-by: Andreas Bombe <aeb@debian.org>
1421
1422commit 75c5446
1423Author: Andreas Bombe <aeb@debian.org>
1424Date:   Sat Nov 15 16:48:48 2014 +0100
1425
1426    Add tags and editor backup files to .gitignore
1427
1428    Signed-off-by: Andreas Bombe <aeb@debian.org>
1429
1430commit cb98ae2 (tag: v3.0.27)
1431Author: Andreas Bombe <aeb@debian.org>
1432Date:   Wed Nov 12 01:10:23 2014 +0100
1433
1434    Releasing version 3.0.27.
1435
1436    Signed-off-by: Andreas Bombe <aeb@debian.org>
1437
1438commit e2c8f06
1439Author: Andreas Bombe <aeb@debian.org>
1440Date:   Wed Nov 12 00:22:17 2014 +0100
1441
1442    fsck.fat: Don't print version string every time -v is encountered
1443
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.
1447
1448    Signed-off-by: Andreas Bombe <aeb@debian.org>
1449
1450commit 82076b6
1451Author: Andreas Bombe <aeb@debian.org>
1452Date:   Tue Nov 11 23:25:30 2014 +0100
1453
1454    Fix attempt to rename root dir in fsck due to uninitialized fields
1455
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
1459    values.
1460
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).
1465    Example run:
1466
1467        $ /sbin/fsck.fat -y bad.img
1468        fsck.fat 3.0.26 (2014-03-07)
1469        /
1470          Bad short file name ().
1471          Auto-renaming it.
1472          Renamed to
1473        bad.img: 14 files, 19388/403266 clusters
1474
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 .
1478
1479    Signed-off-by: Andreas Bombe <aeb@debian.org>
1480
1481commit c24ecb6
1482Author: Andreas Bombe <aeb@debian.org>
1483Date:   Tue Nov 11 22:49:50 2014 +0100
1484
1485    Support long file names in volume labeling code
1486
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"
1490    bit.
1491
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.
1497
1498    Change so that the set of attributes equal that of LFN entries will no
1499    langer match as a volume label.
1500
1501    Signed-off-by: Andreas Bombe <aeb@debian.org>
1502
1503commit 1646f6e (tag: v3.0.26)
1504Author: Daniel Baumann <mail@daniel-baumann.ch>
1505Date:   Fri Mar 7 18:40:13 2014 +0100
1506
1507    Releasing version 3.0.26.
1508
1509    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1510
1511commit 6893c45
1512Author: Dir Lotter <dirk.lotter@siemens.com>
1513Date:   Fri Mar 7 18:25:39 2014 +0100
1514
1515    Fix "odd" files created by frequent power-loss.
1516
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:
1519
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
1523        failed
1524      * file was not accessible and could not be deleted
1525
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
1529    filenames.
1530
1531    Our patch of check.c includes:
1532
1533      * returns 1 from function bad_name() in case no short and no long filename
1534        exist
1535      * auto_rename() and rename_file() got a special handling for the case no short
1536        file name exist:
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
1541
1542    This solved our problem pretty well.
1543
1544    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1545
1546commit 621e11f
1547Author: Natanael Copa <ncopa@alpinelinux.org>
1548Date:   Sat Feb 8 18:53:30 2014 +0100
1549
1550    Build fixes for musl libc.
1551
1552    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1553
1554commit 52588b7 (tag: v3.0.25)
1555Author: Daniel Baumann <mail@daniel-baumann.ch>
1556Date:   Fri Jan 17 07:11:11 2014 +0100
1557
1558    Releasing version 3.0.25.
1559
1560    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1561
1562commit acf64ae
1563Author: Daniel Baumann <mail@daniel-baumann.ch>
1564Date:   Fri Jan 17 07:09:54 2014 +0100
1565
1566    Updating copyright headers for 2014.
1567
1568    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1569
1570commit 21fe921
1571Author: Andrew Tridgell <tridge@samba.org>
1572Date:   Tue Jan 14 09:37:51 2014 +1100
1573
1574    Fixed remaining 64 bit build warnings.
1575
1576    Some of these may be real bugs.
1577
1578    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1579
1580commit 9e3a2b1
1581Author: Andrew Tridgell <tridge@samba.org>
1582Date:   Tue Jan 14 09:25:28 2014 +1100
1583
1584    Prevent corruption of FAT during fsck on 64 bit platforms.
1585
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
1588    another file.
1589
1590    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1591
1592commit 0d2c9bc (tag: v3.0.24)
1593Author: Daniel Baumann <mail@daniel-baumann.ch>
1594Date:   Sat Nov 23 10:36:55 2013 +0100
1595
1596    Releasing version 3.0.24.
1597
1598    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1599
1600commit 55bd7b7
1601Author: Jaroslav Skarvada <jskarvad@redhat.com>
1602Date:   Sat Nov 23 10:34:48 2013 +0100
1603
1604    Fixed dosfsck on big endian platforms (Resolves: rhbz#1029695).
1605
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).
1610
1611    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1612
1613commit 6debb4a (tag: v3.0.23)
1614Author: Daniel Baumann <mail@daniel-baumann.ch>
1615Date:   Tue Oct 15 08:05:46 2013 +0200
1616
1617    Releasing version 3.0.23.
1618
1619    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1620
1621commit 07d85ff
1622Author: Daniel Baumann <mail@daniel-baumann.ch>
1623Date:   Tue Oct 15 08:04:11 2013 +0200
1624
1625    Reformating mkfs.fat manpage.
1626
1627    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1628
1629commit 137552f
1630Author: Michael Shigorin <mike@altlinux.org>
1631Date:   Tue Oct 15 01:29:33 2013 +0400
1632
1633    Fixing "Fixing default sectors per cluster for FAT32" for UEFI.
1634
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.
1638
1639    This commit amends that one by reverting its effects for these
1640    small sizes by restoring 512b cluster size for <= 260Mb FAT32.
1641
1642    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1643
1644commit 2000696
1645Author: Daniel Baumann <mail@daniel-baumann.ch>
1646Date:   Fri Aug 9 09:38:13 2013 +0200
1647
1648    Also allowing lowercase labels in mkfs (with warning message) consistent with the recent fsck change, thanks to Michael Baum <mbaum@devonit.com>.
1649
1650    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1651
1652commit 9b04807
1653Author: Tim Harder <radhermit@gentoo.org>
1654Date:   Fri Jul 19 18:15:21 2013 +0200
1655
1656    Add install-man dependency to install-symlinks Makefile target.
1657
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.
1660
1661    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1662
1663commit 651f91c (tag: v3.0.22)
1664Author: Daniel Baumann <mail@daniel-baumann.ch>
1665Date:   Fri Jul 19 07:01:19 2013 +0200
1666
1667    Releasing version 3.0.22.
1668
1669    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1670
1671commit 3dc5560
1672Author: Daniel Baumann <mail@daniel-baumann.ch>
1673Date:   Fri Jul 19 06:55:24 2013 +0200
1674
1675    Addding install-symlinks target to phony targets in Makefile.
1676
1677    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1678
1679commit c6c0581
1680Author: Daniel Baumann <mail@daniel-baumann.ch>
1681Date:   Fri Jul 19 06:55:00 2013 +0200
1682
1683    Adding uninstall-symlinks target in Makefile.
1684
1685    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1686
1687commit 465dd8c
1688Author: Daniel Baumann <mail@daniel-baumann.ch>
1689Date:   Fri Jul 19 06:45:40 2013 +0200
1690
1691    Allowing fatlabel to write labels in all lowercase but give a warning about DOS/Windows (Closes: #714971).
1692
1693    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1694
1695commit 3621b30
1696Author: John S Gruber <JohnSGruber@gmail.com>
1697Date:   Fri Jul 19 06:40:21 2013 +0200
1698
1699    Add options and make dos boot sector more compatible with reference system (Closes: #552673).
1700
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
1703    partition.
1704
1705    Initialize DOS boot sector drive_number according to FAT media type
1706    Addresses LP: #398241 and Debian #552673
1707
1708    Adds options to override the DOS boot sector device_number and
1709    the FAT media type.
1710
1711    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1712
1713commit be1eed5
1714Author: Daniel Baumann <mail@daniel-baumann.ch>
1715Date:   Wed Jul 17 12:52:20 2013 +0200
1716
1717    Correcting wrong check preventing installation of fatlabel legacy manpage symlink.
1718
1719    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1720
1721commit d0065d3 (tag: v3.0.21)
1722Author: Daniel Baumann <mail@daniel-baumann.ch>
1723Date:   Tue Jul 16 08:34:28 2013 +0200
1724
1725    Releasing version 3.0.21.
1726
1727    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1728
1729commit a74c12c
1730Author: Jaroslav Skarvada <jskarvad@redhat.com>
1731Date:   Tue Jun 25 14:53:14 2013 +0200
1732
1733    Adding the missing -p option to the fsck manpage (to be consistent with the output of the tool).
1734
1735    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1736
1737commit 25e03c9
1738Author: Patrick J. Volkerding <volkerdi@slackware.com>
1739Date:   Mon Jun 24 14:23:00 2013 +0200
1740
1741    Using $MANDIR instead of hardcoded ${PREFIX}/share/man in the Makefile.
1742
1743    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1744
1745commit 7fd9cf7
1746Author: Daniel Baumann <mail@daniel-baumann.ch>
1747Date:   Fri Jun 14 18:50:31 2013 +0200
1748
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>.
1750
1751    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1752
1753commit a76bbcd
1754Author: Daniel Baumann <mail@daniel-baumann.ch>
1755Date:   Wed Jun 12 13:00:10 2013 +0200
1756
1757    Using US digit date format in version date, rather than name abbrev.
1758
1759    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1760
1761commit a64195f (tag: v3.0.20)
1762Author: Daniel Baumann <mail@daniel-baumann.ch>
1763Date:   Wed Jun 12 12:25:32 2013 +0200
1764
1765    Releasing version 3.0.20.
1766
1767    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1768
1769commit 1a5d99f
1770Author: Daniel Baumann <mail@daniel-baumann.ch>
1771Date:   Wed Jun 12 12:07:58 2013 +0200
1772
1773    Softening message about different boot sectors a bit (Closes: #704198).
1774
1775    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1776
1777commit 4727286
1778Author: Daniel Baumann <mail@daniel-baumann.ch>
1779Date:   Wed Jun 12 11:42:52 2013 +0200
1780
1781    Harmonizing program name output.
1782
1783    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1784
1785commit 17c956c
1786Author: Martin Wilck <mwilck@arcor.de>
1787Date:   Wed Jun 12 11:38:00 2013 +0200
1788
1789    Don't align FAT to cluster size.
1790
1791    See previous patch for explanation.
1792
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.
1797
1798    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1799
1800commit d63e0d6
1801Author: Martin Wilck <mwilck@arcor.de>
1802Date:   Wed Jun 12 11:36:08 2013 +0200
1803
1804    Don't align FAT32 reserved sectors to cluster size.
1805
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.
1810
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
1815    doesn't do this).
1816
1817    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1818
1819commit e048a8d
1820Author: Martin Wilck <mwilck@arcor.de>
1821Date:   Wed Jun 12 11:33:33 2013 +0200
1822
1823    Fixing default sectors per cluster for FAT32 (Closes: #690062).
1824
1825    The default sectors per cluster calculated by mkdosfs are outdated,
1826    see http://technet.microsoft.com/en-us/library/cc938438.aspx.
1827
1828    The deviations may cause some 3rd party devices (e.g. TechniSat DVB
1829    receivers) to hang when reading mkdosfs generated file systems.
1830
1831    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1832
1833commit 86509aa
1834Author: Daniel Baumann <mail@daniel-baumann.ch>
1835Date:   Tue Jun 11 20:19:09 2013 +0200
1836
1837    Splitting out legacy symlink creation in toplevel Makefile to own target.
1838
1839    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1840
1841commit da37dd1
1842Author: Daniel Baumann <mail@daniel-baumann.ch>
1843Date:   Wed Jun 12 11:29:12 2013 +0200
1844
1845    Correcting wrong toolname in fsck.fat.
1846
1847    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1848
1849commit b29a722
1850Author: Daniel Baumann <mail@daniel-baumann.ch>
1851Date:   Tue Jun 11 19:51:47 2013 +0200
1852
1853    Consistently spelling filesystem as filesystem, and not file system.
1854
1855    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1856
1857commit 977d7aa
1858Author: Daniel Baumann <mail@daniel-baumann.ch>
1859Date:   Tue Jun 11 19:30:19 2013 +0200
1860
1861    Removing Debian reference in GPL license headers.
1862
1863    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1864
1865commit 5505cc2 (tag: v3.0.19)
1866Author: Daniel Baumann <mail@daniel-baumann.ch>
1867Date:   Tue Jun 11 18:46:03 2013 +0200
1868
1869    Releasing version 3.0.19.
1870
1871    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1872
1873commit 2c88f35
1874Author: Daniel Baumann <mail@daniel-baumann.ch>
1875Date:   Tue Jun 11 18:44:50 2013 +0200
1876
1877    Running indent on source files.
1878
1879    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1880
1881commit d495d43
1882Author: Daniel Baumann <mail@daniel-baumann.ch>
1883Date:   Tue Jun 11 18:41:41 2013 +0200
1884
1885    Using memcpy instead of strcpy to fix segfault with fortify, thanks to Dave Reisner <falconindy@jabber.org>.
1886
1887    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1888
1889commit 9fb4ffc
1890Author: Daniel Baumann <mail@daniel-baumann.ch>
1891Date:   Sun Jun 9 13:17:16 2013 +0200
1892
1893    Correcting fsck.fat spelling error in manpages, thanks to E.J.M. Hartman <E.J.M.Hartman@tudelft.nl>.
1894
1895    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1896
1897commit 2d8ef9b (tag: v3.0.18)
1898Author: Daniel Baumann <mail@daniel-baumann.ch>
1899Date:   Thu Jun 6 09:49:00 2013 +0200
1900
1901    Releasing version 3.0.18.
1902
1903    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1904
1905commit d4e1180
1906Author: Daniel Baumann <mail@daniel-baumann.ch>
1907Date:   Thu Jun 6 09:38:45 2013 +0200
1908
1909    Adding initial i18n support for manpages with po4a.
1910
1911    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1912
1913commit ea8f712
1914Author: Daniel Baumann <mail@daniel-baumann.ch>
1915Date:   Thu Jun 6 09:17:13 2013 +0200
1916
1917    Renaming tools to sane namespace and keeping legacy symlinks in place.
1918
1919    dosfslabel becomes fatlabel,
1920    dosfsck becomes fsck.fat,
1921    and mkdosfs becomes mkfs.fat.
1922
1923    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1924
1925commit a42b127
1926Author: Daniel Baumann <mail@daniel-baumann.ch>
1927Date:   Wed Jun 5 07:12:03 2013 +0200
1928
1929    Correcting wrong spelling of Debian in mkdosfs manpage.
1930
1931    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1932
1933commit 2749084
1934Author: Daniel Baumann <mail@daniel-baumann.ch>
1935Date:   Wed Jun 5 07:10:50 2013 +0200
1936
1937    Correcting spelling typo in boot.c.
1938
1939    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1940
1941commit 6461c83
1942Author: Martin Pitt <martinpitt@gnome.org>
1943Date:   Fri May 24 09:35:44 2013 +0200
1944
1945    dosfslabel: Do not read beyond string length (Closes: #709587).
1946
1947    When checking whether the label contains any lower-case characters, do not read
1948    beyond the end of the string.
1949
1950    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1951
1952commit 4203a90 (tag: v3.0.17)
1953Author: Daniel Baumann <mail@daniel-baumann.ch>
1954Date:   Wed May 29 10:14:09 2013 +0200
1955
1956    Releasing version 3.0.17.
1957
1958    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1959
1960commit 3aa88ed
1961Author: Daniel Baumann <mail@daniel-baumann.ch>
1962Date:   Wed May 29 09:48:24 2013 +0200
1963
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).
1965
1966    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1967
1968commit 0916f8a
1969Author: Jaroslav Skarvada <jskarvad@redhat.com>
1970Date:   Wed May 29 09:56:08 2013 +0200
1971
1972    Fixing segfault in dosfslabel.
1973
1974    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
1975
1976commit 4a265c6
1977Author: James Byrne <jbyrne@aminocom.com>
1978Date:   Mon Apr 22 12:29:51 2013 +0100
1979
1980    Allow operation on SH4 CPUs and remove compiler warnings.
1981
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.
1986
1987    Enable extra warnings, but disable signed comparison and missing field
1988    initializer warnings as these are not helpful.
1989
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.
1993
1994    Make date_dos2unix(), usage() and cdiv() static functions as they are only used
1995    in the files in which they are declared.
1996
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.
2000
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.
2005
2006    Alter the setup_tables() function so that it does not cause an "array subscript
2007    is below array bounds" warning.
2008
2009    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2010
2011commit eb68a14
2012Author: James Byrne <jbyrne@aminocom.com>
2013Date:   Mon Apr 22 13:32:01 2013 +0100
2014
2015    Add a .gitignore file.
2016
2017    Add a .gitignore file so that the results of compilation do not appear as
2018    changes.
2019
2020    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2021
2022commit 336e8f1
2023Author: James Byrne <jbyrne@aminocom.com>
2024Date:   Mon Apr 22 12:38:52 2013 +0100
2025
2026    Finish cleanup of byteswap code.
2027
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
2030    converted was zero.
2031
2032    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2033
2034commit 64b6227
2035Author: Daniel Baumann <mail@daniel-baumann.ch>
2036Date:   Thu Apr 4 08:08:00 2013 +0200
2037
2038    Shortening links to upstream homepage.
2039
2040    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2041
2042commit 76304be
2043Author: Cristian Rodríguez <crrodriguez@opensuse.org>
2044Date:   Fri Mar 1 08:23:34 2013 +0100
2045
2046    Fix offsetof definition.
2047
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.
2051
2052    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2053
2054commit 9ba8992
2055Author: Cristian Rodríguez <crrodriguez@opensuse.org>
2056Date:   Fri Mar 1 08:58:36 2013 +0100
2057
2058    Cleanup byteswap code.
2059
2060    Remove all duplicate macro definitions for byteswapping routines
2061    and replace them for proper usage of userspace endian(3).
2062
2063    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2064
2065commit 8733e12 (tag: v3.0.16)
2066Author: Daniel Baumann <mail@daniel-baumann.ch>
2067Date:   Wed May 29 10:06:01 2013 +0200
2068
2069    Releasing version 3.0.16.
2070
2071    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2072
2073commit a9fa87e
2074Author: Petr Gajdos <pgajdos@suse.cz>
2075Date:   Fri Mar 1 08:34:12 2013 +0100
2076
2077    Create rootdir entry volume label with mkdosfs, create it when
2078    it doesn't exist with dosfslabel.
2079
2080    See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
2081    for more information.
2082
2083    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2084
2085commit 92057f1
2086Author: Petr Gajdos <pgajdos@suse.cz>
2087Date:   Fri Mar 1 08:33:18 2013 +0100
2088
2089    Forbid lowercase letters in label.
2090
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.
2093
2094    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2095
2096commit 5e265c4
2097Author: Petr Gajdos <pgajdos@suse.cz>
2098Date:   Fri Mar 1 08:32:02 2013 +0100
2099
2100    Read label also from rootdir entry.
2101
2102    See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
2103    for more information.
2104
2105    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2106
2107commit 5cec53c
2108Author: Petr Gajdos <pgajdos@suse.cz>
2109Date:   Fri Mar 1 08:30:21 2013 +0100
2110
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.
2113
2114    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2115
2116commit 63938f0
2117Author: Petr Gajdos <pgajdos@suse.cz>
2118Date:   Fri Mar 1 08:29:00 2013 +0100
2119
2120    Instead of eleven blanks, fill in "NO NAME    " as specification tells.
2121
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.
2124
2125    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2126
2127commit 10c1c41
2128Author: Petr Gajdos <pgajdos@suse.cz>
2129Date:   Fri Mar 1 08:58:15 2013 +0100
2130
2131    Write uppercase letters in label.
2132
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.
2135
2136    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2137
2138commit a75fb1c (tag: v3.0.15)
2139Author: Daniel Baumann <mail@daniel-baumann.ch>
2140Date:   Thu Feb 21 15:06:52 2013 +0100
2141
2142    Releasing version 3.0.15.
2143
2144    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2145
2146commit c8f84fd
2147Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2148Date:   Mon Feb 4 00:22:34 2013 +0400
2149
2150    Using wcstombs() to convert LFN unicode characters to printable text.
2151
2152    This closes Debian bug #596336.
2153
2154    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2155
2156commit 1546545
2157Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2158Date:   Sun Sep 5 18:59:47 2010 +0400
2159
2160    Recode short filenames from DOS codepage (default 437).
2161
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.
2165
2166    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2167
2168commit ad76cae
2169Author: Jaroslav Skarvada <jskarvad@redhat.com>
2170Date:   Thu Feb 21 14:40:52 2013 +0100
2171
2172    Fixing root directory allocation.
2173
2174    See https://bugzilla.redhat.com/show_bug.cgi?id=674095 for more information.
2175
2176    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2177
2178commit b8201b3
2179Author: Jaroslav Skarvada <jskarvad@redhat.com>
2180Date:   Thu Feb 21 14:40:25 2013 +0100
2181
2182    Fixing device detection.
2183
2184    See https://bugzilla.redhat.com/show_bug.cgi?id=710480 for more information.
2185
2186    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2187
2188commit 7a75638 (tag: v3.0.14)
2189Author: Daniel Baumann <mail@daniel-baumann.ch>
2190Date:   Wed Jan 23 13:22:01 2013 +0100
2191
2192    Releasing version 3.0.14.
2193
2194    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2195
2196commit 5bdd7ef
2197Author: Daniel Baumann <mail@daniel-baumann.ch>
2198Date:   Wed Jan 23 13:16:20 2013 +0100
2199
2200    Documenting dosfsck -b in its manpage.
2201
2202    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2203
2204commit a307be2
2205Author: Oleksij Rempel <bug-track@fisher-privat.net>
2206Date:   Wed Jan 23 12:36:56 2013 +0100
2207
2208    Adding option for bootsector read-only check.
2209
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.
2213
2214    Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2215    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2216
2217commit ce2f8dc
2218Author: Oleksij Rempel <bug-track@fisher-privat.net>
2219Date:   Wed Jan 23 12:35:13 2013 +0100
2220
2221    Checking boot sector for dirty bit.
2222
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/...
2226
2227    Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2228    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2229
2230commit f33ee8c
2231Author: Daniel Baumann <mail@daniel-baumann.ch>
2232Date:   Wed Jan 23 12:25:59 2013 +0100
2233
2234    Completing and updating all copyright headers for 2013.
2235
2236    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2237
2238commit bfe6d25
2239Author: Daniel Baumann <mail@daniel-baumann.ch>
2240Date:   Wed Jan 23 12:17:20 2013 +0100
2241
2242    Updating my email address.
2243
2244    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2245
2246commit 13cdb4d (tag: v3.0.13)
2247Author: Daniel Baumann <mail@daniel-baumann.ch>
2248Date:   Sat Jun 30 19:10:44 2012 +0200
2249
2250    Releasing version 3.0.13.
2251
2252    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2253
2254commit d039482
2255Author: Jaroslav Škarvada <jskarvad@redhat.com>
2256Date:   Sat Jun 30 19:09:11 2012 +0200
2257
2258    Fix 'dosfslabel throws "Seek to 114116076544:Invalid argument" error when labeling'.
2259
2260    See https://bugzilla.redhat.com/show_bug.cgi?id=693662 for more information.
2261
2262    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2263
2264commit e243612 (tag: v3.0.12)
2265Author: Daniel Baumann <mail@daniel-baumann.ch>
2266Date:   Sat Oct 29 08:40:53 2011 +0200
2267
2268    Releasing version 3.0.12.
2269
2270    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2271
2272commit 025b4f0
2273Author: Michael Casadevall <mcasadevall@ubuntu.com>
2274Date:   Tue Jun 7 19:19:30 2011 +0200
2275
2276    Correcting miscalculation of sector number in some cases.
2277
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
2282    fail to boot.
2283
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.
2287
2288    See https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/794043
2289    for more information.
2290
2291    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2292
2293commit 91a1fb9
2294Author: Daniel Baumann <mail@daniel-baumann.ch>
2295Date:   Sat Jan 8 23:38:59 2011 +0100
2296
2297    Re-running Nindent.
2298
2299    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2300
2301commit 0390c4c
2302Author: Sergey Gusarov <laborer2008@gmail.com>
2303Date:   Sat Jan 8 23:36:11 2011 +0100
2304
2305    Fixing compiler warnings related to the mismatch of types "char *" / "unsigned
2306    char *".
2307
2308    These warnings appear when you compile the project with the option "-Wall", what
2309    is done with the current default Makefile.
2310
2311    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2312
2313commit 4a8f8a6
2314Author: Jaroslav Skarvada <jskarvad@redhat.com>
2315Date:   Thu Jan 6 22:35:00 2011 +0100
2316
2317    Fixing overflow bug in reclaim_file function, see
2318    https://bugzilla.redhat.com/show_bug.cgi?id=660154 for more information.
2319
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
2323    and hangs.
2324
2325    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2326
2327commit e0366da
2328Author: Sergey Gusarov <laborer2008@gmail.com>
2329Date:   Thu Jan 6 22:31:39 2011 +0100
2330
2331    Fixing conversion specifiers in accordance with the type of expressions.
2332
2333    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2334
2335commit 2d8be9c
2336Author: Daniel Baumann <mail@daniel-baumann.ch>
2337Date:   Sun Jan 2 15:41:44 2011 +0100
2338
2339    Indenting source files.
2340
2341    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2342
2343commit 697af85
2344Author: Daniel Baumann <mail@daniel-baumann.ch>
2345Date:   Sun Jan 2 15:39:03 2011 +0100
2346
2347    Adding Nindent script from syslinux.
2348
2349    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2350
2351commit 66d55cd (tag: v3.0.11)
2352Author: Daniel Baumann <mail@daniel-baumann.ch>
2353Date:   Fri Dec 24 17:58:29 2010 +0100
2354
2355    Releasing version 3.0.11.
2356
2357    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2358
2359commit d579802
2360Author: Michael Stapelberg <michael@stapelberg.de>
2361Date:   Fri Nov 19 14:09:36 2010 +0100
2362
2363    Add better error message when the device cannot be opened.
2364
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.
2368
2369    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2370
2371commit bb6000f
2372Author: Jaroslav Skarvada <jskarvad@redhat.com>
2373Date:   Fri Oct 8 13:38:16 2010 +0200
2374
2375    Unalign on s390x, see http://bugzilla.redhat.com/show_bug.cgi?id=624596 for
2376    more information.
2377
2378    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2379
2380commit 5ef7f1f (tag: v3.0.10)
2381Author: Daniel Baumann <mail@daniel-baumann.ch>
2382Date:   Sun Sep 12 09:35:47 2010 +0200
2383
2384    Releasing version 3.0.10.
2385
2386    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2387
2388commit ea41797
2389Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2390Date:   Sun Sep 12 09:29:12 2010 +0200
2391
2392    Modify LFN direntries when file is renamed or deleted, see
2393    Debian bug #596329.
2394
2395    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2396
2397commit e56ff72
2398Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2399Date:   Sun Sep 12 09:27:07 2010 +0200
2400
2401    If the test of short filename fails, dosfsck could complain about
2402    bad long filename, see Debian bug #596327.
2403
2404    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2405
2406commit f0a42d0
2407Author: Alexander Korolkov <alexander.korolkov@gmail.com>
2408Date:   Sun Sep 12 09:24:47 2010 +0200
2409
2410    dosfsck: don't complain about bad filenames when short filename
2411    contains 7 or more characters with codes 128-255, see Debian
2412    bug #596327.
2413
2414    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2415
2416commit 0113c5b
2417Author: Mitch Rybczynski <mrybczynski@miovision.com>
2418Date:   Mon Jul 5 14:45:54 2010 +0200
2419
2420    Adding __arm__ define check for some crosscompile toolchains.
2421
2422    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2423
2424commit 88cb84f
2425Author: Daniel Baumann <mail@daniel-baumann.ch>
2426Date:   Sun Mar 14 16:42:32 2010 +0100
2427
2428    Modernizing dosfslabel manpage.
2429
2430    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2431
2432commit 5aa7ec4
2433Author: Daniel Baumann <mail@daniel-baumann.ch>
2434Date:   Sun Mar 14 16:33:47 2010 +0100
2435
2436    Modernizing dosfsck manpage.
2437
2438    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2439
2440commit 807ed80
2441Author: Daniel Baumann <mail@daniel-baumann.ch>
2442Date:   Sun Mar 14 16:05:32 2010 +0100
2443
2444    Fixing spelling error in boot.c.
2445
2446    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2447
2448commit 5b6849d (tag: v3.0.9)
2449Author: Daniel Baumann <mail@daniel-baumann.ch>
2450Date:   Sun Jan 31 08:31:32 2010 +0100
2451
2452    Releasing version 3.0.9.
2453
2454    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2455
2456commit 33bca7d
2457Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2458Date:   Sun Jan 31 00:11:41 2010 -0500
2459
2460    Be sure to store the updated reserved_sector count in the boot sector,
2461    see Debian bug #567337.
2462
2463    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2464
2465commit 2a3bef8 (tag: v3.0.8)
2466Author: Daniel Baumann <mail@daniel-baumann.ch>
2467Date:   Sat Jan 23 10:16:18 2010 +0100
2468
2469    Releasing version 3.0.8.
2470
2471    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2472
2473commit 726c02d
2474Author: Daniel Baumann <mail@daniel-baumann.ch>
2475Date:   Sat Jan 23 10:15:01 2010 +0100
2476
2477    Removing some cruft in end-comments.
2478
2479    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2480
2481commit a5961d7
2482Author: Steven J. Magnani <steve@digidescorp.com>
2483Date:   Thu Jan 21 16:58:11 2010 +0100
2484
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)
2487    partitions:
2488
2489      Seek to -2118967808:Invalid argument
2490
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.
2494
2495    This appears to be due to compilation with a 32-bit off_t and lseek() library
2496    function.
2497
2498    Use lseek64 for positioning, and change some suspect uses of off_t to loff_t.
2499
2500    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2501
2502commit bbb25bf
2503Author: Steven J. Magnani <steve@digidescorp.com>
2504Date:   Thu Jan 21 16:56:26 2010 +0100
2505
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.
2508
2509    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2510
2511commit 1cae726
2512Author: Steven J. Magnani <steve@digidescorp.com>
2513Date:   Thu Jan 21 16:55:30 2010 +0100
2514
2515    On x86_64, dosfsck incorrectly claims that a free_cluster summary of
2516    0xFFFFFFFF, defined by Microsoft to be "uninitialized," is wrong.
2517
2518    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2519
2520commit 62f806a
2521Author: H. Peter Anvin <hpa@zytor.com>
2522Date:   Fri Jan 8 09:16:38 2010 +0100
2523
2524    mkdosfs: correct alignment of the root directory.
2525
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.
2532
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.)
2537
2538    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2539
2540commit 8825bda
2541Author: H. Peter Anvin <hpa@zytor.com>
2542Date:   Wed Jan 6 20:55:36 2010 +0100
2543
2544    mkdosfs: improve wording in the man page for the -a option.
2545
2546    Improve the English language used in the man page for the -a (no
2547    align) option to mkdosfs.
2548
2549    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2550
2551commit 21d3f81
2552Author: Daniel Baumann <mail@daniel-baumann.ch>
2553Date:   Wed Jan 6 11:27:25 2010 +0100
2554
2555    Adding reference to dosfslable in mkdosfs manpage.
2556
2557    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2558
2559commit 247ba06
2560Author: H. Peter Anvin <hpa@zytor.com>
2561Date:   Wed Jan 6 11:18:55 2010 +0100
2562
2563    mkdosfs: by default align all structures to cluster boundaries
2564
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
2570    hard disks.
2571
2572    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2573
2574commit 171bc07 (tag: v3.0.7)
2575Author: Daniel Baumann <mail@daniel-baumann.ch>
2576Date:   Thu Dec 24 10:53:36 2009 +0100
2577
2578    Releasing version 3.0.7.
2579
2580    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2581
2582commit 28708fc
2583Author: Ben Hutchings <ben@decadent.org.uk>
2584Date:   Thu Dec 24 09:55:52 2009 +0100
2585
2586    Fixing dosfslabel to set volume label in the right place,
2587    see Debian bug #559985.
2588
2589    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2590
2591commit 2c405dd
2592Author: Lubomir Rintel <lkundrak@v3.sk>
2593Date:   Thu Dec 24 09:39:39 2009 +0100
2594
2595    Fixing out-of bound writes.
2596
2597    Firstly, packed attribute is added to the structure so that extension
2598    is guarranteed to immediately follow name for the cross-name-extension
2599    reads to succeed.
2600
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
2604    sprintf().
2605
2606    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2607
2608commit b8f3efe
2609Author: San Mehat <san@google.com>
2610Date:   Thu Dec 24 09:31:41 2009 +0100
2611
2612    Adding custom exit code in dosfsck for the case where the FS is read only.
2613
2614    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2615
2616commit 0657e01 (tag: v3.0.6)
2617Author: Daniel Baumann <mail@daniel-baumann.ch>
2618Date:   Sun Oct 4 10:59:33 2009 +0200
2619
2620    Releasing version 3.0.6.
2621
2622    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2623
2624commit bc84254
2625Author: Steven J. Magnani <steve@digidescorp.com>
2626Date:   Sun Oct 4 10:58:43 2009 +0200
2627
2628    Attempt to improve clarity of the orphan cluster reclaim code.
2629    Minor optimization - remove some unnecessary checking.
2630
2631    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2632
2633commit 8054b4a
2634Author: Steven J. Magnani <steve@digidescorp.com>
2635Date:   Sun Oct 4 08:37:19 2009 +0200
2636
2637    Close hole that permitted clusters to link to (invalid) cluster 1.
2638
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.
2641
2642    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2643
2644commit e51af88
2645Author: Steven J. Magnani <steve@digidescorp.com>
2646Date:   Sun Oct 4 08:32:30 2009 +0200
2647
2648    Fix erroneous report of huge number of clusters in use on big-endian
2649    systems when the FSINFO free cluster count is reset.
2650
2651    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2652
2653commit 16ba63f (tag: v3.0.5)
2654Author: Daniel Baumann <mail@daniel-baumann.ch>
2655Date:   Mon Jul 27 14:26:11 2009 +0200
2656
2657    Releasing version 3.0.5.
2658
2659    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2660
2661commit 28ff9d9
2662Author: Piotr Kaczuba <pepe@attika.ath.cx>
2663Date:   Sun Jul 26 22:21:25 2009 +0200
2664
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.
2667
2668    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2669
2670commit d42a273
2671Author: Andrew Tridgell <tridge@samba.org>
2672Date:   Sun Jul 26 22:12:06 2009 +0200
2673
2674    Update to new kernel patches that add FAT_NO_83NAME flag.
2675
2676    See http://lkml.org/lkml/2009/7/20/425 and
2677    http://lkml.org/lkml/2009/7/20/424 for more information.
2678
2679    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2680
2681commit dd0f0b5 (tag: v3.0.4)
2682Author: Daniel Baumann <mail@daniel-baumann.ch>
2683Date:   Tue Jul 21 08:10:52 2009 +0200
2684
2685    Releasing version 3.0.4.
2686
2687    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2688
2689commit b9f37a6
2690Author: Andrew Tridgell <tridge@samba.org>
2691Date:   Tue Jul 21 07:59:22 2009 +0200
2692
2693    Modify dosfstools to support the dummy 8.3 short filename values
2694    used by Linux systems with the VFAT_FS_DUALNAMES option disabled.
2695
2696    See http://lkml.org/lkml/2009/6/26/313 and
2697    http://lkml.org/lkml/2009/6/26/314 for more information.
2698
2699    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2700
2701commit ecd15e8
2702Author: Paul Rupe <prupe@nc.rr.com>
2703Date:   Tue May 19 10:37:52 2009 +0200
2704
2705    Fixing "Too many files need repair" error during fsck.
2706
2707    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2708
2709commit 7c16098 (tag: v3.0.3)
2710Author: Daniel Baumann <mail@daniel-baumann.ch>
2711Date:   Mon May 18 15:12:04 2009 +0200
2712
2713    Releasing version 3.0.3.
2714
2715    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2716
2717commit b396dcf
2718Author: Daniel Baumann <mail@daniel-baumann.ch>
2719Date:   Mon May 18 15:10:55 2009 +0200
2720
2721    Also declaring arm as an unaligned architecture, see Debian bug #502961.
2722
2723    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2724
2725commit ff1b24e
2726Author: Steven J. Magnani <steve@digidescorp.com>
2727Date:   Mon May 18 15:01:49 2009 +0200
2728
2729    Adding support for limited-memory embedded systems.
2730
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.
2734
2735    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2736
2737commit 89f0b72
2738Author: Mike Frysinger <vapier@gentoo.org>
2739Date:   Thu Mar 5 07:03:36 2009 +0100
2740
2741    Declaring Blackfin as an unaligned architecture.
2742
2743    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2744
2745commit b54a8a4 (tag: v3.0.2)
2746Author: Daniel Baumann <mail@daniel-baumann.ch>
2747Date:   Sat Feb 28 09:48:04 2009 +0100
2748
2749    Releasing version 3.0.2.
2750
2751    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2752
2753commit 9500529
2754Author: Hiroaki Ishizawa <hiroaki.ishizawa@gmail.com>
2755Date:   Fri Feb 13 10:00:46 2009 +0100
2756
2757    dosfsck corrupts root directory when fs->nfats is 1.
2758
2759    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2760
2761commit 043f8a8
2762Author: Stepan Kasal <skasal@redhat.com>
2763Date:   Fri Jan 30 14:56:33 2009 +0100
2764
2765    src/dosfslabel.c (main): After writing the label, exit code should be 0.
2766
2767    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2768
2769commit 017da27
2770Author: Daniel Baumann <mail@daniel-baumann.ch>
2771Date:   Fri Jan 30 14:06:01 2009 +0100
2772
2773    Also installing ChangeLog in install-doc target of Makefile.
2774
2775    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2776
2777commit 1c76f0f
2778Author: Stepan Kasal <skasal@redhat.com>
2779Date:   Fri Jan 30 14:05:12 2009 +0100
2780
2781    Makefile: Do not clobber time stamps of doc files.
2782
2783    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2784
2785commit df2d2f1 (tag: v3.0.1)
2786Author: Daniel Baumann <mail@daniel-baumann.ch>
2787Date:   Sun Nov 23 22:45:45 2008 +0100
2788
2789    Releasing version 3.0.1.
2790
2791    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2792
2793commit 17b269b
2794Author: Daniel Baumann <mail@daniel-baumann.ch>
2795Date:   Sun Nov 23 18:41:01 2008 +0100
2796
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.
2800
2801    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2802
2803commit e597caf
2804Author: Ulrich Mueller <ulm@gentoo.org>
2805Date:   Tue Oct 7 07:55:37 2008 +0200
2806
2807    Patch to check for bad number of clusters in dosfsck:
2808
2809      * FAT16 filesystems with 65525 clusters or more will be rejected
2810        (Before, this was not tested for. Up to 65535 clusters were accepted
2811        as good).
2812
2813      * For FAT32 filesystems with less than 65525 a warning message will be
2814        output.
2815
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.
2819
2820    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2821
2822commit 90102bc
2823Author: Dann Frazier <dannf@hp.com>
2824Date:   Tue Sep 30 07:25:19 2008 +0200
2825
2826    Changing some wording to make the indended meaning of "full-disk device"
2827    more obvious.
2828
2829    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2830
2831commit 21e9ba0 (tag: v3.0.0)
2832Author: Daniel Baumann <mail@daniel-baumann.ch>
2833Date:   Sun Sep 28 11:43:19 2008 +0200
2834
2835    Releasing version 3.0.0.
2836
2837    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2838
2839commit eaf145d
2840Author: Daniel Baumann <mail@daniel-baumann.ch>
2841Date:   Sun Sep 28 11:29:01 2008 +0200
2842
2843    Adding GPL headers to all files.
2844
2845    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2846
2847commit 0826117
2848Author: Daniel Baumann <mail@daniel-baumann.ch>
2849Date:   Sun Sep 28 10:51:55 2008 +0200
2850
2851    Adding new GPL license file.
2852
2853    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2854
2855commit f8d6127
2856Author: Daniel Baumann <mail@daniel-baumann.ch>
2857Date:   Fri Sep 26 23:31:12 2008 +0200
2858
2859    Redoing Makefile from scratch.
2860
2861    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2862
2863commit b4feb73
2864Author: Daniel Baumann <mail@daniel-baumann.ch>
2865Date:   Sat Sep 27 00:17:38 2008 +0200
2866
2867    Removing whitespaces in all files at EOL and EOF.
2868
2869    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2870
2871commit 1410138
2872Author: Daniel Baumann <mail@daniel-baumann.ch>
2873Date:   Fri Sep 26 23:48:56 2008 +0200
2874
2875    Adding Debians dosfslabel.8 manpage from Francois Wendling
2876    <frwendling@free.fr>.
2877
2878    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2879
2880commit f62e7f2
2881Author: Daniel Baumann <mail@daniel-baumann.ch>
2882Date:   Fri Sep 26 18:36:04 2008 +0200
2883
2884    Updating version.h includes to new location of version.h file.
2885
2886    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2887
2888commit 32e5952
2889Author: Daniel Baumann <mail@daniel-baumann.ch>
2890Date:   Fri Sep 26 18:19:36 2008 +0200
2891
2892    Removing old lsm file.
2893
2894    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2895
2896commit 25a433b
2897Author: Daniel Baumann <mail@daniel-baumann.ch>
2898Date:   Fri Sep 26 18:07:47 2008 +0200
2899
2900    Removing old cvsignore files.
2901
2902    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2903
2904commit acac13f
2905Author: Daniel Baumann <mail@daniel-baumann.ch>
2906Date:   Fri Sep 26 18:18:39 2008 +0200
2907
2908    Removing old build file.
2909
2910    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2911
2912commit 3ecdd21
2913Author: Daniel Baumann <mail@daniel-baumann.ch>
2914Date:   Fri Sep 26 18:19:16 2008 +0200
2915
2916    Removing old GPL license files.
2917
2918    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2919
2920commit f183d0e
2921Author: Daniel Baumann <mail@daniel-baumann.ch>
2922Date:   Fri Sep 26 18:21:57 2008 +0200
2923
2924    Unifying dosfsck and mkdosfs Makefiles in common src/Makefile.
2925
2926    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2927
2928commit 61e7466
2929Author: Daniel Baumann <mail@daniel-baumann.ch>
2930Date:   Fri Sep 26 18:04:02 2008 +0200
2931
2932    Unifying dosfsck and mkdosfs sources in common src directory.
2933
2934    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2935
2936commit 7552d57
2937Author: Daniel Baumann <mail@daniel-baumann.ch>
2938Date:   Fri Sep 26 18:05:27 2008 +0200
2939
2940    Unifying dosfsck and mkdosfs manpages in common man directory.
2941
2942    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2943
2944commit 124598b
2945Author: Daniel Baumann <mail@daniel-baumann.ch>
2946Date:   Fri Sep 26 18:12:29 2008 +0200
2947
2948    Unifying dosfsck and mkdosfs documents in common doc directory.
2949
2950    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2951
2952commit fb9c46b
2953Author: Daniel Baumann <mail@daniel-baumann.ch>
2954Date:   Fri Sep 26 15:39:51 2008 +0200
2955
2956    Applying Gentoos dosfstools-2.11-preen.patch from Roy Marples
2957    <uberlord@gentoo.org> to alias dosfsck -p to -a:
2958
2959      * Map -p to -a for baselayout-2, #177514.
2960
2961    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2962
2963commit aaa40a9
2964Author: Daniel Baumann <mail@daniel-baumann.ch>
2965Date:   Fri Sep 26 15:49:43 2008 +0200
2966
2967    Applying Gentoos dosfstools-2.11-build.patch from Mike Frysinger
2968    <vapier@gentoo.org> to improve Makefile:
2969
2970      * Respect user settings #157785/#157786 by Diego Petteno.
2971
2972    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2973
2974commit 251626d
2975Author: Daniel Baumann <mail@daniel-baumann.ch>
2976Date:   Fri Sep 26 15:37:34 2008 +0200
2977
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:
2981
2982      * Don't double-count n_files during a verification pass.
2983        Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845
2984
2985    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2986
2987commit e670ea8
2988Author: Daniel Baumann <mail@daniel-baumann.ch>
2989Date:   Fri Sep 26 15:33:36 2008 +0200
2990
2991    Applying Gentoos dosfstools-2.11-fat32size.patch from Mike Frysinger
2992    <vapier@gentoo.org> to fix generation of filesystems on 256meg devices:
2993
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
2997
2998    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2999
3000commit a6dc6a4
3001Author: Daniel Baumann <mail@daniel-baumann.ch>
3002Date:   Fri Sep 26 15:22:06 2008 +0200
3003
3004    Applying Suses dosfstools-2.11-unsupported-sector-size.patch from Petr
3005    Gajdos <pgajdos@suse.cz> to add sector size warning:
3006
3007      * added warning for creation msdos on filesystem with sector size
3008        greater than 4096 [fate#303325]
3009
3010    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3011
3012commit f746956
3013Author: Daniel Baumann <mail@daniel-baumann.ch>
3014Date:   Fri Sep 26 15:18:35 2008 +0200
3015
3016    Applying Suses dosfstools-2.11-mkdosfs-geo0.diff from Ludwig Nussel
3017    <lnussel@suse.de> to fix handling of zero heads and sectors:
3018
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.
3023
3024    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3025
3026commit cf243e4
3027Author: Daniel Baumann <mail@daniel-baumann.ch>
3028Date:   Fri Sep 26 15:15:40 2008 +0200
3029
3030    Applying Suses dosfstools-2.11-linuxfs.patch from Ruediger Oertel
3031    <ro@suse.de> to not include linux/fs.h.
3032
3033    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3034
3035commit 2d4f184
3036Author: Daniel Baumann <mail@daniel-baumann.ch>
3037Date:   Fri Sep 26 15:11:50 2008 +0200
3038
3039    Applying Fedoras dosfstools-2.11-assumeKernel26.patch from Peter Vrabec
3040    <pvrabec@redhat.com> to remove linux 2.6 conditionals:
3041
3042      * LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) does not work with
3043        glibc-kernheaders-2.4-9.1.94
3044
3045    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3046
3047commit 739a6fb
3048Author: Daniel Baumann <mail@daniel-baumann.ch>
3049Date:   Fri Sep 26 15:05:00 2008 +0200
3050
3051    Applying Debians 99-conglomeration.dpatch (no other information
3052    available).
3053
3054    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3055
3056commit 3b5ed8a
3057Author: Daniel Baumann <mail@daniel-baumann.ch>
3058Date:   Fri Sep 26 14:26:41 2008 +0200
3059
3060    Applying Debians 15-manpage-files.dpatch from Daniel Baumann
3061    <daniel@debian.org> to improve dosfsck manpage:
3062
3063      * Lists fsckNNNN.rec files in FILES section (Closes: #444596).
3064
3065    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3066
3067commit 3b6a863
3068Author: Daniel Baumann <mail@daniel-baumann.ch>
3069Date:   Fri Sep 26 14:34:42 2008 +0200
3070
3071    Applying Debians 13-getopt.dpatch from Adonikam Virgo
3072    <adonikam@virgonet.org> to fix mkdosfs getopt:
3073
3074      * Fixes backup sector getopt (Closes: #232387, #479794).
3075
3076    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3077
3078commit 1b2c8ca
3079Author: Daniel Baumann <mail@daniel-baumann.ch>
3080Date:   Fri Sep 26 14:34:17 2008 +0200
3081
3082    Applying Debians 12-zero-slot.dpatch by Karl Tomlinson
3083    <karlt@karlt.net> to fix dosfsck zero slot crashes:
3084
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).
3090
3091    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3092
3093commit eec8585
3094Author: Daniel Baumann <mail@daniel-baumann.ch>
3095Date:   Fri Sep 26 14:33:54 2008 +0200
3096
3097    Applying Debians 11-memory-efficiency.dpatch from Eero Tamminen
3098    <eero.tamminen@nokia.com> to improve dosfsck memory efficiency:
3099
3100      * Improves memory efficiency when checking filesystems.
3101
3102    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3103
3104commit 06bd669
3105Author: Daniel Baumann <mail@daniel-baumann.ch>
3106Date:   Fri Sep 26 14:33:28 2008 +0200
3107
3108    Applying Debians 10-manpage-synopsis.dpatch from Daniel Baumann
3109    <daniel@debian.org> to fix manpage synopsis:
3110
3111      * List alternative binary names in manpage synopsis (Closes: #284983).
3112
3113    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3114
3115commit 42d340d
3116Author: Daniel Baumann <mail@daniel-baumann.ch>
3117Date:   Fri Sep 26 14:32:46 2008 +0200
3118
3119    Applying Debians 09-manpage-fat32.dpatch from Daniel Baumann
3120    <daniel@debian.org> to improve mkdosfs manpage:
3121
3122      * Don't claim that FAT32 is not choosed automatically (Closes:
3123        #414183).
3124
3125    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3126
3127commit 0f5ce0d
3128Author: Daniel Baumann <mail@daniel-baumann.ch>
3129Date:   Fri Sep 26 14:32:23 2008 +0200
3130
3131    Applying Debians 08-manpage-drop.dpatch from Daniel Baumann
3132    <daniel@debian.org> to improve dosfsck manpage:
3133
3134      * Don't use confusing word 'drop' when 'delete' is meant (Closes:
3135        #134100).
3136
3137    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3138
3139commit 8ec54dd
3140Author: Daniel Baumann <mail@daniel-baumann.ch>
3141Date:   Fri Sep 26 14:31:50 2008 +0200
3142
3143    Applying Debians 07-manpage-spelling.dpatch from Justin Pryzby
3144    <justinpryzby@users.sourceforge.net> to fix mkdosfs manpage typos.
3145
3146    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3147
3148commit 4371588
3149Author: Daniel Baumann <mail@daniel-baumann.ch>
3150Date:   Fri Sep 26 14:30:31 2008 +0200
3151
3152    Applying Suses dosfstools-2.11_determine-sector-size.patch from Petr
3153    Gajdos <pgajdos@suse.cz> to determine mkdosfs sector size automatically:
3154
3155      * determine sector size of device automatically or if -S parameter
3156        present, verify, that it's not under physical sector size
3157
3158    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3159
3160commit fc92e19
3161Author: Daniel Baumann <mail@daniel-baumann.ch>
3162Date:   Fri Sep 26 14:30:03 2008 +0200
3163
3164    Applying Suses dosfstools-2.11-o_excl.patch from Pavol Rusnak
3165    <prusnak@suse.cz> to use O_EXCL in mkdosfs:
3166
3167      * mkdosfs now opens device with O_EXCL [#238687]
3168
3169    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3170
3171commit 3084697
3172Author: Daniel Baumann <mail@daniel-baumann.ch>
3173Date:   Fri Sep 26 14:29:36 2008 +0200
3174
3175    Applying Debians 04-unaligned-memory.dpatch from Khalid Aziz
3176    <khalid_aziz@hp.com> to fix dosfsck unaligned memory accesses:
3177
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).
3181
3182    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3183
3184commit 6d5c091
3185Author: Daniel Baumann <mail@daniel-baumann.ch>
3186Date:   Fri Sep 26 13:47:40 2008 +0200
3187
3188    Applying Fedoras dosfstools-2.11-label.patch from Jeremy Katz
3189    <katzj@redhat.com> to add dosfslabel (originally by Peter Jones).
3190
3191    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3192
3193commit 07ef487
3194Author: Daniel Baumann <mail@daniel-baumann.ch>
3195Date:   Fri Sep 26 13:41:14 2008 +0200
3196
3197    Applying Fedoras dosfstools-2.11-fortify.patch from Jakub Jelinek
3198    <jakub@redhat.com> to make it build with -D_FORTIFY_SOURCE=2:
3199
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.
3203
3204    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3205
3206commit 78f9dca
3207Author: Daniel Baumann <mail@daniel-baumann.ch>
3208Date:   Fri Sep 26 13:40:47 2008 +0200
3209
3210    Applying Fedoras dosfstools-2.7-argfix.patch (no other information
3211    available).
3212
3213    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3214
3215commit ba6774a (tag: v2.11)
3216Author: Daniel Baumann <mail@daniel-baumann.ch>
3217Date:   Thu Jun 26 12:45:36 2008 +0200
3218
3219    Adding version 2.11.
3220
3221    Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3222