FreeBSD Bugzilla – Attachment 187288 Details for
Bug 221589
archivers/arj: fix build on armv6, fix multiple vulnerabilities and other improvements
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
archivers_arj.diff (text/plain), 11.59 KB, created by
Mikael Urankar
on 2017-10-18 17:30:23 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Mikael Urankar
Created:
2017-10-18 17:30:23 UTC
Size:
11.59 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 452066) >+++ Makefile (working copy) >@@ -3,9 +3,12 @@ > > PORTNAME= arj > PORTVERSION= 3.10.22 >-PORTREVISION= 4 >+PORTREVISION= 5 > CATEGORIES= archivers >-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2.78_3.10%20build%2022 >+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2.78_3.10%20build%2022:source1 \ >+ DEBIAN_POOL:source2 >+DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz:source1 \ >+ ${PORTNAME}_${PORTVERSION}-16.debian.tar.xz:source2 > > MAINTAINER= garga@FreeBSD.org > COMMENT= Open source implementation of the ARJ archiver >@@ -14,6 +17,17 @@ > > PORTSCOUT= skipv:3.10g > >+EXTRA_PATCHES= ${WRKDIR}/debian/patches/*.patch >+IGNORE_PATCHES= 002_no_remove_static_const.patch \ >+ doc_refer_robert_k_jung.patch \ >+ gnu_build_cross.patch \ >+ gnu_build_fix.patch \ >+ gnu_build_flags.patch \ >+ gnu_build_pie.patch \ >+ gnu_build_strip.patch \ >+ hurd_no_fcntl_getlk.patch >+PATCH_STRIP= -p1 >+ > USES= alias gmake > USE_AUTOTOOLS= autoconf > CONFIGURE_WRKSRC= ${WRKSRC}/gnu >@@ -21,7 +35,6 @@ > MAKE_ARGS= LOCALE="${LANGUAGE}" > ALL_TARGET= prepare all > STRIP= # empty >-MAKE_JOBS_UNSAFE= yes > > CFLAGS+= -fPIC > LANGUAGE?= en >@@ -30,6 +43,9 @@ > > OPTIONS_DEFINE= DOCS > >+pre-patch: >+ @${RM} ${IGNORE_PATCHES:S,^,${WRKDIR}/debian/patches/,} >+ > post-patch: > @${REINPLACE_CMD} -e 's!/etc!${LOCALBASE}/etc!' \ > ${WRKSRC}/arj.c ${WRKSRC}/file_reg.c ${WRKSRC}/rearj.c >Index: distinfo >=================================================================== >--- distinfo (revision 452066) >+++ distinfo (working copy) >@@ -1,2 +1,5 @@ >+TIMESTAMP = 1508345026 > SHA256 (arj-3.10.22.tar.gz) = 589e4c9bccc8669e7b6d8d6fcd64e01f6a2c21fe10aad56a83304ecc3b96a7db > SIZE (arj-3.10.22.tar.gz) = 431467 >+SHA256 (arj_3.10.22-16.debian.tar.xz) = 2d9cc5aeb2ac44d000d2e3399846f1c3ce468e17e3af4bfb505b9a6eaf88a502 >+SIZE (arj_3.10.22-16.debian.tar.xz) = 19452 >Index: files/patch-arj__arcv.c >=================================================================== >--- files/patch-arj__arcv.c (revision 452066) >+++ files/patch-arj__arcv.c (nonexistent) >@@ -1,60 +0,0 @@ >---- arj_arcv.c.orig 2005-06-21 19:53:12 UTC >-+++ arj_arcv.c >-@@ -59,27 +59,27 @@ static char idxid_fault[]="?"; >- #define setup_hput(ptr) (tmp_hptr=(ptr)) >- >- #define hget_byte() (*(tmp_hptr++)&0xFF) >--#define hput_byte(c) (*(tmp_hptr++)=(char) (c)) >-+#define hput_byte(c) (*(tmp_hptr++)=(uint8_t) (c)) >- >- /* Reads two bytes from the header, incrementing the pointer */ >- >--static unsigned int hget_word() >-+static uint16_t hget_word() >- { >-- unsigned int result; >-+ uint16_t result; >- >- result=mget_word(tmp_hptr); >-- tmp_hptr+=sizeof(short); >-+ tmp_hptr+=sizeof(uint16_t); >- return result; >- } >- >- /* Reads four bytes from the header, incrementing the pointer */ >- >--static unsigned long hget_longword() >-+static uint32_t hget_longword() >- { >-- unsigned long result; >-+ uint32_t result; >- >- result=mget_dword(tmp_hptr); >-- tmp_hptr+=sizeof(unsigned long); >-+ tmp_hptr+=sizeof(uint32_t); >- return result; >- } >- >-@@ -87,18 +87,18 @@ static unsigned long hget_longword() >- >- /* Writes two bytes to the header, incrementing the pointer */ >- >--static void hput_word(unsigned int w) >-+static void hput_word(uint16_t w) >- { >- mput_word(w,tmp_hptr); >-- tmp_hptr+=sizeof(unsigned short); >-+ tmp_hptr+=sizeof(uint16_t); >- } >- >- /* Writes four bytes to the header, incrementing the pointer */ >- >--static void hput_longword(unsigned long l) >-+static void hput_longword(uint32_t l) >- { >- mput_dword(l,tmp_hptr); >-- tmp_hptr+=sizeof(unsigned long); >-+ tmp_hptr+=sizeof(uint32_t); >- } >- >- /* Calculates and stores the basic header size */ > >Property changes on: files/patch-arj__arcv.c >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: files/patch-arj__proc.c >=================================================================== >--- files/patch-arj__proc.c (revision 452066) >+++ files/patch-arj__proc.c (nonexistent) >@@ -1,80 +0,0 @@ >---- arj_proc.c.orig 2005-06-21 19:53:12 UTC >-+++ arj_proc.c >-@@ -585,7 +585,7 @@ int search_for_extension(char *name, cha >- /* Returns the exact amount of data that could be safely written to the >- destination volume */ >- >--unsigned long get_volfree(unsigned int increment) >-+unsigned long get_volfree(unsigned long increment) >- { >- unsigned long pvol; >- unsigned int arjsec_overhead; >-@@ -605,7 +605,7 @@ unsigned long get_volfree(unsigned int i >- remain=volume_limit-ftell(aostream)-pvol-(long)arjsec_overhead- >- (long)out_bytes-(long)cpos-(long)ext_voldata- >- MULTIVOLUME_RESERVE-t_volume_offset; >-- return((unsigned long)min(remain, (unsigned long)increment)); >-+ return((unsigned long)min(remain, increment)); >- } >- >- /* Performs various checks when multivolume data is packed to predict an >-@@ -2466,14 +2466,14 @@ static int get_str_from_jq() >- *tsptr='\0'; >- endptr=tsptr; >- tsptr=sptr; >-- while((unsigned int)tsptr<(unsigned int)endptr&&patterns<SEARCH_STR_MAX) >-+ while((intptr_t)tsptr<(intptr_t)endptr&&patterns<SEARCH_STR_MAX) >- { >- while(*tsptr=='\0') >- tsptr++; >-- if((unsigned int)tsptr<(unsigned int)endptr) >-+ if((intptr_t)tsptr<(intptr_t)endptr) >- { >- search_str[patterns++]=tsptr; >-- while(*tsptr!='\0'&&(unsigned int)tsptr<(unsigned int)endptr) >-+ while(*tsptr!='\0'&&(intptr_t)tsptr<(intptr_t)endptr) >- tsptr++; >- } >- } >-@@ -2901,9 +2901,9 @@ char *ltrim(char *str) >- #if defined(WORDS_BIGENDIAN)&&!defined(ARJDISP)&&!defined(REGISTER) >- /* Model-independent routine to get 2 bytes from far RAM */ >- >--unsigned int mget_word(char FAR *p) >-+uint16_t mget_word(char FAR *p) >- { >-- unsigned int b0, b1; >-+ uint16_t b0, b1; >- >- b0=mget_byte(p); >- b1=mget_byte(p+1); >-@@ -2912,9 +2912,9 @@ unsigned int mget_word(char FAR *p) >- >- /* Model-independent routine to get 4 bytes from far RAM */ >- >--unsigned long mget_dword(char FAR *p) >-+uint32_t mget_dword(char FAR *p) >- { >-- unsigned long w0, w1; >-+ uint32_t w0, w1; >- >- w0=mget_word(p); >- w1=mget_word(p+2); >-@@ -2923,7 +2923,7 @@ unsigned long mget_dword(char FAR *p) >- >- /* Model-independent routine to store 2 bytes in far RAM */ >- >--void mput_word(unsigned int w, char FAR *p) >-+void mput_word(uint16_t w, char FAR *p) >- { >- mput_byte(w&0xFF, p); >- mput_byte(w>>8 , p+1); >-@@ -2931,7 +2931,7 @@ void mput_word(unsigned int w, char FAR >- >- /* Model-independent routine to store 4 bytes in far RAM */ >- >--void mput_dword(unsigned long d, char FAR *p) >-+void mput_dword(uint32_t d, char FAR *p) >- { >- mput_word(d&0xFFFF, p); >- mput_word(d>>16 , p+2); > >Property changes on: files/patch-arj__proc.c >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: files/patch-arj__proc.h >=================================================================== >--- files/patch-arj__proc.h (revision 452066) >+++ files/patch-arj__proc.h (nonexistent) >@@ -1,50 +0,0 @@ >---- arj_proc.h.orig 2004-01-25 10:39:30 UTC >-+++ arj_proc.h >-@@ -8,15 +8,17 @@ >- #ifndef ARJ_PROC_INCLUDED >- #define ARJ_PROC_INCLUDED >- >-+#include <stdint.h> >-+ >- /* Helper macros */ >- >--#define mget_byte(p) (*(unsigned char FAR *)(p)&0xFF) >--#define mput_byte(c, p) *(unsigned char FAR *)(p)=(unsigned char)(c) >-+#define mget_byte(p) (*(uint8_t FAR *)(p)&0xFF) >-+#define mput_byte(c, p) *(uint8_t FAR *)(p)=(uint8_t)(c) >- #ifndef WORDS_BIGENDIAN >--#define mget_word(p) (*(unsigned short *)(p)&0xFFFF) >--#define mput_word(w,p) (*(unsigned short *)(p)=(unsigned short)(w)) >--#define mget_dword(p) (*(unsigned long *)(p)) >--#define mput_dword(w,p) (*(unsigned long *)(p)=(unsigned long)(w)) >-+#define mget_word(p) (*(uint16_t *)(p)&0xFFFF) >-+#define mput_word(w,p) (*(uint16_t *)(p)=(uint16_t)(w)) >-+#define mget_dword(p) (*(uint32_t *)(p)) >-+#define mput_dword(w,p) (*(uint32_t *)(p)=(uint32_t)(w)) >- #endif >- >- /* Prototypes */ >-@@ -31,7 +33,7 @@ void copy_bytes(unsigned long nbytes); >- int translate_path(char *name); >- void restart_proc(char *dest); >- int search_for_extension(char *name, char *ext_list); >--unsigned long get_volfree(unsigned int increment); >-+unsigned long get_volfree(unsigned long increment); >- unsigned int check_multivolume(unsigned int increment); >- void store(); >- void hollow_encode(); >-@@ -61,10 +63,10 @@ void unpack_mem(struct mempack *mempack) >- void strip_lf(char *str); >- char *ltrim(char *str); >- #ifdef WORDS_BIGENDIAN >--unsigned int mget_word(char FAR *p); >--unsigned long mget_dword(char FAR *p); >--void mput_word(unsigned int w, char FAR *p); >--void mput_dword(unsigned long d, char FAR *p); >-+uint16_t mget_word(char FAR *p); >-+uint32_t mget_dword(char FAR *p); >-+void mput_word(uint16_t w, char FAR *p); >-+void mput_dword(uint32_t d, char FAR *p); >- #endif >- >- #endif > >Property changes on: files/patch-arj__proc.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: files/patch-arjtypes.c >=================================================================== >--- files/patch-arjtypes.c (nonexistent) >+++ files/patch-arjtypes.c (working copy) >@@ -0,0 +1,15 @@ >+--- arjtypes.c 2005-06-23 UTC >++++ arjtypes.c >+@@ -138,8 +138,11 @@ static int isleapyear(int year) >+ static unsigned long ts_unix2dos(const long ts) >+ { >+ struct tm *stm; >++ time_t _ts; >+ >+- stm=arj_localtime((time_t*)&ts); >++ _ts = ts; >++ >++ stm=arj_localtime(&_ts); >+ return(get_tstamp(stm->tm_year+1900, stm->tm_mon+1, stm->tm_mday, >+ stm->tm_hour, stm->tm_min, stm->tm_sec)); >+ } > >Property changes on: files/patch-arjtypes.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/patch-fardata.c >=================================================================== >--- files/patch-fardata.c (revision 452066) >+++ files/patch-fardata.c (nonexistent) >@@ -1,29 +0,0 @@ >---- fardata.c.orig 2004-04-17 11:39:42 UTC >-+++ fardata.c >-@@ -190,7 +190,7 @@ int msg_sprintf(char *str, FMSG *fmt, .. >- >- /* Length-limited strlen() */ >- >--static int strnlen(const char FAR *s, int count) >-+static int _strnlen(const char FAR *s, int count) >- { >- const char FAR *sc; >- >-@@ -569,7 +569,7 @@ int vcprintf(int ccode, FMSG *fmt, va_li >- if(!s) >- s="(null)"; >- #endif >-- len=strnlen(s, precision); >-+ len=_strnlen(s, precision); >- if(!(flags&LEFT)) >- { >- while(len<field_width--) >-@@ -655,7 +655,7 @@ int vcprintf(int ccode, FMSG *fmt, va_li >- num=va_arg(args, unsigned long); >- else if(qualifier=='h') >- { >--#ifdef __linux__ >-+#if defined(__linux__) || defined(__FreeBSD__) >- if (flags&SIGN) >- num=va_arg(args, int); /* num=va_arg(args, short); */ >- else > >Property changes on: files/patch-fardata.c >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 221589
:
185526
| 187288