"Fossies" - the Fresh Open Source Software Archive 
Member "dosfstools-4.2/ChangeLog" (31 Jan 2021, 169507 Bytes) of package /linux/misc/dosfstools-4.2.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "ChangeLog":
4.1_vs_4.2.
1 commit eb9111e
2 Author: Pali Rohár <pali.rohar@gmail.com>
3 Date: Sun Jan 31 13:26:03 2021 +0100
4
5 Add missing files into distribution tarball
6
7 commit 52518ae
8 Author: Pali Rohár <pali.rohar@gmail.com>
9 Date: Sun Jan 31 03:03:39 2021 +0100
10
11 mkfs.fat: Read geom_start from sysfs
12
13 HDIO_GETGEO which provides start member is not supported for loop block
14 devices. Also start member is only unsigned long so it cannot be used for
15 bigger disks. So instead read geom_start from sysfs and store it into long
16 long type to prevent overflow.
17
18 commit ed2062b
19 Author: Pali Rohár <pali.rohar@gmail.com>
20 Date: Fri Jan 29 16:40:56 2021 +0100
21
22 Autogenerate release date in manpages
23
24 commit fca589b
25 Author: Pali Rohár <pali.rohar@gmail.com>
26 Date: Fri Jan 29 16:40:20 2021 +0100
27
28 Update (C) and maintainers
29
30 commit c251412
31 Author: Pali Rohár <pali.rohar@gmail.com>
32 Date: Fri Jan 29 16:33:41 2021 +0100
33
34 Add TODO comments for checking integer overflow
35
36 commit 73003cd
37 Author: Pali Rohár <pali.rohar@gmail.com>
38 Date: Sat Jan 19 13:28:45 2019 +0100
39
40 Replace uint64_t type by unsigned long long type
41
42 commit c56ef3d
43 Author: Pali Rohár <pali.rohar@gmail.com>
44 Date: Sat Jan 19 13:22:05 2019 +0100
45
46 Remove useless casting to uint64_t or long long in check_file()
47
48 Value of clusters * fs->cluster_size is file size and it always fits into
49 32bit value. So use just unsigned int type for it.
50
51 commit 2e597d6
52 Author: Pali Rohár <pali.rohar@gmail.com>
53 Date: Sat Jan 19 13:20:16 2019 +0100
54
55 Check that file size is not larger than maximal possible size
56
57 commit 53d04ff
58 Author: Pali Rohár <pali.rohar@gmail.com>
59 Date: Sat Jan 19 13:15:25 2019 +0100
60
61 Change fat_size type from off_t to unsigned int
62
63 Value in fat_size is result of multiplication of two 16bit unsigned values,
64 therefore it fits into unsigned int.
65
66 commit 2f6d8cf
67 Author: Pali Rohár <pali.rohar@gmail.com>
68 Date: Fri Jan 29 02:10:58 2021 +0100
69
70 testsuite: Add reference images of fsck result tests
71
72 This ensures that fsck does not change its behavior and repair filesystems
73 in the same way. Repaired reference images were generated by dosfstools 4.1
74 to ensure that they are still same.
75
76 commit 5265c64
77 Author: Pali Rohár <pali.rohar@gmail.com>
78 Date: Fri Jan 29 02:10:22 2021 +0100
79
80 testsuite: Add fsck tests for fat labels
81
82 commit 2260f80
83 Author: Pali Rohár <pali.rohar@gmail.com>
84 Date: Sun Jan 3 23:22:42 2021 +0100
85
86 fsck.fat: Check and fix label
87
88 Checks the volume label from the root directory entry that is valid and
89 matches the label stored in boot sector.
90
91 Add new command line option -U which consider lowercase volume label as
92 invalid and allows only uppercase labels. By default lowercase volume
93 labels are allowed.
94
95 commit 77c3de9
96 Author: Pali Rohár <pali.rohar@gmail.com>
97 Date: Tue Jan 14 00:58:21 2020 +0100
98
99 Simplify usage of validate_volume_label() function
100
101 Use new function dos_string_to_wchar_string() for converting label from DOS
102 OEM code page to wchar_t* string. Therefore caller does not have to supply
103 label in both DOS OEM encoding and locale independent wchar_t* string.
104
105 commit f89b42d
106 Author: Pali Rohár <pali.rohar@gmail.com>
107 Date: Sun Aug 19 18:54:07 2018 +0200
108
109 Update warning message about lowercase labels
110
111 They are working fine on MS-DOS and Windows systems.
112
113 commit 5bbae89
114 Author: Pali Rohár <pali.rohar@gmail.com>
115 Date: Wed Aug 15 16:35:48 2018 +0200
116
117 charconv: Add functions for converting DOS strings to locale independent wchar_t strings
118
119 Use iconv library for it. And as a fallback use internal cp850_table.
120
121 commit 3a3c1d3
122 Author: Pali Rohár <pali.rohar@gmail.com>
123 Date: Thu Jan 28 10:39:36 2021 +0100
124
125 testsuite: Update mkfs-fat32_2_res_sects.xxd test as it is now not aligned due to -a
126
127 commit 289fa53
128 Author: Pali Rohár <pali.rohar@gmail.com>
129 Date: Wed Jan 27 02:03:39 2021 +0100
130
131 manpages: End every sentence by a newline
132
133 commit 61390f3
134 Author: Pali Rohár <pali.rohar@gmail.com>
135 Date: Wed Jan 27 02:01:48 2021 +0100
136
137 mkfs.fat: Do not align number of sectors when -a was specified
138
139 commit 7deb97d
140 Author: Pali Rohár <pali.rohar@gmail.com>
141 Date: Wed Jan 27 02:00:33 2021 +0100
142
143 mkfs.fat: Document that -r and -R specify minimal number (and not exact)
144
145 commit 4e06c33
146 Author: Pali Rohár <pali.rohar@gmail.com>
147 Date: Wed Jan 27 01:58:38 2021 +0100
148
149 fsck: Move check_dirty_bits() from boot.c to check.c
150
151 commit 738ee98
152 Author: Pali Rohár <pali.rohar@gmail.com>
153 Date: Sun Jan 17 16:15:41 2021 +0100
154
155 fatlabel: Print warnings on stderr
156
157 Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803391
158
159 commit e62e52c
160 Author: Pali Rohár <pali.rohar@gmail.com>
161 Date: Sun Jan 17 19:45:26 2021 +0100
162
163 fatlabel: Do not call parts of fsck repair procedure
164
165 This change adds a new parameter for read_fat() function to indicate a mode
166 in which filesystem is doing to be used: Read-only, Read-write or Repair.
167
168 fsck.fat uses Repair mode and fatlabel either Read-only or Read-write
169 (which depends on fatlabel operation).
170
171 fatlabel cannot repair broken FAT filesystem like fsck.fat. So when trying
172 to modify FAT label on currupted FAT filesystem rather throw an fatal error
173 indicating that running fsck.fat is needed.
174
175 When fatlabel was called to just read existing FAT label, first FAT table
176 is corrupted and second FAT table is clean then use second FAT table.
177
178 This change also ensures that fatlabel does not print fsck/repair messages
179 on stdout, which should be used only for printing FAT label.
180
181 commit b8c8531
182 Author: Pali Rohár <pali.rohar@gmail.com>
183 Date: Sun Jan 17 22:47:18 2021 +0100
184
185 testsuite: Add tests for DOS Clean Shutdown bit
186
187 commit 82c2111
188 Author: Pali Rohár <pali.rohar@gmail.com>
189 Date: Sun Jan 17 20:20:39 2021 +0100
190
191 testsuite: Add fsck tests with broken first FAT cluster
192
193 Extend also test-fsck script to read additional arguments from .args file.
194
195 commit 82e9730
196 Author: Pali Rohár <pali.rohar@gmail.com>
197 Date: Sun Jan 17 19:34:10 2021 +0100
198
199 fsck.fat: Add code for fixing first FAT cluster
200
201 This patch tries to fix infamous fsck.fat error:
202
203 Both FATs appear to be corrupt. Giving up.
204
205 It just fill again FAT media type and sets other bits to one as it is
206 required by FAT specification. Similar thing is doing also Windows chkdsk
207 tool.
208
209 In the most cases corrupted first FAT cluster is fatal error which
210 indicates totally corrupted filesystem impossible to repair. So fixing
211 first FAT cluster is not done by fsck.fat automatically and needs to be
212 enabled by a new -F option, which forces usage of specified FAT table
213 (either clean or corrupted).
214
215 commit e579a7d
216 Author: Pali Rohár <pali.rohar@gmail.com>
217 Date: Sat Nov 17 01:12:52 2018 +0100
218
219 mkfs.fat: Allow to specify disk geometry via new -g option
220
221 commit 9443732
222 Author: Pali Rohár <pali.rohar@gmail.com>
223 Date: Fri Jan 8 11:49:27 2021 +0100
224
225 testsuite: Add mkfs test for 600MB large 4K disk
226
227 commit 3300839
228 Author: Pali Rohár <pali.rohar@gmail.com>
229 Date: Sun Oct 14 16:19:51 2018 +0200
230
231 mkfs.fat: Do not show verbose messages not relevant to selected FAT size
232
233 commit 43f0c4e
234 Author: Pali Rohár <pali.rohar@gmail.com>
235 Date: Fri Aug 17 14:26:30 2018 +0200
236
237 mkfs.fat: Fix text of verbose messages
238
239 commit c01f78b
240 Author: Pali Rohár <pali.rohar@gmail.com>
241 Date: Tue Aug 14 15:48:50 2018 +0200
242
243 mkfs.fat: Fix limits for number of clusters
244
245 According to Microsoft FAT specification (fatgen103.doc) disk with at least
246 4085 clusters and less then 65525 clusters is FAT16.
247
248 But Microsoft Windows FAT driver fastfat.sys detects disk with less then
249 4087 clusters as FAT12. Linux FAT drivers msdos.ko and vfat.ko detect disk
250 with 4085 clusters (or more) as FAT16, therefore for compatibility reasons
251 with both systems disallow formatting disks to 4085 or 4086 clusters.
252
253 So after this change mkfs.fat disallow to create a FAT16 which would be
254 misinterpreted as FAT12. Next run of cluster detection algorithm would
255 choose higher cluster size which decrease number of clusters.
256
257 According to specification, FAT32 is detected by at least 65525 clusters,
258 but Microsoft Windows FAT driver fastfat.sys, Linux FAT drivers msdos.ko
259 and vfat.ko detect disk as FAT32 when Sectors Per FAT (fat_length) is set
260 to zero.
261
262 commit 404ead8
263 Author: Pali Rohár <pali.rohar@gmail.com>
264 Date: Sat Aug 11 20:34:08 2018 +0200
265
266 mkfs.fat: Fix calculation of FAT32 cluster size on non 512 bytes sector disks
267
268 Previous FAT32 calculation worked correctly only for disks with 512 byte
269 sectors. New calculation formula is generalized variant of previous one,
270 but to be sector size independent.
271
272 commit e6d2fc7
273 Author: Pali Rohár <pali.rohar@gmail.com>
274 Date: Wed Aug 15 15:11:30 2018 +0200
275
276 mkfs.fat: Fix printing number of sectors
277
278 It is unsigned 32bit number therefore use %u format.
279
280 commit b29eb5b
281 Author: Pali Rohár <pali.rohar@gmail.com>
282 Date: Wed Aug 15 15:15:06 2018 +0200
283
284 mkfs.fat: Align total number of sectors to be multiple of sectors per track
285
286 This requirement is needed by DOS systems and also by Linux mtools project.
287 Without proper alignment, mtools applications refuse to work on such
288 filesystem.
289
290 commit 8c81232
291 Author: Pali Rohár <pali.rohar@gmail.com>
292 Date: Sun Jan 10 22:29:48 2021 +0100
293
294 testsuite: Add referenceFAT32mbr test data to dist_check_DATA
295
296 commit 468aad7
297 Author: Pali Rohár <pali.rohar@gmail.com>
298 Date: Sun Jan 10 22:16:49 2021 +0100
299
300 manpages: Escape dot in fsck.fat manpage at the beginning of the line
301
302 commit 9069ba0
303 Author: felix <felix.von.s@posteo.de>
304 Date: Mon Apr 2 22:43:46 2018 +0200
305
306 fsck.fat: properly check for valid "." and ".." entries
307
308 This change makes fsck.fat check whether "." and ".." entries exist in
309 all non-root directories as the two very first. If those entries are
310 occupied by some other file, fsck.fat will offer to move them to some
311 later slot. "." and ".." entries found in any other slots are treated
312 as ordinary bad-shortname entries. The test case for this situation has
313 been enabled and verified to perform as expected.
314
315 The function drop_file() was also modified so that it does not mark
316 dropped file clusters as free. This was necessary because otherwise
317 dropping too-late "." and ".." entries would delete their containing
318 directory. If deleted entries' clusters are truly no longer used, they
319 shall be picked up by a later reclamation stage.
320
321 Additionally, subdirs() and check_file() were modified not to check
322 unused directory entries.
323
324 Additionally-fixed-by: Dave Odell <dmo2118@gmail.com>
325
326 commit 512141a
327 Author: C. Masloch <pushbx@ulukai.org>
328 Date: Sat Oct 24 13:53:08 2020 +0200
329
330 fsck.fat: preserve info sector reserved fields
331
332 This allows the FSIBOOT stage of lDOS boot32.asm to remain
333 in the FSINFO sector even when the info entries are reset.
334
335 I reviewed several sources to determine whether we are in the right to
336 assume that the reserved 480 bytes used by FSIBOOT should be preserved
337 by drivers updating the FSINFO entry fields.
338
339 Quoting the document "Microsoft Extensible Firmware Initiative - FAT32
340 File System Specification - FAT: General Overview of On-Disk Format -
341 Version 1.03, December 6, 2000" on these bytes:
342
343 > [Name] FSI_Reserved1
344 >
345 > [Offset (byte)] 4
346 >
347 > [Size (bytes)] 480
348 >
349 > [Description] This field is currently reserved for future expansion.
350 > FAT32 format code should always initialize all bytes of this field
351 > to 0. Bytes in this field must currently never be used.
352
353 This specifically states that "FAT32 format code" should zero-initialise
354 this space. It does not specify that a driver should or should not reset
355 this space.
356
357 The FreeDOS kernel uses a struct [1] that does not include the space
358 used by FSIBOOT. Its driver's implementation [2] does preserve the
359 FSIBOOT area. I have verified this in dosemu2; if the FreeDOS kernel
360 updates the FSINFO sector it preserves this area.
361
362 The Linux kernel uses a struct with a "reserved1" member [3] which is
363 commented as being "Nothing as far as I can tell". If I am reading the
364 source correctly, its driver [4] also preserves this area when updating
365 the FSINFO entries.
366
367 Testing on MS-DOS version 7.10 (as bundled with MS Windows 98 SE) I
368 determined that it also preserves the area when updating the FSINFO entries.
369
370 The free software RxDOS/lDOS boot loader for FAT32 that I wrote uses
371 this reserved area to store its FSIBOOT stage, essentially an extension
372 to the primary boot sector loader. To avoid clashing with Microsoft
373 loaders which may use some of the reserved sectors, the large reserved
374 area in the FSINFO sector was selected to hold this stage (if sector
375 size is <= 512 bytes). If valid, the area starts with a signature [5]
376 the first four bytes of which form the letters "FSIB"; the subsequent
377 four bytes specify a protocol version. For example, the current
378 (non-experimental) version is "FSIBOOT3" [6].
379
380 If there is no FSINFO sector or the FSIBOOT signature does not match the
381 one expected, then the 'I' error code letter ("i"nvalid FS"I"BOOT) is
382 displayed and the loading is aborted [7]. Prior to this patch, if the
383 FSINFO entries were invalid (any of the three FSINFO signatures don't
384 match) and then fsck.fat was used and instructed to correct this, it
385 would reset the space used by FSIBOOT, rendering the image unbootable
386 if the lDOS boot32 loader had been installed into the image.
387
388 I previously posted a similar patch for mtools to the info-mtools
389 mailing list [8]. I was approached to check whether dosfstools behaved
390 as expected. I determined that this patch is needed to fix the corner
391 case of invalid FSINFO entries with FSIBOOT installed into the sector.
392 I also patched the lDOS instsect application [9] so it insures that the
393 FSINFO entries are valid while installing FSIBOOT. With either that
394 patch to instsect or this patch to dosfstools, FSIBOOT will always be
395 preserved when running fsck.fat on a file system.
396
397 [1]:
398 https://github.com/FDOS/kernel/blob/6e42bb6d7c6dd304f738cf0d7a2db719598f1b9e/hdr/device.h#L325
399 [2]:
400 https://github.com/FDOS/kernel/blob/6e42bb6d7c6dd304f738cf0d7a2db719598f1b9e/kernel/fattab.c#L116
401 [3]:
402 https://github.com/torvalds/linux/blob/7cf726a59435301046250c42131554d9ccc566b8/include/uapi/linux/msdos_fs.h#L163
403 [4]:
404 https://github.com/torvalds/linux/blob/7cf726a59435301046250c42131554d9ccc566b8/fs/fat/misc.c#L60
405 [5]: https://hg.ulukai.org/ecm/ldosboot/file/aa15fd7bc58e/boot32.asm#l1164
406 [6]: https://hg.ulukai.org/ecm/ldosboot/file/aa15fd7bc58e/boot32.asm#l27
407 [7]: https://hg.ulukai.org/ecm/ldosboot/file/aa15fd7bc58e/boot32.asm#l775
408 [8]: https://lists.gnu.org/archive/html/info-mtools/2020-10/msg00000.html
409 [9]: https://hg.ulukai.org/ecm/instsect/rev/eee5dfaa52f6
410
411 commit 201665c
412 Author: Pali Rohár <pali.rohar@gmail.com>
413 Date: Sun Feb 16 12:33:32 2020 +0100
414
415 mkfs.fat: Update --help for -h (hidden sectors)
416
417 commit 25da96e
418 Author: Pali Rohár <pali.rohar@gmail.com>
419 Date: Sun Feb 16 12:22:04 2020 +0100
420
421 mkfs.fat: Relax -D option (BIOS drive number)
422
423 Allow to specify also second hard disk (0x81) or second floppy device
424 (0x01) as -D option = BIOS drive number.
425
426 commit bce0940
427 Author: Pali Rohár <pali.rohar@gmail.com>
428 Date: Sun Feb 17 18:59:54 2019 +0100
429
430 manpages: Update mkfs.fat manpage about FAT32 backup boot sector
431
432 commit da36707
433 Author: Pali Rohár <pali.rohar@gmail.com>
434 Date: Sun Feb 17 11:48:32 2019 +0100
435
436 mkfs.fat: Write FAT32 backup info sector after FAT32 backup boot sector
437
438 Write it only in the case when location does not conflict with real/primary
439 FAT32 info sector and reserved area is big enough.
440
441 commit 5b61d9f
442 Author: Pali Rohár <pali.rohar@gmail.com>
443 Date: Sun Feb 17 11:01:15 2019 +0100
444
445 testsuite: Run fsck test step always even if mkfs test step fails
446
447 fsck test step can show more details about badly created image by mkfs.
448
449 commit 53bfa1f
450 Author: Pali Rohár <pali.rohar@gmail.com>
451 Date: Sun Feb 17 10:56:06 2019 +0100
452
453 testsuite: Add test for mkfs.fat with two FAT32 sectors in reserved area
454
455 commit 3cca83a
456 Author: Pali Rohár <pali.rohar@gmail.com>
457 Date: Sun Feb 17 10:36:33 2019 +0100
458
459 mkfs.fat: Fix setting location of FAT32 backup boot sector
460
461 For FAT32 if there are only two sectors in reserved area, first must be
462 boot sector and second must be FAT32 fs info sector. And there would not be
463 FAT32 backup boot sector as it is optional. FAT32 info sector is for FAT32
464 media mandatory.
465
466 When backup_boot variable is set to zero it means that no FAT32 backup boot
467 sector is written. Check that FAT32 backup boot sector differs from FAT32
468 info sector is already there.
469
470 Also allow user to specify zero for -b option which disable creating of
471 FAT32 backup boot sector.
472
473 commit c5e35e7
474 Author: Pali Rohár <pali.rohar@gmail.com>
475 Date: Sun Feb 17 10:34:24 2019 +0100
476
477 mkfs.fat: Put FAT32 info sector number into variable
478
479 Also check that it is not same as backup boot sector value.
480
481 commit d276ddb
482 Author: Pali Rohár <pali.rohar@gmail.com>
483 Date: Sun Feb 17 10:32:08 2019 +0100
484
485 mkfs.fat: Rename info_sector buffer variable to info_sector_buffer
486
487 Also call free() unconditionally as it does nothing for NULL argument.
488
489 commit 5e936c9
490 Author: Pali Rohár <pali.rohar@gmail.com>
491 Date: Sat Nov 24 19:45:39 2018 +0100
492
493 mkfs.fat: Remove dependency on systemd/udev
494
495 There is no need that mkfs.fat depends on systemd. It uses it only for
496 reading additional information about block device.
497
498 This patch replace systemd/udev dependency code by reading those additional
499 information about block device directly from sysfs.
500
501 So no functionality of mkfs.fat is lost or removed.
502
503 commit 18a05e7
504 Author: Pali Rohár <pali.rohar@gmail.com>
505 Date: Sun Jan 5 00:58:41 2020 +0100
506
507 manpages: Fix '. SF' file names
508
509 commit 7e6d7d3
510 Author: Pali Rohár <pali.rohar@gmail.com>
511 Date: Sat Nov 24 18:18:53 2018 +0100
512
513 manpages: Fix switching to previous font style
514
515 In troff manpage language previous font style is selected by "\fP"
516 sequence, not by "\fR". "\fR" selects roman font style.
517
518 commit ffa5dfa
519 Author: Pali Rohár <pali.rohar@gmail.com>
520 Date: Sun Nov 18 21:14:24 2018 +0100
521
522 manpages: Fix formatting of bullets
523
524 In troff manpage language bullet is written as "\(bu".
525
526 commit bc65dd6
527 Author: Pali Rohár <pali.rohar@gmail.com>
528 Date: Sun Nov 18 21:10:29 2018 +0100
529
530 manpages: Fix formatting of emphases
531
532 To emphasize use italic font style instead of putting word into two
533 apostrophes. Ascii apostrophe in troff manpage language means "right single
534 quotation mark", therefore putting word into two apostrophes is fully
535 wrong.
536
537 Also arguments and file names should be formatted in italic.
538
539 commit 0273989
540 Author: Pali Rohár <pali.rohar@gmail.com>
541 Date: Sun Nov 18 21:01:55 2018 +0100
542
543 manpages: Fix formatting of hyphens, en and em dashes
544
545 In troff manpage language ascii minus is written as "\-", mathematical
546 minus as "\(mi", hyphen as "-", en-dash as "\(en" and em-dash as "\(em".
547
548 commit c85c863
549 Author: Pali Rohár <pali.rohar@gmail.com>
550 Date: Sun Oct 21 12:58:19 2018 +0200
551
552 manpages: Clarify unit of BLOCK-COUNT
553
554 BLOCK-COUNT is always in KiB unit independently of the disk sector size,
555 FAT sector size or FAT cluster size.
556
557 commit 69fcfe5
558 Author: Pali Rohár <pali.rohar@gmail.com>
559 Date: Sun Aug 19 16:35:22 2018 +0200
560
561 fsck.fat: Check for DOS Clean Shutdown bit
562
563 DOS Clean Shutdown bit in first reserved FAT entry is cleared when DOS or
564 Windows FAT driver mounts a volume and set is back when doing unmount.
565 Therefore set this bit when clearing FAT dirty bit in boot sector.
566
567 commit 68e8e54
568 Author: Pali Rohár <pali.rohar@gmail.com>
569 Date: Sat Jan 4 14:53:28 2020 +0100
570
571 mkfs.fat: Calculate CHS geometry according to SD Card Part 2 File System Specification
572
573 Use this CHS calculation when disk geometry is not available. This change
574 replaces hardcoded 64/32 value by formula based on total number of sectors.
575
576 For SD cards with more then 256MB capacity is CHS calculation according to
577 SD Card Part 2 File System Specification same as CHS calculation for hard
578 disks via LBA-Assist Translation.
579
580 commit 5199d68
581 Author: Pali Rohár <pali.rohar@gmail.com>
582 Date: Sun Aug 19 09:57:41 2018 +0200
583
584 mkfs.fat: Add a new option --mbr which fills MBR table with one partition
585
586 It is needed only for non-removable disks used on Microsoft Windows systems
587 and only when formatting whole unpartitioned disk.
588
589 Also some removable USB flash disks accessed via USB Mass Storage declares
590 themselves as non-removable and Microsoft Windows systems do not recognize
591 them without MBR partition table and MBR disk signature.
592
593 Because MBR sector and first FAT sector are very similar (starts with
594 boot code, ends with boot sign 0xAA55) they can live together at one
595 sector. Moreover location of the MBR partition table overlaps only with the
596 end of FAT boot code where is just place for the error message, it is
597 possible to fill (fake) MBR partition table with one partition which refers
598 to whole disk itself (starts at sector 0 and spans whole disk).
599
600 Similar thing is doing mformat (FAT12/16/32 formatting tool) from mtools
601 project or mkudffs (UDF formatting tool) from udftools project.
602
603 commit 9f856b7
604 Author: Pali Rohár <pali.rohar@gmail.com>
605 Date: Mon Jan 27 22:12:38 2020 +0100
606
607 charconv: Do not use %lc format modifier for wide char which cannot be converted to multibyte string
608
609 commit 032ec02
610 Author: Pali Rohár <pali.rohar@gmail.com>
611 Date: Tue Jan 14 00:27:31 2020 +0100
612
613 charconv: Fix usage of iconv() for state-dependent encodings
614
615 After first main iconv() call set conversion state to the initial state and
616 store corresponding shift sequence to output buffer via second iconv() call.
617
618 commit 4428d7d
619 Author: Pali Rohár <pali.rohar@gmail.com>
620 Date: Mon Jan 13 23:15:22 2020 +0100
621
622 charconv: Fix checks for overlong input strings
623
624 commit 2779d70
625 Author: Pali Rohár <pali.rohar@gmail.com>
626 Date: Wed Jan 8 01:03:24 2020 +0100
627
628 charconv: Use ICONV_CONST macro to fix compile warnings with GNU libiconv
629
630 Macro ICONV_CONST is defined by autoconf and expands either to "const" or
631 nothing based on what API provides iconv() implementation, either according
632 to SUSv2 or POSIX.1-2001/POSIX.1-2008.
633
634 commit 565d7a2
635 Author: Pali Rohár <pali.rohar@gmail.com>
636 Date: Wed Jan 8 01:02:16 2020 +0100
637
638 charconv: Fix check for return value of iconv
639
640 iconv() returns (unsigned) size_t type, so its return value is always
641 different from (signed) negative -1. To compare with -1 it first needs to
642 be casted to size_t type.
643
644 commit e9b42f5
645 Author: Pali Rohár <pali.rohar@gmail.com>
646 Date: Wed Jan 8 00:44:27 2020 +0100
647
648 charconv: Increase buffer size for output strings in current locale
649
650 MSDOS_NAME * 4 does not have to be enough size as iconv in translit mode
651 can return also 5 bytes per one wide character.
652
653 commit 1403c53
654 Author: Pali Rohár <pali.rohar@gmail.com>
655 Date: Wed Jan 8 00:42:35 2020 +0100
656
657 charconv: Fix buffer overflows by specifying output buffer size
658
659 commit 917846b
660 Author: Pali Rohár <pali.rohar@gmail.com>
661 Date: Tue Jan 7 00:54:15 2020 +0100
662
663 charconv: Fix put_char() function
664
665 Ensure that this function always print characters according to current
666 locale. So do not treat characters above 0xA0 as printable when
667 dos_char_to_printable() cannot process them.
668
669 commit 6dc68a8
670 Author: Pali Rohár <pali.rohar@gmail.com>
671 Date: Tue Jan 7 00:52:43 2020 +0100
672
673 charconv: Fix comment for init_conversion() function
674
675 commit 2d6c37d
676 Author: Pali Rohár <pali.rohar@gmail.com>
677 Date: Tue Jan 7 00:52:25 2020 +0100
678
679 charconv: For internal CP850 conversion add translit table
680
681 This CP850 translit table was created by iconv ASCII//TRANSLIT as a 7bit ASCII fallback.
682
683 commit 3ccfe29
684 Author: Pali Rohár <pali.rohar@gmail.com>
685 Date: Tue Jan 7 00:50:09 2020 +0100
686
687 charconv: As a fallback try to use also non-translit iconv conversion
688
689 commit 1b72fdf
690 Author: Pali Rohár <pali.rohar@gmail.com>
691 Date: Mon Jan 6 18:30:28 2020 +0100
692
693 charconv: Use const for input strings
694
695 commit 102aa76
696 Author: Pali Rohár <pali.rohar@gmail.com>
697 Date: Mon Jan 6 18:29:30 2020 +0100
698
699 charconv: Rename third argument of local_string_to_dos_string()
700
701 Correct name is out_size as it is size of output buffer and not length of string.
702
703 commit 49cc12a
704 Author: Lennart Poettering <lennart@poettering.net>
705 Date: Mon Aug 3 12:17:12 2020 +0200
706
707 mkfs: fsync() the block device before exiting
708
709 Let's make sure to sync the block device, before exiting. Otherwise, if
710 we operate on a loop device and people issue "losetup -d" right after
711 this command finishes our in-flight writes might never hit the disk.
712
713 (This took 4h of my life for me to figure out. The mkfs for all other
714 file systems I tested appear to synchronize when done, hence fat should
715 do too.)
716
717 commit cc75143
718 Author: Pali Rohár <pali.rohar@gmail.com>
719 Date: Mon Jan 27 22:22:35 2020 +0100
720
721 mkfs.fat: Mark struct fat32_fsinfo as packed
722
723 commit f8f455b
724 Author: Pali Rohár <pali.rohar@gmail.com>
725 Date: Mon Jan 27 22:25:20 2020 +0100
726
727 fatlabel: Update documentation about DOS codepage
728
729 commit 3ce32fa
730 Author: Pali Rohár <pali.rohar@gmail.com>
731 Date: Sat Jan 4 15:27:59 2020 +0100
732
733 mkfs.fat: Clarify licensing of the dummy boot sector
734
735 Original author H. Peter Anvin allowed to put mkfs.fat boot sector code
736 into the public domain.
737
738 commit 8dc8976
739 Author: Pali Rohár <pali.rohar@gmail.com>
740 Date: Fri Feb 14 00:00:27 2020 +0100
741
742 manpages: Update documentation about hidden sectors
743
744 Fixes #29
745
746 commit 17be357
747 Author: David Gumberg <davidzgumberg@gmail.com>
748 Date: Sun Oct 13 18:21:57 2019 -0600
749
750 Get cross-platform libc6 generically
751
752 commit 5e2529e
753 Author: Pali Rohár <pali.rohar@gmail.com>
754 Date: Mon Oct 14 12:21:36 2019 +0200
755
756 travis: use if ... fi construction
757
758 As single test command has side effect in return value for Travis.
759
760 commit 20092b8
761 Author: Pali Rohár <pali.rohar@gmail.com>
762 Date: Mon Oct 14 12:14:07 2019 +0200
763
764 travis: Check for fatlabel test errors only for non-static builds
765
766 Static builds have broken iconv support which is detected at configure time
767 as usable. This leads to usage of internal CP850 conversion table as
768 fallback solution which throws runtime non-fatal error.
769
770 commit a4a0d62
771 Author: Pali Rohár <pali.rohar@gmail.com>
772 Date: Mon Oct 14 09:48:43 2019 +0200
773
774 tests: Check for stderr errors from fatlabel tests
775
776 commit 84a8d1c
777 Author: Pali Rohár <pali.rohar@gmail.com>
778 Date: Sun Jun 23 12:01:48 2019 +0200
779
780 charconv: Update Travis configuration
781
782 Use autogen.sh instead of non-working autoreconf and test also
783 static linked versions and configurations without iconv.
784
785 commit b657ede
786 Author: Pali Rohár <pali.rohar@gmail.com>
787 Date: Sun Jun 23 10:47:44 2019 +0200
788
789 charconv: Add autogen.sh script
790
791 AM_ICONV macro depends on gettext installation. Unfortunately autoreconf is
792 not able to install config.rpath file so do it manually in autogen.sh.
793
794 See reported bug:
795 https://lists.gnu.org/archive/html/bug-gettext/2011-10/msg00012.html
796
797 commit 0dec6a7
798 Author: Pali Rohár <pali.rohar@gmail.com>
799 Date: Sat Jun 22 22:14:31 2019 +0200
800
801 charconv: Fix sources for testdevinfo target
802
803 testdevinfo does not use any of charconv functions, nor any of mkfs
804 functions. So do not link charconv/mkfs into testdevinfo.
805
806 This fixes linking problems when iconv functions are not present in
807 standard libraries.
808
809 commit 664192e
810 Author: Pali Rohár <pali.rohar@gmail.com>
811 Date: Sat Jun 22 01:23:54 2019 +0200
812
813 charconv: Check return value of all set_dos_codepage() calls
814
815 commit 6d49a1f
816 Author: Pali Rohár <pali.rohar@gmail.com>
817 Date: Sat Jun 22 01:16:44 2019 +0200
818
819 charconv: Check presence of iconv
820
821 Use autoconf AM_ICONV macro for it. AM_ICONV should handle both cases when
822 iconv_open is available in external libiconv library or as part of libc
823 library.
824
825 To force compilation of dosfstools without iconv support there is a new
826 configure option --without-iconv.
827
828 commit fa9761f
829 Author: Pali Rohár <pali.rohar@gmail.com>
830 Date: Sat Jun 22 01:14:37 2019 +0200
831
832 charconv: Fix return value from iconv_init_codepage function
833
834 commit d74c592
835 Author: Pali Rohár <pali.rohar@gmail.com>
836 Date: Sat Jun 22 01:12:46 2019 +0200
837
838 charconv: Add fallback to internal CP850 table
839
840 Static linked version of glibc does not contain iconv with CP850 support.
841 As CP850 is default code page for all dosfstools programs add own internal
842 implementation which will be always supported. It would be used only in
843 case iconv_open() fails.
844
845 commit 91978a2
846 Author: Michael Forney <mforney@mforney.org>
847 Date: Fri Jun 7 08:48:13 2019 -0700
848
849 Use static inline function instead of statement expression
850
851 commit e06e759
852 Author: Pali Rohár <pali.rohar@gmail.com>
853 Date: Wed Jun 5 09:25:52 2019 +0200
854
855 Fix Travis CI configuration for powerpc and arm
856
857 commit fc55b63
858 Author: Noé Rubinstein <nrubinstein@aldebaran.com>
859 Date: Mon Aug 31 15:19:57 2015 +0200
860
861 mkfs: document --offset in the man page
862
863 commit f473459
864 Author: Noé Rubinstein <nrubinstein@aldebaran.com>
865 Date: Thu Jul 2 15:49:06 2015 +0200
866
867 Allow specifying an offset in the device file in mkfs
868
869 commit 93b4288
870 Author: Tobias Stoeckmann <stoeckmann@users.noreply.github.com>
871 Date: Sun Feb 24 20:55:15 2019 +0100
872
873 Fix out of boundary read in fsck.fat/fatlabel
874
875 Faulty filesystems are able to trigger integer overflows in read_boot which eventually lead to insufficient allocation of memory for the FAT and therefore out of boundary reads.
876
877 commit af3e50d
878 Author: Pali Rohár <pali.rohar@gmail.com>
879 Date: Sun Aug 12 12:15:45 2018 +0200
880
881 device_info: Fix parsing partition number
882
883 Ensures that it is always valid number which does not overflow or
884 underflow.
885
886 commit 086e13c
887 Author: Pali Rohár <pali.rohar@gmail.com>
888 Date: Sun Aug 12 12:15:21 2018 +0200
889
890 mkfs.fat: Fix parsing of block number
891
892 Block number must not be negative. It is 32bit so use long long type and
893 strtoll() function to ensure that converted positive 32bit value would fit
894 into type.
895
896 commit a2b97c9
897 Author: Pali Rohár <pali.rohar@gmail.com>
898 Date: Sun Aug 12 12:13:35 2018 +0200
899
900 mkfs.fat: Fix validation of numeric command line arguments
901
902 Ensures that argument is always valid number which does not overflow or
903 underflow.
904
905 commit 07e63ac
906 Author: Pali Rohár <pali.rohar@gmail.com>
907 Date: Sun Aug 12 11:56:32 2018 +0200
908
909 mkfs.fat: Fix validation of volume ID
910
911 Use same logic as in fatlabel.
912
913 commit 425a415
914 Author: Pali Rohár <pali.rohar@gmail.com>
915 Date: Sat Aug 11 22:49:37 2018 +0200
916
917 fatlabel: Fix validation of volume ID
918
919 Standard C function strtoull() does not signal underflow, therefore it
920 cannot be used for conversion of arbitrary string to integer with detection
921 of failure.
922
923 Instead use function strtoll() and detect underflow (negative value)
924 manually.
925
926 Note that strto* functions skips and ignores leading whitespace characters,
927 so detects them manually via standard C function isspace().
928
929 commit da07aa4
930 Author: Pali Rohár <pali.rohar@gmail.com>
931 Date: Sat Jan 19 09:48:25 2019 +0100
932
933 Update Travis configuration
934
935 * Use both gcc and clang compilers
936 * Compile with -fwrapv and -fsanitize=address
937 * Compile in both 32 and 64 modes for x86 systems
938 * Cross compile for little endian arm and big endian powerpc
939 * Run cross compiled binaries in qemu
940
941 commit a6ec69d
942 Author: Tobias Stoeckmann <tobias@stoeckmann.org>
943 Date: Mon Jan 14 22:47:40 2019 +0100
944
945 Renamed len to out_size.
946
947 As pointed out by pali it makes sense to rename len to out_size
948 to make explicitly sure by proper naming that this is the actually
949 available memory size at "out", not the length of a string.
950
951 Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
952
953 commit 6080fe2
954 Author: Tobias Stoeckmann <tobias@stoeckmann.org>
955 Date: Mon Jan 14 19:36:11 2019 +0100
956
957 Fixed off-by-one in local_string_to_dos_string.
958
959 The function local_string_to_dos_string is vulnerable to an off-by-one
960 buffer overflow. In fact, it is triggered in default usage and becomes
961 visible when compiled with ASAN:
962
963 $ CFLAGS="-fsanitize=address" ./configure
964 $ dd if=/dev/zero of=example.iso bs=1024 seek=64 count=1
965 $ ./src/mkfs.fat example.iso
966 mkfs.fat 4.1+git (2017-01-24)
967 =================================================================
968 ==3857==ERROR: AddressSanitizer: stack-buffer-overflow on address ...
969
970 The problem is that the argument "len" to local_string_to_dos_string
971 stores the length of the output buffer. Yet it can also be used as an
972 index to store '\0':
973
974 If the whole "out" buffer has been written to, bytes_out is 0 and
975 the assignment in out[len-bytes_out] therefore leads to an off-by-one.
976
977 Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
978
979 commit 332fc29
980 Author: Pali Rohár <pali.rohar@gmail.com>
981 Date: Sun Nov 18 20:47:29 2018 +0100
982
983 Fix memory leaks in read_fat() function
984
985 Function read_fat() allocates memory to the user supplied buffer. Therefore
986 that function needs complement function for releasing allocated memory and
987 user needs to call if after finish its work.
988
989 This patch fixes memory leaks in fsck.fat and fatlabel tools.
990
991 Fixes #13
992
993 commit 4cfd643
994 Author: Pali Rohár <pali.rohar@gmail.com>
995 Date: Sat Sep 29 10:08:12 2018 +0200
996
997 mkfs.fat: Fix endianity for hidden_sectors
998
999 Global variable hidden_sectors is in host byte order.
1000
1001 commit a874650
1002 Author: Pali Rohár <pali.rohar@gmail.com>
1003 Date: Tue Aug 14 21:13:52 2018 +0200
1004
1005 mkfs.fat: Add some workaround for Year 2038 Bug
1006
1007 Check return values of time(), gmtime() and localtime() function which may
1008 fail. Fallback to date/time 1.1.1980 00:00:00 when those functions fail.
1009
1010 For generating volume id, add fallback code based on rand() function.
1011
1012 commit 607fbed
1013 Author: Pali Rohár <pali.rohar@gmail.com>
1014 Date: Tue Aug 14 20:57:27 2018 +0200
1015
1016 fsck.fat: Fix Year 2038 Bug
1017
1018 Do not use time_t type and strftime() function which are affected by the
1019 Year 2038 Bug. Instead parse date/time directly from DOS format which
1020 avoids conversion from DOS to UNIX + conversion from UNIX to string.
1021
1022 commit fb0cc0d
1023 Author: Andreas Bombe <aeb@debian.org>
1024 Date: Tue Aug 14 12:58:58 2018 +0200
1025
1026 Fix gcc sprintf() length warnings
1027
1028 There are two sprintf() calls that receive warnings from current
1029 versions of gcc for possibly overrunning the temporary buffers they're
1030 writing into.
1031
1032 The first one in src/check.c is theoretically safe since strftime()
1033 shouldn't generate such a long string. Reduce the maximum length of the
1034 strftime() string to fix this warning. Also detect strftime() errors
1035 and overwrite the buffer with a message in that case.
1036
1037 The second one in src/boot.c should not be possible and is a limitation
1038 of gcc's detection. It assumes that %02x could write up to 8
1039 characters, even though the arguments are pointers to uint8_t which
1040 can't be more than two characters. Placate gcc by lengthening the
1041 temporary buffer by 12 bytes.
1042
1043 commit ca54953
1044 Author: Pali Rohár <pali.rohar@gmail.com>
1045 Date: Mon May 7 09:27:16 2018 +0200
1046
1047 mkfs.fat: Add support for --codepage option for label and validate it
1048
1049 commit 40da1b2
1050 Author: Pali Rohár <pali.rohar@gmail.com>
1051 Date: Mon May 7 09:26:42 2018 +0200
1052
1053 fatlabel: Implement proper checks when setting new label
1054
1055 According to Microsoft FAT specification "fatgen103.doc" there are
1056 following restrictions for FAT label stored in root directory:
1057
1058 * DIR_Name[0] may not equal 0x20.
1059
1060 * Lower case characters are not allowed in DIR_Name (what these characters
1061 are is country specific).
1062
1063 * The following characters are not legal in any bytes of DIR_Name:
1064
1065 - Values less than 0x20 except for the special case of 0x05 in
1066 DIR_Name[0]
1067
1068 - 0x22, 0x2A, 0x2B, 0x2C, 0x2E, 0x2F, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
1069 0x5B, 0x5C, 0x5D, and 0x7C
1070
1071 And another Microsoft "FAT32 Spec (SDA Contribution).pdf" describe:
1072
1073 * DIR_Name[0] cannot equal 0x20 (in other words, names cannot start with a
1074 space character).
1075
1076 commit 4f953bb
1077 Author: Andreas Bombe <aeb@debian.org>
1078 Date: Mon Jun 11 14:21:17 2018 +0200
1079
1080 Remove long file name when changing short file name
1081
1082 In the current state, long file names are poorly supported and in case
1083 the file got automatically or manually renamed in auto_rename() or
1084 rename_file(), only the short file name would be manipulated.
1085
1086 Only the checksum would be fixed to have the LFN stay valid. This would
1087 cause issues such as the rename being hidden by the unchanged LFN or
1088 duplicate LFNs remaining if they were the cause for a rename.
1089
1090 Change so that existing LFNs are removed for files being renamed.
1091
1092 commit b356cf0
1093 Author: Andreas Bombe <aeb@debian.org>
1094 Date: Mon Jun 11 14:17:03 2018 +0200
1095
1096 Print error message when auto_rename() is called on FAT32 root directory
1097
1098 Use the same error message as rename_file() uses for the same reason
1099 when called on the FAT32 root directory pseudo file rather than silently
1100 ignoring.
1101
1102 commit 8c4122e
1103 Author: felix <felix.von.s@posteo.de>
1104 Date: Mon Jun 11 04:35:35 2018 +0200
1105
1106 Fix allowing changes in SFNs reporting bogus error on FAT32 root directory
1107
1108 The code to permit spaces in short filenames introduced in commit
1109 4d01db7c6 caused the root directory pseudo file to be checked for a bad
1110 name. Since the name for that file is not set (zeroed out), bad_name()
1111 would report an error. Attempting to fix it would do nothing as the
1112 rename functions check for and ignore the root directory.
1113
1114 Fix by checking for the root directory in bad_name().
1115
1116 commit 96e6efd
1117 Author: Andreas Bombe <aeb@debian.org>
1118 Date: Sun Jun 10 03:09:14 2018 +0200
1119
1120 fsck: Fix -S option not being recognized
1121
1122 The call to getopt_long() did not include the -S option, so that it was
1123 not recognized even though its handling was implemented.
1124
1125 commit 4d01db7
1126 Author: felix <felix.von.s@posteo.de>
1127 Date: Mon Apr 2 10:20:10 2018 +0200
1128
1129 fsck.fat: Allow spaces in the middle of SFNs
1130
1131 Also, introduce an -S option (mostly) restoring previous behaviour.
1132
1133 commit c74ca0c
1134 Author: Pali Rohár <pali.rohar@gmail.com>
1135 Date: Wed Mar 7 18:00:15 2018 +0100
1136
1137 manpages: Add section DOS CODEPAGES to fatlabel
1138
1139 Table was extracted from the National Language Support (NLS) API Reference:
1140 https://www.microsoft.com/resources/msdn/goglobal/default.mspx?OS=Windows+7
1141
1142 And filtered by codepages supported by GNU libiconv.
1143
1144 commit b665a93
1145 Author: Pali Rohár <pali.rohar@gmail.com>
1146 Date: Wed Mar 7 17:59:50 2018 +0100
1147
1148 fatlabel: Add support for --codepage option
1149
1150 FAT label in both boot sector and root directory is stored according to
1151 current OEM code page. Microsoft Windows system treat FAT label really in
1152 this way. In most cases OEM code page is just 8bit extension of the
1153 printable ASCII, therefore for ASCII-only labels there is no change.
1154
1155 By default OEM code page 850 is used which contains most of the characters
1156 that are also available in ISO-8859-1. Same default which is used by
1157 fsck.fat and mlabel (from mtools project).
1158
1159 commit 76c0362
1160 Author: Pali Rohár <pali.rohar@gmail.com>
1161 Date: Wed Mar 7 17:58:05 2018 +0100
1162
1163 fsck.fat: Change default DOS codepage to 850
1164
1165 The reason for change is that 850 is more common on Windowes and used by
1166 more regions as 437. Also it contains most of the characters that are also
1167 available in ISO-8859-1. And 850 is also default DOS code page used by
1168 mtools, which is used on Linux.
1169
1170 commit 18ed349
1171 Author: Pali Rohár <pali.rohar@gmail.com>
1172 Date: Wed Mar 7 17:57:23 2018 +0100
1173
1174 Initialize iconv "from codepage" with //TRANSLIT
1175
1176 This would allow to show characters from DOS codepage on systems which
1177 current locale does not support it via transliteration.
1178
1179 For example byte E8 in DOS CP437 (e with a grave accent) does not have
1180 representation in Linux locale Latin2. But it can be shown after
1181 transliteration as simple character "e".
1182
1183 commit 08d743c
1184 Author: Pali Rohár <pali.rohar@gmail.com>
1185 Date: Wed Mar 7 17:57:13 2018 +0100
1186
1187 Initialize only LC_CTYPE locale
1188
1189 LC_ALL is not needed as locale is used just for CODESET. LC_CTYPE is enough
1190 for using nl_langinfo(CODESET).
1191
1192 commit 2112913
1193 Author: Pali Rohár <pali.rohar@gmail.com>
1194 Date: Sun Apr 8 11:37:29 2018 +0200
1195
1196 Add tests for FAT32 labels
1197
1198 These FAT32 images were generated for FAT label test suite in October 2017.
1199 Now fatlabel reports same FAT32 label as MS-DOS 6, 7 and Windows 98, XP, 10.
1200
1201 For more information about test result see email:
1202 https://www.spinics.net/lists/kernel/msg2640891.html
1203
1204 commit bfeedfc
1205 Author: Pali Rohár <pali.rohar@gmail.com>
1206 Date: Thu Nov 9 21:25:05 2017 +0100
1207
1208 mkfs.fat: Correctly process 0xe5 as first character of directory entry
1209
1210 Same as commit 51da71aa9edc36fabf83323282f14e7ee71aa07b but for mkfs.fat.
1211
1212 commit 1b866f4
1213 Author: Pali Rohár <pali.rohar@gmail.com>
1214 Date: Thu Nov 9 21:25:01 2017 +0100
1215
1216 fsck.fat: Handle 0xe5 as first character of directory entry
1217
1218 Same as commit 51da71aa9edc36fabf83323282f14e7ee71aa07b but for fsck.fat.
1219
1220 commit 5b702a7
1221 Author: Pali Rohár <pali.rohar@gmail.com>
1222 Date: Thu Nov 30 00:07:39 2017 +0100
1223
1224 manpages: Add section COMPATIBILITY and BUGS to fatlabel
1225
1226 commit 900edb6
1227 Author: Pali Rohár <pali.rohar@gmail.com>
1228 Date: Thu Nov 30 00:07:22 2017 +0100
1229
1230 fatlabel: Optimize size of the binary
1231
1232 Move implementation of the alloc_rootdir_entry() function from the check.c
1233 to boot.c and do not link unneeded objects files into fatlabel binary.
1234
1235 This would decrease size of the fatlabel binary nearly by half. With -g -O2
1236 size before was about 194131 bytes and after just 104497 bytes.
1237
1238 commit 0901aa8
1239 Author: Pali Rohár <pali.rohar@gmail.com>
1240 Date: Thu Nov 30 00:07:05 2017 +0100
1241
1242 fatlabel: Clear ATTR_VOLUME from directory entry when removing label
1243
1244 Older versions of fatlabel ignored FAT entries with deletion mark 0xE5 and
1245 tried to read labels also from those entries. This fix clear ATTR_VOLUME so
1246 older versions would not try to read label from deleted entry.
1247
1248 commit cb8e674
1249 Author: Pali Rohár <pali.rohar@gmail.com>
1250 Date: Thu Nov 30 00:06:51 2017 +0100
1251
1252 fatlabel: Print label without padding spaces
1253
1254 Every entry in FAT directory is padded with spaces, which are not part of
1255 entry name. Therefore show also label from root FAT directory without those
1256 padding spaces.
1257
1258 commit d822d5b
1259 Author: Pali Rohár <pali.rohar@gmail.com>
1260 Date: Thu Nov 30 00:06:36 2017 +0100
1261
1262 fatlabel: Show only label stored in root directory
1263
1264 MS-DOS 6.22, MS-DOS 7.10, Windows 98, Windows XP and also Windows 10
1265 ignores label stored in boot sector. When label in boot sector is non-empty
1266 and label in root directory is missing then they treat situation as there
1267 is no label for particular disk. So when labels in boot sector and root
1268 directory are out of sync, fatlabel shown different label as those MS-DOS
1269 and Windows systems. To make behavior between DOS, Windows and Linux
1270 consistent, ignores label in boot sector also in fatlabel.
1271
1272 commit c598354
1273 Author: Ashe David Sterkehus <ashe.goulding@gmail.com>
1274 Date: Wed Nov 22 00:20:40 2017 +0900
1275
1276 mkfs: Check volume label given with -n is no longer than 11 characters
1277
1278 Fixes #70
1279
1280 commit 87a8f29
1281 Author: Will Newton <willn@resin.io>
1282 Date: Thu Aug 31 10:42:13 2017 +0100
1283
1284 src/check.c: Fix up mtools created bad dir entries
1285
1286 mtools writes uninitialized data to the case field of some
1287 directory entries. Running fsck.fat on these filesystems
1288 will cause the directory to get deleted which can lead to
1289 data loss. Detect this situation and clear the flag instead.
1290
1291 mtools patch to fix the original issue:
1292
1293 https://lists.gnu.org/archive/html/info-mtools/2014-08/msg00000.html
1294
1295 Signed-off-by: Will Newton <willn@resin.io>
1296
1297 commit fe3ada3
1298 Author: Andreas Bombe <aeb@debian.org>
1299 Date: Sun Oct 15 16:26:01 2017 +0200
1300
1301 manpages: Remove formatting from NAME sections where it doesn't belong
1302
1303 The .SH NAME sections are supposed to contain just "name \- description"
1304 with no bolding on the name.
1305
1306 Signed-off-by: Andreas Bombe <aeb@debian.org>
1307
1308 commit 0d2d2b2
1309 Author: Andreas Bombe <aeb@debian.org>
1310 Date: Sun Oct 1 15:17:13 2017 +0200
1311
1312 manpages: Clarify rules for volume labels as implemented
1313
1314 Signed-off-by: Andreas Bombe <aeb@debian.org>
1315
1316 commit 86fa0d8
1317 Author: Andreas Bombe <aeb@debian.org>
1318 Date: Sun Oct 1 15:16:12 2017 +0200
1319
1320 manpages: Make SEE ALSO sections conform to conventions
1321
1322 Signed-off-by: Andreas Bombe <aeb@debian.org>
1323
1324 commit 5cdad55
1325 Author: Andreas Bombe <aeb@debian.org>
1326 Date: Sun Oct 1 03:57:59 2017 +0200
1327
1328 Harmonize unknown command line option handling
1329
1330 Now all binaries will show help and not try to print something like
1331 "unknown option '?'" because '?' is the value getopt_long() returns when
1332 it encounters an unknown option. At this point, getopt_long() has
1333 already printed the problem to stderr so we don't have to.
1334
1335 The default action on getopt_long() return values (neither known option
1336 nor '?') is to report an internal error with the unexpected value.
1337
1338 Signed-off-by: Andreas Bombe <aeb@debian.org>
1339
1340 commit 34fd8eb
1341 Author: Andreas Bombe <aeb@debian.org>
1342 Date: Sun Oct 1 03:04:00 2017 +0200
1343
1344 fatlabel: Add new -r, --reset option
1345
1346 This new option removes the label or generates a new serial number if in
1347 volume ID mode.
1348
1349 Signed-off-by: Andreas Bombe <aeb@debian.org>
1350
1351 commit e4e346f
1352 Author: Andreas Bombe <aeb@debian.org>
1353 Date: Sun Oct 1 02:43:03 2017 +0200
1354
1355 fatlabel: Don't access element of argv array that may not exist
1356
1357 Signed-off-by: Andreas Bombe <aeb@debian.org>
1358
1359 commit 17dea47
1360 Author: Andreas Bombe <aeb@debian.org>
1361 Date: Sun Oct 1 02:27:31 2017 +0200
1362
1363 Move generation of serial number into new function generate_volume_id()
1364
1365 Signed-off-by: Andreas Bombe <aeb@debian.org>
1366
1367 commit 07f0238
1368 Author: Andreas Bombe <aeb@debian.org>
1369 Date: Sun Oct 1 02:17:41 2017 +0200
1370
1371 Add remove_label() function
1372
1373 Signed-off-by: Andreas Bombe <aeb@debian.org>
1374
1375 commit ce7e7f9
1376 Author: Andreas Bombe <aeb@debian.org>
1377 Date: Sun Oct 1 01:42:55 2017 +0200
1378
1379 fatlabel: Refuse empty strings as labels
1380
1381 Signed-off-by: Andreas Bombe <aeb@debian.org>
1382
1383 commit 51da71a
1384 Author: Andreas Bombe <aeb@debian.org>
1385 Date: Sun Oct 1 01:28:32 2017 +0200
1386
1387 Handle 0xe5 as first character of volume label
1388
1389 Directory entries are not allowed to have 0xe5 as the first character as
1390 that is the marker for deleted entries. Instead, these have to be
1391 converted to 0x05 on writing and the other way on reading.
1392
1393 Signed-off-by: Andreas Bombe <aeb@debian.org>
1394
1395 commit 3a1aac1
1396 Author: Andreas Bombe <aeb@debian.org>
1397 Date: Sun Oct 1 01:11:05 2017 +0200
1398
1399 Remove leftover handling of split directory entry name
1400
1401 The name field in DIR_ENT used to be split into name and ext. Reading
1402 the volume label from a DIR_ENT used to require merging the contents of
1403 both fields and that handling was still there as reading parts of the
1404 same name field and merging them. Simply read in one go instead.
1405
1406 Signed-off-by: Andreas Bombe <aeb@debian.org>
1407
1408 commit 04aca69
1409 Author: Andreas Bombe <aeb@debian.org>
1410 Date: Sun Oct 1 00:54:12 2017 +0200
1411
1412 Terminate volume label search at end of directory
1413
1414 In find_volume_de() there is no point in scanning the directory entries
1415 after the first end of directory marker (name starts with a zero byte).
1416 Simply return 0 if end of directory is encountered.
1417
1418 Signed-off-by: Andreas Bombe <aeb@debian.org>
1419
1420 commit 747c8f9
1421 Author: Andreas Bombe <aeb@debian.org>
1422 Date: Sun Oct 1 00:46:05 2017 +0200
1423
1424 Avoid returning deleted directory entries as labels
1425
1426 In find_volume_de(), only the attributes were tested to decide whether a
1427 directory entry was a volume label. This could lead to deleted entries
1428 being returned. Check the name for deleted or unallocated marker to
1429 prevent this.
1430
1431 Signed-off-by: Andreas Bombe <aeb@debian.org>
1432
1433 commit 0a733d8
1434 Author: Pali Rohár <pali.rohar@gmail.com>
1435 Date: Wed Jul 5 20:44:00 2017 +0200
1436
1437 fatlabel: Fix erasing label
1438
1439 Empty label needs to be stored as "NO NAME ". Like in mkfs treat label
1440 which starts with character 0xE5 as empty.
1441
1442 commit e1397b9
1443 Author: Pali Rohár <pali.rohar@gmail.com>
1444 Date: Wed Jul 5 20:37:17 2017 +0200
1445
1446 mkfs: Handle -n "" correctly
1447
1448 When user specify empty argument for -n, then it is empty label and needs
1449 to be transformed to NO_NAME. Also treat -n argument which starts with
1450 character 0xE5 as empty because label is stored also in root FAT directory
1451 and such entry is marked as deleted.
1452
1453 Fixes #54
1454
1455 commit 2afb699
1456 Author: Pali Rohár <pali.rohar@gmail.com>
1457 Date: Thu Sep 28 10:13:56 2017 +0200
1458
1459 fatlabel: Fix parsing volume ID
1460
1461 * Do not allow specifying empty argument as volume ID
1462 * Check for errno (as general error) after more specific errors
1463
1464 Fixes #64
1465
1466 commit 7ddcf9b
1467 Author: Andreas Bombe <aeb@debian.org>
1468 Date: Mon Sep 25 01:21:23 2017 +0200
1469
1470 fatlabel: Implement volume ID mode
1471
1472 When given the new -i or --volume-id option, fatlabel will display or
1473 change the volume ID (serial number) instead of the volume label. The ID
1474 is displayed as an 8 digit hexadecimal number, when changing it must
1475 also be given as a hexadecimal number that fits within 32 bits.
1476
1477 Fixes #52
1478
1479 Signed-off-by: Andreas Bombe <aeb@debian.org>
1480
1481 commit 20a3e0f
1482 Author: Andreas Bombe <aeb@debian.org>
1483 Date: Mon Sep 25 00:36:33 2017 +0200
1484
1485 Add write_serial() function
1486
1487 write_serial() works like write_boot_label() but sets the volume ID
1488 instead of the volume label in the boot sector.
1489
1490 Signed-off-by: Andreas Bombe <aeb@debian.org>
1491
1492 commit d7c9ffa
1493 Author: Andreas Bombe <aeb@debian.org>
1494 Date: Mon Sep 25 00:07:17 2017 +0200
1495
1496 Make fs_open() path argument const char*
1497
1498 Signed-off-by: Andreas Bombe <aeb@debian.org>
1499
1500 commit 06c2d11
1501 Author: Andreas Bombe <aeb@debian.org>
1502 Date: Sun Sep 24 22:32:16 2017 +0200
1503
1504 Read volume ID in read_boot()
1505
1506 The DOS_FS struct gets a new 32 bit field "serial" and read_boot() will
1507 now read the volume ID into this field.
1508
1509 Signed-off-by: Andreas Bombe <aeb@debian.org>
1510
1511 commit e501243
1512 Author: Andreas Bombe <aeb@debian.org>
1513 Date: Thu Sep 21 15:20:33 2017 +0200
1514
1515 fatlabel: Expand help message by description and options
1516
1517 Signed-off-by: Andreas Bombe <aeb@debian.org>
1518
1519 commit 944ffe4
1520 Author: Andreas Bombe <aeb@debian.org>
1521 Date: Thu Sep 21 15:15:54 2017 +0200
1522
1523 fatlabel: Change option parsing to getopt_long()
1524
1525 Signed-off-by: Andreas Bombe <aeb@debian.org>
1526
1527 commit 33dd224
1528 Author: Andreas Bombe <aeb@debian.org>
1529 Date: Sat Aug 5 20:02:04 2017 -0400
1530
1531 Warn that -r is useless with FAT32 filesystems
1532
1533 The option -r specifies the root directory size that neither is nor can
1534 be fixed on FAT32. If generating a FAT32 filesystem and this option is
1535 specified, warn the user that it has no effect.
1536
1537 Fixes #43
1538
1539 Signed-off-by: Andreas Bombe <aeb@debian.org>
1540
1541 commit ed9facf
1542 Author: Jakub Wilk <jwilk@jwilk.net>
1543 Date: Tue Jul 11 01:01:20 2017 +0200
1544
1545 Fix signed integer overflow in FSTART
1546
1547 uint16_t was promoted to int, and then left shift could overflow it.
1548 Add explicit cast to uint32_t to avoid undefined behavior.
1549
1550 Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
1551 Signed-off-by: Andreas Bombe <aeb@debian.org>
1552
1553 commit 995d814
1554 Author: Emanuel Czirai <xftroxgpx@gmail.com>
1555 Date: Fri May 5 22:43:54 2017 +0200
1556
1557 add missing \n
1558
1559 To fix this:
1560 ```
1561 Starting check/repair pass.
1562 FATs differ but appear to be intact.1) Use first FAT
1563 2) Use second FAT
1564 [12?q]?
1565 ```
1566
1567 commit 9d822ba
1568 Author: Andreas Bombe <aeb@debian.org>
1569 Date: Thu Jun 29 20:56:03 2017 +0200
1570
1571 mkfs: List all options with short descriptions in --help message
1572
1573 Make the help message more informative by giving a short description,
1574 simplifying the usage line and giving a short description of every
1575 option. The usage line now also shows the actual executable name instead
1576 of a hardwired 'mkfs.fat'.
1577
1578 Signed-off-by: Andreas Bombe <aeb@debian.org>
1579
1580 commit 32b3bce
1581 Author: Andreas Bombe <aeb@debian.org>
1582 Date: Wed Jun 28 15:17:33 2017 +0200
1583
1584 mkfs, fsck: Add --variant=TYPE command line option
1585
1586 TYPE can be 'standard' or 'atari' (case insensitive) to select the
1587 desired mode rather than having to toggle with -A.
1588
1589 Signed-off-by: Andreas Bombe <aeb@debian.org>
1590
1591 commit 6fc9004
1592 Author: Andreas Bombe <aeb@debian.org>
1593 Date: Tue May 30 21:26:44 2017 +0200
1594
1595 manpages: Rework the intro of the mkfs man page
1596
1597 Acknowledge that image files can be used in place of device files.
1598 Remove mentions of "under Linux" since it has been portable for a while.
1599
1600 Signed-off-by: Andreas Bombe <aeb@debian.org>
1601
1602 commit bbbd077
1603 Author: Andreas Bombe <aeb@debian.org>
1604 Date: Fri Apr 21 20:47:32 2017 +0200
1605
1606 manpages, configure.ac: Correct description of Atari format selection
1607
1608 The -A option doesn't turn on (or turn off) Atari format selection, it
1609 toggles it with every occurrence. Change wording in the man pages to
1610 reflect that.
1611
1612 Also mention that automatic selection can happen only on 68k Atari Linux
1613 in the man pages and the --enable-atari-check option help in
1614 configure.ac.
1615
1616 Signed-off-by: Andreas Bombe <aeb@debian.org>
1617
1618 commit 9fa180c
1619 Author: Andreas Bombe <aeb@debian.org>
1620 Date: Thu Apr 6 20:47:11 2017 +0200
1621
1622 Disable legacy check for 68k Atari by default
1623
1624 The code that checked for Atari hardware when compiled for the 68k
1625 architecture is now disabled by default. A new configure option
1626 --enable-atari-check allows enabling it again.
1627
1628 In addition to the the new configure option and the symbol __mc68000__
1629 it also depends on __linux__, since its implementation checks Linux
1630 specific /proc files.
1631
1632 Signed-off-by: Andreas Bombe <aeb@debian.org>
1633
1634 commit d0c8900
1635 Author: Andreas Bombe <aeb@debian.org>
1636 Date: Wed Apr 5 20:40:33 2017 +0200
1637
1638 Move all three check_atari() and atari_format definitions to common.c
1639
1640 Now that mkfs is also using common.c, all three identical check_atari()
1641 definitions from mkfs, fsck and fatlabel can be combined in a single
1642 location in common.c
1643
1644 Signed-off-by: Andreas Bombe <aeb@debian.org>
1645
1646 commit a753734
1647 Author: Andreas Bombe <aeb@debian.org>
1648 Date: Wed Apr 5 20:29:20 2017 +0200
1649
1650 mkfs: Link with common.c and use its die() implementation
1651
1652 Now common.c is linked into mkfs and its die() implementation is used
1653 instead of the local implementation. That implementation consisting of a
1654 die() macro and fatal_error() function has been removed.
1655
1656 To reproduce current messages exactly, there is now a program_name
1657 variable in common.c. If it is not NULL, die() will prepend its contents
1658 to the message it prints.
1659
1660 The previous implementation implicitly passed device_name to the
1661 printf() so that die() invocations only needed to put "%s" where they
1662 wanted the device name to appear in the string. These invocations now
1663 have explicit device_name arguments.
1664
1665 Signed-off-by: Andreas Bombe <aeb@debian.org>
1666
1667 commit b0d524d
1668 Author: Andreas Bombe <aeb@debian.org>
1669 Date: Tue Apr 4 20:42:02 2017 +0200
1670
1671 fsck.fat.h: Remove extern declarations of interactive and write_immed
1672
1673 These two declarations were forgotten when the variables moved to
1674 common.c.
1675
1676 Signed-off-by: Andreas Bombe <aeb@debian.org>
1677
1678 commit 2af848f
1679 Author: Andreas Bombe <aeb@debian.org>
1680 Date: Mon Apr 3 20:53:14 2017 +0200
1681
1682 fsck: Switch to getopt_long() option parser and add --help option
1683
1684 Signed-off-by: Andreas Bombe <aeb@debian.org>
1685
1686 commit c0c3141
1687 Author: Andreas Bombe <aeb@debian.org>
1688 Date: Mon Apr 3 20:45:20 2017 +0200
1689
1690 fsck: Pass the exit value to use to usage()
1691
1692 Signed-off-by: Andreas Bombe <aeb@debian.org>
1693
1694 commit 112bdc6
1695 Author: Andreas Bombe <aeb@debian.org>
1696 Date: Mon Apr 3 20:41:31 2017 +0200
1697
1698 fsck: Clean up usage() message a little
1699
1700 Bring the usage() help message more in line with common conventions.
1701
1702 Signed-off-by: Andreas Bombe <aeb@debian.org>
1703
1704 commit 4d2273a
1705 Author: Andreas Bombe <aeb@debian.org>
1706 Date: Fri Mar 31 14:41:42 2017 +0200
1707
1708 mkfs.fat.c: Change misleading comment about FAT32 selection
1709
1710 There was an apparently very old comment in setup_tables() about FAT32
1711 not yet being chosen automatically. If a specific FAT size is not
1712 requested from the command line, establish_params() will previously have
1713 set size_fat to 32 when the filesystem size is at least 512 MiB.
1714
1715 Signed-off-by: Andreas Bombe <aeb@debian.org>
1716
1717 commit 8585962
1718 Author: Andreas Bombe <aeb@debian.org>
1719 Date: Fri Mar 24 20:40:12 2017 +0100
1720
1721 fsck: Add quit choice to interactive prompts
1722
1723 All prompts now get an additional 'q' choice to explicitly quit fsck.
1724 Selecting 'q' will print a message detailing the situation and ask for
1725 confirmation.
1726
1727 Since the message describing the situation depends on whether fsck is in
1728 immediate-write mode, the variable selecting that is moved to common.c
1729 to make it accessible to the get_choice() function.
1730
1731 Signed-off-by: Andreas Bombe <aeb@debian.org>
1732
1733 commit c366076
1734 Author: Andreas Bombe <aeb@debian.org>
1735 Date: Thu Feb 23 21:00:59 2017 +0100
1736
1737 fsck: Make prompts asking for writing changes at end more verbose and clear
1738
1739 Signed-off-by: Andreas Bombe <aeb@debian.org>
1740
1741 commit 141b009
1742 Author: Andreas Bombe <aeb@debian.org>
1743 Date: Wed Feb 22 20:07:25 2017 +0100
1744
1745 fsck: Don't ask whether to perform changes in immediate write mode
1746
1747 When all changes have already been written directly, it is useless to
1748 ask whether to commit the changes and probably confusing to the user.
1749
1750 Signed-off-by: Andreas Bombe <aeb@debian.org>
1751
1752 commit b2cfd70
1753 Author: Andreas Bombe <aeb@debian.org>
1754 Date: Tue Feb 21 21:36:04 2017 +0100
1755
1756 Remove get_key()
1757
1758 Signed-off-by: Andreas Bombe <aeb@debian.org>
1759
1760 commit 0c1c5fc
1761 Author: Andreas Bombe <aeb@debian.org>
1762 Date: Tue Feb 21 21:24:14 2017 +0100
1763
1764 Overhaul interactive prompts
1765
1766 All uses of get_key() are converted to get_choice() and fsck now
1767 disables canonical terminal mode to directly get key presses. It is no
1768 longer required to press enter after typing the choice and it is no
1769 longer possible to enter whole strings where only a character is
1770 expected. The reaction to invalid input should be consistent now (i.e.
1771 always repeat the prompt).
1772
1773 Signed-off-by: Andreas Bombe <aeb@debian.org>
1774
1775 commit 91b20bd
1776 Author: Andreas Bombe <aeb@debian.org>
1777 Date: Tue Feb 21 21:14:43 2017 +0100
1778
1779 Add get_choice() function
1780
1781 The get_choice() function is intended to supersede get_key(). It takes
1782 pairs of return values and strings for every choice and a
1783 non-interactive default choice, does the prompting and reading of user
1784 input (if interactive) and returns the value for the selected choice.
1785
1786 Since it needs to know if it runs in interactive mode, the "interactive"
1787 variable has been moved to common.c and removed from fsck.fat.c and
1788 fatlabel.c.
1789
1790 Signed-off-by: Andreas Bombe <aeb@debian.org>
1791
1792 commit fd92fab
1793 Author: Andreas Bombe <aeb@debian.org>
1794 Date: Tue Feb 21 14:15:12 2017 +0100
1795
1796 Add get_line() function to read user input in canonical mode
1797
1798 The function will first save the terminal state and enable canonical and
1799 echo mode, display a prompt, call fgets(), then restore previous
1800 terminal mode. This allows it to work correctly regardless of the
1801 current terminal mode.
1802
1803 Signed-off-by: Andreas Bombe <aeb@debian.org>
1804
1805 commit 0155c9c
1806 Author: Andreas Bombe <aeb@debian.org>
1807 Date: Mon Feb 20 14:09:43 2017 +0100
1808
1809 Add asprintf() wrapper
1810
1811 Make xasprintf() a wrapper that calls asprintf() and terminates if an
1812 error occurs like the alloc() function does for malloc(). The
1813 availability of the non-standard asprintf() call is checked in
1814 configure.ac and xasprintf() uses a local implementation if it isn't.
1815
1816 Signed-off-by: Andreas Bombe <aeb@debian.org>
1817
1818 commit 09769e6
1819 Author: Andreas Bombe <aeb@debian.org>
1820 Date: Fri Feb 10 14:06:40 2017 +0100
1821
1822 Fix printf format specifier for printing label
1823
1824 Fix a mistake introduced in the last commit where a field width instead
1825 of precision was given for rendering a fixed length string (without null
1826 termination).
1827
1828 Signed-off-by: Andreas Bombe <aeb@debian.org>
1829
1830 commit 08cf67b
1831 Author: Andreas Bombe <aeb@debian.org>
1832 Date: Thu Jan 26 21:31:03 2017 +0100
1833
1834 Turn label in struct DOS_FS into char array from pointer
1835
1836 Signed-off-by: Andreas Bombe <aeb@debian.org>
1837
1838 commit 32eff6f
1839 Author: Andreas Bombe <aeb@debian.org>
1840 Date: Thu Jan 26 21:27:19 2017 +0100
1841
1842 Append +git to version number
1843
1844 Signed-off-by: Andreas Bombe <aeb@debian.org>
1845
1846 commit 820c2f9 (tag: v4.1)
1847 Author: Andreas Bombe <aeb@debian.org>
1848 Date: Tue Jan 24 13:10:23 2017 +0100
1849
1850 Releasing version 4.1
1851
1852 Signed-off-by: Andreas Bombe <aeb@debian.org>
1853
1854 commit cad2c17
1855 Author: Andreas Bombe <aeb@debian.org>
1856 Date: Mon Jan 23 03:10:56 2017 +0100
1857
1858 fatlabel: Make sure printf style patterns in label are not expanded
1859
1860 Writing a label to an unlabeled filesystem involves creating a root
1861 directory entry to contain the label. For this, the
1862 alloc_rootdir_entry() function used for creating new directory nodes for
1863 recovered orphan cluster chains is reused. However, this expects the
1864 filename to be a printf style pattern to generate a unique name.
1865
1866 If the filesystem is unlabeled and the new label contains a printf
1867 specifier other than %d or similar, the attempted expansion of the
1868 pattern might crash fatlabel.
1869
1870 Change alloc_rootdir_entry() to take an additional argument gen_name and
1871 only expand the name if its value is true.
1872
1873 Signed-off-by: Andreas Bombe <aeb@debian.org>
1874
1875 commit 77371e2
1876 Author: Andreas Bombe <aeb@debian.org>
1877 Date: Fri Nov 4 13:10:58 2016 +0100
1878
1879 testsuite: Add missing fsck test files to dist_check_DATA
1880
1881 Signed-off-by: Andreas Bombe <aeb@debian.org>
1882
1883 commit d6df1d4
1884 Author: Andreas Bombe <aeb@debian.org>
1885 Date: Thu Nov 3 20:03:25 2016 +0100
1886
1887 testsuite: Test for bad characters in file names
1888
1889 The FAT16 test image contains four files with three errors. One has a
1890 space in the name, one a space in the extension and one contains '>' in
1891 the name.
1892
1893 Signed-off-by: Andreas Bombe <aeb@debian.org>
1894
1895 commit 307966c
1896 Author: Andreas Bombe <aeb@debian.org>
1897 Date: Sun Sep 18 00:11:43 2016 +0200
1898
1899 fsck: Fix reporting of length to truncate with shared clusters
1900
1901 When files share clusters and one of the two files has been selected to
1902 truncate fsck reports which file has been selected and the length to
1903 which it will be truncated. All code paths erronously printed the length
1904 of the file that was not going to be truncated, leading to possible user
1905 confusion.
1906
1907 Signed-off-by: Andreas Bombe <aeb@debian.org>
1908
1909 commit b33424e
1910 Author: Andreas Bombe <aeb@debian.org>
1911 Date: Sat Sep 17 23:34:07 2016 +0200
1912
1913 testsuite: Test for files sharing clusters
1914
1915 The FAT32 test image contains three files. One shares a cluster with the
1916 root directory and the other two share clusters among themselves.
1917
1918 Signed-off-by: Andreas Bombe <aeb@debian.org>
1919
1920 commit db5ec04
1921 Author: Andreas Bombe <aeb@debian.org>
1922 Date: Sat Sep 17 22:41:07 2016 +0200
1923
1924 testsuite: Run fsck in test-mkfs
1925
1926 Now the test-mkfs script also runs fsck on the created image to test its
1927 basic operation. The test fails if fsck reports seeing an error.
1928
1929 Signed-off-by: Andreas Bombe <aeb@debian.org>
1930
1931 commit 4ac17ae
1932 Author: Andreas Bombe <aeb@debian.org>
1933 Date: Sat Sep 17 22:25:06 2016 +0200
1934
1935 Fix FAT32 FSInfo signature checking
1936
1937 In commit 7444694 the definition of struct info_sector was corrected to
1938 match the FSInfo sector specification. The initialization was adapted,
1939 but other places were missed. All runs of fsck would then incorrectly
1940 report a signature error on the FSInfo sector.
1941
1942 Signed-off-by: Andreas Bombe <aeb@debian.org>
1943
1944 commit e883d07
1945 Author: Nico Roeser <nico@n1c0.de>
1946 Date: Fri Sep 16 20:05:08 2016 +0200
1947
1948 mkfs: Bring back ability to set sector size.
1949
1950 This had accidently been broken when the code was overhauled, resulting
1951 in unconditionally setting the sector size when devinfo detected it.
1952
1953 Signed-off-by: Andreas Bombe <aeb@debian.org>
1954
1955 commit 4ef83db
1956 Author: Andreas Bombe <aeb@debian.org>
1957 Date: Fri Sep 16 03:32:12 2016 +0200
1958
1959 Request minimum automake version 1.11 and add workaround for <1.13
1960
1961 Before automake 1.13, parallel-tests wasn't the default set it
1962 explicitly in the automake options list. The parallel test harness was
1963 introduced in 1.11 therefore that is the minimum now.
1964
1965 However, the AM_TESTS_ENVIRONMENT variable was only starting to work in
1966 1.13, so there is now a version check and a conditional assignment to
1967 TESTS_ENVIRONMENT (which should be for user setting only) in case
1968 automake is 1.11 or 1.12.
1969
1970 Without it, the fact of xxd being found is not passed to the test
1971 scripts which then skip all tests due to perceived lack of xxd.
1972
1973 Signed-off-by: Andreas Bombe <aeb@debian.org>
1974
1975 commit 6a8c8b7
1976 Author: Andreas Bombe <aeb@debian.org>
1977 Date: Fri Sep 16 01:45:17 2016 +0200
1978
1979 Add missing autoreconf step to Travis CI configuration
1980
1981 Signed-off-by: Andreas Bombe <aeb@debian.org>
1982
1983 commit 54f7aef
1984 Author: Andreas Bombe <aeb@debian.org>
1985 Date: Fri Sep 16 01:39:08 2016 +0200
1986
1987 Add configuration for the Travis CI build service
1988
1989 Signed-off-by: Andreas Bombe <aeb@debian.org>
1990
1991 commit 5421752
1992 Author: Andreas Bombe <aeb@debian.org>
1993 Date: Wed Sep 14 20:37:57 2016 +0200
1994
1995 Check and fix printf style arguments to die() and pdie()
1996
1997 Add the "format" gcc style attribute to the declarations of die() and
1998 pdie() so that the compiler knows how to check their arguments for
1999 correctness.
2000
2001 Fix all problematic calls detected by this.
2002
2003 Signed-off-by: Andreas Bombe <aeb@debian.org>
2004
2005 commit 83e5ec5
2006 Author: Andreas Bombe <aeb@debian.org>
2007 Date: Wed Sep 14 03:38:08 2016 +0200
2008
2009 Make some implicit integer conversions safer
2010
2011 Coverity reports a few places where signed or short integers are
2012 promoted to int and then extended to long which might cause unintended
2013 sign extension. Given the context (being sector sizes and similar) the
2014 values should never actually reach unsafe values, but this patch cleans
2015 it up anyway.
2016
2017 Signed-off-by: Andreas Bombe <aeb@debian.org>
2018
2019 commit ff5e718
2020 Author: Andreas Bombe <aeb@debian.org>
2021 Date: Tue Sep 13 20:25:34 2016 +0200
2022
2023 mkfs: Remove redundant unreachable warning message
2024
2025 At some point the check for too many clusters for user requested FAT16
2026 was moved a few lines above. The original location can only be reached
2027 when the cluster count is too low for FAT16 which means the too many
2028 clusters message can not be triggered there.
2029
2030 Found through the dead code detection of Coverity Scan.
2031
2032 Signed-off-by: Andreas Bombe <aeb@debian.org>
2033
2034 commit e359a33
2035 Author: Andreas Bombe <aeb@debian.org>
2036 Date: Tue Sep 13 20:12:21 2016 +0200
2037
2038 Fix octal character parsing in file_cvt()
2039
2040 Apparently the octal code parsing got rewritten into a loop at some
2041 point while the rest of the code was not removed. It was impossible to
2042 specify an octal character code without the function returning an error.
2043
2044 This affected the -u and -d options for fsck.
2045
2046 Found through the dead code detection of Coverity Scan.
2047
2048 Signed-off-by: Andreas Bombe <aeb@debian.org>
2049
2050 commit ccd0a9d
2051 Author: Andreas Bombe <aeb@debian.org>
2052 Date: Mon Sep 12 20:21:53 2016 +0200
2053
2054 testsuite: Test for circular cluster chain
2055
2056 The test image contains a file four clusters in length where the third
2057 cluster has been modified to point back to the second cluster.
2058
2059 Signed-off-by: Andreas Bombe <aeb@debian.org>
2060
2061 commit fab40f8
2062 Author: Andreas Bombe <aeb@debian.org>
2063 Date: Mon Sep 12 19:51:10 2016 +0200
2064
2065 Fix truncation logic in circular chain check
2066
2067 When scanning for circular chains, the first FAT entry that appeared a
2068 second time in a chain should cause the previous cluster to be the
2069 termination of the chain.
2070
2071 To that end, test_file() keeps variables to point to the previous
2072 cluster and the current number of clusters. When the -t option is given,
2073 all clusters are checked to be readable and skipped (variables not
2074 updates) in test_file() when they are not.
2075
2076 The problem was that the variables were updated only when the read check
2077 succeeded. If the -t option is not given, that check does not happen and
2078 the variables keep their initial value. The circular chain fix would
2079 then always truncate to zero length and fail to update the free cluster
2080 count, requiring a second fsck run.
2081
2082 Fix by updating these variables unconditionally when -t option is not
2083 given.
2084
2085 Signed-off-by: Andreas Bombe <aeb@debian.org>
2086
2087 commit 8394ceb
2088 Author: Andreas Bombe <aeb@debian.org>
2089 Date: Mon Sep 12 14:39:11 2016 +0200
2090
2091 testsuite: Test for too long cluster chain
2092
2093 The test image contains a file marked as 7 bytes in length (just a small
2094 part of 1 cluster) in the directory entry that has 2 clusters assigned
2095 to it in the FAT.
2096
2097 Signed-off-by: Andreas Bombe <aeb@debian.org>
2098
2099 commit 7444694
2100 Author: Andreas Bombe <aeb@debian.org>
2101 Date: Wed Sep 7 21:09:41 2016 +0200
2102
2103 Fix definition and initialization of fsinfo sector
2104
2105 Change the definition of the fsinfo struct to be more in line with the
2106 official definition, in particular make the trailing signature field 32
2107 bit instead of 16 bit. During initialization in init_fsinfo(), first
2108 clear the whole struct to zero before setting fields, to make sure
2109 reserved fields are zeroed.
2110
2111 Fixes #33.
2112
2113 Signed-off-by: Andreas Bombe <aeb@debian.org>
2114
2115 commit f78cb68
2116 Author: Andreas Bombe <aeb@debian.org>
2117 Date: Wed Sep 7 20:45:29 2016 +0200
2118
2119 Add fsck testsuite
2120
2121 Add the framework for a fsck testsuite and a few tests, including a test
2122 for the yet unimplemented check for misordered dot/dotdot directory
2123 entries.
2124
2125 The test driver runs fsck twice on a given image and fails the test if
2126 the first run does not detect an error or the second run still detects
2127 an error.
2128
2129 Signed-off-by: Andreas Bombe <aeb@debian.org>
2130
2131 commit 7667295
2132 Author: Andreas Bombe <aeb@debian.org>
2133 Date: Tue May 31 03:32:42 2016 +0200
2134
2135 Add testsuite foundations
2136
2137 Add testsuite on the basis of the automake framework. As a start, three
2138 tests for basic mkfs functionality compare mkfs generated images against
2139 references images.
2140
2141 Signed-off-by: Andreas Bombe <aeb@debian.org>
2142
2143 commit f881195
2144 Author: Andreas Bombe <aeb@debian.org>
2145 Date: Wed Sep 7 03:48:16 2016 +0200
2146
2147 Append +git to version number in configure.ac
2148
2149 Don't let dosfstools compiled from git with additional commits show the
2150 exact release version number.
2151
2152 Signed-off-by: Andreas Bombe <aeb@debian.org>
2153
2154 commit 8788615
2155 Author: Álvaro Fernández Rojas <noltari@gmail.com>
2156 Date: Thu Jun 30 08:43:50 2016 +0200
2157
2158 Add config.guess and config.sub to gitignore
2159
2160 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2161 Signed-off-by: Andreas Bombe <aeb@debian.org>
2162
2163 commit 39ab842
2164 Author: Álvaro Fernández Rojas <noltari@gmail.com>
2165 Date: Thu Jun 30 08:41:51 2016 +0200
2166
2167 Use autoconf to look for OS X endian include.
2168
2169 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2170 Signed-off-by: Andreas Bombe <aeb@debian.org>
2171
2172 commit 69ac2b0
2173 Author: Alessio Sergi <al3hex@gmail.com>
2174 Date: Fri May 6 18:18:18 2016 +0200
2175
2176 src/device_info.c: Fix undefined PATH_MAX under musl
2177
2178 In musl libc, PATH_MAX is defined in <limits.h>.
2179
2180 Signed-off-by: Andreas Bombe <aeb@debian.org>
2181
2182 commit 744db84
2183 Author: Lars Wendler <polynomial-c@gentoo.org>
2184 Date: Tue May 10 09:47:57 2016 +0200
2185
2186 Don't link to udev via LDFLAGS. There's LDADD for such a task.
2187
2188 See also:
2189 https://www.gnu.org/software/automake/manual/html_node/Linking.html
2190
2191 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
2192 Signed-off-by: Andreas Bombe <aeb@debian.org>
2193
2194 commit 1e76e57
2195 Author: Andreas Bombe <aeb@debian.org>
2196 Date: Wed May 11 03:44:58 2016 +0200
2197
2198 mkfs: Default to 64/32 heads/sectors for targets smaller than 512 MB
2199
2200 This may put defaults in certain use cases a little bit more in line
2201 with the old defaults in versions up to 3.0.28. It has mostly aesthetic
2202 value in most cases.
2203
2204 Signed-off-by: Andreas Bombe <aeb@debian.org>
2205
2206 commit 786e66e (tag: v4.0)
2207 Author: Andreas Bombe <aeb@debian.org>
2208 Date: Fri May 6 03:19:07 2016 +0200
2209
2210 Releasing version 4.0.
2211
2212 Signed-off-by: Andreas Bombe <aeb@debian.org>
2213
2214 commit a79ff90
2215 Author: Andreas Bombe <aeb@debian.org>
2216 Date: Fri May 6 02:34:42 2016 +0200
2217
2218 src/Makefile.am: Fix CPPFLAGS for VPATH builds
2219
2220 The -I flag to add the blkdev subdir to the include search path is now
2221 relative to $(srcdir) to allow VPATH builds to work. Additionally move
2222 the -I flag from the mkfs_fat and testdevinfo CFLAGS to CPPFLAGS where
2223 it actually belongs.
2224
2225 Signed-off-by: Andreas Bombe <aeb@debian.org>
2226
2227 commit e8eff14
2228 Author: Andreas Bombe <aeb@debian.org>
2229 Date: Wed Apr 27 21:38:37 2016 +0200
2230
2231 read_boot(): Handle excessive FAT size specifications
2232
2233 The variable used for storing the FAT size (in bytes) was an unsigned
2234 int. Since the size in sectors read from the BPB was not sufficiently
2235 checked, this could end up being zero after multiplying it with the
2236 sector size while some offsets still stayed excessive. Ultimately it
2237 would cause segfaults when accessing FAT entries for which no memory
2238 was allocated.
2239
2240 Make it more robust by changing the types used to store FAT size to
2241 off_t and abort if there is no room for data clusters. Additionally
2242 check that FAT size is not specified as zero.
2243
2244 Fixes #25 and fixes #26.
2245
2246 Reported-by: Hanno Böck
2247 Signed-off-by: Andreas Bombe <aeb@debian.org>
2248
2249 commit 016800e
2250 Author: Andreas Bombe <aeb@debian.org>
2251 Date: Wed Apr 27 14:16:53 2016 +0200
2252
2253 Use variable total_fat_entries in read_boot() for readability
2254
2255 Signed-off-by: Andreas Bombe <aeb@debian.org>
2256
2257 commit a6478d8
2258 Author: Álvaro Fernández Rojas <noltari@gmail.com>
2259 Date: Fri Apr 8 12:20:46 2016 +0200
2260
2261 Add missing iconv library for OS X
2262
2263 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2264 Signed-off-by: Andreas Bombe <aeb@debian.org>
2265
2266 commit ce67dc6
2267 Author: Álvaro Fernández Rojas <noltari@gmail.com>
2268 Date: Fri Apr 8 12:20:27 2016 +0200
2269
2270 Add endian support for OS X
2271
2272 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2273 Signed-off-by: Andreas Bombe <aeb@debian.org>
2274
2275 commit 08f3869
2276 Author: Joel Holdsworth <joel.holdsworth@vcatechnology.com>
2277 Date: Thu Mar 10 00:53:07 2016 +0000
2278
2279 Configure option to disable building with libudev
2280
2281 Signed-off-by: Andreas Bombe <aeb@debian.org>
2282
2283 commit ed4e47b
2284 Author: Andreas Bombe <aeb@debian.org>
2285 Date: Mon Feb 22 03:47:14 2016 +0100
2286
2287 Remove use of PATH_MAX in path_name()
2288
2289 The length of a file path on the checked filesystem has no relation to
2290 the maximum path length of the system fsck is running on. So replace it
2291 with a constant of our own.
2292
2293 As a bonus this will not fail compilation on a system without PATH_MAX.
2294
2295 Signed-off-by: Andreas Bombe <aeb@debian.org>
2296
2297 commit b1a38ab
2298 Author: Andreas Bombe <aeb@debian.org>
2299 Date: Wed Feb 17 21:04:35 2016 +0100
2300
2301 Add preliminary entry for release 4.0 to NEWS
2302
2303 Signed-off-by: Andreas Bombe <aeb@debian.org>
2304
2305 commit 4ad3e9e
2306 Author: Andreas Bombe <aeb@debian.org>
2307 Date: Wed Feb 17 21:02:06 2016 +0100
2308
2309 Adjust ridiculous source indentation in io.c
2310
2311 Signed-off-by: Andreas Bombe <aeb@debian.org>
2312
2313 commit b96acb2
2314 Author: Andreas Bombe <aeb@debian.org>
2315 Date: Wed Feb 17 20:51:53 2016 +0100
2316
2317 Document ./configure --enable-compat-symlinks in README
2318
2319 Signed-off-by: Andreas Bombe <aeb@debian.org>
2320
2321 commit de39c5c
2322 Author: Andreas Bombe <aeb@debian.org>
2323 Date: Wed Feb 17 15:16:27 2016 +0100
2324
2325 Add include paths.h in the HAVE_DECL_GETMNTENT case
2326
2327 _PATH_MOUNTED is now used for getmntent() in place of MOUNTED because
2328 the latter was marked as a deprecated alias in glibc's mntent.h. The
2329 mntent.h of musl libc does not include the _PATH_MOUNTED however. Fix
2330 this by including paths.h alongside mntent.h
2331
2332 Signed-off-by: Andreas Bombe <aeb@debian.org>
2333
2334 commit 86c7acd
2335 Author: Andreas Bombe <aeb@debian.org>
2336 Date: Wed Feb 17 15:06:56 2016 +0100
2337
2338 man fsck: Document the -c option
2339
2340 Signed-off-by: Andreas Bombe <aeb@debian.org>
2341
2342 commit ef9a73c
2343 Author: Andreas Bombe <aeb@debian.org>
2344 Date: Mon Feb 15 02:10:57 2016 +0100
2345
2346 Add NEWS file with changes of the last two releases
2347
2348 Signed-off-by: Andreas Bombe <aeb@debian.org>
2349
2350 commit bda6551
2351 Author: Andreas Bombe <aeb@debian.org>
2352 Date: Fri Feb 12 03:56:16 2016 +0100
2353
2354 Make filesystem mounted check portable
2355
2356 A new function is_device_mounted() in device_info.c is now used by
2357 check_mount() in mkfs.fat.c. It contains the getmntent() using code
2358 used before in check_mount() and now an alternative using getmntinfo()
2359 as found on the BSDs.
2360
2361 In case neither function is available, is_device_mounted() defaults to
2362 reporting that the device isn't mounted.
2363
2364 Signed-off-by: Andreas Bombe <aeb@debian.org>
2365
2366 commit 4b8c9cc
2367 Author: Andreas Bombe <aeb@debian.org>
2368 Date: Fri Feb 12 01:57:33 2016 +0100
2369
2370 Make use of endian.h portable to BSD
2371
2372 The endian.h found on Linux and the BSDs appear to be compatible, but
2373 they are found in different locations. Add tests in configure.ac and a
2374 new endian_compat.h file that has the logic to include the correct
2375 files.
2376
2377 Signed-off-by: Andreas Bombe <aeb@debian.org>
2378
2379 commit d7665f2
2380 Author: Andreas Bombe <aeb@debian.org>
2381 Date: Wed Feb 10 21:30:06 2016 +0100
2382
2383 Fix format string in check_file() (%lu → %llu)
2384
2385 The cluster chain length printing needs a 64 bit calculation, so we can
2386 just use unsigned long long instead of uint64_t and use the format
2387 string %llu.
2388
2389 Signed-off-by: Andreas Bombe <aeb@debian.org>
2390
2391 commit 6225e59
2392 Author: Andreas Bombe <aeb@debian.org>
2393 Date: Fri Feb 5 14:39:00 2016 +0100
2394
2395 blkdev.c: Prevent unused parameter warnings in fallback code
2396
2397 Signed-off-by: Andreas Bombe <aeb@debian.org>
2398
2399 commit 34cdded
2400 Author: Andreas Bombe <aeb@debian.org>
2401 Date: Fri Feb 5 14:36:14 2016 +0100
2402
2403 blkdev_get_size(): Remove unused variable ch
2404
2405 Signed-off-by: Andreas Bombe <aeb@debian.org>
2406
2407 commit 5571d29
2408 Author: Andreas Bombe <aeb@debian.org>
2409 Date: Wed Feb 10 03:22:19 2016 +0100
2410
2411 Reinstate alignment of FAT32 structures to cluster size
2412
2413 This reverts commits 17c956cb9 and d63e0d627 where the alignment was
2414 removed because it created problems with a device that refused to read
2415 the aligned filesystem. The option -a is already provided to disable
2416 alignment in order to handle such cases.
2417
2418 This change brings it back in line with FAT12/16 where alignment wasn't
2419 disabled and brings consistency with the current command line options,
2420 where only the option to disable alignment exists but no opposite option
2421 to enable it.
2422
2423 Signed-off-by: Andreas Bombe <aeb@debian.org>
2424
2425 commit 2c71ace
2426 Author: Andreas Bombe <aeb@debian.org>
2427 Date: Wed Feb 3 03:38:33 2016 +0100
2428
2429 Makefile.am: Add historic documentation to distribution
2430
2431 Signed-off-by: Andreas Bombe <aeb@debian.org>
2432
2433 commit bcbae63
2434 Author: Andreas Bombe <aeb@debian.org>
2435 Date: Wed Feb 3 02:38:24 2016 +0100
2436
2437 src/Makefile.am: Add forgotten msdos_fs.h to mkfs_fat_SOURCES
2438
2439 Signed-off-by: Andreas Bombe <aeb@debian.org>
2440
2441 commit 19d1a13
2442 Author: Andreas Bombe <aeb@debian.org>
2443 Date: Wed Feb 3 02:34:51 2016 +0100
2444
2445 Remove sys/ioctl.h and linux/fd.h include from io.c
2446
2447 These weren't used anymore and the linux/fd.h include would
2448 gratuitously cause compilation to fail on non-Linux environments.
2449
2450 Signed-off-by: Andreas Bombe <aeb@debian.org>
2451
2452 commit f691660
2453 Author: Andreas Bombe <aeb@debian.org>
2454 Date: Wed Feb 3 02:31:00 2016 +0100
2455
2456 Reinstate some #include <sys/types.h>
2457
2458 These shouldn't have been removed in commit 245d0cce5. Put them back for
2459 correctness even though the definitions were pulled in implicitly.
2460
2461 Signed-off-by: Andreas Bombe <aeb@debian.org>
2462
2463 commit 51afd41
2464 Author: Andreas Bombe <aeb@debian.org>
2465 Date: Wed Jan 27 21:38:29 2016 +0100
2466
2467 src/Makefile.am: Put all header files in appropriate _SOURCES variables
2468
2469 With the headers missing the dist targets of the automake generated
2470 Makefiles would not include them and make the resulting dist
2471 unbuildable.
2472
2473 Also combine sources collections into common variables for
2474 deduplication.
2475
2476 Signed-off-by: Andreas Bombe <aeb@debian.org>
2477
2478 commit bf6f142
2479 Author: Andreas Bombe <aeb@debian.org>
2480 Date: Wed Jan 27 15:28:42 2016 +0100
2481
2482 mkfs man: Note that sector sizes > 4096 are non-standard
2483
2484 Signed-off-by: Andreas Bombe <aeb@debian.org>
2485
2486 commit ea96c32
2487 Author: Andreas Bombe <aeb@debian.org>
2488 Date: Mon Jan 25 21:30:23 2016 +0100
2489
2490 mkfs: Improve parsing of bad blocks file
2491
2492 The bad blocks file that can be given to mkfs via the -l option had a
2493 very simplistic design. It failed to notice it was parsing an empty
2494 line and would report errors for that.
2495
2496 Replace it with a more robust version that ignores empty lines as well
2497 as leading and trailing white space. Additionally it produces meaningful
2498 error messages.
2499
2500 GitHub: Fixes #17
2501 Signed-off-by: Andreas Bombe <aeb@debian.org>
2502
2503 commit dfb5bea
2504 Author: Andreas Bombe <aeb@debian.org>
2505 Date: Mon Jan 25 02:47:12 2016 +0100
2506
2507 mkfs: Limit filesystem size on targets that are too large
2508
2509 For FAT filesystems, the number of sectors has to fit into a 32 bit
2510 variable. Previously this was not checked possibly causing invalid
2511 filesystems to be generated.
2512
2513 Now there is a check for that case which will limit the number of
2514 sectors if needed and print a warning that disk space will be left
2515 unused in that case.
2516
2517 Signed-off-by: Andreas Bombe <aeb@debian.org>
2518
2519 commit fc0343f
2520 Author: Andreas Bombe <aeb@debian.org>
2521 Date: Fri Jan 22 21:29:20 2016 +0100
2522
2523 mkfs: Improved bounds checking in mark_FAT_sector()/mark_FAT_cluster()
2524
2525 In mark_FAT_sector() the sector number itself is now checked against
2526 limits instead of the computed cluster number. Even with sector number
2527 before the start of the data area, the cluster number may be valid for
2528 the first cluster due to dividing by the cluster size.
2529
2530 Both functions now check for upper limits and should prevent writing
2531 past the valid end of the FAT.
2532
2533 Signed-off-by: Andreas Bombe <aeb@debian.org>
2534
2535 commit 9211c8a
2536 Author: Andreas Bombe <aeb@debian.org>
2537 Date: Fri Jan 15 02:17:16 2016 +0100
2538
2539 mkfs: Fix offset error in FAT12/16 bad cluster marking
2540
2541 The root directory wasn't factored in to the calculation of the data
2542 area start sector. On FAT32 the root directory is in the data area, but
2543 for FAT12 and FAT16 it is a reserved space before the start of the data
2544 area.
2545
2546 On FAT12 and FAT16, this resulted in the wrong clusters being marked
2547 during bad blocks mapping, whether from check_blocks() or from reading
2548 the user supplied bad blocks file.
2549
2550 Signed-off-by: Andreas Bombe <aeb@debian.org>
2551
2552 commit 0627a62
2553 Author: Andreas Bombe <aeb@debian.org>
2554 Date: Fri Jan 15 01:59:59 2016 +0100
2555
2556 mkfs: Fix off-by-2 error in bad cluster marking
2557
2558 mark_FAT_sector(), which has the mark_sector_bad() macro as its sole
2559 user, computed the cluster number corresponding to the sector by taking
2560 its offset from the first data sector and dividing by sectors per
2561 cluster.
2562
2563 What it missed was that the first data cluster is number 2 and not 0.
2564 This meant all marks were off by 2 and when the first two clusters are
2565 supposed to be marked, it would overwrite the reserved cluster values
2566 and create an invalid filesystem.
2567
2568 Signed-off-by: Andreas Bombe <aeb@debian.org>
2569
2570 commit 2dca9aa
2571 Author: Andreas Bombe <aeb@debian.org>
2572 Date: Thu Jan 14 14:43:00 2016 +0100
2573
2574 .gitignore: Add .dirstamp
2575
2576 Signed-off-by: Andreas Bombe <aeb@debian.org>
2577
2578 commit 6a966fb
2579 Author: Andreas Bombe <aeb@debian.org>
2580 Date: Thu Jan 14 14:38:53 2016 +0100
2581
2582 mkfs: Reword non-standard sector size warning
2583
2584 Signed-off-by: Andreas Bombe <aeb@debian.org>
2585
2586 commit bebc9ac
2587 Author: Andreas Bombe <aeb@debian.org>
2588 Date: Wed Dec 30 15:10:35 2015 +0100
2589
2590 Clean up includes in mkfs.fat.c
2591
2592 Moving the device probing out into device_info.c removed the need for a
2593 number of includes in mkfs.fat.c. Remove them and add a define for
2594 BLOCK_SIZE, which was the only thing used from linux/fs.h.
2595
2596 Signed-off-by: Andreas Bombe <aeb@debian.org>
2597
2598 commit 12a1d46
2599 Author: Andreas Bombe <aeb@debian.org>
2600 Date: Sun Nov 29 01:59:10 2015 +0100
2601
2602 Don't use pointer to first member when more of the struct gets copied
2603
2604 Where a fs_write() of "first 13 bytes of directory entry" is intended,
2605 actually use pointer to directory entry structure instead of the 11
2606 byte name field at the beginning.
2607
2608 This does not change how the code works, it is just a clean up.
2609
2610 Signed-off-by: Andreas Bombe <aeb@debian.org>
2611
2612 commit d38bd2d
2613 Author: Andreas Bombe <aeb@debian.org>
2614 Date: Sun Nov 29 00:44:48 2015 +0100
2615
2616 Remove name/extension split in directory entry structures
2617
2618 Both the DIR_ENT structure in fsck.fat.h and the msdos_dir_entry in
2619 msdos_fs.h - these represent the on disk format of directory entries -
2620 had the name field split into name[8] followed by ext[3].
2621
2622 By far the most operations on name are on the full name including
2623 extension and they treated the name field as an 11 byte array. This is
2624 an array overflow that worked because the structs have the attribute
2625 packed and the extension field is following right after.
2626
2627 Nevertheless, this is not clean C and the merging of both fields
2628 actually simplified the code in a few places.
2629
2630 Signed-off-by: Andreas Bombe <aeb@debian.org>
2631
2632 commit 0847e4c
2633 Author: Andreas Bombe <aeb@debian.org>
2634 Date: Fri Nov 27 21:29:49 2015 +0100
2635
2636 Free allocated strings after use
2637
2638 There are multiple calls to cnv_unicode() in lfn.c which returns an
2639 allocated string. Most had the appropriate free() calls after printing
2640 the strings. Add the missing two calls where memory was leaked.
2641
2642 Found by Coverity.
2643
2644 Signed-off-by: Andreas Bombe <aeb@debian.org>
2645
2646 commit 1b7d91e
2647 Author: Andreas Bombe <aeb@debian.org>
2648 Date: Fri Nov 27 03:34:51 2015 +0100
2649
2650 Add test for and include linux/hdreg.h in blkdev.c
2651
2652 Before, blkdev did not include it and depended on its own fallback
2653 definition of the ioctl and struct hd_geometry.
2654
2655 Signed-off-by: Andreas Bombe <aeb@debian.org>
2656
2657 commit 5024372
2658 Author: Andreas Bombe <aeb@debian.org>
2659 Date: Fri Nov 27 03:28:14 2015 +0100
2660
2661 Add FDGETPRM attempt to blkdev_get_geometry()
2662
2663 If HDIO_GETGEO isn't available or has failed, try FDGETPRM. This should
2664 get the geometry from floppy drivers where HDIO_GETGEO isn't supported.
2665
2666 Signed-off-by: Andreas Bombe <aeb@debian.org>
2667
2668 commit 4a146d7
2669 Author: Andreas Bombe <aeb@debian.org>
2670 Date: Fri Nov 27 03:25:55 2015 +0100
2671
2672 Add blkdev_get_start() for getting partition start offset
2673
2674 Signed-off-by: Andreas Bombe <aeb@debian.org>
2675
2676 commit 254f8ab
2677 Author: Andreas Bombe <aeb@debian.org>
2678 Date: Thu Nov 26 23:33:02 2015 +0100
2679
2680 Remove use of libblkid again
2681
2682 It appears libblkid is not as widely available as presumed, since some
2683 platforms only have the original libblkid included in e2fsprogs which
2684 lacks the needed functionality. This commit removes the requirement and
2685 use of libblkid.
2686
2687 As a replacement, blkdev.c from util-linux is included, which offers the
2688 required basic functionality in a portable way.
2689
2690 Signed-off-by: Andreas Bombe <aeb@debian.org>
2691
2692 commit c9fb33c
2693 Author: Andreas Bombe <aeb@debian.org>
2694 Date: Wed Oct 21 21:32:30 2015 +0200
2695
2696 Use just device size not major number in Atari mode
2697
2698 In Atari mode, read_boot() in boot.c used the device major number to
2699 determine whether to use FAT12. It would always use FAT12 for a floppy,
2700 otherwise only if it is a RAM disk or loopback device and has a size
2701 corresponding to standard floppy formats.
2702
2703 Since this check was already broken for a long time (another place that
2704 assumed 8 bit major numbers) and there is no real point to make the
2705 distinction based on device, this commit reduces the check to just
2706 compare against standard floppy sizes.
2707
2708 Signed-off-by: Andreas Bombe <aeb@debian.org>
2709
2710 commit 64486ad
2711 Author: Andreas Bombe <aeb@debian.org>
2712 Date: Wed Oct 21 00:18:22 2015 +0200
2713
2714 Remove loff_t and llseek()
2715
2716 There appear to have been multiple conversions to 64 bit file offsets on
2717 32 bit architectures in dosfstools over the years, but today with the
2718 proper setup off_t is 64 bits and simple lseek() can be used. The
2719 AC_SYS_LARGEFILE macro in configure.ac does what is required to make
2720 that happen.
2721
2722 Given this, convert all uses of loff_t to off_t, remove llseek()
2723 definitions and change llseek() calls to plain lseek().
2724
2725 Signed-off-by: Andreas Bombe <aeb@debian.org>
2726
2727 commit e03a5f4
2728 Author: Andreas Bombe <aeb@debian.org>
2729 Date: Fri Oct 16 21:47:04 2015 +0200
2730
2731 Remove DJGPP support
2732
2733 These macros have been added back when dosfstools was around version 2.
2734 It is difficult to say whether these are still working correctly or
2735 whether they are in use at all. FreeDOS appears to still show version
2736 2.11 of dosfstools in their software directory.
2737
2738 Supporting actual MS-DOS or compatible may need more work in the
2739 current state of things and this DJGPP support can be removed until
2740 then.
2741
2742 Signed-off-by: Andreas Bombe <aeb@debian.org>
2743
2744 commit 5b9a88d
2745 Author: Andreas Bombe <aeb@debian.org>
2746 Date: Thu Oct 8 16:17:22 2015 +0200
2747
2748 mkfs.fat: Complete overhaul of device probing
2749
2750 The device probing in mkfs.fat is used to get device parameters where
2751 needed and also to decide whether to refuse overwriting a device due to
2752 possible user error. This code has suffered severe bitrot and is highly
2753 Linux specific. Highlights include using hardcoded major/minor device
2754 numbers to classify a device, and using 8 bits major/minor numbers that
2755 have become obsolete a long time ago and thus often misidentifying a
2756 device.
2757
2758 The overhauled implementation is now in src/device_info.c and makes use
2759 of libudev (optional, recommended) and libblkid (required) to probe the
2760 device and where Linux ioctls are required it provides fallbacks and
2761 does not attempt to call these on non-Linux systems. The FAT parameter
2762 selection has been unified and simplified in the process.
2763
2764 A new executable testdevinfo has been added that gets built but not
2765 automatically installed. It takes one file name, uses the same probing
2766 as mkfs.fat would with verbose messages enabled and displays the
2767 results.
2768
2769 Signed-off-by: Andreas Bombe <aeb@debian.org>
2770
2771 commit 53eddfc
2772 Author: Andreas Bombe <aeb@debian.org>
2773 Date: Sat Sep 12 02:54:33 2015 +0200
2774
2775 Die on out of range cluster values in set_fat()/get_fat()
2776
2777 To prevent bugs caused by FAT corruption inside fsck to go unnoticed,
2778 add a check against out of range requested cluster values in get_fat()
2779 and against out of range cluster to change and new cluster value in
2780 set_fat().
2781
2782 When an invalid cluster value is detected, these functions now die()
2783 with an "internal error" message.
2784
2785 Signed-off-by: Andreas Bombe <aeb@debian.org>
2786
2787 commit 456767b
2788 Author: Andreas Bombe <aeb@debian.org>
2789 Date: Mon Sep 14 00:33:49 2015 +0200
2790
2791 configure.ac: Use AS_HELP_STRING to format option help
2792
2793 Signed-off-by: Andreas Bombe <aeb@debian.org>
2794
2795 commit 3cfb479
2796 Author: Andreas Bombe <aeb@debian.org>
2797 Date: Mon Sep 14 00:30:40 2015 +0200
2798
2799 version.h: Use @configure_input@ autoconf variable in boilerplate
2800
2801 Signed-off-by: Andreas Bombe <aeb@debian.org>
2802
2803 commit 41ef834
2804 Author: Andreas Bombe <aeb@debian.org>
2805 Date: Mon Sep 14 00:29:27 2015 +0200
2806
2807 .gitignore: Add TAGS in addition to tags
2808
2809 Signed-off-by: Andreas Bombe <aeb@debian.org>
2810
2811 commit bdc3d2a
2812 Author: Andreas Bombe <aeb@debian.org>
2813 Date: Fri Sep 11 20:28:12 2015 +0200
2814
2815 Rename clusters field in DOS_FS struct
2816
2817 Rename it to data_clusters to prevent mistaking the clusters field of
2818 the DOS_FS struct as the total number of FAT entries instead of the
2819 number of data clusters (two less than the number of entries).
2820
2821 Signed-off-by: Andreas Bombe <aeb@debian.org>
2822
2823 commit 0790812
2824 Author: Andreas Bombe <aeb@debian.org>
2825 Date: Fri Sep 11 19:47:29 2015 +0200
2826
2827 set_fat(): Fix off-by-2 error leading to corruption in FAT12
2828
2829 In FAT12 two 12 bit entries are combined to a 24 bit value (three
2830 bytes). Therefore, when an even numbered FAT entry is set in FAT12, it
2831 must be be combined with the following entry. To prevent accessing
2832 beyond the end of the FAT array, it must be checked that the cluster is
2833 not the last one.
2834
2835 Previously, the check tested that the requested cluster was equal to
2836 fs->clusters - 1. However, fs->clusters is the number of data clusters
2837 not including the two reserved FAT entries at the start so the test
2838 triggered two clusters early.
2839
2840 If the third to last entry was written on a FAT12 filesystem with an
2841 odd number of clusters, the second to last entry would be corrupted.
2842 This corruption may also lead to invalid memory accesses when the
2843 corrupted entry becomes out of bounds and is used later.
2844
2845 Change the test to fs->clusters + 1 to fix.
2846
2847 Reported-by: Hanno Böck
2848 Signed-off-by: Andreas Bombe <aeb@debian.org>
2849
2850 commit 39ce90f
2851 Author: Andreas Bombe <aeb@debian.org>
2852 Date: Fri Sep 11 19:34:10 2015 +0200
2853
2854 set_fat(): Move FAT12 next cluster check up
2855
2856 In FAT12 two 12 bit entries are combined to a 24 bit value (three
2857 bytes). Therefore, when an even numbered FAT entry is set in FAT12, it
2858 must be be combined with the following entry. To prevent accessing
2859 beyond the end of the FAT array, it must be checked that the cluster is
2860 not the last one.
2861
2862 This check was broken in ff1b24e9 (first included in 3.0.3) as the
2863 lookup was done unconditionally and the check influenced only using the
2864 looked up value.
2865
2866 Move the check up to fix.
2867
2868 Signed-off-by: Andreas Bombe <aeb@debian.org>
2869
2870 commit 2aad1c8
2871 Author: Andreas Bombe <aeb@debian.org>
2872 Date: Tue Sep 8 03:58:29 2015 +0200
2873
2874 Prevent out of bound array read in date_dos2unix()
2875
2876 The function date_dos2unix() is called during fsck while showing
2877 information about duplicate file names. In case the date field of a
2878 directory entry contains the invalid value 0 for the month,
2879 date_dos2unix would read index -1 of the day_n array.
2880
2881 Add a check to prevent that and also make the day_n array const on this
2882 occasion.
2883
2884 Reported-by: Hanno Böck
2885 Signed-off-by: Andreas Bombe <aeb@debian.org>
2886
2887 commit 3b95786
2888 Author: Yann E. MORIN <yann.morin.1998@free.fr>
2889 Date: Sun Aug 16 15:55:43 2015 +0200
2890
2891 mkfs.fat: fix incorrect int type
2892
2893 u_int32_t is not a stanard type, while uint32_t is. This fixes builds
2894 with the musl C library, which only defines so-called "clean" headers;
2895 build failures are like (back-quotes and elision manually added for
2896 readability):
2897
2898 http://autobuild.buildroot.org/results/a09/a0923d7f6d4dbae02eba4c5024bbdae3a52aa85a/build-end.log
2899
2900 /home/peko/autobuild/instance-1/output/host/usr/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE \
2901 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -D_LARGEFILE_SOURCE \
2902 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkfs.fat.o src/mkfs.fat.c
2903 src/mkfs.fat.c: In function 'main':
2904 src/mkfs.fat.c:1415:18: error: 'u_int32_t' undeclared (first use in this function)
2905 volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); [...]
2906 ^
2907 src/mkfs.fat.c:1415:18: note: each undeclared identifier is reported only once for each
2908 function it appears in
2909
2910 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2911 Signed-off-by: Andreas Bombe <aeb@debian.org>
2912
2913 commit 2b1c4d1
2914 Author: Andreas Bombe <aeb@debian.org>
2915 Date: Wed Jun 3 03:33:10 2015 +0200
2916
2917 Add README.md, remove Markdown formatting from README
2918
2919 Signed-off-by: Andreas Bombe <aeb@debian.org>
2920
2921 commit b720acc
2922 Author: Andreas Bombe <aeb@debian.org>
2923 Date: Wed Jun 3 03:27:24 2015 +0200
2924
2925 Add simple README in Markdown format
2926
2927 Signed-off-by: Andreas Bombe <aeb@debian.org>
2928
2929 commit 2b255e6
2930 Author: Andreas Bombe <aeb@debian.org>
2931 Date: Tue Jun 2 18:25:06 2015 +0200
2932
2933 Configure option for legacy names symlinks
2934
2935 The symlinks from the old names (mkdosfs, dosfsck, etc.) are now only
2936 created on "make install" when the --enable-compat-symlinks option was
2937 given to configure.
2938
2939 Signed-off-by: Andreas Bombe <aeb@debian.org>
2940
2941 commit 0643db7
2942 Author: Andreas Bombe <aeb@debian.org>
2943 Date: Sun May 31 02:40:19 2015 +0200
2944
2945 Convert build system to autoconf/automake
2946
2947 In preparation for fixing the horribly outdated and broken device
2948 checking - which will likely involve using additional libraries like
2949 libblkid - as well as making this package portable to other operating
2950 systems, the build system is now the tried and true autoconf/automake
2951 combination which should make both goals a little more straightforward.
2952
2953 The release version number and date are now in configure.ac and
2954 substituted by configure where they are needed. Now it is no longer
2955 necessary to change the number in multiple places for a release and the
2956 man pages get the number substituted directly into them, making the
2957 update-version.sh script and the VERSION file obsolete.
2958
2959 The English man pages are moved back up one directory to mark their
2960 status as the master copy for all translations. At the moment the po4a
2961 translation infrastructure is defunct since it isn't integrated into
2962 the automake environment yet. So far it hasn't been used, so that is
2963 not an actual regression.
2964
2965 The date in the man pages is not automatically updated anymore. This is
2966 as it should be, since the date is supposed to signify the time of the
2967 last nontrivial change and not the release date of the software.
2968
2969 Signed-off-by: Andreas Bombe <aeb@debian.org>
2970
2971 commit 85022fe (tag: v3.0.28)
2972 Author: Andreas Bombe <aeb@debian.org>
2973 Date: Sat May 16 02:56:17 2015 +0200
2974
2975 Releasing version 3.0.28.
2976
2977 Signed-off-by: Andreas Bombe <aeb@debian.org>
2978
2979 commit ad1342e
2980 Author: Andreas Bombe <aeb@debian.org>
2981 Date: Sat May 16 02:10:18 2015 +0200
2982
2983 manpages: Mark MT and ME tags as untranslated for po4a
2984
2985 Signed-off-by: Andreas Bombe <aeb@debian.org>
2986
2987 commit 3ed9ec2
2988 Author: Andreas Bombe <aeb@debian.org>
2989 Date: Sun May 10 19:59:02 2015 +0200
2990
2991 mkfs: Small changes to FAT32 cluster size selection
2992
2993 Put the cluster size selection back in line with the table used in
2994 Microsoft's fatgen103.pdf and fix the comment. This only involved
2995 changing some comparison operators, all values stayed the same.
2996
2997 Signed-off-by: Andreas Bombe <aeb@debian.org>
2998
2999 commit 9984552
3000 Author: Andreas Bombe <aeb@debian.org>
3001 Date: Mon Apr 20 23:41:34 2015 +0200
3002
3003 fsck: Mention -r is default in usage message
3004
3005 Signed-off-by: Andreas Bombe <aeb@debian.org>
3006
3007 commit 3eaca68
3008 Author: Andreas Bombe <aeb@debian.org>
3009 Date: Mon Apr 20 23:30:56 2015 +0200
3010
3011 manpages: Remove obsolete information about Linux FAT support
3012
3013 Signed-off-by: Andreas Bombe <aeb@debian.org>
3014
3015 commit a5e34de
3016 Author: Andreas Bombe <aeb@debian.org>
3017 Date: Thu Apr 16 23:16:08 2015 +0200
3018
3019 manpages: Convert the rest of argument placeholders to upper case
3020
3021 Signed-off-by: Andreas Bombe <aeb@debian.org>
3022
3023 commit 2303765
3024 Author: Andreas Bombe <aeb@debian.org>
3025 Date: Thu Apr 16 22:51:20 2015 +0200
3026
3027 manpages: Fix formatting
3028
3029 Make the manpages conform to the rules for groff sources. First,
3030 eliminate empty lines because these create vertical spaces where it
3031 isn't desired. Man page sources should not contain empty lines. Second,
3032 put a line break between sentences in a paragraph. A period is
3033 recognized and formatted as a full stop period only when a line break
3034 comes right after it.
3035
3036 Signed-off-by: Andreas Bombe <aeb@debian.org>
3037
3038 commit d3969b8
3039 Author: Andreas Bombe <aeb@debian.org>
3040 Date: Fri Apr 10 20:32:50 2015 +0200
3041
3042 fsck: Verify first cluster of a file is not 1
3043
3044 Previously the FAT was checked for any out of bounds entries which were
3045 cleared. However the first cluster of a file, as specified in its
3046 directory entry, was not verified to not be 1.
3047
3048 In addition to missing this filesystem error, code that correctly
3049 assumes the FAT contained no bad entries anymore could still look up
3050 invalid table indices depending on the value stored in entry 1. With
3051 the right values and FAT size this can lead to a segfault by accessing
3052 unallocated memory.
3053
3054 Now test_file() will ignore files where the first cluster equals 1 and
3055 an additional check in check_file() will truncate them.
3056
3057 This bug was reported in http://bugs.debian.org/773885 by Jakub Wilk.
3058
3059 Signed-off-by: Andreas Bombe <aeb@debian.org>
3060
3061 commit 2a56575
3062 Author: Andreas Bombe <aeb@debian.org>
3063 Date: Thu Apr 2 23:35:00 2015 +0200
3064
3065 Simplify synopses of man pages
3066
3067 Since there is only one mode of invocation for the tools, it is
3068 somewhat pointless to list every possible option in the synopsis.
3069
3070 Fix a few style inconsistencies in addition, specifically that
3071 placeholders for option arguments are in capital letters and should be
3072 shown where the option is described.
3073
3074 Signed-off-by: Andreas Bombe <aeb@debian.org>
3075
3076 commit 40f1436
3077 Author: Andreas Bombe <aeb@debian.org>
3078 Date: Wed Apr 1 20:55:58 2015 +0200
3079
3080 Update homepage and maintainer sections of man pages
3081
3082 Signed-off-by: Andreas Bombe <aeb@debian.org>
3083
3084 commit 0169db8
3085 Author: Andreas Bombe <aeb@debian.org>
3086 Date: Wed Apr 1 20:05:01 2015 +0200
3087
3088 mkfs: Show a clearer message that file already exists with -C
3089
3090 Signed-off-by: Andreas Bombe <aeb@debian.org>
3091
3092 commit 2967e27
3093 Author: Andreas Bombe <aeb@debian.org>
3094 Date: Mon Mar 30 21:12:51 2015 +0200
3095
3096 mkfs: Remove O_TRUNC from file creation call
3097
3098 open() is called with O_EXCL | O_CREAT, so it will definitely create a
3099 new, empty file or error out. O_TRUNC is superfluous and may be harmless
3100 in practice but its effect under these circumstances is unspecified.
3101
3102 Signed-off-by: Andreas Bombe <aeb@debian.org>
3103
3104 commit 90612df
3105 Author: Andreas Bombe <aeb@debian.org>
3106 Date: Mon Mar 30 21:09:51 2015 +0200
3107
3108 mkfs: Use ftruncate() for expanding created file
3109
3110 Signed-off-by: Andreas Bombe <aeb@debian.org>
3111
3112 commit 58e8e09
3113 Author: Andreas Bombe <aeb@debian.org>
3114 Date: Tue Mar 24 21:32:40 2015 +0100
3115
3116 mkfs: Add --invariant option
3117
3118 The --invariant option is designed to prevent random or time based
3119 differences to end up in generated filesystems so that multiple runs
3120 generate on the same file or device create completely identical results.
3121
3122 This is intended for debugging or regression testing of mkfs.fat.
3123
3124 Signed-off-by: Andreas Bombe <aeb@debian.org>
3125
3126 commit 354feaf
3127 Author: Andreas Bombe <aeb@debian.org>
3128 Date: Thu Mar 19 21:35:21 2015 +0100
3129
3130 mkfs: Add long option parsing
3131
3132 Add long option parsing with getopt_long() to mkfs and define --help as
3133 the first long option. The usage() function now takes an exit code
3134 parameter so that the --help option handling can exit the program with
3135 a success exit code.
3136
3137 Signed-off-by: Andreas Bombe <aeb@debian.org>
3138
3139 commit b611549
3140 Author: Andreas Bombe <aeb@debian.org>
3141 Date: Mon Mar 16 21:08:35 2015 +0100
3142
3143 Do not expect EOF as return value of getopt()
3144
3145 Signed-off-by: Andreas Bombe <aeb@debian.org>
3146
3147 commit a41fc32
3148 Author: Andreas Bombe <aeb@debian.org>
3149 Date: Wed Mar 11 21:45:04 2015 +0100
3150
3151 fsck.fat: Fix read beyond end of array on FAT12
3152
3153 When a FAT12 filesystem contains an odd number of clusters, setting the
3154 last cluster with set_fat() will trigger a read of the next entry,
3155 which does not exist in the fat array allocated for this.
3156
3157 Round up the allocation to an even number of FAT entries for FAT12 so
3158 that this is fixed without introducing special casing in get_fat().
3159
3160 Signed-off-by: Andreas Bombe <aeb@debian.org>
3161
3162 commit e18d72f
3163 Author: Álvaro Fernández Rojas <noltari@gmail.com>
3164 Date: Sat Mar 7 13:23:23 2015 +0100
3165
3166 Remove linux/msdos_fs.h includes
3167
3168 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3169 Signed-off-by: Andreas Bombe <aeb@debian.org>
3170
3171 commit 245d0cc
3172 Author: Álvaro Fernández Rojas <noltari@gmail.com>
3173 Date: Thu Feb 26 19:22:54 2015 +0100
3174
3175 Remove non standard int types
3176
3177 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3178 Signed-off-by: Andreas Bombe <aeb@debian.org>
3179
3180 commit 628b3ec
3181 Author: Álvaro Fernández Rojas <noltari@gmail.com>
3182 Date: Thu Feb 26 19:41:19 2015 +0100
3183
3184 Improve .gitignore
3185
3186 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3187 Signed-off-by: Andreas Bombe <aeb@debian.org>
3188
3189 commit 02b5a6d
3190 Author: Álvaro Fernández Rojas <noltari@gmail.com>
3191 Date: Thu Feb 26 12:51:23 2015 +0100
3192
3193 Makefile: avoid using install -D
3194
3195 OS X and FreeBSD are not compatible with this option
3196
3197 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3198 Signed-off-by: Andreas Bombe <aeb@debian.org>
3199
3200 commit fb6aea6
3201 Author: Álvaro Fernández Rojas <noltari@gmail.com>
3202 Date: Thu Feb 26 12:50:57 2015 +0100
3203
3204 Makefile: fix typo in uninstall-man
3205
3206 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3207 Signed-off-by: Andreas Bombe <aeb@debian.org>
3208
3209 commit 357ab07
3210 Author: Andreas Bombe <aeb@debian.org>
3211 Date: Thu Feb 19 21:22:54 2015 +0100
3212
3213 fsck.fat: Make -r option default
3214
3215 Default mode is now to interactively repair with the option to write
3216 the changes back at the end (like the -r option) instead of the previous
3217 default mode of interactively correcting but never writing back the
3218 changes.
3219
3220 The -r option continues to be recognized by fsck.fat.
3221
3222 Signed-off-by: Andreas Bombe <aeb@debian.org>
3223
3224 commit 266a5fc
3225 Author: Andreas Bombe <aeb@debian.org>
3226 Date: Fri Feb 20 03:19:28 2015 +0100
3227
3228 mkfs.fat: Allow 0xF0 to be specified as media byte
3229
3230 Let the -M option accept 0xF0, which should be the proper descriptor
3231 byte for 3.5" 1.44 MB and 2.88 MB floppies.
3232
3233 Also split the error reporting for -M between badly formatted and
3234 invalid numbers.
3235
3236 Signed-off-by: Andreas Bombe <aeb@debian.org>
3237
3238 commit 16e97e9
3239 Author: Andreas Bombe <aeb@debian.org>
3240 Date: Wed Jan 28 15:07:18 2015 +0100
3241
3242 Make all char* that may take literals const
3243
3244 Every char* variable or function argument that may be given a literal
3245 string is now made const. Additionally add -Wwrite-strings to CFLAGS to
3246 enable a warning where const would be missing.
3247
3248 Signed-off-by: Andreas Bombe <aeb@debian.org>
3249
3250 commit 8b8948c
3251 Author: Andreas Bombe <aeb@debian.org>
3252 Date: Mon Dec 29 18:24:54 2014 +0100
3253
3254 mkfs.fat.c: Use unsigned char for binary data
3255
3256 Simple char technically works for the dummy_boot_jump variables, but
3257 some compiler warning settings would give a warning over a signed char
3258 overflowing with the values given as initializers.
3259
3260 Signed-off-by: Andreas Bombe <aeb@debian.org>
3261
3262 commit 45aeed0
3263 Author: Andreas Bombe <aeb@debian.org>
3264 Date: Sun Nov 16 19:49:22 2014 +0100
3265
3266 Fix indentation of "fix power loss damage" commit
3267
3268 I fixed the (sometimes misleading) indentation of the code introduced in
3269 commit 6893c45 to be in line with the reset of the code and also removed
3270 the /* PATCH ED+DL */ comments which are quite meaningless to the wider
3271 world.
3272
3273 Signed-off-by: Andreas Bombe <aeb@debian.org>
3274
3275 commit 75c5446
3276 Author: Andreas Bombe <aeb@debian.org>
3277 Date: Sat Nov 15 16:48:48 2014 +0100
3278
3279 Add tags and editor backup files to .gitignore
3280
3281 Signed-off-by: Andreas Bombe <aeb@debian.org>
3282
3283 commit cb98ae2 (tag: v3.0.27)
3284 Author: Andreas Bombe <aeb@debian.org>
3285 Date: Wed Nov 12 01:10:23 2014 +0100
3286
3287 Releasing version 3.0.27.
3288
3289 Signed-off-by: Andreas Bombe <aeb@debian.org>
3290
3291 commit e2c8f06
3292 Author: Andreas Bombe <aeb@debian.org>
3293 Date: Wed Nov 12 00:22:17 2014 +0100
3294
3295 fsck.fat: Don't print version string every time -v is encountered
3296
3297 Remove the printing of the version string every time -v is seen during
3298 command line parsing in fsck.fat. The version string is printed anyway
3299 before opening the filesystem device/image.
3300
3301 Signed-off-by: Andreas Bombe <aeb@debian.org>
3302
3303 commit 82076b6
3304 Author: Andreas Bombe <aeb@debian.org>
3305 Date: Tue Nov 11 23:25:30 2014 +0100
3306
3307 Fix attempt to rename root dir in fsck due to uninitialized fields
3308
3309 When add_file() is called with offset 0, it will construct a DIR_ENT for
3310 the root directory instead of reading the contents from the filesystem.
3311 It did not initialize the whole DIR_ENT on the stack, just select
3312 values.
3313
3314 In particular, the lcase field was left with an undefined value. If
3315 that value happened to include the FAT_NO_83NAME bit, the "neither long
3316 nor short file name" check in bad_name() added in 3.0.26 would trigger
3317 and cause an attempt to rename the entry (which is not possible).
3318 Example run:
3319
3320 $ /sbin/fsck.fat -y bad.img
3321 fsck.fat 3.0.26 (2014-03-07)
3322 /
3323 Bad short file name ().
3324 Auto-renaming it.
3325 Renamed to
3326 bad.img: 14 files, 19388/403266 clusters
3327
3328 This commit changes the initialization zeroize the whole struct before
3329 setting individual fields. Thanks to AlexisM, who found the cause and
3330 posted a patch on the Debian bug http://bugs.debian.org/764992 .
3331
3332 Signed-off-by: Andreas Bombe <aeb@debian.org>
3333
3334 commit c24ecb6
3335 Author: Andreas Bombe <aeb@debian.org>
3336 Date: Tue Nov 11 22:49:50 2014 +0100
3337
3338 Support long file names in volume labeling code
3339
3340 The code to find the volume label directory entry in find_volume_de()
3341 did not consider long file names so far. Directory entries that make up
3342 long file names have four attribute bits set, including the "volume"
3343 bit.
3344
3345 This caused the code to mistake a directory entry that is part of a
3346 long file name as the volume name entry. If such an entry is found
3347 first, fatlabel would print garbage when asked to display the label and
3348 mangle the long file name when asked to set it. The latter would lead
3349 to the loss of the long file name and require a fsck to clean up.
3350
3351 Change so that the set of attributes equal that of LFN entries will no
3352 langer match as a volume label.
3353
3354 Signed-off-by: Andreas Bombe <aeb@debian.org>
3355
3356 commit 1646f6e (tag: v3.0.26)
3357 Author: Daniel Baumann <mail@daniel-baumann.ch>
3358 Date: Fri Mar 7 18:40:13 2014 +0100
3359
3360 Releasing version 3.0.26.
3361
3362 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3363
3364 commit 6893c45
3365 Author: Dir Lotter <dirk.lotter@siemens.com>
3366 Date: Fri Mar 7 18:25:39 2014 +0100
3367
3368 Fix "odd" files created by frequent power-loss.
3369
3370 After running many power losses the filesystem can degrate, containing "odd"
3371 files making the filesystem corrupt that could not be solved by fsck:
3372
3373 * file was not visible in a ls -l
3374 * ls -i reported a "invalid file name" on the console
3375 * a test program with diropen/dirread showed the file, a stat on this file
3376 failed
3377 * file was not accessible and could not be deleted
3378
3379 After digging into the code we found why fsck didn't repair the file system:
3380 One thing was we don't have short filenames. Another issue was that the LFN
3381 pointer was set to NULL and so it looked like we didn't have short and long
3382 filenames.
3383
3384 Our patch of check.c includes:
3385
3386 * returns 1 from function bad_name() in case no short and no long filename
3387 exist
3388 * auto_rename() and rename_file() got a special handling for the case no short
3389 file name exist:
3390 - it enables the short file name (we think here was a weakness of the old
3391 code: it changed the short filename but didn't enabled it in the
3392 file->dir_ent.lcase entry)
3393 - it reset all attributes except ATTR_DIR and ATTR_VOLUME
3394
3395 This solved our problem pretty well.
3396
3397 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3398
3399 commit 621e11f
3400 Author: Natanael Copa <ncopa@alpinelinux.org>
3401 Date: Sat Feb 8 18:53:30 2014 +0100
3402
3403 Build fixes for musl libc.
3404
3405 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3406
3407 commit 52588b7 (tag: v3.0.25)
3408 Author: Daniel Baumann <mail@daniel-baumann.ch>
3409 Date: Fri Jan 17 07:11:11 2014 +0100
3410
3411 Releasing version 3.0.25.
3412
3413 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3414
3415 commit acf64ae
3416 Author: Daniel Baumann <mail@daniel-baumann.ch>
3417 Date: Fri Jan 17 07:09:54 2014 +0100
3418
3419 Updating copyright headers for 2014.
3420
3421 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3422
3423 commit 21fe921
3424 Author: Andrew Tridgell <tridge@samba.org>
3425 Date: Tue Jan 14 09:37:51 2014 +1100
3426
3427 Fixed remaining 64 bit build warnings.
3428
3429 Some of these may be real bugs.
3430
3431 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3432
3433 commit 9e3a2b1
3434 Author: Andrew Tridgell <tridge@samba.org>
3435 Date: Tue Jan 14 09:25:28 2014 +1100
3436
3437 Prevent corruption of FAT during fsck on 64 bit platforms.
3438
3439 unsigned long is 64 bit on x86-64, which means set_fat was writing two
3440 entries, which corrupts the next entry. This can cause loss of data in
3441 another file.
3442
3443 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3444
3445 commit 0d2c9bc (tag: v3.0.24)
3446 Author: Daniel Baumann <mail@daniel-baumann.ch>
3447 Date: Sat Nov 23 10:36:55 2013 +0100
3448
3449 Releasing version 3.0.24.
3450
3451 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3452
3453 commit 55bd7b7
3454 Author: Jaroslav Skarvada <jskarvad@redhat.com>
3455 Date: Sat Nov 23 10:34:48 2013 +0100
3456
3457 Fixed dosfsck on big endian platforms (Resolves: rhbz#1029695).
3458
3459 It seems there is problem in the double conversion on big endians.
3460 The first conversion is done by the explicit conversion to __u16
3461 in the GET_UNALIGNED_W macro, so the secondary conversion by le16toh
3462 seems to be redundant (and wrong).
3463
3464 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3465
3466 commit 6debb4a (tag: v3.0.23)
3467 Author: Daniel Baumann <mail@daniel-baumann.ch>
3468 Date: Tue Oct 15 08:05:46 2013 +0200
3469
3470 Releasing version 3.0.23.
3471
3472 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3473
3474 commit 07d85ff
3475 Author: Daniel Baumann <mail@daniel-baumann.ch>
3476 Date: Tue Oct 15 08:04:11 2013 +0200
3477
3478 Reformating mkfs.fat manpage.
3479
3480 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3481
3482 commit 137552f
3483 Author: Michael Shigorin <mike@altlinux.org>
3484 Date: Tue Oct 15 01:29:33 2013 +0400
3485
3486 Fixing "Fixing default sectors per cluster for FAT32" for UEFI.
3487
3488 FAT32 "EFI System Partition" is basically required for UEFI boot;
3489 commit ge048a8d broke that for me with both virtualbox-4.2 and
3490 real hardware (ASUS C60M1-I to be exact) given ~250Mb filesystem.
3491
3492 This commit amends that one by reverting its effects for these
3493 small sizes by restoring 512b cluster size for <= 260Mb FAT32.
3494
3495 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3496
3497 commit 2000696
3498 Author: Daniel Baumann <mail@daniel-baumann.ch>
3499 Date: Fri Aug 9 09:38:13 2013 +0200
3500
3501 Also allowing lowercase labels in mkfs (with warning message) consistent with the recent fsck change, thanks to Michael Baum <mbaum@devonit.com>.
3502
3503 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3504
3505 commit 9b04807
3506 Author: Tim Harder <radhermit@gentoo.org>
3507 Date: Fri Jul 19 18:15:21 2013 +0200
3508
3509 Add install-man dependency to install-symlinks Makefile target.
3510
3511 This fixes a race condition during parallel installs where man page
3512 symlinks won't be installed because install-man hasn't been run yet.
3513
3514 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3515
3516 commit 651f91c (tag: v3.0.22)
3517 Author: Daniel Baumann <mail@daniel-baumann.ch>
3518 Date: Fri Jul 19 07:01:19 2013 +0200
3519
3520 Releasing version 3.0.22.
3521
3522 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3523
3524 commit 3dc5560
3525 Author: Daniel Baumann <mail@daniel-baumann.ch>
3526 Date: Fri Jul 19 06:55:24 2013 +0200
3527
3528 Addding install-symlinks target to phony targets in Makefile.
3529
3530 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3531
3532 commit c6c0581
3533 Author: Daniel Baumann <mail@daniel-baumann.ch>
3534 Date: Fri Jul 19 06:55:00 2013 +0200
3535
3536 Adding uninstall-symlinks target in Makefile.
3537
3538 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3539
3540 commit 465dd8c
3541 Author: Daniel Baumann <mail@daniel-baumann.ch>
3542 Date: Fri Jul 19 06:45:40 2013 +0200
3543
3544 Allowing fatlabel to write labels in all lowercase but give a warning about DOS/Windows (Closes: #714971).
3545
3546 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3547
3548 commit 3621b30
3549 Author: John S Gruber <JohnSGruber@gmail.com>
3550 Date: Fri Jul 19 06:40:21 2013 +0200
3551
3552 Add options and make dos boot sector more compatible with reference system (Closes: #552673).
3553
3554 Unless overridden by the user sets the DOS boot sector's
3555 hidden-sectors field to match the start of a hard disk's
3556 partition.
3557
3558 Initialize DOS boot sector drive_number according to FAT media type
3559 Addresses LP: #398241 and Debian #552673
3560
3561 Adds options to override the DOS boot sector device_number and
3562 the FAT media type.
3563
3564 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3565
3566 commit be1eed5
3567 Author: Daniel Baumann <mail@daniel-baumann.ch>
3568 Date: Wed Jul 17 12:52:20 2013 +0200
3569
3570 Correcting wrong check preventing installation of fatlabel legacy manpage symlink.
3571
3572 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3573
3574 commit d0065d3 (tag: v3.0.21)
3575 Author: Daniel Baumann <mail@daniel-baumann.ch>
3576 Date: Tue Jul 16 08:34:28 2013 +0200
3577
3578 Releasing version 3.0.21.
3579
3580 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3581
3582 commit a74c12c
3583 Author: Jaroslav Skarvada <jskarvad@redhat.com>
3584 Date: Tue Jun 25 14:53:14 2013 +0200
3585
3586 Adding the missing -p option to the fsck manpage (to be consistent with the output of the tool).
3587
3588 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3589
3590 commit 25e03c9
3591 Author: Patrick J. Volkerding <volkerdi@slackware.com>
3592 Date: Mon Jun 24 14:23:00 2013 +0200
3593
3594 Using $MANDIR instead of hardcoded ${PREFIX}/share/man in the Makefile.
3595
3596 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3597
3598 commit 7fd9cf7
3599 Author: Daniel Baumann <mail@daniel-baumann.ch>
3600 Date: Fri Jun 14 18:50:31 2013 +0200
3601
3602 Making install-symlinks Makefile target depend on install-bin to not break when using make in parallel, thanks to David Walser <luigiwalser@yahoo.com>.
3603
3604 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3605
3606 commit a76bbcd
3607 Author: Daniel Baumann <mail@daniel-baumann.ch>
3608 Date: Wed Jun 12 13:00:10 2013 +0200
3609
3610 Using US digit date format in version date, rather than name abbrev.
3611
3612 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3613
3614 commit a64195f (tag: v3.0.20)
3615 Author: Daniel Baumann <mail@daniel-baumann.ch>
3616 Date: Wed Jun 12 12:25:32 2013 +0200
3617
3618 Releasing version 3.0.20.
3619
3620 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3621
3622 commit 1a5d99f
3623 Author: Daniel Baumann <mail@daniel-baumann.ch>
3624 Date: Wed Jun 12 12:07:58 2013 +0200
3625
3626 Softening message about different boot sectors a bit (Closes: #704198).
3627
3628 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3629
3630 commit 4727286
3631 Author: Daniel Baumann <mail@daniel-baumann.ch>
3632 Date: Wed Jun 12 11:42:52 2013 +0200
3633
3634 Harmonizing program name output.
3635
3636 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3637
3638 commit 17c956c
3639 Author: Martin Wilck <mwilck@arcor.de>
3640 Date: Wed Jun 12 11:38:00 2013 +0200
3641
3642 Don't align FAT to cluster size.
3643
3644 See previous patch for explanation.
3645
3646 With this patch and the previous two, the
3647 mkdosfs generated FAT32 file systems work well in my extremely
3648 picky TechniSat device. Of course, they're also detected cleanly
3649 by Linux and Windows.
3650
3651 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3652
3653 commit d63e0d6
3654 Author: Martin Wilck <mwilck@arcor.de>
3655 Date: Wed Jun 12 11:36:08 2013 +0200
3656
3657 Don't align FAT32 reserved sectors to cluster size.
3658
3659 For certain file system sizes (in particular, exact GB sizes -
3660 don't ask me why) a Technisat HD S2 Plus DVB receiver will still
3661 choke on mkdosfs generated file systems, even if the sectors per
3662 cluster problem is fixed.
3663
3664 By comparing the properties of generated FAT32 FS with results
3665 of the Windows tool "h2format" (www.heise.de/download/h2format.html),
3666 I found that the remaining problems were caused by rounding of the
3667 reserved sectors and FAT space to cluster size (the h2format tool
3668 doesn't do this).
3669
3670 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3671
3672 commit e048a8d
3673 Author: Martin Wilck <mwilck@arcor.de>
3674 Date: Wed Jun 12 11:33:33 2013 +0200
3675
3676 Fixing default sectors per cluster for FAT32 (Closes: #690062).
3677
3678 The default sectors per cluster calculated by mkdosfs are outdated,
3679 see http://technet.microsoft.com/en-us/library/cc938438.aspx.
3680
3681 The deviations may cause some 3rd party devices (e.g. TechniSat DVB
3682 receivers) to hang when reading mkdosfs generated file systems.
3683
3684 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3685
3686 commit 86509aa
3687 Author: Daniel Baumann <mail@daniel-baumann.ch>
3688 Date: Tue Jun 11 20:19:09 2013 +0200
3689
3690 Splitting out legacy symlink creation in toplevel Makefile to own target.
3691
3692 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3693
3694 commit da37dd1
3695 Author: Daniel Baumann <mail@daniel-baumann.ch>
3696 Date: Wed Jun 12 11:29:12 2013 +0200
3697
3698 Correcting wrong toolname in fsck.fat.
3699
3700 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3701
3702 commit b29a722
3703 Author: Daniel Baumann <mail@daniel-baumann.ch>
3704 Date: Tue Jun 11 19:51:47 2013 +0200
3705
3706 Consistently spelling filesystem as filesystem, and not file system.
3707
3708 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3709
3710 commit 977d7aa
3711 Author: Daniel Baumann <mail@daniel-baumann.ch>
3712 Date: Tue Jun 11 19:30:19 2013 +0200
3713
3714 Removing Debian reference in GPL license headers.
3715
3716 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3717
3718 commit 5505cc2 (tag: v3.0.19)
3719 Author: Daniel Baumann <mail@daniel-baumann.ch>
3720 Date: Tue Jun 11 18:46:03 2013 +0200
3721
3722 Releasing version 3.0.19.
3723
3724 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3725
3726 commit 2c88f35
3727 Author: Daniel Baumann <mail@daniel-baumann.ch>
3728 Date: Tue Jun 11 18:44:50 2013 +0200
3729
3730 Running indent on source files.
3731
3732 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3733
3734 commit d495d43
3735 Author: Daniel Baumann <mail@daniel-baumann.ch>
3736 Date: Tue Jun 11 18:41:41 2013 +0200
3737
3738 Using memcpy instead of strcpy to fix segfault with fortify, thanks to Dave Reisner <falconindy@jabber.org>.
3739
3740 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3741
3742 commit 9fb4ffc
3743 Author: Daniel Baumann <mail@daniel-baumann.ch>
3744 Date: Sun Jun 9 13:17:16 2013 +0200
3745
3746 Correcting fsck.fat spelling error in manpages, thanks to E.J.M. Hartman <E.J.M.Hartman@tudelft.nl>.
3747
3748 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3749
3750 commit 2d8ef9b (tag: v3.0.18)
3751 Author: Daniel Baumann <mail@daniel-baumann.ch>
3752 Date: Thu Jun 6 09:49:00 2013 +0200
3753
3754 Releasing version 3.0.18.
3755
3756 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3757
3758 commit d4e1180
3759 Author: Daniel Baumann <mail@daniel-baumann.ch>
3760 Date: Thu Jun 6 09:38:45 2013 +0200
3761
3762 Adding initial i18n support for manpages with po4a.
3763
3764 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3765
3766 commit ea8f712
3767 Author: Daniel Baumann <mail@daniel-baumann.ch>
3768 Date: Thu Jun 6 09:17:13 2013 +0200
3769
3770 Renaming tools to sane namespace and keeping legacy symlinks in place.
3771
3772 dosfslabel becomes fatlabel,
3773 dosfsck becomes fsck.fat,
3774 and mkdosfs becomes mkfs.fat.
3775
3776 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3777
3778 commit a42b127
3779 Author: Daniel Baumann <mail@daniel-baumann.ch>
3780 Date: Wed Jun 5 07:12:03 2013 +0200
3781
3782 Correcting wrong spelling of Debian in mkdosfs manpage.
3783
3784 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3785
3786 commit 2749084
3787 Author: Daniel Baumann <mail@daniel-baumann.ch>
3788 Date: Wed Jun 5 07:10:50 2013 +0200
3789
3790 Correcting spelling typo in boot.c.
3791
3792 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3793
3794 commit 6461c83
3795 Author: Martin Pitt <martinpitt@gnome.org>
3796 Date: Fri May 24 09:35:44 2013 +0200
3797
3798 dosfslabel: Do not read beyond string length (Closes: #709587).
3799
3800 When checking whether the label contains any lower-case characters, do not read
3801 beyond the end of the string.
3802
3803 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3804
3805 commit 4203a90 (tag: v3.0.17)
3806 Author: Daniel Baumann <mail@daniel-baumann.ch>
3807 Date: Wed May 29 10:14:09 2013 +0200
3808
3809 Releasing version 3.0.17.
3810
3811 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3812
3813 commit 3aa88ed
3814 Author: Daniel Baumann <mail@daniel-baumann.ch>
3815 Date: Wed May 29 09:48:24 2013 +0200
3816
3817 Updating maximal lenght of a label in manpage to talk about bytes instead of characters, thanks to Francois Wendling <frwendling@gmail.com> (Closes: #655953).
3818
3819 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3820
3821 commit 0916f8a
3822 Author: Jaroslav Skarvada <jskarvad@redhat.com>
3823 Date: Wed May 29 09:56:08 2013 +0200
3824
3825 Fixing segfault in dosfslabel.
3826
3827 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3828
3829 commit 4a265c6
3830 Author: James Byrne <jbyrne@aminocom.com>
3831 Date: Mon Apr 22 12:29:51 2013 +0100
3832
3833 Allow operation on SH4 CPUs and remove compiler warnings.
3834
3835 Simplify the GET_UNALIGNED_W macro and use it in all cases instead of making it
3836 conditional on CPU types. This missed some CPUs that needed it (e.g. SH4), and
3837 in any case the implementation caused "dereferencing type-punned pointer will
3838 break strict-aliasing rules" warnings.
3839
3840 Enable extra warnings, but disable signed comparison and missing field
3841 initializer warnings as these are not helpful.
3842
3843 Update write_boot_label() so that the boot_sector_16 and boot_sector cases are
3844 handled separately instead of using an aliased pointer, as that causes
3845 "dereferencing type-punned pointer will break strict-aliasing rules" warnings.
3846
3847 Make date_dos2unix(), usage() and cdiv() static functions as they are only used
3848 in the files in which they are declared.
3849
3850 Update bad_name() and lfn_get() so that the extension is processed separately
3851 instead of by indexing past the end of the name field as that causes "array
3852 subscript is above array bounds" warnings.
3853
3854 Update the dosfsck() main function to avoid a warning that free_clusters may
3855 be used uninitialized. Do not print the final count of files and clusters when
3856 dosfsck is run with the "-b" option because the used files and clusters have
3857 not been counted in this case.
3858
3859 Alter the setup_tables() function so that it does not cause an "array subscript
3860 is below array bounds" warning.
3861
3862 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3863
3864 commit eb68a14
3865 Author: James Byrne <jbyrne@aminocom.com>
3866 Date: Mon Apr 22 13:32:01 2013 +0100
3867
3868 Add a .gitignore file.
3869
3870 Add a .gitignore file so that the results of compilation do not appear as
3871 changes.
3872
3873 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3874
3875 commit 336e8f1
3876 Author: James Byrne <jbyrne@aminocom.com>
3877 Date: Mon Apr 22 12:38:52 2013 +0100
3878
3879 Finish cleanup of byteswap code.
3880
3881 Commit 9ba8992 left three references to the old CT_LE_W macro.
3882 Remove these since no conversion was needed as the value being
3883 converted was zero.
3884
3885 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3886
3887 commit 64b6227
3888 Author: Daniel Baumann <mail@daniel-baumann.ch>
3889 Date: Thu Apr 4 08:08:00 2013 +0200
3890
3891 Shortening links to upstream homepage.
3892
3893 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3894
3895 commit 76304be
3896 Author: Cristian Rodríguez <crrodriguez@opensuse.org>
3897 Date: Fri Mar 1 08:23:34 2013 +0100
3898
3899 Fix offsetof definition.
3900
3901 * include stddef.h to get the correct offsetof definition.
3902 * remove local offsetof definition, systems not having it on stddef.h
3903 are in violation of C89, C99, POSIX.1-2001.
3904
3905 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3906
3907 commit 9ba8992
3908 Author: Cristian Rodríguez <crrodriguez@opensuse.org>
3909 Date: Fri Mar 1 08:58:36 2013 +0100
3910
3911 Cleanup byteswap code.
3912
3913 Remove all duplicate macro definitions for byteswapping routines
3914 and replace them for proper usage of userspace endian(3).
3915
3916 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3917
3918 commit 8733e12 (tag: v3.0.16)
3919 Author: Daniel Baumann <mail@daniel-baumann.ch>
3920 Date: Wed May 29 10:06:01 2013 +0200
3921
3922 Releasing version 3.0.16.
3923
3924 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3925
3926 commit a9fa87e
3927 Author: Petr Gajdos <pgajdos@suse.cz>
3928 Date: Fri Mar 1 08:34:12 2013 +0100
3929
3930 Create rootdir entry volume label with mkdosfs, create it when
3931 it doesn't exist with dosfslabel.
3932
3933 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
3934 for more information.
3935
3936 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3937
3938 commit 92057f1
3939 Author: Petr Gajdos <pgajdos@suse.cz>
3940 Date: Fri Mar 1 08:33:18 2013 +0100
3941
3942 Forbid lowercase letters in label.
3943
3944 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
3945 http://support.microsoft.com/kb/71715/en-us for more information.
3946
3947 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3948
3949 commit 5e265c4
3950 Author: Petr Gajdos <pgajdos@suse.cz>
3951 Date: Fri Mar 1 08:32:02 2013 +0100
3952
3953 Read label also from rootdir entry.
3954
3955 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
3956 for more information.
3957
3958 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3959
3960 commit 5cec53c
3961 Author: Petr Gajdos <pgajdos@suse.cz>
3962 Date: Fri Mar 1 08:30:21 2013 +0100
3963
3964 alloc_rootdir_entry() is intended to be called with pattern == "FSCK%04dREC",
3965 the old code (probably c&p from auto_rename()) doesn't reflect this.
3966
3967 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3968
3969 commit 63938f0
3970 Author: Petr Gajdos <pgajdos@suse.cz>
3971 Date: Fri Mar 1 08:29:00 2013 +0100
3972
3973 Instead of eleven blanks, fill in "NO NAME " as specification tells.
3974
3975 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
3976 http://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html for more information.
3977
3978 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3979
3980 commit 10c1c41
3981 Author: Petr Gajdos <pgajdos@suse.cz>
3982 Date: Fri Mar 1 08:58:15 2013 +0100
3983
3984 Write uppercase letters in label.
3985
3986 See https://bugzilla.novell.com/show_bug.cgi?id=657011#c4 and
3987 http://support.microsoft.com/kb/71715/en-us for more information.
3988
3989 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3990
3991 commit a75fb1c (tag: v3.0.15)
3992 Author: Daniel Baumann <mail@daniel-baumann.ch>
3993 Date: Thu Feb 21 15:06:52 2013 +0100
3994
3995 Releasing version 3.0.15.
3996
3997 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
3998
3999 commit c8f84fd
4000 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
4001 Date: Mon Feb 4 00:22:34 2013 +0400
4002
4003 Using wcstombs() to convert LFN unicode characters to printable text.
4004
4005 This closes Debian bug #596336.
4006
4007 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4008
4009 commit 1546545
4010 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
4011 Date: Sun Sep 5 18:59:47 2010 +0400
4012
4013 Recode short filenames from DOS codepage (default 437).
4014
4015 Recode short filenames from DOS codepage (default 437) to the current
4016 character encoding. This makes messages of dosfsck more readable.
4017 Partially closes Debian bug #596336.
4018
4019 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4020
4021 commit ad76cae
4022 Author: Jaroslav Skarvada <jskarvad@redhat.com>
4023 Date: Thu Feb 21 14:40:52 2013 +0100
4024
4025 Fixing root directory allocation.
4026
4027 See https://bugzilla.redhat.com/show_bug.cgi?id=674095 for more information.
4028
4029 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4030
4031 commit b8201b3
4032 Author: Jaroslav Skarvada <jskarvad@redhat.com>
4033 Date: Thu Feb 21 14:40:25 2013 +0100
4034
4035 Fixing device detection.
4036
4037 See https://bugzilla.redhat.com/show_bug.cgi?id=710480 for more information.
4038
4039 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4040
4041 commit 7a75638 (tag: v3.0.14)
4042 Author: Daniel Baumann <mail@daniel-baumann.ch>
4043 Date: Wed Jan 23 13:22:01 2013 +0100
4044
4045 Releasing version 3.0.14.
4046
4047 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4048
4049 commit 5bdd7ef
4050 Author: Daniel Baumann <mail@daniel-baumann.ch>
4051 Date: Wed Jan 23 13:16:20 2013 +0100
4052
4053 Documenting dosfsck -b in its manpage.
4054
4055 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4056
4057 commit a307be2
4058 Author: Oleksij Rempel <bug-track@fisher-privat.net>
4059 Date: Wed Jan 23 12:36:56 2013 +0100
4060
4061 Adding option for bootsector read-only check.
4062
4063 Most boot sectors may contains marker for filesystem state. We can this
4064 bit on every mount and warn user if some thing wrong, without checking
4065 complete filesystem.
4066
4067 Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
4068 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4069
4070 commit ce2f8dc
4071 Author: Oleksij Rempel <bug-track@fisher-privat.net>
4072 Date: Wed Jan 23 12:35:13 2013 +0100
4073
4074 Checking boot sector for dirty bit.
4075
4076 Some OSos use reseved byte of boot sector to set state of the file
4077 system. If first bit set, then filesystem is proably damaged - write
4078 operation was not finished/cache not snycted/...
4079
4080 Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
4081 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4082
4083 commit f33ee8c
4084 Author: Daniel Baumann <mail@daniel-baumann.ch>
4085 Date: Wed Jan 23 12:25:59 2013 +0100
4086
4087 Completing and updating all copyright headers for 2013.
4088
4089 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4090
4091 commit bfe6d25
4092 Author: Daniel Baumann <mail@daniel-baumann.ch>
4093 Date: Wed Jan 23 12:17:20 2013 +0100
4094
4095 Updating my email address.
4096
4097 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4098
4099 commit 13cdb4d (tag: v3.0.13)
4100 Author: Daniel Baumann <mail@daniel-baumann.ch>
4101 Date: Sat Jun 30 19:10:44 2012 +0200
4102
4103 Releasing version 3.0.13.
4104
4105 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4106
4107 commit d039482
4108 Author: Jaroslav Škarvada <jskarvad@redhat.com>
4109 Date: Sat Jun 30 19:09:11 2012 +0200
4110
4111 Fix 'dosfslabel throws "Seek to 114116076544:Invalid argument" error when labeling'.
4112
4113 See https://bugzilla.redhat.com/show_bug.cgi?id=693662 for more information.
4114
4115 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4116
4117 commit e243612 (tag: v3.0.12)
4118 Author: Daniel Baumann <mail@daniel-baumann.ch>
4119 Date: Sat Oct 29 08:40:53 2011 +0200
4120
4121 Releasing version 3.0.12.
4122
4123 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4124
4125 commit 025b4f0
4126 Author: Michael Casadevall <mcasadevall@ubuntu.com>
4127 Date: Tue Jun 7 19:19:30 2011 +0200
4128
4129 Correcting miscalculation of sector number in some cases.
4130
4131 mkdosfs will incorrectly calculate the number of sectors of a
4132 given FAT partition if the number sectors are odd due to
4133 count_blocks incorrectly handling the remainder of a division
4134 operation. This miscalculation causes the OMAP4 bootloader to
4135 fail to boot.
4136
4137 This bug can be observed by comparing the total sector size in
4138 fdisk expert more to fsck.msdos; this discrepancy only shows up
4139 when the number of sectors are odd.
4140
4141 See https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/794043
4142 for more information.
4143
4144 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4145
4146 commit 91a1fb9
4147 Author: Daniel Baumann <mail@daniel-baumann.ch>
4148 Date: Sat Jan 8 23:38:59 2011 +0100
4149
4150 Re-running Nindent.
4151
4152 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4153
4154 commit 0390c4c
4155 Author: Sergey Gusarov <laborer2008@gmail.com>
4156 Date: Sat Jan 8 23:36:11 2011 +0100
4157
4158 Fixing compiler warnings related to the mismatch of types "char *" / "unsigned
4159 char *".
4160
4161 These warnings appear when you compile the project with the option "-Wall", what
4162 is done with the current default Makefile.
4163
4164 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4165
4166 commit 4a8f8a6
4167 Author: Jaroslav Skarvada <jskarvad@redhat.com>
4168 Date: Thu Jan 6 22:35:00 2011 +0100
4169
4170 Fixing overflow bug in reclaim_file function, see
4171 https://bugzilla.redhat.com/show_bug.cgi?id=660154 for more information.
4172
4173 The problem is that alloc_rootdir_entry counts with 10000 files at max, but the
4174 filename buffer is only 8 chars long. Due to pattern mask used it results to
4175 only 10 files at max (FSCK0-9REC). If there is more than 10 files, it overflows
4176 and hangs.
4177
4178 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4179
4180 commit e0366da
4181 Author: Sergey Gusarov <laborer2008@gmail.com>
4182 Date: Thu Jan 6 22:31:39 2011 +0100
4183
4184 Fixing conversion specifiers in accordance with the type of expressions.
4185
4186 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4187
4188 commit 2d8be9c
4189 Author: Daniel Baumann <mail@daniel-baumann.ch>
4190 Date: Sun Jan 2 15:41:44 2011 +0100
4191
4192 Indenting source files.
4193
4194 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4195
4196 commit 697af85
4197 Author: Daniel Baumann <mail@daniel-baumann.ch>
4198 Date: Sun Jan 2 15:39:03 2011 +0100
4199
4200 Adding Nindent script from syslinux.
4201
4202 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4203
4204 commit 66d55cd (tag: v3.0.11)
4205 Author: Daniel Baumann <mail@daniel-baumann.ch>
4206 Date: Fri Dec 24 17:58:29 2010 +0100
4207
4208 Releasing version 3.0.11.
4209
4210 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4211
4212 commit d579802
4213 Author: Michael Stapelberg <michael@stapelberg.de>
4214 Date: Fri Nov 19 14:09:36 2010 +0100
4215
4216 Add better error message when the device cannot be opened.
4217
4218 This is helpful for SD cards or other removable media which have an enabled
4219 write lock -- without the "Permission denied" message, the user has to strace
4220 mkdosfs to find out what's going on.
4221
4222 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4223
4224 commit bb6000f
4225 Author: Jaroslav Skarvada <jskarvad@redhat.com>
4226 Date: Fri Oct 8 13:38:16 2010 +0200
4227
4228 Unalign on s390x, see http://bugzilla.redhat.com/show_bug.cgi?id=624596 for
4229 more information.
4230
4231 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4232
4233 commit 5ef7f1f (tag: v3.0.10)
4234 Author: Daniel Baumann <mail@daniel-baumann.ch>
4235 Date: Sun Sep 12 09:35:47 2010 +0200
4236
4237 Releasing version 3.0.10.
4238
4239 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4240
4241 commit ea41797
4242 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
4243 Date: Sun Sep 12 09:29:12 2010 +0200
4244
4245 Modify LFN direntries when file is renamed or deleted, see
4246 Debian bug #596329.
4247
4248 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4249
4250 commit e56ff72
4251 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
4252 Date: Sun Sep 12 09:27:07 2010 +0200
4253
4254 If the test of short filename fails, dosfsck could complain about
4255 bad long filename, see Debian bug #596327.
4256
4257 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4258
4259 commit f0a42d0
4260 Author: Alexander Korolkov <alexander.korolkov@gmail.com>
4261 Date: Sun Sep 12 09:24:47 2010 +0200
4262
4263 dosfsck: don't complain about bad filenames when short filename
4264 contains 7 or more characters with codes 128-255, see Debian
4265 bug #596327.
4266
4267 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4268
4269 commit 0113c5b
4270 Author: Mitch Rybczynski <mrybczynski@miovision.com>
4271 Date: Mon Jul 5 14:45:54 2010 +0200
4272
4273 Adding __arm__ define check for some crosscompile toolchains.
4274
4275 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4276
4277 commit 88cb84f
4278 Author: Daniel Baumann <mail@daniel-baumann.ch>
4279 Date: Sun Mar 14 16:42:32 2010 +0100
4280
4281 Modernizing dosfslabel manpage.
4282
4283 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4284
4285 commit 5aa7ec4
4286 Author: Daniel Baumann <mail@daniel-baumann.ch>
4287 Date: Sun Mar 14 16:33:47 2010 +0100
4288
4289 Modernizing dosfsck manpage.
4290
4291 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4292
4293 commit 807ed80
4294 Author: Daniel Baumann <mail@daniel-baumann.ch>
4295 Date: Sun Mar 14 16:05:32 2010 +0100
4296
4297 Fixing spelling error in boot.c.
4298
4299 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4300
4301 commit 5b6849d (tag: v3.0.9)
4302 Author: Daniel Baumann <mail@daniel-baumann.ch>
4303 Date: Sun Jan 31 08:31:32 2010 +0100
4304
4305 Releasing version 3.0.9.
4306
4307 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4308
4309 commit 33bca7d
4310 Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
4311 Date: Sun Jan 31 00:11:41 2010 -0500
4312
4313 Be sure to store the updated reserved_sector count in the boot sector,
4314 see Debian bug #567337.
4315
4316 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4317
4318 commit 2a3bef8 (tag: v3.0.8)
4319 Author: Daniel Baumann <mail@daniel-baumann.ch>
4320 Date: Sat Jan 23 10:16:18 2010 +0100
4321
4322 Releasing version 3.0.8.
4323
4324 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4325
4326 commit 726c02d
4327 Author: Daniel Baumann <mail@daniel-baumann.ch>
4328 Date: Sat Jan 23 10:15:01 2010 +0100
4329
4330 Removing some cruft in end-comments.
4331
4332 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4333
4334 commit a5961d7
4335 Author: Steven J. Magnani <steve@digidescorp.com>
4336 Date: Thu Jan 21 16:58:11 2010 +0100
4337
4338 When compiling a 32-bit version of dosfstools on an x86_64 machine,
4339 the resulting applications report strange errors on "large" (> 2 GiB)
4340 partitions:
4341
4342 Seek to -2118967808:Invalid argument
4343
4344 Warning: Filesystem is FAT32 according to fat_length and fat32_length fields,
4345 but has only 8613 clusters, less than the required minimum of 65525.
4346 This may lead to problems on some systems.
4347
4348 This appears to be due to compilation with a 32-bit off_t and lseek() library
4349 function.
4350
4351 Use lseek64 for positioning, and change some suspect uses of off_t to loff_t.
4352
4353 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4354
4355 commit bbb25bf
4356 Author: Steven J. Magnani <steve@digidescorp.com>
4357 Date: Thu Jan 21 16:56:26 2010 +0100
4358
4359 If dosfsck is run in read-only mode (-n), exit with code 0
4360 if the only issue found is an uninitialized free cluster summary.
4361
4362 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4363
4364 commit 1cae726
4365 Author: Steven J. Magnani <steve@digidescorp.com>
4366 Date: Thu Jan 21 16:55:30 2010 +0100
4367
4368 On x86_64, dosfsck incorrectly claims that a free_cluster summary of
4369 0xFFFFFFFF, defined by Microsoft to be "uninitialized," is wrong.
4370
4371 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4372
4373 commit 62f806a
4374 Author: H. Peter Anvin <hpa@zytor.com>
4375 Date: Fri Jan 8 09:16:38 2010 +0100
4376
4377 mkdosfs: correct alignment of the root directory.
4378
4379 Correct the code to align the root directory; it was broken before
4380 since bs.dir_entries had already been set at the point of alignment.
4381 This patch removes the dual use of bs.dir_entries and root_dir_entries
4382 to carry the same information: the information is carried in
4383 root_dir_entires exclusively, and then bs.dir_entries is set inside
4384 setup_tables() at a late point.
4385
4386 The code to align the root directory is also wrapped in
4387 if (align_structures); this avoids rounding the number of root
4388 directory entries up to a whole sector when used with -a
4389 (i.e. preserves the previous behavior.)
4390
4391 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4392
4393 commit 8825bda
4394 Author: H. Peter Anvin <hpa@zytor.com>
4395 Date: Wed Jan 6 20:55:36 2010 +0100
4396
4397 mkdosfs: improve wording in the man page for the -a option.
4398
4399 Improve the English language used in the man page for the -a (no
4400 align) option to mkdosfs.
4401
4402 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4403
4404 commit 21d3f81
4405 Author: Daniel Baumann <mail@daniel-baumann.ch>
4406 Date: Wed Jan 6 11:27:25 2010 +0100
4407
4408 Adding reference to dosfslable in mkdosfs manpage.
4409
4410 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4411
4412 commit 247ba06
4413 Author: H. Peter Anvin <hpa@zytor.com>
4414 Date: Wed Jan 6 11:18:55 2010 +0100
4415
4416 mkdosfs: by default align all structures to cluster boundaries
4417
4418 Align all data structures (reserved sectors, FATs, root directory for
4419 FAT12/16) to an even multiple of the cluster size. This means that if
4420 the partition is aligned, so will all clusters be. This adds
4421 significant performance for anything where the physical sector size is
4422 larger than the logical sector size, e.g. flash media or large-sector
4423 hard disks.
4424
4425 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4426
4427 commit 171bc07 (tag: v3.0.7)
4428 Author: Daniel Baumann <mail@daniel-baumann.ch>
4429 Date: Thu Dec 24 10:53:36 2009 +0100
4430
4431 Releasing version 3.0.7.
4432
4433 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4434
4435 commit 28708fc
4436 Author: Ben Hutchings <ben@decadent.org.uk>
4437 Date: Thu Dec 24 09:55:52 2009 +0100
4438
4439 Fixing dosfslabel to set volume label in the right place,
4440 see Debian bug #559985.
4441
4442 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4443
4444 commit 2c405dd
4445 Author: Lubomir Rintel <lkundrak@v3.sk>
4446 Date: Thu Dec 24 09:39:39 2009 +0100
4447
4448 Fixing out-of bound writes.
4449
4450 Firstly, packed attribute is added to the structure so that extension
4451 is guarranteed to immediately follow name for the cross-name-extension
4452 reads to succeed.
4453
4454 Secondly, writes into dir_entry->name that span through the extension as
4455 well are split into two, so that FORTIFY_SOURCE's bound checking does
4456 not abort dosfsck. There also was an off-by-one error in auto_rename()'s
4457 sprintf().
4458
4459 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4460
4461 commit b8f3efe
4462 Author: San Mehat <san@google.com>
4463 Date: Thu Dec 24 09:31:41 2009 +0100
4464
4465 Adding custom exit code in dosfsck for the case where the FS is read only.
4466
4467 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4468
4469 commit 0657e01 (tag: v3.0.6)
4470 Author: Daniel Baumann <mail@daniel-baumann.ch>
4471 Date: Sun Oct 4 10:59:33 2009 +0200
4472
4473 Releasing version 3.0.6.
4474
4475 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4476
4477 commit bc84254
4478 Author: Steven J. Magnani <steve@digidescorp.com>
4479 Date: Sun Oct 4 10:58:43 2009 +0200
4480
4481 Attempt to improve clarity of the orphan cluster reclaim code.
4482 Minor optimization - remove some unnecessary checking.
4483
4484 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4485
4486 commit 8054b4a
4487 Author: Steven J. Magnani <steve@digidescorp.com>
4488 Date: Sun Oct 4 08:37:19 2009 +0200
4489
4490 Close hole that permitted clusters to link to (invalid) cluster 1.
4491
4492 If an orphan chain that linked to cluster 1 was reclaimed to a file,
4493 deletion of the file would result in a filesystem panic.
4494
4495 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4496
4497 commit e51af88
4498 Author: Steven J. Magnani <steve@digidescorp.com>
4499 Date: Sun Oct 4 08:32:30 2009 +0200
4500
4501 Fix erroneous report of huge number of clusters in use on big-endian
4502 systems when the FSINFO free cluster count is reset.
4503
4504 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4505
4506 commit 16ba63f (tag: v3.0.5)
4507 Author: Daniel Baumann <mail@daniel-baumann.ch>
4508 Date: Mon Jul 27 14:26:11 2009 +0200
4509
4510 Releasing version 3.0.5.
4511
4512 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4513
4514 commit 28ff9d9
4515 Author: Piotr Kaczuba <pepe@attika.ath.cx>
4516 Date: Sun Jul 26 22:21:25 2009 +0200
4517
4518 Signed/unsigned char mismatch in check.c causes false positives
4519 in bad_name() and can result in data loss, see Debian bug #538758.
4520
4521 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4522
4523 commit d42a273
4524 Author: Andrew Tridgell <tridge@samba.org>
4525 Date: Sun Jul 26 22:12:06 2009 +0200
4526
4527 Update to new kernel patches that add FAT_NO_83NAME flag.
4528
4529 See http://lkml.org/lkml/2009/7/20/425 and
4530 http://lkml.org/lkml/2009/7/20/424 for more information.
4531
4532 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4533
4534 commit dd0f0b5 (tag: v3.0.4)
4535 Author: Daniel Baumann <mail@daniel-baumann.ch>
4536 Date: Tue Jul 21 08:10:52 2009 +0200
4537
4538 Releasing version 3.0.4.
4539
4540 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4541
4542 commit b9f37a6
4543 Author: Andrew Tridgell <tridge@samba.org>
4544 Date: Tue Jul 21 07:59:22 2009 +0200
4545
4546 Modify dosfstools to support the dummy 8.3 short filename values
4547 used by Linux systems with the VFAT_FS_DUALNAMES option disabled.
4548
4549 See http://lkml.org/lkml/2009/6/26/313 and
4550 http://lkml.org/lkml/2009/6/26/314 for more information.
4551
4552 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4553
4554 commit ecd15e8
4555 Author: Paul Rupe <prupe@nc.rr.com>
4556 Date: Tue May 19 10:37:52 2009 +0200
4557
4558 Fixing "Too many files need repair" error during fsck.
4559
4560 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4561
4562 commit 7c16098 (tag: v3.0.3)
4563 Author: Daniel Baumann <mail@daniel-baumann.ch>
4564 Date: Mon May 18 15:12:04 2009 +0200
4565
4566 Releasing version 3.0.3.
4567
4568 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4569
4570 commit b396dcf
4571 Author: Daniel Baumann <mail@daniel-baumann.ch>
4572 Date: Mon May 18 15:10:55 2009 +0200
4573
4574 Also declaring arm as an unaligned architecture, see Debian bug #502961.
4575
4576 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4577
4578 commit ff1b24e
4579 Author: Steven J. Magnani <steve@digidescorp.com>
4580 Date: Mon May 18 15:01:49 2009 +0200
4581
4582 Adding support for limited-memory embedded systems.
4583
4584 This patch reorganizes heap memory usage by dosfsck and mkdosfs
4585 to support limited-memory embedded systems - in particular, those
4586 based on Xilinx's Microblaze processor. It also adds a few comments.
4587
4588 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4589
4590 commit 89f0b72
4591 Author: Mike Frysinger <vapier@gentoo.org>
4592 Date: Thu Mar 5 07:03:36 2009 +0100
4593
4594 Declaring Blackfin as an unaligned architecture.
4595
4596 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4597
4598 commit b54a8a4 (tag: v3.0.2)
4599 Author: Daniel Baumann <mail@daniel-baumann.ch>
4600 Date: Sat Feb 28 09:48:04 2009 +0100
4601
4602 Releasing version 3.0.2.
4603
4604 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4605
4606 commit 9500529
4607 Author: Hiroaki Ishizawa <hiroaki.ishizawa@gmail.com>
4608 Date: Fri Feb 13 10:00:46 2009 +0100
4609
4610 dosfsck corrupts root directory when fs->nfats is 1.
4611
4612 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4613
4614 commit 043f8a8
4615 Author: Stepan Kasal <skasal@redhat.com>
4616 Date: Fri Jan 30 14:56:33 2009 +0100
4617
4618 src/dosfslabel.c (main): After writing the label, exit code should be 0.
4619
4620 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4621
4622 commit 017da27
4623 Author: Daniel Baumann <mail@daniel-baumann.ch>
4624 Date: Fri Jan 30 14:06:01 2009 +0100
4625
4626 Also installing ChangeLog in install-doc target of Makefile.
4627
4628 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4629
4630 commit 1c76f0f
4631 Author: Stepan Kasal <skasal@redhat.com>
4632 Date: Fri Jan 30 14:05:12 2009 +0100
4633
4634 Makefile: Do not clobber time stamps of doc files.
4635
4636 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4637
4638 commit df2d2f1 (tag: v3.0.1)
4639 Author: Daniel Baumann <mail@daniel-baumann.ch>
4640 Date: Sun Nov 23 22:45:45 2008 +0100
4641
4642 Releasing version 3.0.1.
4643
4644 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4645
4646 commit 17b269b
4647 Author: Daniel Baumann <mail@daniel-baumann.ch>
4648 Date: Sun Nov 23 18:41:01 2008 +0100
4649
4650 Applying Fedoras dosfstools-vfat-timingfix.diff from Bill Nottingham
4651 <notting@redhat.com> to fix vfat timing issue. See
4652 https://bugzilla.redhat.com/show_bug.cgi?id=448247 for more information.
4653
4654 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4655
4656 commit e597caf
4657 Author: Ulrich Mueller <ulm@gentoo.org>
4658 Date: Tue Oct 7 07:55:37 2008 +0200
4659
4660 Patch to check for bad number of clusters in dosfsck:
4661
4662 * FAT16 filesystems with 65525 clusters or more will be rejected
4663 (Before, this was not tested for. Up to 65535 clusters were accepted
4664 as good).
4665
4666 * For FAT32 filesystems with less than 65525 a warning message will be
4667 output.
4668
4669 Macro MSDOS_FAT12 is now replaced by FAT12_THRESHOLD to make it
4670 consistent with the definition in mkdosfs and to remove the dependency
4671 on the kernel version.
4672
4673 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4674
4675 commit 90102bc
4676 Author: Dann Frazier <dannf@hp.com>
4677 Date: Tue Sep 30 07:25:19 2008 +0200
4678
4679 Changing some wording to make the indended meaning of "full-disk device"
4680 more obvious.
4681
4682 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4683
4684 commit 21e9ba0 (tag: v3.0.0)
4685 Author: Daniel Baumann <mail@daniel-baumann.ch>
4686 Date: Sun Sep 28 11:43:19 2008 +0200
4687
4688 Releasing version 3.0.0.
4689
4690 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4691
4692 commit eaf145d
4693 Author: Daniel Baumann <mail@daniel-baumann.ch>
4694 Date: Sun Sep 28 11:29:01 2008 +0200
4695
4696 Adding GPL headers to all files.
4697
4698 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4699
4700 commit 0826117
4701 Author: Daniel Baumann <mail@daniel-baumann.ch>
4702 Date: Sun Sep 28 10:51:55 2008 +0200
4703
4704 Adding new GPL license file.
4705
4706 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4707
4708 commit f8d6127
4709 Author: Daniel Baumann <mail@daniel-baumann.ch>
4710 Date: Fri Sep 26 23:31:12 2008 +0200
4711
4712 Redoing Makefile from scratch.
4713
4714 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4715
4716 commit b4feb73
4717 Author: Daniel Baumann <mail@daniel-baumann.ch>
4718 Date: Sat Sep 27 00:17:38 2008 +0200
4719
4720 Removing whitespaces in all files at EOL and EOF.
4721
4722 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4723
4724 commit 1410138
4725 Author: Daniel Baumann <mail@daniel-baumann.ch>
4726 Date: Fri Sep 26 23:48:56 2008 +0200
4727
4728 Adding Debians dosfslabel.8 manpage from Francois Wendling
4729 <frwendling@free.fr>.
4730
4731 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4732
4733 commit f62e7f2
4734 Author: Daniel Baumann <mail@daniel-baumann.ch>
4735 Date: Fri Sep 26 18:36:04 2008 +0200
4736
4737 Updating version.h includes to new location of version.h file.
4738
4739 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4740
4741 commit 32e5952
4742 Author: Daniel Baumann <mail@daniel-baumann.ch>
4743 Date: Fri Sep 26 18:19:36 2008 +0200
4744
4745 Removing old lsm file.
4746
4747 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4748
4749 commit 25a433b
4750 Author: Daniel Baumann <mail@daniel-baumann.ch>
4751 Date: Fri Sep 26 18:07:47 2008 +0200
4752
4753 Removing old cvsignore files.
4754
4755 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4756
4757 commit acac13f
4758 Author: Daniel Baumann <mail@daniel-baumann.ch>
4759 Date: Fri Sep 26 18:18:39 2008 +0200
4760
4761 Removing old build file.
4762
4763 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4764
4765 commit 3ecdd21
4766 Author: Daniel Baumann <mail@daniel-baumann.ch>
4767 Date: Fri Sep 26 18:19:16 2008 +0200
4768
4769 Removing old GPL license files.
4770
4771 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4772
4773 commit f183d0e
4774 Author: Daniel Baumann <mail@daniel-baumann.ch>
4775 Date: Fri Sep 26 18:21:57 2008 +0200
4776
4777 Unifying dosfsck and mkdosfs Makefiles in common src/Makefile.
4778
4779 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4780
4781 commit 61e7466
4782 Author: Daniel Baumann <mail@daniel-baumann.ch>
4783 Date: Fri Sep 26 18:04:02 2008 +0200
4784
4785 Unifying dosfsck and mkdosfs sources in common src directory.
4786
4787 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4788
4789 commit 7552d57
4790 Author: Daniel Baumann <mail@daniel-baumann.ch>
4791 Date: Fri Sep 26 18:05:27 2008 +0200
4792
4793 Unifying dosfsck and mkdosfs manpages in common man directory.
4794
4795 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4796
4797 commit 124598b
4798 Author: Daniel Baumann <mail@daniel-baumann.ch>
4799 Date: Fri Sep 26 18:12:29 2008 +0200
4800
4801 Unifying dosfsck and mkdosfs documents in common doc directory.
4802
4803 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4804
4805 commit fb9c46b
4806 Author: Daniel Baumann <mail@daniel-baumann.ch>
4807 Date: Fri Sep 26 15:39:51 2008 +0200
4808
4809 Applying Gentoos dosfstools-2.11-preen.patch from Roy Marples
4810 <uberlord@gentoo.org> to alias dosfsck -p to -a:
4811
4812 * Map -p to -a for baselayout-2, #177514.
4813
4814 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4815
4816 commit aaa40a9
4817 Author: Daniel Baumann <mail@daniel-baumann.ch>
4818 Date: Fri Sep 26 15:49:43 2008 +0200
4819
4820 Applying Gentoos dosfstools-2.11-build.patch from Mike Frysinger
4821 <vapier@gentoo.org> to improve Makefile:
4822
4823 * Respect user settings #157785/#157786 by Diego Petteno.
4824
4825 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4826
4827 commit 251626d
4828 Author: Daniel Baumann <mail@daniel-baumann.ch>
4829 Date: Fri Sep 26 15:37:34 2008 +0200
4830
4831 Applying Gentoos dosfstools-2.11-verify-double-count-fix.patch from
4832 Robin H. Johnson <robbat2@gentoo.org> to fix double count of files
4833 during verification:
4834
4835 * Don't double-count n_files during a verification pass.
4836 Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845
4837
4838 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4839
4840 commit e670ea8
4841 Author: Daniel Baumann <mail@daniel-baumann.ch>
4842 Date: Fri Sep 26 15:33:36 2008 +0200
4843
4844 Applying Gentoos dosfstools-2.11-fat32size.patch from Mike Frysinger
4845 <vapier@gentoo.org> to fix generation of filesystems on 256meg devices:
4846
4847 * Fix generation of FAT filesystems on devices that are 256meg in size
4848 Patch by Ulrich Mueller and accepted upstream
4849 http://bugs.gentoo.org/112504
4850
4851 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4852
4853 commit a6dc6a4
4854 Author: Daniel Baumann <mail@daniel-baumann.ch>
4855 Date: Fri Sep 26 15:22:06 2008 +0200
4856
4857 Applying Suses dosfstools-2.11-unsupported-sector-size.patch from Petr
4858 Gajdos <pgajdos@suse.cz> to add sector size warning:
4859
4860 * added warning for creation msdos on filesystem with sector size
4861 greater than 4096 [fate#303325]
4862
4863 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4864
4865 commit f746956
4866 Author: Daniel Baumann <mail@daniel-baumann.ch>
4867 Date: Fri Sep 26 15:18:35 2008 +0200
4868
4869 Applying Suses dosfstools-2.11-mkdosfs-geo0.diff from Ludwig Nussel
4870 <lnussel@suse.de> to fix handling of zero heads and sectors:
4871
4872 * the HDIO_GETGEO ioctl works on device mapper devices but returns
4873 zero heads and sectors. Therefore let's a) assume dummy values in
4874 that case in mkdosfs and b) don't consider such fat file systems as
4875 invalid in dosfsck. The Linux kernel accepts them anyways.
4876
4877 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4878
4879 commit cf243e4
4880 Author: Daniel Baumann <mail@daniel-baumann.ch>
4881 Date: Fri Sep 26 15:15:40 2008 +0200
4882
4883 Applying Suses dosfstools-2.11-linuxfs.patch from Ruediger Oertel
4884 <ro@suse.de> to not include linux/fs.h.
4885
4886 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4887
4888 commit 2d4f184
4889 Author: Daniel Baumann <mail@daniel-baumann.ch>
4890 Date: Fri Sep 26 15:11:50 2008 +0200
4891
4892 Applying Fedoras dosfstools-2.11-assumeKernel26.patch from Peter Vrabec
4893 <pvrabec@redhat.com> to remove linux 2.6 conditionals:
4894
4895 * LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) does not work with
4896 glibc-kernheaders-2.4-9.1.94
4897
4898 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4899
4900 commit 739a6fb
4901 Author: Daniel Baumann <mail@daniel-baumann.ch>
4902 Date: Fri Sep 26 15:05:00 2008 +0200
4903
4904 Applying Debians 99-conglomeration.dpatch (no other information
4905 available).
4906
4907 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4908
4909 commit 3b5ed8a
4910 Author: Daniel Baumann <mail@daniel-baumann.ch>
4911 Date: Fri Sep 26 14:26:41 2008 +0200
4912
4913 Applying Debians 15-manpage-files.dpatch from Daniel Baumann
4914 <daniel@debian.org> to improve dosfsck manpage:
4915
4916 * Lists fsckNNNN.rec files in FILES section (Closes: #444596).
4917
4918 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4919
4920 commit 3b6a863
4921 Author: Daniel Baumann <mail@daniel-baumann.ch>
4922 Date: Fri Sep 26 14:34:42 2008 +0200
4923
4924 Applying Debians 13-getopt.dpatch from Adonikam Virgo
4925 <adonikam@virgonet.org> to fix mkdosfs getopt:
4926
4927 * Fixes backup sector getopt (Closes: #232387, #479794).
4928
4929 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4930
4931 commit 1b2c8ca
4932 Author: Daniel Baumann <mail@daniel-baumann.ch>
4933 Date: Fri Sep 26 14:34:17 2008 +0200
4934
4935 Applying Debians 12-zero-slot.dpatch by Karl Tomlinson
4936 <karlt@karlt.net> to fix dosfsck zero slot crashes:
4937
4938 * Fixes crashes due to zero slot numbers causing a negative offset in
4939 the call to copy_lfn_part in lfn_add_slot. On amd64 this results in
4940 a SIGSEGV in copy_lfn_part. On x86 the result is heap corruption and
4941 thus sometimes a SIGSEGV or double free abort later. (Closes:
4942 #152550, #353198, #356377, #401798).
4943
4944 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4945
4946 commit eec8585
4947 Author: Daniel Baumann <mail@daniel-baumann.ch>
4948 Date: Fri Sep 26 14:33:54 2008 +0200
4949
4950 Applying Debians 11-memory-efficiency.dpatch from Eero Tamminen
4951 <eero.tamminen@nokia.com> to improve dosfsck memory efficiency:
4952
4953 * Improves memory efficiency when checking filesystems.
4954
4955 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4956
4957 commit 06bd669
4958 Author: Daniel Baumann <mail@daniel-baumann.ch>
4959 Date: Fri Sep 26 14:33:28 2008 +0200
4960
4961 Applying Debians 10-manpage-synopsis.dpatch from Daniel Baumann
4962 <daniel@debian.org> to fix manpage synopsis:
4963
4964 * List alternative binary names in manpage synopsis (Closes: #284983).
4965
4966 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4967
4968 commit 42d340d
4969 Author: Daniel Baumann <mail@daniel-baumann.ch>
4970 Date: Fri Sep 26 14:32:46 2008 +0200
4971
4972 Applying Debians 09-manpage-fat32.dpatch from Daniel Baumann
4973 <daniel@debian.org> to improve mkdosfs manpage:
4974
4975 * Don't claim that FAT32 is not choosed automatically (Closes:
4976 #414183).
4977
4978 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4979
4980 commit 0f5ce0d
4981 Author: Daniel Baumann <mail@daniel-baumann.ch>
4982 Date: Fri Sep 26 14:32:23 2008 +0200
4983
4984 Applying Debians 08-manpage-drop.dpatch from Daniel Baumann
4985 <daniel@debian.org> to improve dosfsck manpage:
4986
4987 * Don't use confusing word 'drop' when 'delete' is meant (Closes:
4988 #134100).
4989
4990 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
4991
4992 commit 8ec54dd
4993 Author: Daniel Baumann <mail@daniel-baumann.ch>
4994 Date: Fri Sep 26 14:31:50 2008 +0200
4995
4996 Applying Debians 07-manpage-spelling.dpatch from Justin Pryzby
4997 <justinpryzby@users.sourceforge.net> to fix mkdosfs manpage typos.
4998
4999 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5000
5001 commit 4371588
5002 Author: Daniel Baumann <mail@daniel-baumann.ch>
5003 Date: Fri Sep 26 14:30:31 2008 +0200
5004
5005 Applying Suses dosfstools-2.11_determine-sector-size.patch from Petr
5006 Gajdos <pgajdos@suse.cz> to determine mkdosfs sector size automatically:
5007
5008 * determine sector size of device automatically or if -S parameter
5009 present, verify, that it's not under physical sector size
5010
5011 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5012
5013 commit fc92e19
5014 Author: Daniel Baumann <mail@daniel-baumann.ch>
5015 Date: Fri Sep 26 14:30:03 2008 +0200
5016
5017 Applying Suses dosfstools-2.11-o_excl.patch from Pavol Rusnak
5018 <prusnak@suse.cz> to use O_EXCL in mkdosfs:
5019
5020 * mkdosfs now opens device with O_EXCL [#238687]
5021
5022 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5023
5024 commit 3084697
5025 Author: Daniel Baumann <mail@daniel-baumann.ch>
5026 Date: Fri Sep 26 14:29:36 2008 +0200
5027
5028 Applying Debians 04-unaligned-memory.dpatch from Khalid Aziz
5029 <khalid_aziz@hp.com> to fix dosfsck unaligned memory accesses:
5030
5031 * Fix unaligned memory accesses which cause warnings to appear
5032 everytime the elilo bootloader script runs. This has led a number of
5033 users to believe their install has failed (Closes: #258839).
5034
5035 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5036
5037 commit 6d5c091
5038 Author: Daniel Baumann <mail@daniel-baumann.ch>
5039 Date: Fri Sep 26 13:47:40 2008 +0200
5040
5041 Applying Fedoras dosfstools-2.11-label.patch from Jeremy Katz
5042 <katzj@redhat.com> to add dosfslabel (originally by Peter Jones).
5043
5044 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5045
5046 commit 07ef487
5047 Author: Daniel Baumann <mail@daniel-baumann.ch>
5048 Date: Fri Sep 26 13:41:14 2008 +0200
5049
5050 Applying Fedoras dosfstools-2.11-fortify.patch from Jakub Jelinek
5051 <jakub@redhat.com> to make it build with -D_FORTIFY_SOURCE=2:
5052
5053 * This violates -D_FORTIFY_SOURCE=2 (which is stricter than C
5054 standard), but isn't actually any buffer overflow. But using memcpy
5055 is more efficient anyway.
5056
5057 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5058
5059 commit 78f9dca
5060 Author: Daniel Baumann <mail@daniel-baumann.ch>
5061 Date: Fri Sep 26 13:40:47 2008 +0200
5062
5063 Applying Fedoras dosfstools-2.7-argfix.patch (no other information
5064 available).
5065
5066 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
5067
5068 commit ba6774a (tag: v2.11)
5069 Author: Daniel Baumann <mail@daniel-baumann.ch>
5070 Date: Thu Jun 26 12:45:36 2008 +0200
5071
5072 Adding version 2.11.
5073
5074 Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>