View | Details | Raw Unified | Return to bug 244817 | Differences between
and this patch

Collapse All | Expand All

(-)b/multimedia/oscam/Makefile (-24 / +17 lines)
Lines 1-52 Link Here
1
# Created by: Franz Bettag <franz@bett.ag>
1
# Created by: Franz Bettag <franz@bett.ag>
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	oscam
4
PORTNAME=	oscam
5
PORTVERSION=	1.20
5
PORTVERSION=	1.20.20200313
6
PORTREVISION=	1
7
CATEGORIES=	multimedia
6
CATEGORIES=	multimedia
8
MASTER_SITES=	http://el8.nl/~fbettag/oscam/
7
MASTER_SITES=	https://repo.or.cz/oscam.git/snapshot/7f322cc2cd840f4197488a3ead2c3e48b51e8278.tar.gz?/
9
8
10
MAINTAINER=	franz@bett.ag
9
MAINTAINER=	franz@bett.ag
11
COMMENT=	Softcam software to decrypt digital tv channels
10
COMMENT=	Softcam software to decrypt digital tv channels
12
11
13
LICENSE=	GPLv3
12
LICENSE=	GPLv3
13
LICENSE_FILE=	${WRKSRC}/COPYING
14
14
15
USES=		compiler gmake ssl tar:bzip2
15
LIB_DEPENDS=	libpcsclite.so:devel/pcsc-lite
16
USE_RC_SUBR=	oscam
17
16
18
.if target(gen-dist)
17
USES=		gmake localbase ssl
19
FETCH_DEPENDS+=	svn:devel/subversion
18
USE_RC_SUBR=	oscam
20
.endif
21
SVN_REV=	11062
22
SVN_SRC=	http://www.streamboard.tv/svn/oscam/trunk
23
19
24
OPTIONS_DEFINE=	EXAMPLES
20
OPTIONS_DEFINE=	EXAMPLES
25
21
26
.include <bsd.port.pre.mk>
22
MAKE_ARGS=	CC="${CC}" HOSTCC="${CC}" \
23
		USE_LIBCRYPTO=1 USE_LIBUSB=1 USE_PCSC=1 USE_SSL=1 \
24
		USE_UTF8=1 LIBUSB_LIB=-lusb \
25
		OSCAM_BIN="Distribution/oscam" CONF_DIR="${PREFIX}/etc/oscam" \
26
		V=1
27
27
28
.if ${SSL_DEFAULT} == base
28
WRKSRC=		${WRKDIR}/${PORTNAME}-7f322cc
29
BROKEN_FreeBSD_12=	field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
29
30
BROKEN_FreeBSD_13=	field has incomplete type 'BIGNUM' (aka 'struct bignum_st')
30
.include <bsd.port.pre.mk>
31
.endif
32
31
33
.if ${CHOSEN_COMPILER_TYPE} == clang
32
.if ${ARCH:Mmips*}
34
MAKE_ARGS+=	HOSTCC=clang CC=clang
33
USE_GCC=	yes
35
.endif
34
.endif
36
35
37
do-install:
36
do-install:
38
	${RM} ${WRKSRC}/Distribution/*.debug
37
	${INSTALL_PROGRAM} ${WRKSRC}/Distribution/oscam ${STAGEDIR}${PREFIX}/bin/
39
	${INSTALL_PROGRAM} ${WRKSRC}/Distribution/${PORTNAME}-${PORTVERSION}-* ${STAGEDIR}${PREFIX}/bin/oscam
40
	${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/
38
	${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/
41
	${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/
39
	${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/
42
40
43
do-install-EXAMPLES-on:
41
do-install-EXAMPLES-on:
44
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
42
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
45
	${INSTALL_DATA} ${WRKSRC}/Distribution/doc/example/* ${STAGEDIR}${EXAMPLESDIR}/
43
	${INSTALL_DATA} ${WRKSRC}/Distribution/doc/example/* ${STAGEDIR}${EXAMPLESDIR}/
46
44
47
gen-dist:
48
	${MKDIR} ${WRKDIR}
49
	svn export --force -r ${SVN_REV} ${SVN_SRC} ${WRKSRC}
50
	${TAR} -cvy -C ${WRKDIR} -f ${DISTDIR}/${DISTNAME}.tar.bz2 ${DISTNAME}
51
52
.include <bsd.port.post.mk>
45
.include <bsd.port.post.mk>
(-)b/multimedia/oscam/distinfo (-2 / +3 lines)
Lines 1-2 Link Here
1
SHA256 (oscam-1.20.tar.bz2) = a5b5be89bfca069ae2317f9a0590cf984d839b3b7030647eb0e8bbbb60c75eeb
1
TIMESTAMP = 1584349871
2
SIZE (oscam-1.20.tar.bz2) = 977098
2
SHA256 (oscam-1.20.20200313.tar.gz) = ad22b199afb4b5f446220287df6e378d416921096b3c567ca4f6e76c91fcf516
3
SIZE (oscam-1.20.20200313.tar.gz) = 1264325
(-)a/multimedia/oscam/files/patch-Makefile.extra (-20 lines)
Removed Link Here
1
--- Makefile.extra.orig	2015-09-30 21:11:35 UTC
2
+++ Makefile.extra
3
@@ -4,7 +4,6 @@ i386-pc-freebsd: simple
4
 hppa1.1-hp-hpux10.20: simple
5
 alpha-dec-osf5.1: simple
6
 linux: simple
7
-freebsd: simple
8
 tuxbox: cross-powerpc-tuxbox-linux
9
 tripledragon: cross-powerpc-405-linux
10
 win: cross-i386-pc-cygwin
11
@@ -19,6 +18,9 @@ i386-pc-linux-pcsc: pcsc
12
 i386-pc-linux-pcsc-libusb: pcsc-libusb
13
 libusb-pcsc: pcsc-libusb
14
 
15
+freebsd:
16
+	$(MAKE) USE_LIBUSB=1 USE_LIBCRYPTO=1 CONF_DIR=/usr/local/etc/oscam LIBUSB_LIB=-lusb $(MAKEFLAGS)
17
+
18
 libusb:
19
 	$(MAKE) --no-print-directory \
20
 		USE_LIBUSB=1 \
(-)b/multimedia/oscam/files/patch-config.h (-38 / +8 lines)
Lines 1-41 Link Here
1
--- config.h.orig	2015-09-30 21:11:35 UTC
1
--- config.h.orig	2020-03-14 17:14:49 UTC
2
+++ config.h
2
+++ config.h
3
@@ -5,10 +5,8 @@
3
@@ -34,7 +34,7 @@
4
 #define WEBIF_LIVELOG 1
4
 //#define MODULE_SERIAL 1
5
 #define WEBIF_JQUERY 1
5
 //#define MODULE_CONSTCW 1
6
 #define TOUCH 1
6
 //#define MODULE_PANDORA 1
7
-//#define WITH_SSL 1
7
-//#define MODULE_GHTTP 1
8
-#if defined(__linux__) || defined(__CYGWIN__)
8
+#define MODULE_GHTTP 1
9
+#define WITH_SSL 1
9
 #define MODULE_SCAM 1
10
 #define HAVE_DVBAPI 1
11
-#endif
12
 #define READ_SDT_CHARSETS 1
13
 #define CLOCKFIX 1
14
 #define IRDETO_GUESSING 1
15
@@ -23,18 +21,18 @@
16
 #define MODULE_MONITOR 1
17
 
18
 //#define MODULE_CAMD33 1
19
-#define MODULE_CAMD35 1
20
-#define MODULE_CAMD35_TCP 1
21
+//#define MODULE_CAMD35 1
22
+//#define MODULE_CAMD35_TCP 1
23
 #define MODULE_NEWCAMD 1
24
 #define MODULE_CCCAM 1
25
 #define MODULE_CCCSHARE 1
26
-#define MODULE_GBOX 1
27
-#define MODULE_RADEGAST 1
28
-#define MODULE_SERIAL 1
29
+//#define MODULE_GBOX 1
30
+//#define MODULE_RADEGAST 1
31
+//#define MODULE_SERIAL 1
32
 #define MODULE_CONSTCW 1
33
-#define MODULE_PANDORA 1
34
-#define MODULE_GHTTP 1
35
-#define MODULE_SCAM 1
36
+//#define MODULE_PANDORA 1
37
+//#define MODULE_GHTTP 1
38
+//#define MODULE_SCAM 1
39
 
10
 
40
 #define WITH_CARDREADER 1
11
 #define WITH_CARDREADER 1
41
 
(-)b/multimedia/oscam/files/patch-globals.h (-19 / +8 lines)
Lines 1-21 Link Here
1
--- globals.h.orig	2015-09-28 21:33:12 UTC
1
--- globals.h.orig	2020-03-14 15:56:57 UTC
2
+++ globals.h
2
+++ globals.h
3
@@ -124,6 +124,18 @@ typedef unsigned char uchar;
3
@@ -36,7 +36,6 @@
4
 #define DEFAULT_AF AF_INET
4
 #include <termios.h>
5
 #endif
5
 #include <inttypes.h>
6
 #include <sys/utsname.h>
7
-#include <sys/sysmacros.h>
6
 
8
 
7
+#ifdef IPV6SUPPORT
9
 /*
8
+#if !defined s6_addr32 && defined __sun__
10
  * The following hack is taken from Linux: include/linux/kconfig.h
9
+#	define s6_addr32 _S6_un._S6_u32
10
+#elif !defined s6_addr32 && ( defined __OpenBSD__ || defined __FreeBSD__ ) 
11
+#	define s6_addr32 __u6_addr.__u6_addr32
12
+#endif	/* !defined s6_addr32 */
13
+#endif
14
+
15
+#ifndef SOL_TCP
16
+# define SOL_TCP IPPROTO_TCP
17
+#endif
18
+
19
 #ifndef NO_ENDIAN_H
20
 #if defined(__APPLE__)
21
 #include <machine/endian.h>
(-)a/multimedia/oscam/files/patch-module-dvbapi.c (-48 lines)
Removed Link Here
1
--- module-dvbapi.c.orig	2015-10-10 17:22:23 UTC
2
+++ module-dvbapi.c
3
@@ -3,7 +3,6 @@
4
 #include "globals.h"
5
 
6
 #ifdef HAVE_DVBAPI
7
-
8
 #include "module-dvbapi.h"
9
 #include "module-cacheex.h"
10
 #include "module-dvbapi-azbox.h"
11
@@ -4290,6 +4289,7 @@ static void *dvbapi_main_local(void *cli
12
 {
13
 	int32_t i, j;
14
 	struct s_client *client = (struct s_client *) cli;
15
+	const char pmt_server_socket[]="/tmp/.listen.camd.socket";
16
 	client->thread = pthread_self();
17
 	SAFE_SETSPECIFIC(getclient, cli);
18
 
19
@@ -4298,11 +4298,9 @@ static void *dvbapi_main_local(void *cli
20
 	int32_t maxpfdsize = (MAX_DEMUX * maxfilter) + MAX_DEMUX + 2;
21
 	struct pollfd pfd2[maxpfdsize];
22
 	struct timeb start, end;  // start time poll, end time poll
23
-#define PMT_SERVER_SOCKET "/tmp/.listen.camd.socket"
24
 	struct sockaddr_un saddr;
25
 	saddr.sun_family = AF_UNIX;
26
-	strncpy(saddr.sun_path, PMT_SERVER_SOCKET, 107);
27
-	saddr.sun_path[107] = '\0';
28
+	strncpy(saddr.sun_path, pmt_server_socket, sizeof(saddr.sun_path)/sizeof(saddr.sun_path[0]));
29
 
30
 	int32_t rc, pfdcount, g, connfd, clilen;
31
 	int32_t ids[maxpfdsize], fdn[maxpfdsize], type[maxpfdsize];
32
@@ -4366,13 +4364,15 @@ static void *dvbapi_main_local(void *cli
33
 		signal_action.sa_flags = SA_RESTART;
34
 		sigaction(SIGRTMIN + 1, &signal_action, NULL);
35
 
36
+        /*
37
 		dir_fd = open(TMPDIR, O_RDONLY);
38
 		if(dir_fd >= 0)
39
 		{
40
 			fcntl(dir_fd, F_SETSIG, SIGRTMIN + 1);
41
 			fcntl(dir_fd, F_NOTIFY, DN_MODIFY | DN_CREATE | DN_DELETE | DN_MULTISHOT);
42
 			event_handler(SIGRTMIN + 1);
43
-		}
44
+		}*/
45
+        cs_log("Only PMT 4-6 supported on FreeBSD, sorry...");
46
 	}
47
 	else
48
 	{
(-)a/multimedia/oscam/files/patch-module-webif-lib.c (-18 lines)
Removed Link Here
1
--- module-webif-lib.c.orig	2015-06-30 13:06:41 UTC
2
+++ module-webif-lib.c
3
@@ -864,6 +864,7 @@ SSL_CTX *SSL_Webif_Init(void)
4
 	CRYPTO_set_dynlock_lock_callback(SSL_dyn_lock_function);
5
 	CRYPTO_set_dynlock_destroy_callback(SSL_dyn_destroy_function);
6
 
7
+#ifndef OPENSSL_NO_SSL3
8
 	if(cfg.http_force_sslv3)
9
 	{
10
 		ctx = SSL_CTX_new(SSLv3_server_method());
11
@@ -876,6 +877,7 @@ SSL_CTX *SSL_Webif_Init(void)
12
 		SSL_CTX_set_cipher_list(ctx, SSL_TXT_RC4);
13
 	}
14
 	else
15
+#endif
16
 		{ ctx = SSL_CTX_new(SSLv23_server_method()); }
17
 
18
 	char path[128];

Return to bug 244817