Hello !
I've done a patch to mkisofs to delete a bunch of information that
constitutes a privacy leak that cd writing programs like Nero doesn't
write.
Mkisofs writes the whole command line, operating system and mkisofs
version used to do the image.
As quoted from Brian Ristuccia <[EMAIL PROTECTED]> mail:
> For example, a political dissident who does:
> mkisofs -f foo.iso ~/government-makes-hambruger-from-kids-videos
> would be inadvertantly revealing his login name, and thus potentially
> revealing his identity to the evil government which may then decide to make
> him into hamburger as well.
The debian bug page about this privacy leak is at:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=87043&repeatmerged=yes
I know that J�rg Schilling <[EMAIL PROTECTED]> doesn't seem to like this
patch. But, as many mkisofs users like this patch I send it to this
mailing list.
I would be a good idea to remove this privacy leak at least from the
debian branch of mkisofs. If you like the patch you should contact
the Debian maintainer: Erik Andersen <[EMAIL PROTECTED]>
to remove this privacy leak.
Regards,
Eduardo
--- cdrtools-1.10/mkisofs/Makefile Tue Apr 3 20:33:26 2001
+++ cdrtools-1.10/mkisofs/Makefile Wed Nov 14 12:03:44 2001
@@ -28,7 +28,6 @@
CPPOPTS += -DSORTING
CPPOPTS += -I../libhfs_iso/
CPPOPTS += -DHAVE_CONFIG_H -DUSE_LIBSCHILY -DUSE_SCG \
- '-DAPPID_DEFAULT="MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD
CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING"' \
-I../cdrecord
CFILES= mkisofs.c tree.c write.c hash.c rock.c multi.c \
joliet.c match.c name.c fnmatch.c eltorito.c boot.c \
--- cdrtools-1.10/mkisofs/defaults.h Tue Apr 3 20:33:26 2001
+++ cdrtools-1.10/mkisofs/defaults.h Wed Nov 14 12:05:39 2001
@@ -8,13 +8,7 @@
#define PREPARER_DEFAULT NULL
#define PUBLISHER_DEFAULT NULL
-#ifndef APPID_DEFAULT
-#ifdef APPLE_HYB
-#define APPID_DEFAULT "MKISOFS ISO 9660/HFS FILESYSTEM BUILDER (C)
1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING"
-#else
-#define APPID_DEFAULT "MKISOFS ISO 9660 FILESYSTEM BUILDER (C) 1993
E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING"
-#endif /* APPLE_HYB */
-#endif
+#define APPID_DEFAULT NULL
#define COPYRIGHT_DEFAULT NULL
#define BIBLIO_DEFAULT NULL
#define ABSTRACT_DEFAULT NULL
@@ -26,85 +20,3 @@
#define APPLE_TYPE_DEFAULT "TEXT"
#define APPLE_CREATOR_DEFAULT "unix"
#endif /* APPLE_HYB */
-
-#ifdef __QNX__
-#define SYSTEM_ID_DEFAULT "QNX"
-#endif
-
-#ifdef __osf__
-#define SYSTEM_ID_DEFAULT "OSF"
-#endif
-
-#ifdef __sun
-#ifdef __SVR4
-#define SYSTEM_ID_DEFAULT "Solaris"
-#else
-#define SYSTEM_ID_DEFAULT "SunOS"
-#endif
-#endif
-
-#ifdef __hpux
-#define SYSTEM_ID_DEFAULT "HP-UX"
-#endif
-
-#ifdef __sgi
-#define SYSTEM_ID_DEFAULT "SGI"
-#endif
-
-#if defined(_IBMR2) || defined(_AIX)
-#define SYSTEM_ID_DEFAULT "AIX"
-#endif
-
-#if defined(_WIN) || defined(__CYGWIN32__) || defined(__CYGWIN__)
-#define SYSTEM_ID_DEFAULT "Win32"
-#endif /* _WIN */
-
-#ifdef __EMX__
-#define SYSTEM_ID_DEFAULT "OS/2"
-#endif
-
-#ifdef __FreeBSD__
-#define SYSTEM_ID_DEFAULT "FreeBSD"
-#endif
-
-#ifdef __NetBSD__
-#define SYSTEM_ID_DEFAULT "NetBSD"
-#endif
-
-#ifdef __OpenBSD__
-#define SYSTEM_ID_DEFAULT "OpenBSD"
-#endif
-
-#ifdef __bsdi__
-#define SYSTEM_ID_DEFAULT "BSD/OS"
-#endif
-
-#ifdef __NeXT__
-#define SYSTEM_ID_DEFAULT "NeXT"
-#endif
-
-#if defined(__NeXT__) && defined(__TARGET_OSNAME) && __TARGET_OSNAME == rhapsody
-#undef SYSTEM_ID_DEFAULT
-#define SYSTEM_ID_DEFAULT "Rhapsody"
-#endif
-
-#if defined(__APPLE__) && defined(__MACH__)
-#undef SYSTEM_ID_DEFAULT
-#define SYSTEM_ID_DEFAULT "Mac OS X"
-#endif
-
-#ifdef __BEOS__
-#define SYSTEM_ID_DEFAULT "BeOS"
-#endif
-
-#ifdef __OS2
-#define SYSTEM_ID_DEFAULT "OS/2"
-#endif
-
-#ifdef VMS
-#define SYSTEM_ID_DEFAULT "VMS"
-#endif
-
-#ifndef SYSTEM_ID_DEFAULT
-#define SYSTEM_ID_DEFAULT "LINUX"
-#endif
--- cdrtools-1.10/mkisofs/mkisofs.c Fri Apr 20 15:45:50 2001
+++ cdrtools-1.10/mkisofs/mkisofs.c Wed Nov 14 12:02:54 2001
@@ -128,7 +128,7 @@
char *abstract = ABSTRACT_DEFAULT;
char *volset_id = VOLSET_ID_DEFAULT;
char *volume_id = VOLUME_ID_DEFAULT;
-char *system_id = SYSTEM_ID_DEFAULT;
+char *system_id = "";
char *boot_catalog = BOOT_CATALOG_DEFAULT;
char *boot_image = BOOT_IMAGE_DEFAULT;
char *genboot_image = BOOT_IMAGE_DEFAULT;
@@ -2775,9 +2775,6 @@
}
/* Finally the last volume desctiptor. */
outputlist_insert(&end_vol);
-
- /* Insert the version desctiptor. */
- outputlist_insert(&version_desc);
/* Now start with path tables and directory tree info. */
outputlist_insert(&pathtable_desc);
--- cdrtools-1.10/mkisofs/mkisofs.h Mon Apr 2 17:04:36 2001
+++ cdrtools-1.10/mkisofs/mkisofs.h Wed Nov 14 12:02:54 2001
@@ -164,7 +164,6 @@
extern struct output_fragment joliet_desc;
extern struct output_fragment torito_desc;
extern struct output_fragment end_vol;
-extern struct output_fragment version_desc;
extern struct output_fragment pathtable_desc;
extern struct output_fragment jpathtable_desc;
extern struct output_fragment dirtree_desc;
--- cdrtools-1.10/mkisofs/write.c Thu Feb 15 22:04:02 2001
+++ cdrtools-1.10/mkisofs/write.c Wed Nov 14 12:02:54 2001
@@ -105,7 +105,6 @@
static int file_write __PR((FILE *outfile));
static int pvd_write __PR((FILE *outfile));
static int evd_write __PR((FILE *outfile));
-static int vers_write __PR((FILE *outfile));
static int pathtab_write __PR((FILE *outfile));
static int exten_write __PR((FILE *outfile));
int oneblock_size __PR((int starting_extent));
@@ -1800,48 +1799,6 @@
}
/*
- * Function to write the version information for the disc.
- */
-static int
-vers_write(outfile)
- FILE *outfile;
-{
- char vers[SECTOR_SIZE];
- int X_ac;
- char **X_av;
- char *cp;
- int i;
- int idx = 4;
- int len;
- extern char version_string[];
-
- /* Now write the version descriptor. */
- memset(vers, 0, sizeof(vers));
- strcpy(vers, "MKI ");
-
- cp = vers;
- X_ac = saved_ac();
- X_av = saved_av();
- strcpy(&cp[idx], ctime(&begun));
- idx += 25;
- strcpy(&cp[idx], version_string);
- idx += strlen(version_string);
- for (i = 1; i < X_ac; i++) {
- len = strlen(X_av[i]);
- if ((idx + len + 1) >= SECTOR_SIZE)
- break;
- cp[idx++] = ' ';
- strcpy(&cp[idx], X_av[i]);
- idx += len;
- }
-
- cp[SECTOR_SIZE - 1] = '\0';
- xfwrite(vers, 1, SECTOR_SIZE, outfile);
- last_extent_written += 1;
- return 0;
-}
-
-/*
* Function to write the path table for the disc.
*/
static int
@@ -2432,7 +2389,6 @@
struct output_fragment padblock_desc = {NULL, padblock_size, NULL,
padblock_write};
struct output_fragment voldesc_desc = {NULL, oneblock_size, root_gen, pvd_write};
struct output_fragment end_vol = {NULL, oneblock_size, NULL, evd_write};
-struct output_fragment version_desc = {NULL, oneblock_size, NULL, vers_write};
struct output_fragment pathtable_desc = {NULL, pathtab_size, generate_path_tables,
pathtab_write};
struct output_fragment dirtree_desc = {NULL, dirtree_size, NULL,
dirtree_write};
struct output_fragment dirtree_clean = {NULL, dirtree_fixup, dirtree_dump,
dirtree_cleanup};