[Debburn-changes] r252 - in nonameyet/branches/cleanup: . cdrecord doc/READMEs doc/READMEs/plattforms libscg

Eduard Bloch blade at costa.debian.org
Mon Sep 11 08:04:28 UTC 2006


Author: blade
Date: 2006-09-11 08:04:27 +0000 (Mon, 11 Sep 2006)
New Revision: 252

Added:
   nonameyet/branches/cleanup/doc/READMEs/README.suidroot
Modified:
   nonameyet/branches/cleanup/Changelog
   nonameyet/branches/cleanup/TODO
   nonameyet/branches/cleanup/cdrecord/cdrecord.c
   nonameyet/branches/cleanup/cdrecord/wodim.1
   nonameyet/branches/cleanup/doc/READMEs/plattforms/README.linux
   nonameyet/branches/cleanup/libscg/scsitransp.c
Log:
Merge recent (r251) changes of trunk into cleanup

Modified: nonameyet/branches/cleanup/Changelog
===================================================================
--- nonameyet/branches/cleanup/Changelog	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/Changelog	2006-09-11 08:04:27 UTC (rev 252)
@@ -1,4 +1,4 @@
-cdrkit (1.0pre4) RELEASED; urgency=low
+cdrkit (1.0pre5) UNRELEASED; urgency=low
 
   [ Christian Fromme ]
   * big cleanup, phase I, getting rid from Cstyle function definitions in

Modified: nonameyet/branches/cleanup/TODO
===================================================================
--- nonameyet/branches/cleanup/TODO	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/TODO	2006-09-11 08:04:27 UTC (rev 252)
@@ -1,12 +1,12 @@
 
- - Check the readmes. Drop obsolete instructions.
+ - Check the readmes. Drop obsolete instructions. (assigned to: ???)
+ - check notes in help output, drop advisories, notes about future plans...
  - some cdda2wav defined moved from the ueber-long command line to lconfig.h ,
    make them configurable. Implement generation of cdda2wav/lconfig.h or just
-   replace with cmake macros
- - add better detection for various functions. Eg. correct checks for have_soundcard, have_mlockall and have_wait_h for cygwin.
- - add buildstuff for the doc directory? Any need?
+   replace with cmake macros (assigned to: ???)
+ - add better detection for various functions. Eg. correct checks for have_soundcard, have_mlockall and have_wait_h for cygwin. (volunteers?)
  - see http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=cdrkit and try to solve upstream related problems
- - find and eliminate remaining ".mk" ".mk*" files
+ - find and eliminate remaining ".mk" ".mk*" files (where? cleanup branch)
  - Can we rename the 'cdrecord' directory into 'wodim'?
  That may be hard on the build system, this could be the best time
  to change it.

Modified: nonameyet/branches/cleanup/cdrecord/cdrecord.c
===================================================================
--- nonameyet/branches/cleanup/cdrecord/cdrecord.c	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/cdrecord/cdrecord.c	2006-09-11 08:04:27 UTC (rev 252)
@@ -523,9 +523,7 @@
 		 */
 		vers = scg_version(0, SCG_VERSION);
 		auth = scg_version(0, SCG_AUTHOR);
-		/* (eb) One message is enough to teach the user, no reason to print more of them
-     printf("Using libscg version '%s-%s'.\n", auth, vers);
-     */
+    printf("Using libscg version '%s-%s'.\n", auth, vers);
 		if (auth == 0 || strcmp("schily", auth) != 0) {
 			errmsgno(EX_BAD,
 			"Warning: using inofficial version of libscg (%s-%s '%s').\n",

Modified: nonameyet/branches/cleanup/cdrecord/wodim.1
===================================================================
--- nonameyet/branches/cleanup/cdrecord/wodim.1	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/cdrecord/wodim.1	2006-09-11 08:04:27 UTC (rev 252)
@@ -76,15 +76,17 @@
 needs read and write access to the particular device file on a Linux system. It
 is recommended to be root or install the application as suid-root, because
 certain versions of Linux (kernel) limit the set of SCSI commands allowed for
-non-root users and also the verbosity of the returned status codes. Even if
-usage without root identity is possible in many cases, some device drivers
-still may fail, show unexplainable problems and generaly the problems are
-harder to debug. The risk for buffer-underruns is also increased.
+non-root users. Even if usage without root identity is possible in many cases,
+some device drivers still may fail, show unexplainable problems and generally
+the problems are harder to debug. The risk for buffer-underruns is also
+increased. See the
+.IR NOTES
+section below for more details.
 .PP
 The alternative and kind of "portable" way is using the 
 .IR devicetype:scsi/target/lun
 specification. However, the success of this method is not guaranteed since it
-requires an adaption scheme for your architecture.
+requires an adaptation scheme for your architecture.
 .PP
 To access remote SCSI devices, you need to prepend the SCSI device name by
 a remote device indicator. The remote device indicator is either
@@ -2094,10 +2096,6 @@
 
 .SH NOTES
 .PP
-Not all options described in this manual may be supported by the GPL variant
-of wodim. wodim issues a warning if an attempt is made to use an option
-that has been disabled in the GPL variant.
-.PP
 On Solaris you need to stop the volume management if you like to use the USCSI
 fallback SCSI transport code. Even things like 
 .B "wodim -scanbus
@@ -2118,19 +2116,6 @@
 smaller tracks, the CD-Recorder will add dummy blocks. This is not an
 error, even though the SCSI-error message looks this way.
 .PP
-.B wodim
-has been tested on an upgraded Philips CDD-521 recorder at single and 
-double speed on a SparcStation 20/502 with no problems, slower computer systems
-should work also. 
-The newer Philips/HP/Plasmon/Grundig
-drives as well as Yamaha CDR-100 and CDR-102 work also. The Plasmon RF-4100
-work, but has not tested in multi session.
-A Philips CDD-521 that has not been upgraded will not work.
-The Sony CDU-924 has been tested, but does not support XA-mode2 in hardware.
-The Sony therefore cannot create conforming multi session disks.
-The Ricoh RO-1420C works, but some people seem to have problems to 
-use them with speed=2, try speed=0 in this case.
-.PP
 The Yamaha CDR-400 and all new SCSI-3/mmc conforming drives are supported
 in single and multi-session.
 .PP
@@ -2139,63 +2124,43 @@
 option turned on if you are using 
 .B wodim
 on an unknown system. Writing a CD is a real-time process. 
-.B NFS
-will not always deliver constantly the needed data rates.
+.B NFS, CIFS
+and other network file systems
+won't always deliver constantly the needed data rates.
 If you want to use 
 .B wodim 
 with CD-images that are located on a
 .B NFS
 mounted filesystem, be sure that the FIFO size is big enough.
-I used
-.B wodim 
-with medium load on a SS20/502 and even at quad speed 
-on a Sparcstation-2 which was heavily loaded, 
-but it is recommended to leave the system
-as lightly loaded as possible while writing a CD.
 If you want to make sure that buffer underruns are not
 caused by your source disk, you may use the command
 .PP
 .B "    wodim -dummy dev=2,0 padsize=600m /dev/null
 .PP
 to create a disk that is entirely made of dummy data.
+.PP
+There are also cases where you either need to be root or install
+.B wodim 
+executable with suid-root permissions. First, if you are using a device
+manufactured before 1999 which requires a non-MMC driver, you should run
 .B wodim
-needs to run as root to get access to the 
-.B /dev/scg?
-device nodes and to be able to lock itself into memory.
+in dummy mode before writing data. If you find a problem doing this, please
+report it to the
+.B cdrkit
+maintainers (see below).
 .PP
-If you don't want to allow users to become root on your system,
+Second, certain functionality may be unusable because of Linux's SCSI
+command filtering. When using
 .B wodim
-may safely be installed suid root. This allows all users or a group of
-users with no root privileges to use 
-.B wodim.
-.B wodim 
-in this case checks, if the real user would have been able to read 
-the specified files.
-To give all user access to use 
-.B wodim, 
-enter:
+for anything except of pure data writing, you should also test the process in
+dummy mode and report trouble to the contact address below.
 .PP
-	chown root /usr/local/bin/wodim
-.br
-	chmod 4711 /usr/local/bin/wodim
+If you still want to run
+.B wodim
+with root permissions, you can set the permissions of the executable to
+suid-root. See the additional notes of your system/program distribution or
+README.suidroot which is part of the cdrkit source.
 .PP
-To give a restricted group of users access to wodim enter:
-.PP
-	chown root /usr/local/bin/wodim
-.br
-	chgrp cdburners /usr/local/bin/wodim
-.br
-	chmod 4710 /usr/local/bin/wodim
-.PP
-and add a group 
-.I cdburners
-on your system.
-.PP
-Never give write permissions for non root users to the 
-.I /dev/scg?
-devices unless you would allow anybody to read/write/format
-all your disks.
-.PP
 You should not connect old drives that do not support
 disconnect/reconnect to either the SCSI bus that is connected to the
 CD-Recorder or the source disk.
@@ -2210,49 +2175,17 @@
 Many operating systems are not able to read more than a single data track, or
 need special software to do so.
 .PP
-More information on the SCSI command set of a HP CD-Recorder can be found at:
-.PP
-	http://www.hp.com/isgsupport/cdr/index.html
-.PP
 If you have more information or SCSI command manuals for currently 
-unsupported CD/DVD-Recorders please contact the author.
+unsupported CD/DVD/BR/HD-DVD-Recorders, please contact the
+.B cdrkit
+maintainers (see below).
 .PP
-The Philips CDD 521 CD-Recorder (even in the upgraded version)
-has several firmware bugs. Some of them will
-force you to power cycle the device or to reboot the machine.
+Many CD recorders have bugs and often require a firmware update to work
+correctly. If you exprience problems which cannot be solved or explained by the
+notes above, please look for instructions on the homepage of the particular
+manufacturer.
 .PP
-When using 
-.B wodim
-with the broken 
-.B "Linux SCSI generic driver."
-You should note that 
-.B wodim
-uses a hack, that tries to emulate the functionality of the scg driver.
-Unfortunately, the sg driver on 
-.B Linux
-has several severe bugs:
-.TP
-\(bu
-It cannot see if a SCSI command could not be sent at all.
-.TP
-\(bu
-It cannot get the SCSI status byte. 
-.B wodim
-for that reason cannot report failing SCSI commands in some
-situations.
-.TP
-\(bu
-It cannot get real DMA count of transfer. 
-.B wodim
-cannot tell you if there is an DMA residual count.
-.TP
-\(bu
-It cannot get number of bytes valid in auto sense data.
-.B wodim
-cannot tell you if device transfers no sense data at all.
-.TP
-\(bu
-It fetches to few data in auto request sense (CCS/SCSI-2/SCSI-3 needs >= 18).
+Some bugs will force you to power cycle the device or to reboot the machine.
 .PP
 The FIFO percent output is computed just after a block of data has been written
 to the CD/DVD-Recorder. For this reason, there will never be 100% FIFO fill ratio
@@ -2260,11 +2193,12 @@
 
 .SH DIAGNOSTICS
 .PP
-You have 9 seconds to type ^C to abort 
+You have 9 seconds to abort
 .B wodim
-after you see the message:
+start after you see the message:
 .PP
 Starting to write CD at speed %d in %s mode for %s session.
+In most shells you can do that by pressing Ctrl-C.
 .PP
 A typical error message for a SCSI command looks like:
 .sp
@@ -2353,7 +2287,7 @@
 .TP 15
 Joerg Schilling (schilling at fokus.fhg.de)
 .br
-For writting cdrecord and libscg which represent the most part of wodim's code.
+For writing cdrecord and libscg which represent the most part of wodim's code.
 .PP
 .TP 15
 Bill Swartz	(Bill_Swartz at twolf.com)
@@ -2381,7 +2315,7 @@
 For creating the experimental packet writing support,
 the first implementation of CD-RW blanking support,
 the first .wav file decoder 
-and many nice discussions on wodim.
+and many nice discussions on cdrecord.
 .TP
 Chris P. Ross (cross at eng.us.uu.net)
 .br
@@ -2421,7 +2355,7 @@
 Germany
 .fi
 .PP
-This is application is a spinoff from the original program "cdrecord" delivered
+This application is a spinoff from the original program "cdrecord" delivered
 in the cdrtools package created by Joerg Schilling, who deserves the most
 credits for its success. However, he is no longer involved into the development
 of this spinoff and therefore he shall not be made responsible for any problem

Copied: nonameyet/branches/cleanup/doc/READMEs/README.suidroot (from rev 251, nonameyet/trunk/doc/READMEs/README.suidroot)
===================================================================
--- nonameyet/branches/cleanup/doc/READMEs/README.suidroot	                        (rev 0)
+++ nonameyet/branches/cleanup/doc/READMEs/README.suidroot	2006-09-11 08:04:27 UTC (rev 252)
@@ -0,0 +1,29 @@
+
+This is an example of how to install wodim and other cdrkit applications to get
+the root permissions in a safer way.
+
+Usually it is not a good idea to run the applications as root or to
+give users the means to run wodim as root. This gives them an easy way
+to fetch sensitive data by writing it to the disk, or pass arbitrary
+SCSI commands, e.g. formatting a SCSI disk.
+
+This also applies to root-mode wrappers like sudo, they should be used with
+the most possible care.
+
+The alternative way is installing wodim as suid-root application. In this
+mode, wodim checks permission of the device access by comparing the ownership
+of the device node user/group attributes for the real UID/GID of the calling
+user.
+
+To give all user access to use wodim, enter:
+
+   chown root /usr/local/bin/wodim
+   chmod 4711 /usr/local/bin/wodim
+
+To give a restricted group of users access to wodim, add a group
+"cdburners" to your system and add the trusted users to this group.
+Then enter:
+
+   chown root:cdburners /usr/local/bin/wodim
+   chmod 4710 /usr/local/bin/wodim
+

Modified: nonameyet/branches/cleanup/doc/READMEs/plattforms/README.linux
===================================================================
--- nonameyet/branches/cleanup/doc/READMEs/plattforms/README.linux	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/doc/READMEs/plattforms/README.linux	2006-09-11 08:04:27 UTC (rev 252)
@@ -1,22 +1,4 @@
-WARNING: Do not use 'mc' to extract the tar file!
-All mc versions before 4.0.14 cannot extract symbolic links correctly.
 
-Linux is the most self incompatible OS I know. If you have any problem,
-first carefully read this file.
-
-Linux includes the gnu make program by default but it is called 'make' on linux.
-You will definitely need the shell script Gmake.linux to use gmake
-on a linux system.
-
-Install it as /usr/bin/Gmake with:
-
-cp Gmake.linux /usr/bin/Gmake
-
-Then compile the system by calling:
-
-/usr/bin/Gmake
-or ./Gmake.linux
-
 NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8:
 
 	Linux did ship with defective kernel include files starting
@@ -187,3 +169,25 @@
 
 
 Joerg
+
+
+
+
+Additional comments moved from the wodim.1 manpage (originaly cdrecord.1):
+
+When using wodim with the broken "Linux SCSI generic driver." You should note
+that wodim uses a hack, that tries to emulate the functionality of the scg
+driver.  Unfortunately, the sg driver on Linux has several severe bugs:
+
+ - It cannot see if a SCSI command could not be sent at all.
+ - It cannot get the SCSI status byte.
+   wodim for that reason cannot report failing SCSI commands in some
+   situations.
+ - It cannot get real DMA count of transfer. wodim cannot tell you if there is
+   an DMA residual count.
+ - It cannot get number of bytes valid in auto sense data. wodim cannot tell
+   you if device transfers no sense data at all.
+ - It fetches too few data in auto request sense (CCS/SCSI-2/SCSI-3 needs
+   >= 18).
+
+ -- Reviewed by Eduard Bloch  -- Sat, 09 Sep 2006 11:49:08 +0200

Modified: nonameyet/branches/cleanup/libscg/scsitransp.c
===================================================================
--- nonameyet/branches/cleanup/libscg/scsitransp.c	2006-09-11 07:49:31 UTC (rev 251)
+++ nonameyet/branches/cleanup/libscg/scsitransp.c	2006-09-11 08:04:27 UTC (rev 252)
@@ -171,7 +171,16 @@
 	scg_ops_t *ops;
 extern	scg_ops_t scg_std_ops;
 
-	/*
+#ifdef DONT_CARE 
+/* 
+ * Who defines which changes decrease the quality and how? The one who hates
+ * all changes not done by him personally? There are more harsh (but more
+ * precise) words to describe stuff like that below, for now let's call it
+ * "unpleasant easter egg" or "addition of code which is enabled by conditional
+ * compilation when a condition appears which the creator of the code dislikes
+ * by principle".
+ */
+/*
 	 * Begin restricted code for quality assurance.
 	 *
 	 * Warning: you are not allowed to modify the quality ensurance code below.
@@ -188,6 +197,7 @@
 	/*
 	 * End restricted code for quality assurance.
 	 */
+#endif
 
 	scgp->ops = &scg_std_ops;
 




More information about the Debburn-changes mailing list