Update vobcopy to a version which is less than 3 years old. This fixes

CVE-2007-5718, some crashes, and introduces and fixes largefile issues.

Changes since vobcopy-0.5.14:
 - Fixed operation on GNU libcized BSD variants.
 - Fixed compilation under MacOS 10.
 - Fixed CVE-2007-5718 (insecure temporary file creation).
 - Fixed segfault in the logging routine.
 - Fixed Makefile for gcc versions not equal to 3.4.
 - Choose the right dvd device from fstab.
 - Read only as many blocks as there are actually left.
 - Partial fix for detection of full nfs files.
 - Fixed double space detection on MacOSX, hopefully...
 - sprintf fixes.
 - -D_FORTIFY_SOURCE=2 is strange, 3 bytes won't fit into a char[4] then.
   Well, they fit into char[8]...
 - The configure.sh script now also detects if the system is an ia64/AMD64
   and uses the lib64 directory accordingly.
 - Added checks for return values from library calls.
 - Added some code to make -n and -m mutually exclusive.
 - The size-checking code with -m was broken. Fixed hopefully.
 - Typo in the manpage.
 - With -m, if files exist you now have the option to [s]kip the files
   already present.
 - Some dvd's show files ending in ";?", they should now work.
This commit is contained in:
tonnerre 2008-07-13 16:14:00 +00:00
parent aeebc0c7d0
commit deb41c2ecc
5 changed files with 95 additions and 41 deletions

View file

@ -1,9 +1,7 @@
# $NetBSD: Makefile,v 1.11 2008/06/20 01:09:36 joerg Exp $
# $NetBSD: Makefile,v 1.12 2008/07/13 16:14:00 tonnerre Exp $
#
DISTNAME= vobcopy-0.5.14
#PKGREVISION= 1
PKGREVISION= 1
DISTNAME= vobcopy-1.1.1
CATEGORIES= sysutils
MASTER_SITES= http://lpn.rnbhq.org/download/

View file

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.7 2007/05/13 06:14:38 darcy Exp $
$NetBSD: distinfo,v 1.8 2008/07/13 16:14:00 tonnerre Exp $
SHA1 (vobcopy-0.5.14.tar.gz) = d4d7c6c5ed4380e4a57e82f561892ad7fba9593b
RMD160 (vobcopy-0.5.14.tar.gz) = 47887e9897b1217e3841fd239cfaa2f2973cb9f5
Size (vobcopy-0.5.14.tar.gz) = 44420 bytes
SHA1 (patch-aa) = 431d7d05356fd8e756bcdf67a822360e9183492e
SHA1 (patch-ab) = eea1f5bb3004e86281663c03c8662d5b6e4ea4fe
SHA1 (patch-ac) = 47573a8ce870474a585a0dfc7bf434e822d009c0
SHA1 (vobcopy-1.1.1.tar.gz) = 5e3c2609f605700e6d3f2cff225dbb4fa04d8b4b
RMD160 (vobcopy-1.1.1.tar.gz) = fa8fed54e7cd63322871caa3a357f518f40c8eb7
Size (vobcopy-1.1.1.tar.gz) = 50779 bytes
SHA1 (patch-aa) = bd5e79f8ac3015730a3b1df4be5463b7ec482ea1
SHA1 (patch-ab) = 923dcc3aa05a0c7670158b59b3a203d3349ab47d
SHA1 (patch-ac) = 3facf278da35699e0fa20a9570b4dd6743f78ef6

View file

@ -1,12 +1,12 @@
$NetBSD: patch-aa,v 1.5 2006/05/19 08:32:04 joerg Exp $
$NetBSD: patch-aa,v 1.6 2008/07/13 16:14:00 tonnerre Exp $
--- vobcopy.c.orig 2006-05-19 08:27:58.000000000 +0000
--- vobcopy.c.orig 2008-02-19 06:27:04.000000000 +0100
+++ vobcopy.c
@@ -121,7 +121,6 @@
#include <dvdread/nav_read.h>
#include <dvdread/nav_print.h>
@@ -53,7 +53,6 @@
#include "vobcopy.h"
-extern int errno;
char name[300];
char name[300];
bool overwrite_flag = FALSE;
/* --------------------------------------------------------------------------*/

View file

@ -1,16 +1,8 @@
$NetBSD: patch-ab,v 1.5 2006/05/19 08:32:04 joerg Exp $
$NetBSD: patch-ab,v 1.6 2008/07/13 16:14:00 tonnerre Exp $
--- dvd.c.orig 2006-05-19 08:29:37.000000000 +0000
--- dvd.c.orig 2008-02-19 06:27:04.000000000 +0100
+++ dvd.c
@@ -48,7 +48,6 @@
#include <errno.h>
-extern int errno;
/*for solaris, if we need to include some cdrom related stuff
#include <sys/cdio.h>
@@ -199,7 +198,7 @@ int get_device( char *path, char *device
@@ -166,7 +166,7 @@ int get_device( char *path, char *device
if( !strcmp( path, buf.f_mntonname ) )
{
mounted = TRUE;

View file

@ -1,22 +1,86 @@
$NetBSD: patch-ac,v 1.1 2007/05/13 06:14:38 darcy Exp $
$NetBSD: patch-ac,v 1.2 2008/07/13 16:14:00 tonnerre Exp $
--- vobcopy.h.orig 2004-11-22 14:12:58.000000000 -0500
--- vobcopy.h.orig 2008-02-19 06:27:04.000000000 +0100
+++ vobcopy.h
@@ -5,6 +5,9 @@
#define MAX_STRING 81
#define MAX_DIFFER 2000
@@ -43,7 +43,11 @@
#include <sys/mnttab.h>
#include <sys/statvfs.h>
+#if defined(FALSE)
+#ifdef FALSE
+typedef int bool;
+#else
#if defined(__APPLE__) && defined(__GNUC__)
typedef enum { FALSE=0, TRUE=1 } bool;
+#endif
# if ( _FILE_OFFSET_BITS == 64 )
#define HAS_LARGEFILE 1
@@ -58,7 +62,7 @@ typedef enum { FALSE=0, TRUE=1 } bool;
/* ////////// *BSD ////////// */
#if ( defined( BSD ) && ( BSD >= 199306 ) )
-# if !defined( __NetBSD__ ) ) || \
+# if ( !defined( __NetBSD__ ) ) || \
( defined( __NetBSD__) && ( __NetBSD_Version__ < 200040000 ) )
#include <sys/mount.h>
#define USE_STATFS 1
@@ -94,9 +98,15 @@ typedef enum { FALSE=0, TRUE=1 } bool;
# endif
+#ifdef O_LARGEFILE
#define HAS_LARGEFILE 1
+#endif
+#ifdef FALSE
+typedef int bool;
+#else
typedef enum { FALSE=0, TRUE=1 } bool;
+#endif
#else /* *BSD */
@@ -117,8 +127,10 @@ typedef enum { FALSE=0, TRUE=1 } bool;
#define GETMNTINFO_USES_STATFS 1
#define USE_GETMNTINFO 1
+#ifndef FALSE
#define FALSE 0
#define TRUE 1
+#endif
typedef int bool;
@@ -13,6 +16,7 @@ typedef int bool;
#else
# endif
@@ -145,7 +157,11 @@ typedef int bool;
#define HAVE_GETOPT_LONG 1
#define HAS_LARGEFILE 1
+#ifdef FALSE
+typedef int bool;
+#else
typedef enum { FALSE=0, TRUE=1 } bool;
#endif /* Darwin */
+#endif /* defined FALSE */
+#endif
#elif defined( __GLIBC__ )
void usage(char *);
@@ -156,13 +172,21 @@ typedef int bool;
#define HAVE_GETOPT_LONG 1
#define HAS_LARGEFILE 1
+#ifdef FALSE
+typedef int bool;
+#else
typedef enum { FALSE=0, TRUE=1 } bool;
+#endif
#else
/* ////////// For other cases ////////// */
+#ifdef FALSE
+typedef int bool;
+#else
typedef enum { FALSE=0, TRUE=1 } bool;
+#endif
#if defined( __USE_FILE_OFFSET64 )
# define HAS_LARGEFILE 1