1 Please have a look at the German open Source Center BerliOS at www.berlios.de
2 BerliOS will continue to support free hosting of cryptography projects even
3 when US laws change and don't allow to host cryptography projects in the USA.
4 Also look at sourcewell.berlios.de, the first Open Source announcement service
5 that itself is implemented as Open Source project.
7 ***************** Important news ****************************
9 For the 'Slottable Source Plugin Module' SSPM Features read README.SSPM
11 ***************** Please Test *********************************
13 NEW features of cdrtools-2.01:
18 - Support for the ELF format in BSDi 4.x
20 - Allow floating point printing on OS/2. This has been possible
21 since 11/2001 but OS/2 has been forgotten.
23 - Correct OS/2 ranlib handling
25 - New architecture 9000-831-hp
27 - Include +DAportable in HP-UX cc options
29 - README.hpux enhanced to include hints on how to compile 64 bit
32 - Support for NetBSD on PPC (macppc-netbsd-cc)
34 - portable getdomainname() replacement now supports to get the domainname
35 from /etc/resolv.conf. This allows usage even on OS/2
37 - Typo in DEFAULTS files fixed
39 - New generic target for symlinks
41 - New file rename.c for portability part of libschily
43 - Better Next STep support:
45 - Some workarounds for broken unistd.h
47 - -lkvm removed from Next Step config.
49 - waitdefs.h fixed for very old BSD based systems (~ 1980)
52 - strdup() moved into portability part of libschily
54 - fixed typo in fctldefs.h R_RDONLY -> O_RDONLY
56 - New file ttydefs.h includes portability phrases from ved and bsh.
58 - Added an autoconf test for buggy termios.h in Next Step.
59 Next STep provides fully functional termios.h but tcgetattt(), ...
62 - Test for clock_t changed to deal with a bug in Next STep.
63 Next Step illegally needs sys/time.h for clock_t
66 - Make recently introduced symlink install use relative symlinks instead
69 - Change autoconf/statdefs.h to support nanosecond support for SCO
72 - Call conf/mkdep-sco.sh via sh to be independent from 'x' bit.
74 - libschily/rename.c fixed for SCO Openserver fo avoid warning
75 for redefinition of MAXPATHNAME
77 - libschily/usleep.c fixed to avoid SCO Openserver warning about
78 non matchin prototype in system include files
80 - Better Portability for SCO UnixWare
82 - New platforms i486, i586, Pentium III, Pentium Pro
84 - Let strdefs.h also include strings.h for strcasecmp()
86 - Support for missing struct sockaddr_storage
88 - Support for broken wait3() (returns wrong timings)
90 - Changed broken portability Prototype support in libfile
91 to use 'makefiles / prototype.h' based system
93 - Changed fileopen() and filereopen() to avoid fdopen()
94 provlems (does not accept mode string that does not
97 - Catch the case where somebody tries to compile on Solaris with
98 /usr/ucb in PATH before /opt/SUNWspro/bin and when calling 'cc'
100 /usr/ucb/cc: language optional software package not installed
102 - Trying to make the source get accepted by 'cstyle'.
104 - Changes in the general topic 'Stack Scanning' and the software signal
105 system handlecond()/raisecond() that make the software signal system
106 now usable on all platforms.
108 - Trying to support DOS with the DJGPP compilation environment
109 Thanks to Alex Kopylov <reanimatolog@yandex.ru> for the first version
110 of the port and further helping.
112 Note that in order to compile cdrtools on DOS/DJGPP you need smake-1.2a20 or newer.
113 GNU make does not seem to work for a DOS compilation.
115 - New File README.msdos
117 - New RULES for DOS/DJGPP
119 - Make some vars in align_test.c static because Mac OS X creates unneeded
120 name space pollution.
122 - DJGPP has no SIGBUS, use #ifdef in avoffset.c and align_test.c
124 - Several changes with casting Null pointer constants to Null Pointers
125 if they are used as parameters in var arg lists (see below).
127 - New gethostname() fallback emulation using uname(2).
129 - Better rename(2) emulation for Platforms that don't have rename().
131 - niread()/niwrite()/nixread()/nixwrite() in libschily now resets errno
132 to the old value in case EINTR did occur.
134 - README.msdos has been corrected according to a hint from Alex Kopylov
136 - New macros to platform independently set up integers in little endian
137 format. This is needed to e.g. write PC disk labels from big endian
140 - Rules extended to support volume management libs
142 - The install-sh script not takes care about UNIX variants like SCO UnixWare
143 and SCO OpenServer that allow to give away files via chown.
145 If this works and /tmp has the sticky bit set, the root test was unable
146 to remove the test files later. For this reason, now a subdirectory
150 - Support for the special .PHONY: target ---> needs smake-1.2a21 or newer
152 This helps to deal with files like INSTALL operating systems
153 like Win32 and Mac OS that don't honor file name case and prevents
154 the file named INSTALL to get into trouble with 'make install'
157 - 'make install' now works on operating systems that require a '.exe'
158 suffix for executable binaries
160 - Updated the file README.ATAPI
162 Updated information for Linux, SCO-OpenServer, SCO-UnixWare, Win32
165 - mconfig.h now supports make COPTX=-DNO_FORK & COPTX=-DNO_VFORK
167 - snprintf() from libschily now correctly follows POSIX.1-2001 for maxlength == 0
169 - Workaround for a bug in the C-compiler from SCO-OpenServer. It
170 is not very probable that this causes problems with cdrecord. The
171 function getfp() did not return the correct Frame Pointer when called
172 as first function in another function as the compiler sdoes set up the
173 new stack frame after getfp() has been called.
175 - New function filemopen(char *name, char *omode, mode_t mode) with additional
178 - update recent getargs() version from repository. This has been forgotten.
180 - Add a workaround for a SCO OpenServer C-compiler bug.
181 The bug causes the first function in a function to be called
182 before the new stack frame has been established and did cause
183 scanning the stack frame to fail.
185 - Make snprintf() POSIX compliant.
187 - Many typos in the READMEs fixed, thanks to a hint from Stefano Allrath
189 - New global method to handle PATH environment delimiters (":" on
190 POSIX systems and ";" on DOS).
192 - New README.msdos reflecting new features of smake-1.2a23 on DOS/DJGPP
194 - Some minor enhancements to the makefilesystem
196 - Some minor changes for better compilation in SGI IRIX
198 - Trying to start adding support for Win32/Mingw32
200 - New global #define NEED_O_BINARY to make using setmode() easier
202 - New autoconf test for struct stat.st_fstype
204 - New autoconf test for fnmatch()
206 - New autoconf test for blksize_t/blkcnt_t
208 - libscgily/stdio/io.h renamed to schilyio.h to avoid conflicts with
211 - Added a Note to README.linux:
213 NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8:
215 Linux did ship with defective kernel include files starting
216 with 2.5.x. These defective kernel include files did prevent
217 compilation. If you have problems compiling software and see
218 error messages related to include/scsi/scsi.h & include/scsi/sg.h
219 either upgrade to Linux-2.6.8 or newer or remove /usr/src/linux
221 - Support added to the makefile system that allows compilation on
222 AMD x86_64 using non automake aware make programs like GNU make.
223 Note that smake ftp://ftp.berlios.de/pub/smake/alpha/ is able to compile
224 things even on unknown platforms as it includes auto make features.
227 Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu):
229 - Included a bug fix from the libparanoia Author.
230 Correctly allocate some arrays. Note: on 32 Bit machines, this patch does
231 not result in a different binary but the code is now really correct.
233 - New indentation is better conforming to 'cstyle'
235 - Fixed a bug in libparanoia that prevented the statistics to show up
236 the number of 'skips' (the number of exhausted read retries) when
237 SKIP verification has been turned off.
239 - modified to avoid GCCs shadowed variable warnings.
241 - Try to use page aligned transfer buffers if possible.
243 - Avoid buffer size problems wit non page aligned transfers on FreeBSD.
245 - Avoid freeing pointers that are not from malloc() by copying the data
246 to a second allocated chunk of free()able space. This has been a bug
247 introduced while trying to handle buffer size problems with non page aligned
248 transfers on FreeBSD.
251 Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
256 - Reordered and restructured scsi-remote.c code to allow compilation on OS/2
257 and hopefully other OS like BeOS
259 - First attempt to support QNX.
260 Note that the sourcecode comes from QNX and it looks as if it
261 is buggy for commands that cause SCSI commands that result in
262 a Check Condition status. From looking at the source, the stack
263 gets overwritten in this case.
265 - SCSI adaptation layer for SCO UnixWare rewritten to support
266 multiple opens and to better follow the libscg interface standard.
268 - Second attempt to support QNX.
271 - Check kernel level error return codes on SCO-UnixWare
273 - Starting to support SCSI reset on SCO-UnixWare
275 - Extensions to libscg related include files to support DVD+RW formatting
277 - Make libscg work on SCO UnixWare if an application like cdrecord
278 has been installed suid root.
280 Before, the called administration programs did not work if euid!=uid
282 - Fixed a problem with possible garbage in the SCSI error string.
283 Thanks to Stefano Di Paola <stefano.dipaola1@tin.it> for reporting.
285 - Fixed another printf buffer vulnerability in scsi-remote.c
287 - New version of scsi-amigaos.c from Thomas Langer
289 - Added a work around for a Solaris 9 x86 bug:
290 DKIOCINFO returns a max DMA size of 256 kB but only 68 kB will work.
291 Check max DMA size for a IDE disk to get a correct value....
293 For more information read the updated file README.solaris and the
294 new files README.solaris-x86-ata-DMA and README.solaris-x86-ATAPI-DMA
296 - Changed scsi-os2.c to allow 'cdrecord -scanbus' to find targets with
299 - Librscg now uses correct casting to a Null Pointer for execlp() as
300 NULL is a Null Pointer Constant but no Null Pointer. This could
301 make problems with some 64 bit architectures.
303 - New driver scsi-dos.c acting as 16 bit DOS ASPI interface
304 Thanks to Alex Kopylov <reanimatolog@yandex.ru> for the first version
307 Check his Web Page: http://bootcd.narod.ru/index_e.htm
308 it contains precompiled DOS binaries.
310 - The driver scsi-dos.c has already been verified with 'scgcheck'.
312 - scsi-os2.c and scsi-wnt.c now correctly return 0 from scg_send() if
313 the target is not valid.
315 - scsi-wnt.c does now support multiple SCSI opens.
317 - scsi-wnt.c does now correctly return SCG_NO_ERROR in case a SCSI command
318 returned CHECK CONDITION.
320 - scg__open() now prints a warning if it has not compiled with the results
321 from a certified autoconf environment.
323 - Introduced a fix to avoid the need for a #define ident prod_ident
324 for SCSI Inquiry data. This #define did cause problems with the
325 latest Sun Studio 8, C compilers
327 - First attempt to support running cdrecord while the volume management is
330 - Increased version number to 0.8
332 - First attempt to work around the problems for suid programs introduced by
333 Sun with Solaris 9. Programs that like to issue a USCSI ioctl() need to be
334 root or get EPERM. Cdrecord did does up root privilleges eraly to avoid
337 libscg now selectively runs the USCSI ioctl() as root if the program is installed
340 - Fixed a bug in scsi-mac-iokit.c in scgo_havebus() that caused pxupgrade not
343 - First attempt to support the SPTI Ioctl interface on Windows NT.
344 see also http://www.ste-home.de/cdrtools-spti/
345 Thanks to Richard Stemmer, Jay A. Key and thomas podkanski
347 This allows to use cdrtools on NT without the need to install ASPI in case
348 you are administrator when yu run a program.
350 Please note that the use of SPTI is default. If you like to force using
351 ASPI, use dev=ASPI:b,t,l or dev=ASPI (in the -scanbus case).
352 If you like to force STPI, use dev=SPTI:b,t,l or dev=SPTI.
354 Currently, the interface does not yet fully matches the scg interface standard.
356 - Try to support the half hearted and badly designed /dev/hd* interface
357 from Linux-2.6 in a more usable way.
359 The only reason for adding this kind of support is that the Linux kernel
360 hackers reject to fix the known DMA bugs in the already existing SCSI
361 transport interfaces in the Linux kernel. Using /dev/hd* is unfortunately
362 the only way to get DMA with sector size being 2352, 2448 or similar.
364 Use cdrecord -scanbus dev=ATA and
365 cdrecord dev=ATA:1,0,0
367 Note: The Bus mapping function inside the kernel for this interface is
368 a dummy. For this reason, we need to do the mapping ourselves.
369 Busnumber is ("/dev/hd*"[7] - 'a') / 2
370 Target is ("/dev/hd*"[7] - 'a') % 2
372 Also note that creating this interface in the Linux kernel was a waste of
373 time. It did need a lot of effort to be created. Instead of first adding
374 a new interface with a new broken DMA implementation and later fixing
375 the DMA bugs, it would have been better to just fix the DMA bugs
378 Adding SCSI transport to something like /dev/hd* on an OS that includes
379 a generic SCSI transport driver is disregarding SCSI protocol layering.
380 A clean way to implement ATAPI on Linux would be to rather introduce a
381 SCSI hostadaptor driver that sends the SCSI commands via the
384 Linux users should think about buying a CD writer for Linus Torvalds.
385 Maybe this could help to get better SCSI support in the Linux. Currently
386 Linus doesn't know anything about the CD-writing problems on Linux and
387 his contributions to CD-writing related issues in discussions are just
388 guesses that are not related to own experiences and understanding for
391 It seems that the Linux way of dealing with bugs is to implement a new
392 incompatible interface instead of fixing the known bugs from
395 - Allow cdrecord -scanbus dev=ASPI and cdrecord -scanbus dev=SPTI to work
398 - Correct a bug in the Win32 version analyze function that is needed to
399 use the correct SPTI interface. Unfortunately, the interface did
400 change with a NT-4.0 service pack. It is unclear whether the currently
401 used interface type is correct for all possible NT-4.0 variants.
403 - For Win32, default to STPI only if on NT-5.x as there is a bug in some
404 UDMA implementations that causes blue screens.
406 - The Mac OS X SCSI low level transport now roughly meets the interface standard.
407 For this reason, the file scsi-mac-iokit.c now is marked with Author "schily"
409 - Indented according to the cstyle standard.
411 - For win32, dev=ASPI:1,0 and dev=SPTI:1,0 work again
413 - Trying to add a workaround for the Linux problem with USB where the
414 kernel issues a request sense even when there was only a DMA underrun
415 and the drive replies as expected with no-sense. Our problem in this
416 case is that we needed to ad another workaround because sometimes
417 Linux clears the status byte and we did assume a CHECK CONDITION in case
420 - Enhanced max # of SCSI busses to 256 for the Linux sg driver.
421 This was needed because of the (compared to Solaris) suboptimal
422 way of dealing with instance numbers on Linuux.
424 While Solaris keeps a data base with instance numbers, disconnecting and
425 reconnecting a USB drive results in the USB device getting the same
426 SCSI address as before.
428 As Linux does not have such a data base, disconnecting/reconnecting
429 a USB device has the unfortunate side effect of assigning a new and
430 different SCSI address with every USB connect. This also creates problems
431 when software likes to manage access rights to devices for non-root
434 - Win32 SPTI interface now also supports controllers with more than one
435 SCSI Bus. Thanks to Richard Stemmer
437 - Fixed a bug in the Win32 SPTI/ASPI interface introduced with 2.01a28
438 that caused core dumps because it did try to access data behind the end of the
439 sense data array in the ASPI cmd structure.
441 - Scan /dev/hda../dev/hdz instead of /dev/hda../dev/hdt for dev=ATAPI on Linux.
443 - Trying to write a better warning message for the dev=ATAPI: interface
444 on Linux (the related kernel interface is unmaintained and does
445 not support DMA at all).
447 - Fixed a bug in Win-NT Version string handling in scsi-wnt.c
448 Thanks to Alex Kopylov <reanimatolog@yandex.ru>
449 This caused that libscg did not properly recognize NT-4.x with service pack 4
450 to be equivalent to NT-5.0 (Win2k).
452 - Trying to avoid using the WinNT-SPTI interface for NT-4.0
454 - Fixed a security bug in scsi-remote.c (the RSCSI client).
461 - Workaround for missing struct sockaddr_storage on SCO UnixWare
463 - Security update. Forbid to write arbitrary debug files, only allow
464 a debug file name that has been configured in /etc/rscsi.conf.
465 Writing arbitrary files with a siud root program could be used to become
466 root on a local machine if you are already logged into that local machine.
468 - README.rscsi typo's corrected.
473 - Use correct set_mode_params() return value in deflt_writemodes_mmc()
475 - Correct a debug printing to go to stderr instead of stdout.
477 - Workaround for broken Firmware for LG (Lucky Goldstar) drives.
478 These drives have been unable to write Audio in TAO mode because
479 they have an illegal audio pause length default.
481 Thanks to a hint from: Mark Vytlacil <markvyt@comcast.net>
483 - Man page now correctly describes the data formats used with -xa1 & -xa2
485 - Use Prototypes for functions with enum parameter in fifo.c to avoid
486 warnings on SCO UnixWare
488 - Trying to catch SIGHUP to avoid hung recorders after people
489 close X windows by accident (This in most cases happens because
490 some newer GUIs try try copy bad ideas from Microsoft like the 'x'
491 button on the top bar in the window.
493 - Trying to print hints if the SCSI error core looks like a buffer
496 - First (still mostly empty) driver for the Matsushita CW-7501
498 - First TAO writing support for the Matsushita CW-7501
500 - New option -setdropts to allow cdrecord to set driver specific
503 - Added support to disable/enable the Plextor PowerRec feature.
504 Use driveropts=forcespeed
505 Be very careful as this will cause in badly readable disks.
506 The only senseful reason to use this feature is to run tests in
507 -dummy mode to check whether the system would be able to record
508 fast enough and to later buy High-Speed Media.
509 Note that documentation for the related SCSI command is not
510 oficially available and thus the information has been "guessed".
512 - Added support to enable/disable the Plextor SpeedRead feature.
513 Use driveropts=speedread
514 to allow the drive to read CDs faster than 40x.
515 Be very careful as this may cause the media to break in the drive
516 while reading, resulting in a destroyed media and drive!
517 Note that documentation for the related SCSI command is not
518 oficially available and thus the information has been "guessed".
520 - Added support to enable/disable the Plextor SingleSession feature.
521 Use driveropts=singlesession
522 This allows to read defective (illegal) media with extremely
523 non-standard additional TOC entries. You need to enable Single Session
524 mode before you insert the defective disk!
525 Note that documentation for the related SCSI command is not
526 oficially available and thus the information has been "guessed".
528 - Added support to enable/disable the Plextor Hide CD-R feature.
529 Use driveropts=hidecdr
530 This allows to make CD-Rs look like CD-ROMs and applications believe
531 that the media in the drive is not a CD-R.
532 Note that documentation for the related SCSI command is not
533 oficially available and thus the information has been "guessed".
535 - Added reading out "real" Burn-Proof counter for Plextor drives.
536 Note that documentation for the related SCSI command is not
537 oficially available and thus the information has been "guessed".
539 - Try to do a more correct job when doing Buffer Underrun estimation
542 - Make the explicit Buffer underrun error checking work for
545 - Fixed the command line parser for driveropts= parameters.
546 Before the fix, driveropts=noburnfree,hidecdr would result
547 in assuming: driveropts=noburnfree,nohidecdr
549 - Now also supporting SAO/DAO write mode for the CW-7501
551 - New option -lock (similar to -load) that loads the media but leaves
552 the drive in locked status.
554 - New driver interface to allow SAO recording for the CW-7501
555 Simplified: "dummy" and "multi" Parameter information has been
556 moved into the track structure.
558 - Removed the internal implication that -packet is a TAO write mode.
559 Please test! It may be that this did introduce bugs.
561 - Try to avoid ANSI C arithmetic conformance change warnings from
562 SCO C-compiler by introducing proper casting.
564 - Driver interface restructured to support aborting SAO recording
565 with the Sony CDU-948
567 - "Driver flags" printing corrected
569 - Better behavior with CADDY drives and -load option
571 - Fixed a bug that caused cdrecord not to abort if Tracks with unknown
572 length are present in RAW write mode.
574 - Print extended Power Rec Speed information for Plextor drives.
576 - CUE Sheet handling generalized to allow to implement SAO writing
579 - Start supporting the Sony CDU-948 in SAO mode. Currently not yet working:
585 - Grace time handling restructured. The grate time waiting is now done
586 even before the forced blanking and it is made sure that the waiting
589 - Several changes in the open source part are visible as a result of the
590 new DVD+RW / DVD+R support.
592 - cdrecord-ProDVD now includes first DVD+RW and DVD+R support.
593 Check ftp://ftp.berlios.de/pub/cdrecord/ProDVD/
594 on Thursday 24.4.2002 for the first binaries
596 - Do not try to lower the possible number of open files in raise_fdlim()
599 - Check return code of driver's init function.
601 - Better error messages from main write loop.
603 - Write a hint that a user may have used a "preformatted" CD-RW if
604 read_next_writable_address fails for the "invisible" track
605 and tell him to run cdrecord blank=....
607 - Fixed a bug that caused cdrecord to prevent a 3rd session on a
608 multi session disk. This bug was introduced with the driver
609 restructuring a few releases before.
611 - Better driver text strings for the driver IDs in the CD MMC drivers.
613 - Move Plextor PowerRec speed info completely to the statistics _past_
614 the recording activities.
616 - Allow more nonstandard Cue sheets to be accepted by the Sony CDU-924
619 - Implement MMC-3 DVD+ Drive/Media recognition to avoid that cdrecord starts
620 to treat a DVD+ as a CD-R because the DVD+ drive identifies as CD-R/RW + DVD-ROM
621 with "no DVD media installed" from a MMC-2 viewpoint.
623 - Added a note to the cdrecord man page how to use mkisofs
624 to allow cdrecord to knoe about track sizes in SAO or RAW mode.
626 - Fixed a multi session bug that has been introduced with the DVD+R/RW
627 restructuring with cdrecord-2.01a11. This bug caused cdrecord to be unable
628 to start a track from a sector number != 0 in TAO mode.
630 - Fixed a problem with cdrecord -msinfo introduced with the the DVD+R/RW
631 restructuring with cdrecord-2.01a11. The unwanted verbose printing has been
632 removed with this version.
634 - New option -xa to create CD-ROM XA mode 2 form 1 sectors with 2048 bytes
637 - New option -xamix to create mixed CD-ROM XA mode 2 form 1/2 sectors
638 with 2332 bytes of user supplied data.
640 - Restructured sector types to make them usable:
642 -mode2 CD-ROM data mode 2 - 2336 bytes
643 -xa CD-ROM XA mode 2 form 1 - 2048 bytes
644 -xa1 CD-ROM XA mode 2 form 1 - 2056 bytes
645 -xa2 CD-ROM XA mode 2 form 2 - 2324 bytes
646 -xamix CD-ROM XA mode 2 form 1/2 - 2332 bytes
648 To write conforming CD-ROM XA multisession disks use cdrecord -multi -xa1
649 together with mkisofs -XA -sectype xa1
651 - -cdi is now implemented how it should be: as a flat to change
652 the TOC type of a CD and not as a sector mode.
654 - Track parsing completely restructured to allow new features.
655 One of the features is to write audio CDs from a pipe,
656 other features will follow.
658 - Cdrecord now resets euid to the uid of the caller (if called suid root)
659 before it opens data files.
661 - Fixed a bug that caused cdrecord to insert two grace wait periods
662 if a disk was blanked and rewritten in one call.
664 - Allow cdrecord to copy audio CDs from a pipe from cdda2wav
665 without using an intermediate file on disk.
667 To copy an audio CD from a pipe (without intermediate
670 cdda2wav dev=1,0 -vall cddb=0 -info-only
674 cdda2wav dev=1,0 -no-infofile -B -Oraw - | \
675 cdrecord dev=2,0 -v -dao -audio -useinfo -text *.inf
677 This will get all information (including track size info)
678 from the *.inf files and then read the audio data from
681 If you like to write from stdin, make sure that cdrecord
682 is called with a large enough fifo size (e.g. fs=128m),
683 reduce the write speed to a value below the read speed of
684 the source drive (e.g. speed=12), and switch the burn-
685 free option for the recording drive on by adding
688 - New option -abort allows you to send a write abort sequence to a drive.
689 This may help if other software did leave the drive in an unusable
692 - New 'xio' module allows to open a file virtually more than once to
693 support CDRWIN CUE sheets in cdrecord.
695 - Run Plextor Speedinfo SCSI command in silent mode as old Plextor drives
696 do not support this command.
698 - Workaround for a Plextor (Premium only???) firmware bug that may result
699 in a B0 pointer A5:A5:A5 instead of FF:FF:FF.
701 This made it impossible to blank a freshly written CD-RW witout reloading
702 the media. Now cdrecord does not check the disk size anymore if the number
703 of tracks to be written is 0.
705 - First CDRWIN CUE sheet support.
707 Cdrecord currently supports what is in the CUE sheet description in
708 the CDRWIN documentation (with a few exceptions). Note that the
709 examples in the rest of the CDRWIN man page are mostly illegal
710 if you compare them against the CDRWIN CUE sheet syntax documentation.
712 These exceptions are currently in effect:
714 - Only one FILE Line per CUE sheet file (This is compliant to the
715 CUE shet format documentation although the examples show CUE
716 files with more than one FILE line). NOTE that the CUE syntax has
717 been ill defined so that it would not make sense to e.g. use
718 more than one FILE line for audio CDs.
720 - The AIFF File type is not implemented (because I have no documentation
721 for this audio file format).
723 - The MP3 File type is not yet implemented.
725 - The CDG data type keyword will not yet work
727 - The CDI data type keyword will not yet work
729 - Only a sector size of 2048 will work with MODE1
731 - Sectors with sector size 2336 will not yet work
733 - POSTGAP will not yet work.
735 Note that the CDRWIN CUE documentation is bad and it is unclear how
736 formless (non XA) MODE 2 sectors should be made.
738 CDI is not a sector/track property but a disk property.
740 The File type BINARY vs. MOTOROLA is unclear.
742 To use the cue sheet feature call:
744 cdrecord dev=.... -v -dao cuefile=xx.cue
746 The main reason for implementing CUE sheet support was to allow to
747 write VCD/SVCD with cdrecord. It has currently tested with the
748 test SVCD from ftp://ftp.vcdimager.org/pub/vcdimager/examples/test_svcd/
750 Cdrecord should allow to write audio type CUE sheet based CDs also.
753 - Modified the notes close to the Copyright printing code in cdrecord.c
754 to make clear that this note is not a deviation from the GPL but just
755 a memorandum on how to understand the GPL.
757 - Fixed a bug in file descriptor handling that caused cdrecord not
758 to continue at offset xxx in the file after a new track did start.
760 - Added a forgotten feature in the CUE Sheet parser so it will now know that
761 WAVE files use swapped (intel) byte order.
763 - Restructured the main program of cdrecord so that cdrecord overall
764 behaves similar to before when cue sheets are used.
765 e.g. cdrecord -eject cuefile=xxx did only eject the disk instead of
766 first writing and then ejecting.
768 - Added some hints to the man page to make speed= handling clearer
770 - Fixed some typos in the man page
772 - Added the -format option to the man page
774 - CD-Text handling reworked:
776 CD-Text from textfile= or from CUE CDTEXTFILE wins over CD-Text
777 from *.inf files and over CUE SONGRITER.
779 - CD-Text from CUE file (either CDTEXTFILE or SONGRITER) now needs
780 -text in addition in order to be not ignored.
782 - Fixed a bug in the recognition for cdda2wav | cdrecord *.inf
783 that caused a message
784 WARNING: Stdin is connected to a terminal.
785 if not writing from a pipe.
787 - Small fix in auinfo.c to again allow compilation on K&R systems
789 - Typo fixes for the cdrecord man page
791 - The clone write code is now part of the GPL'd source
792 Note that this part of the code is now more than 2 years old but previously
793 has been excluded from the publically visible part of the source.
795 To understand how to use the clone mode read README.clone
797 - New option ts= to set the SCSI transfer buffer size
799 - Man page corrected to correctly mention current format for /etc/default/cdrecord
801 - call setmode(fileno, O_BINARY) for DOS/DJGPP also
803 - Better check if we use the FIFO to avoid core dumps with too small FIFO sizes.
805 - Switch off FIFO of fifo size is < 2 * SCSI transferbuffer
807 - Fixed a small bug in the man page (..sp instead of .sp). Thanks to Eric Raymond
810 - Work around for a problem in the Plextor 708 firmware (at least 1.01..1.02)
811 that caused cdrecord to be unable to recognize that a DVD medium is present instead
814 - Changed the GPL clarifications text in a way so Debian people still
815 agree with me that cdrecord is free software. The clarifications are
816 needed in order to tell people/companies (like Mr. Rosenkranzer,
817 RedHat & SuSE) who create broken branches from cdrecord that they are
818 not legally publishing their branches because they violate the
819 GPL § 2 Paragraph c) and GPL Preamble Section 6).
821 If would be better if the named persons/companies would rather stay
822 in contact to the Authors, discuss things and contribute to the
823 community instead of creating useless/broken changes and in case
824 of SuSE Linux even creating hacks that introduce security risks.
826 Note that now, RedHat Linux (enterprise server) or the SuSE Linux
827 are even more expensive than e.g. Solaris x86, see:
829 http://www.osnews.com/story.php?news_id=5416&page=5
830 Small Correction to this web page: Solaris x86 is free again for
833 - Extended the man page to make it more clear that all CD/DVD-writers
834 ever made use only SCSI commands.
836 - Another change to the man page according to a hint from
837 Eric Raimond in order to get better compliance for troff -> "*ml"
840 - Allow people who cannot provide an e-mail address or who
841 don't like to support their modifications to modify cdrecord
843 - Some CUE sheet modifications in drv_mmc.c now made it into
844 the official SCCS history file.
846 - Several fixes to avoid the need for a #define ident prod_ident
847 for SCSI Inquiry data. This #define did cause problems with the
848 latest Sun Studio 8, C compilers
850 - Hack to work around a POSIX real time priotity design bug that
851 causes us to become root again on e.g. Linux in order to be able
852 to lower the priority of the FIFO background process.
854 - Better documentation and EXAMPLE for -setdropts driveropts=
857 - print a help message to direct the user to use -raw96r in case
858 the drive does not accept the cue sheet with -dao.
860 - Mark all drives that cannot be accessed because the volume management is
861 running and no media is in the drive with '?' instead of '*', so they
862 may be distinct from non existing drives.
864 Read README.volmgt for more information
866 - Now works again suid root on Solaris 9
868 - Fixed a bug introduced in 2.01alpha by a source consolidation.
869 cdrecord -toc did not work anymore for CD-ROM readers
871 - Updated README.audio
873 - Make the CUE Sheet handling search for a file name from a FILE statement
874 also in the directory where the CUE sheet is found (in case there is no
875 slash (/) in the file name from 'FILE').
877 - Avoid coredumps when cdrecord is called with -xd and there is no known
878 driver for the current drive.
880 - New option -tao is now needed if you like to write in TAO mode.
881 Cdrecord now does no longer writes if no write mode has been specified.
883 - New option -sao as alias for -dao. As the official name for the write mode
884 is SAO, -sao is more correct than -dao.
886 - Fixes for minor typos in cdrecord.1
888 - Fixed a bug with pad=xxx and pad sizes > 2 GB.
890 - Trying to fix a bug introduced lately with the check for specified
891 write mode options. As a result, only TAO mode writing did work.
893 - Better man page & online help for the ts= option.
895 - Fixed a typo in the man page.
897 - Better error messages when audio size is < 300 Sectors or needs padding.
898 Thanks to a hint from Stefano Allrath
900 - cdrecord -scanbus now checks for 256 SCSI busses
902 - cdrecord -scanbus now checks for 256 SCSI busses
903 This has already been announced for 2.01a28 but forgotten to include
905 - Some Man Page Fixes trying to avoid coding problems for non 7-bit ACSII
907 - Several typos in the man page fixed
909 - Man page enhanced to include a better documentation for the driver=
912 - Several other enhancements to the man page
914 - modified to avoid GCCs shadowed variable warnings.
916 - Cdrecord now tolerates the OPC "error code" "Power calibration area almost full"
919 - Fix for a bug that caused cdrecord to be unable
920 to reload the media for some drives.
921 The fix helps with the following problem:
923 Trying to clear drive status.
924 cdrecord: Drive needs to reload the media to return to proper status.
925 cdrecord: Cannot load media with this drive!
926 cdrecord: Try to load media by hand.
927 cdrecord: Cannot load media.
931 - Print the "Make sure you are root" only if root privilleges are missing.
933 - Avoid warning for not working nice() on DOS
934 Thanks to Alex Kopylov <reanimatolog@yandex.ru>
936 - -clone option documented in the man page. This has been forgotten before.
938 - Several typos in the man page fixed
940 - Do not try to call nice() on DOS/DJGPP
942 - cdrecord now tries to check the DMA speed if the drive supports to read the
943 drive buffer. If the DMA speed is not sufficient, then cdrecord requires
944 that burnfree is activated. If the environment variable "CDR_FORCESPEED"
945 is set or -force has been specified, then cdrecord does not try to enforce
946 that the available DMA speed is 2x the expected write speed.
948 - Make some symbols static to avoid problem with a badly designed libc on
949 OpenBSD that violates POSIX by pulluting the namespace with symbols
953 Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
955 - fixed typo in cdda2ogg.1
957 - Do not use uname() but gethostname() for portability.
959 - include unistd.h for abs()
961 - old Toshiba's usable again
963 - Multisession Non-CD-Extra disks now work again
964 Now also a lot more broken disks are readable again.
966 - not using ioctl in signalhandler any more
968 - trying to support sound on Win32
970 - Several changes (mostly OS/2 related) for more ask Heiko
972 - bugfix add cdda2ogg manpage,and script and makefile install target
974 - support BeOS shared memory and FIFO
976 - support soundcard output under QNX
978 - windows-users! Cygwin has fixed the bug introduced with 1.3.18. Please
979 upgrade to the new 1.5.3-1 release.
981 - call setmode(fileno, O_BINARY) for DOS/DJGPP also
983 - Now using the major() macro for some Linux duties.
985 WARNING to creators of Linux distributions:
987 It has _always_ been wrong to compile software only once for different
988 kernel versions (e.g. for compile Linux-2.4 and later install a
989 2.2 kernel on the so created system).
991 Now that Linux-2.6 introduces incompatible changes to kernel/user
992 interfaces, the resulting binaries will not work correctly anymore.
994 - Made CD-Text handling reentrant to overcome a problem triggered by XCDRoast
996 - Now works again suid root on Solaris 9
998 - Fix for a Bug that prevents paranoia statistics from being printed
999 because the paranoia statistics for the forked version has not been
1000 inside the shared memory.
1002 - New paranoia sub option paraopts=overlap=xx
1004 This is mainly a bug fix for cdda2wav. Cdda2wav previously _always_ did
1005 completely deactivate the dynamic overlapping from libparanoia. Instead,
1006 it did set the overlapping to the statical value 0.
1008 If you omit paraopts=overlap=xx, cdda2wav will now use dynamic overlapping
1011 If you like the old behavior, use: paraopts=overlap=0
1013 - New paranoia sub option paraopts=minoverlap=xx
1014 This sets the minimum dynamic overlap
1016 - New paranoia sub option paraopts=maxoverlap=xx
1017 This sets the maximum dynamic overlap
1019 - Better paranoia statistics output
1021 - Fixed a Problem with some Linux sound card drivers that caused cdda2wav to be
1022 unable to output to the soundcard.
1024 - cdda2wav now checks /etc/default/cdrecord and accepts dev=plextor as
1027 - Trying to add verbose output that estimates the read quality with -paranoia
1029 - Trying to convert non-ascii characters in user & host names into '_'
1030 for better cddb compatibility.
1032 - Some Man Page Fixes trying to avoid coding problems for non 7-bit ACSII
1034 - New option -scanbus
1036 - Removed some "historical junk" that caused cdda2wav to define a
1037 compile time default input device. This conflicts with cdda2wav -scanbus
1038 and is superfluous and contra productive since cdda2wav reads
1039 /etc/default/cdrecord
1041 - cdda2wav has signed bitfields of size 1 :-(
1043 - Fixed a typo in cdda2ogg.1
1045 - Bug fix from Heiko for index lists that contain offset values of -1 in the middle
1047 - Trying to handle interface setup more carefully if SCSI Generic is not
1050 - Better Debug Code in setuid.c
1052 - Trying to fix a bug in UID handling on FreeBSD
1053 Thanks to the bugs reports and help from Fabian Keil <fk@fabiankeil.de>
1055 - Try to workaround a bug in GCC that caused incorrect warnings
1056 for "strict-aliasing rules"
1061 - First (hacky) implementation of a way to meter the read speed
1062 as a function of the disk location modeled after a idea from
1063 Markus Plail <cdrecord@gitteundmarkus.de>
1066 readcd dev=b,t,l meshpoints=1000 > outfile
1069 gnuplot> plot "outfile" w l
1073 gnuplot> replot "outfile" w l
1075 if you like to overlay graphs.
1077 - New option fs=# (same syntax as with cdrecord fs=#) to allow the
1078 user to set the maximum transfer size even in non-interactive mode.
1079 This may help is the OS (as it has been the case for Solaris 9 x86)
1080 reports a wrong maximum DMA size or there is a bug in libscg.
1082 - Speed printing with meshpoints=# now is based on 1000 bytes == 1 kb
1083 as documented in the SCSI standard.
1085 - Stop reading if the OS replies with a DMA residual count != 0
1087 - New option -factor will cause the read speed values to be printed
1088 be based on the single speed of the current medium. This is only
1089 possible if readcd is able to find out the current medium type.
1091 - The clone read code is now part of the GPL'd source
1092 Note that this part of the code is now more than 2 years old but previously
1093 has been excluded from the publically visible part of the source.
1095 Clone writing has been designed to allow to copy complex structured media
1096 like e.g. SVCDs without the need to first do a sector by sector analysis
1097 on the source media.
1099 To understand how to use the clone mode read README.clone
1101 - New option ts= to set the SCSI transfer buffer size
1103 - call setmode(fileno, O_BINARY) for DOS/DJGPP also
1105 - Now works again suid root on Solaris 9
1107 - Better man page & online help for the ts= option.
1109 - New option -scanbus
1111 - Fixed a bug with -scanbus (did not work correctly if /etc/default/cdrecord
1114 - Added an allocated list of defective sectors, that is printed to the end of
1120 - Trying to check if multiple scg_open() requests result in
1123 - Send more outout to stdout instead of stderr.
1125 - More correct test for max sense count.
1127 - Eject CD _after_ asking for it.
1129 - Abor further DMA residual tests if a basic DMA residual test fails.
1131 - Second open test enhanced.
1133 - A small fix to prevent a core dump caused by a problem on Mac OS X.
1138 - New Skeleton program as sample and template for programs that like to
1141 This template has been included to help people like the Author of the
1142 BTC firmware flash program to write simple portable applications that
1143 send arbitrary SCSI commands to arbitrary drives.
1146 Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
1148 - First attempt to support ISO-9660:1999 (Version 2) via -iso-level 4
1149 This allows 207 chars in filenames if Rock Ridge is not used
1150 ans 197 207 chars in filenames if Rock Ridge is used.
1152 Note that this as an absolutely nontrivial change. Problems may
1153 even occur when not using -iso-level 4. Please test and report
1156 It is not clear whether mkisofs should characters in the range
1157 outside 7-Bit ASCII. Currently, mkisofs allows any 7-Bit ASCII
1158 character except '\0' and '/'.
1160 - Second attempt to support ISO-9660:1999 (Version 2) via -iso-level 4
1161 This allows 207 chars in filenames if Rock Ridge is not used
1162 and 197 207 chars in filenames if Rock Ridge is used.
1164 In version 2.01a01 the extended VD used the wrong signature 1.
1165 This has been corrected.
1167 - isoinfo is now able to recognize ISO-9660:1999
1169 - Enhanced the filename length for graft points to 2x PATH_MAX
1171 - Abort with a warning message if the total size of the image data
1172 created by mkisofs would differ from the size printed by -print-size
1174 - udf.c indented according to hints from the program 'cstyle'
1176 - UDF now uses the same 'now' timestamp as the ISO-9660 part of the FS.
1178 - New Stream File feature and new options:
1183 This feature has been implemented after an idea from M.H. Voase.
1184 Mkisofs had to be heavily modified to allow this feature.
1186 A typical usage would look like this:
1188 star -c . | mkisofs -stream-media-size 333000 | cdrecord dev=b,t,l -dao tsize=333000s -
1190 The maximum size of the tar archive is 332800 sectors.
1191 Note that only plain vanilla ISO-9660 is possible in this mode.
1194 - The final padding that is added by default is now 150 sectors
1195 which is the required size of the track post gap on a CD.
1197 - Inter partition padding is now only chosen to make the next partition
1198 start on a sector number that is a multiple of 16.
1200 - isoinfo now also prints root directory extent # in debug mode
1202 - First step to allow mkisofs to support Kodak Photo CD and
1203 Kodak Picture CD format:
1205 Try to correctly support associated files in multi-session mode.
1208 - Diagnostic programs modified to use ttydefs.h and to have better
1209 portability for the built in "stty" features.
1211 - isoinfo now prints the ISO-9660 directory flags.
1213 - Make mkhybrid a symlink to mkisofs instead of a hardlink
1216 - getopt.h/fnmatch.h changed to use 'makefiles / prototype.h' based
1217 system instead FSD junk system
1219 - Removed FSF junk from getopt.c that either created problems
1220 with SCO Unixware or did not compile on AIX
1222 - Prototype for DVDOpenFile() to avoid warning on SCO UnixWare
1223 related to enum function parameter
1225 - Fixed a bug with split symbolic links found by Klaus Kopper
1226 with the new debug messages introduced with mkisofs-2.01a04
1228 - Changed #if __STDC__ to #ifdef PROTOTYPES for better portability
1230 - Now using character code translation for 8 Bit characters that
1231 are used with -iso-level 4 (ISO-9660-1999).
1233 - Fixed a typo in the on-line Usage information for isoinfo
1235 - New options -XA & -xa
1237 -XA Generate XA iso-directory attributes with original owner
1238 and mode information.
1240 -xa Generate XA iso-directory attributes with rationalized owner
1241 and mode information (user/group == 0).
1243 In the first phase of the implementation you need to specify -R in
1246 - Try to support files >= 2 GB.
1247 Note that mkisofs is not yet written cleanly so there may be problems
1248 if files >= are used. In such a case, please report.
1250 - Create XA "CD-XA001" signature in PVD with -XA or -xa
1252 In the first phase of the implementation you need to specify -R in
1253 addition to -XA or -xa or no XA signatures will be written.
1255 - Removed a debug statement that has been introduced to implement
1256 support for filees >= 2GB.
1258 - This version of mkisofs allows to create sectors with 2056 bytes if the
1259 option -XA or -xa has been used together with -sectype xa1.
1260 This is 2048 bytes + sub-header.
1262 - -apple does no longer include -R or -r.
1263 If you like to use -apple, you need to use -R/-r or -XA/-xa in addition.
1265 - New option -sectype SECTYPE / -s SECTYPE
1267 Possible parameters are:
1269 data 2048 bytes per sector - the old and current default
1271 xa1 2056 bytes per sector - this is what you need for a conforming
1272 CD-ROM XA multi session CD. Use -sectype xa1 together with -XA
1274 - Fixed a bug in the Rock Ridge symlink handling with Continuation records
1275 triggered by '/../' filename components.
1276 Thanks to jmmikkel@bbn.com (Joanne M Mikkelson)
1279 - man page corrected
1281 - Moved Eltorito PVD before ISO-9660:1999 enhanced PCD to allow
1282 bootable CD with ISO-9660:1999
1284 - -sort file handling fixed: mkisofs now looks for SPACE/TAB whatever
1285 comes last (as documented in the man page).
1287 - Better error message in case of a stat(2) buffer overflow (too long
1288 filename). This release now prints the file name that caused the problem.
1290 - call setmode(fileno, O_BINARY) for DOS/DJGPP also
1292 - Added a NOTE regarding the SILO boot program for Linux sparc to the
1295 - Added support for Solaris x86 boot CDs.
1296 This includes the following new options:
1298 - -sunx86-boot to create a fdisk & SVr4 partition table
1300 - -sunx86-label to set the "disk label" name for the
1301 SVr4 partition table.
1303 - New file README.sunx86boot
1305 - The file README.sunx86boot has been reworked to make it more correct
1306 and contain less typos.
1308 - Fixed a Rock-Ridge length handling bug in update_nlink()/increment_nlink() (tree.c)
1309 that may have caused an endless loop.
1311 - "Total extents including sparc boot" Message is now correctly
1312 "Total extents including %s boot" sparc/sunx86
1314 - mkisofs now checks /etc/default/cdrecord and allows e.g.
1315 "mkisofs -C 0,1234 dev=plextor ...." as cdrecord does
1317 - Unclean message ....extents written (%d Mb) changed to
1318 ....extents written (%d MB) to avoid "MegaBit" confusion.
1320 - Minor change for old UNIX versions like SCO OpenServer to get
1321 smooth compilation on system where mode_t is a short.
1323 - Fix for a bug in RockRidge name handling for long file names
1324 that need to be split into more than one sector.
1325 Thanks to Patrick Ohly <Patrick.Ohly@gmx.de>
1327 - Trying to fix a bug in the multi session time stamp comparing
1328 functions. CE records have not been handled correctly here.
1330 - Support for PowerPC CHRP Boot added, thanks to
1331 "Leigh Brown" <leigh@solinno.co.uk>
1333 - Support for -uid/-gid for UDF Filesystems added
1335 - isoinfo now is able to list ElTorito Boot information with -d
1337 - isoinfo now correctly shows long RR filenames from CE Extension records.
1339 - Fixed a bug in the PowerPC CHRP Boot, thanks to
1340 "Leigh Brown" <leigh@solinno.co.uk>
1342 - New options -root & -old-root from Patrick Ohly
1343 This allows mkisofs to be used for "incremental backups" where
1344 each backup is put into a separate directory tree on the CD.
1346 - Default to System ID "UNIX" for unknown platforms instead of
1349 - Support System ID "SCO-OPENSERVER" and "SCO-UNIXWARE"
1351 - Better error message when a user tries to create a multi session image
1352 out of a multi-volume image.
1354 - When doing malloc(), include Null Byte at end of TRANS_TBL data to
1355 avoid memory size conflicts.
1357 - Fix for a core dump caused by a double free() when doing:
1359 echo foo/bar=/tmp/bar > /tmp/pathlist
1360 env LD_PRELOAD=libumem.so.1 UMEM_DEBUG=default UMEM_LOGGING=transaction \
1361 mkisofs -hfs -graft-points -o /tmp/foo.raw -path-list=/tmp/pathlist
1363 Thanks to Jürgen Keil jk@tools.de
1365 - Fixed a typo in write.c "Padbock" -> "Padblock"
1366 Thanks to Richard Dawe <rich@phekda.gotadsl.co.uk>
1368 - Trying to fix a problem with comparing relaxed ISO-9660 file names
1369 that contain a ';' which normally is a separator for the ISO-9660
1370 version number. The fix is in hash.c, please test!
1372 - Avoid GCCs shadowed variable warnings.
1374 - Added a comment is in hope to prevent silly people from
1375 e.g. SuSE (who did not yet learn C but believe that
1376 they need to patch other peoples code) from changing a
1377 valid cast into an illegal lhs cast expression.
1378 The cast in the unodified version of write.c is the correct way to
1381 It would save a lot of time if people from companies like SuSE
1382 would remember the Open Source software development model and
1383 contact the Author for help rather than introducing proprietary
1384 changes that result in worse and incompatible software variants.
1386 The way, companies like SuSE deal with Open Source software just
1387 proves that Jonathan Schwartz from Sun is not wrong when he calls
1388 SuSE and RedHat proprietary software companies. Users from Open Source
1389 software expect that companies like SuSE and RedHat are in close
1390 contact with the software developers but they unfortunately are not.
1391 They prefer to create proprietary variants that are usually much
1392 worse than the original software. The only explanation I have for this
1393 behaviour is that SuSE likes to deviate from RedHat and RedHat likes
1394 to deviate from SuSE in hope to get customer retention this way.
1395 While the last 150 years did prove that this proprietary method to
1396 tie up customers works for a limited time, it did always fail after
1399 - Removed verbose output for Eltorito boot method when called with -quiet
1401 - The Eltorito boot catalog and the Eltorito boot files are now by default
1402 sorted to the beginning of the filesystem image as sime BIOS versions don't
1403 boot from locations beyond 512 MB.
1405 - All programs from mkisofs/diag now support libscg so you may now
1406 use e.g. isoinfo to list end extract from CDs directly on platforms
1407 that do not support a usual driver interface (like on Win32).
1409 - Set default SYSID to "DOS" for DJGPP
1410 Thanks to Alex Kopylov <reanimatolog@yandex.ru>
1412 - devdump isodebug isodump isoinfo isovfy
1413 now include libscg and allow to use SCSI devices as input
1415 - devdump isodebug isodump isoinfo isovfy
1416 now implement a new option dev= to force to use the SCSI
1417 interface from libscg.
1419 - isoinfo now correctly sets the filemode of stdout to O_BINARY
1420 on DOS alike Platforms like Win32 & DJGPP
1421 This affects the '-x pathname' option
1422 Thanks to Alex Kopylov <reanimatolog@yandex.ru>
1424 - The options -H/-L/-P from mkisofs have been marked "outdated"
1425 as they are reserved by POSIX.1-2001 for other purposes.
1427 Mkisofs-2.02 will start to implement the POSIX.1-2001 semantics for
1430 - The max. length for the strings in the Primary volume descriptor
1431 is now also documented in the options section of the man page.
1433 - Speed up by 30% in the case that a directory contains many (> 5000)
1434 pathological file name entries (that _all_ do not differ in 8.3).
1436 - A minor speed up in devdump & isodump was made by no longer calling
1437 strlen() in the end condition of a for loop (this still was old
1440 - fixed a bug with -dvd-video
1441 The bug caused mkisofs not to find the IFO file when VIDEO_TS was not
1442 the first entry in the unsorted source directory.
1443 Thanks to a hint from Johan Borg borg@morth.org
1445 - The option -volset-size does no longer accept numbers > 1
1447 This change was needed because Eric Youngdale did completely
1448 missunderstand the ISO-9660 standard with respect to Volume Set
1451 A Volume Set is not a numbered set of CDs but a set of CDs that
1452 contains a coherent directory tree that would not fit on a single
1455 - Fixed a typo in the mkisofs man page
1457 - man page enhanced to make clear that the options
1458 -no-split-symlink-fields & -no-split-symlink-components
1459 are most likely not needed as they have been introduced by Eric Youngdale
1460 when serious bugs have been in mkisofs.
1464 - Try to workaround a bug in GCC that caused incorrect warnings
1465 for "strict-aliasing rules"
1468 - read Joliet filenames with multi-session if no TRANS.TBL
1469 or RR is present. I am looking for a volunteer for this task!
1471 Note that this can never be 100% correct as there is no relation
1472 between the names on the master (UNIX) filesystem, the ISO-9660
1473 names and the Joliet names. Only the Rock Ridge names are
1474 untranslated with respect to the original files on the
1475 master (UNIX) filesystem.
1477 - add libecc/edc for CDI and similar.
1480 CYGWIN NT-4.0 NOTES:
1482 To compile on Cygwin32, get Cygwin and install it.
1483 For more information read README.win32
1485 The files are located on:
1487 ftp://ftp.berlios.de/pub/cdrecord/alpha ...
1489 NOTE: These tar archives are 100% POSIX compatible. GNU tar may get some
1490 minor trouble. If you like a 100% POSIX compliant tar, get star from
1491 ftp://ftp.berlios.de/pub/star/
1493 WARNING: Do not use 'winzip' to extract the tar file!
1494 Winzip cannot extract symbolic links correctly.