diff options
author | mi <mi@FreeBSD.org> | 2011-09-21 13:06:12 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2011-09-21 13:06:12 +0800 |
commit | 28363944b57f00a3307bbc3c1c6bdb6d5ad99d35 (patch) | |
tree | 740963f0ac692e77ff9e63cf672cda4314855a70 /net/minidlna | |
parent | 5fec3fb53cde6df72269f501206cc0268e2143d4 (diff) | |
download | freebsd-ports-gnome-28363944b57f00a3307bbc3c1c6bdb6d5ad99d35.tar.gz freebsd-ports-gnome-28363944b57f00a3307bbc3c1c6bdb6d5ad99d35.tar.zst freebsd-ports-gnome-28363944b57f00a3307bbc3c1c6bdb6d5ad99d35.zip |
Upgrade to the latest version from author: 1.0.22
Diffstat (limited to 'net/minidlna')
-rw-r--r-- | net/minidlna/Makefile | 11 | ||||
-rw-r--r-- | net/minidlna/distinfo | 4 | ||||
-rw-r--r-- | net/minidlna/files/BSDmakefile | 2 | ||||
-rw-r--r-- | net/minidlna/files/patch-2928850 | 639 | ||||
-rw-r--r-- | net/minidlna/files/patch-aa | 254 | ||||
-rw-r--r-- | net/minidlna/files/patch-conf | 13 | ||||
-rw-r--r-- | net/minidlna/files/patch-minidlna.c | 44 | ||||
-rw-r--r-- | net/minidlna/files/patch-upnphttp | 35 | ||||
-rw-r--r-- | net/minidlna/pkg-descr | 3 |
9 files changed, 306 insertions, 699 deletions
diff --git a/net/minidlna/Makefile b/net/minidlna/Makefile index 53bea078ca63..193c36e68945 100644 --- a/net/minidlna/Makefile +++ b/net/minidlna/Makefile @@ -6,10 +6,11 @@ # PORTNAME= minidlna -PORTVERSION= 2010.12.12 -PORTREVISION= 2 +PORTVERSION= 1.0.22 +PORTEPOCH= 1 CATEGORIES= net multimedia www -MASTER_SITES= http://aldan.algebra.com/~mi/ +MASTER_SITES= SF +DISTFILES= ${PORTNAME}_${PORTVERSION}_src.tar.gz MAINTAINER= mi@aldan.algebra.com COMMENT= Media-server compatible with "Digital Life Network Alliance" @@ -23,10 +24,8 @@ LIB_DEPENDS= sqlite3:${PORTSDIR}/databases/sqlite3 \ FLAC:${PORTSDIR}/audio/flac \ avformat:${PORTSDIR}/multimedia/ffmpeg -USE_XZ= yes MAKE_JOBS_SAFE= yes MAKEFILE= ${FILESDIR}/BSDmakefile -NO_WRKSUBDIR= yes MAKE_ENV+= FILESDIR="${FILESDIR}" INSTALL_DATA="${INSTALL_DATA}" EXTRACT_AFTER_ARGS=|${TAR} -xpf - --exclude getifaddr.c @@ -43,7 +42,7 @@ post-install: .include <bsd.port.pre.mk> -.if ${OSVERSION} < 801000 +.if ${OSVERSION} < 800500 EXTRA_PATCHES= ${FILESDIR}/scandir-patch .endif diff --git a/net/minidlna/distinfo b/net/minidlna/distinfo index 9483112396e7..442f8e6ace68 100644 --- a/net/minidlna/distinfo +++ b/net/minidlna/distinfo @@ -1,2 +1,2 @@ -SHA256 (minidlna-2010.12.12.tar.xz) = 3a2434bacb0f091376f452f2bfc322d61e2c375e476440e1b863e473a5e664e3 -SIZE (minidlna-2010.12.12.tar.xz) = 156524 +SHA256 (minidlna_1.0.22_src.tar.gz) = 688919b23d5891d77045cd772e373314a83f002f79c9e754bcb7e521f3ba4349 +SIZE (minidlna_1.0.22_src.tar.gz) = 212980 diff --git a/net/minidlna/files/BSDmakefile b/net/minidlna/files/BSDmakefile index 387110811263..45f13745ccf2 100644 --- a/net/minidlna/files/BSDmakefile +++ b/net/minidlna/files/BSDmakefile @@ -7,7 +7,7 @@ VERS!= uname -r CFLAGS+=-I${FILESDIR} -I${.CURDIR} -I${LOCALBASE}/include -I${LOCALBASE}/include/ffmpeg CFLAGS+=-I${LOCALBASE}/include/libavutil CFLAGS+=-DPREFIX='"${PREFIX}"' -DOS='"${OS}"' -DOSVERSION='"${VERS}"' -CFLAGS+=-Wformat +CFLAGS+=-Wformat -Wunused -Wall NO_WERROR= true diff --git a/net/minidlna/files/patch-2928850 b/net/minidlna/files/patch-2928850 deleted file mode 100644 index b6831fbde0a4..000000000000 --- a/net/minidlna/files/patch-2928850 +++ /dev/null @@ -1,639 +0,0 @@ -Based on patch by jayp from: - - http://sourceforge.net/tracker/?func=detail&aid=2989136&group_id=243163&atid=1121518 - -with some modifications... - ---- TODO 25 Feb 2009 21:16:51 -0000 1.5 -+++ TODO 9 Jan 2010 13:19:49 -0000 -@@ -7,3 +7,7 @@ - - Wishlist: - * Transcoding -+ -+Dominik: -+* send buffer size needs optimizations -+* inotify stuff ---- albumart.c 19 Nov 2009 03:22:35 -0000 1.24 -+++ albumart.c 9 Jan 2010 13:19:49 -0000 -@@ -21,6 +21,10 @@ - #include <unistd.h> - #include <dirent.h> - #include <sys/stat.h> -+#include <sys/param.h> -+#if defined(__APPLE__) || defined(BSD) -+#include <sys/limits.h> -+#endif - #include <libgen.h> - #include <setjmp.h> - #include <errno.h> -@@ -37,7 +41,11 @@ - int - art_cache_exists(const char * orig_path, char ** cache_file) - { -- asprintf(cache_file, "%s/art_cache%s", db_path, orig_path); -+ int ret=asprintf(cache_file, "%s/art_cache%s", db_path, orig_path); -+ if( ret == -1 ) { -+ DPRINTF(E_DEBUG, L_METADATA, "asprintf error :: error no. %d [%s]\n", errno, strerror(errno)); -+ return -1; -+ } - strcpy(strchr(*cache_file, '\0')-4, ".jpg"); - - return (!access(*cache_file, F_OK)); -@@ -130,7 +138,8 @@ - break; - } - -- dir = dirname(strdup(path)); -+ char *pathdup=strdup(path); -+ dir = dirname(pathdup); - dh = opendir(dir); - if( !dh ) - return; -@@ -143,7 +152,10 @@ - break; - case DT_LNK: - case DT_UNKNOWN: -- asprintf(&file, "%s/%s", dir, dp->d_name); -+ if(-1==asprintf(&file, "%s/%s", dir, dp->d_name)) { -+ DPRINTF(E_DEBUG, L_METADATA, "asprintf error :: error no. %d [%s]\n", errno, strerror(errno)); -+ return; -+ } - type = resolve_unknown_type(file, ALL_MEDIA); - free(file); - break; -@@ -158,7 +170,9 @@ - (album_art_name || strncmp(dp->d_name, match, ncmp) == 0) ) - { - DPRINTF(E_DEBUG, L_METADATA, "New file %s looks like cover art for %s\n", path, dp->d_name); -- asprintf(&file, "%s/%s", dir, dp->d_name); -+ if(-1==asprintf(&file, "%s/%s", dir, dp->d_name)) { -+ DPRINTF(E_DEBUG, L_METADATA, "asprintf error :: error no. %d [%s]\n", errno, strerror(errno)); -+ } - art_id = find_album_art(file, NULL, 0); - if( sql_exec(db, "UPDATE DETAILS set ALBUM_ART = %lld where PATH = '%q'", art_id, file) != SQLITE_OK ) - DPRINTF(E_WARN, L_METADATA, "Error setting %s as cover art for %s\n", match, dp->d_name); -@@ -167,7 +181,7 @@ - } - closedir(dh); - -- free(dir); -+ free(pathdup); - free(match); - } - ---- image_utils.c 6 Nov 2009 19:03:55 -0000 1.10 -+++ image_utils.c 9 Jan 2010 13:19:49 -0000 -@@ -33,7 +33,11 @@ - #include <sys/types.h> - #include <setjmp.h> - #include <jpeglib.h> -+#ifdef __linux__ - #include <endian.h> -+#else -+#include <machine/endian.h> -+#endif - - #include "upnpreplyparse.h" - #include "image_utils.h" ---- metadata.c 10 Nov 2009 20:11:50 -0000 1.52 -+++ metadata.c 9 Jan 2010 13:19:49 -0000 -@@ -25,6 +25,7 @@ - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> -+#include <libgen.h> - - #include <libexif/exif-loader.h> - #include "image_utils.h" -@@ -616,7 +617,7 @@ - { - av_close_input_file(ctx); - if( !is_audio(path) ) -- DPRINTF(E_DEBUG, L_METADATA, "File %s does not contain a video stream.\n", basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "File %s does not contain a video stream.\n", basename((char*)path)); - return 0; - } - if( audio_stream >= 0 ) -@@ -709,7 +710,7 @@ - } - if( video_stream >= 0 ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Container: '%s' [%s]\n", ctx->iformat->name, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "Container: '%s' [%s]\n", ctx->iformat->name, basename((char*)path)); - asprintf(&m.resolution, "%dx%d", ctx->streams[video_stream]->codec->width, ctx->streams[video_stream]->codec->height); - if( ctx->bit_rate > 8 ) - asprintf(&m.bitrate, "%u", ctx->bit_rate / 8); -@@ -738,7 +739,7 @@ - case CODEC_ID_MPEG2VIDEO: - if( strcmp(ctx->iformat->name, "mpegts") == 0 ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s MPEG2 TS\n", video_stream, basename(path), m.resolution); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s MPEG2 TS\n", video_stream, basename((char*)path), m.resolution); - char res; - tsinfo_t * ts = ctx->priv_data; - if( ts->packet_size == 192 ) -@@ -759,7 +760,7 @@ - } - else if( strcmp(ctx->iformat->name, "mpeg") == 0 ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s MPEG2 PS\n", video_stream, basename(path), m.resolution); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s MPEG2 PS\n", video_stream, basename((char*)path), m.resolution); - char region[5]; - if( (ctx->streams[video_stream]->codec->height == 576) || - (ctx->streams[video_stream]->codec->height == 288) ) -@@ -771,7 +772,7 @@ - } - else - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s [UNKNOWN CONTAINER] is %s MPEG2\n", video_stream, basename(path), m.resolution); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s [UNKNOWN CONTAINER] is %s MPEG2\n", video_stream, basename((char*)path), m.resolution); - } - break; - case CODEC_ID_H264: -@@ -811,7 +812,7 @@ - ts_timestamp==NONE?"_ISO" : ts_timestamp==VALID?"_T":"", dlna_no_conv); - break; - default: -- DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for TS/AVC/%cD file %s\n", res, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for TS/AVC/%cD file %s\n", res, basename((char*)path)); - break; - } - if( m.dlna_pn && (ts_timestamp != NONE) ) -@@ -842,27 +843,27 @@ - asprintf(&m.dlna_pn, "AVC_MP4_MP_SD_AAC_MULT5;%s", dlna_no_conv); - break; - default: -- DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for MP4/AVC/SD file %s\n", basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for MP4/AVC/SD file %s\n", basename((char*)path)); - break; - } - } - } -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is h.264\n", video_stream, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is h.264\n", video_stream, basename((char*)path)); - break; - case CODEC_ID_MPEG4: - if( ctx->streams[video_stream]->codec->codec_tag == get_fourcc("XVID") ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s XViD\n", video_stream, basename(path), m.resolution); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s XViD\n", video_stream, basename((char*)path), m.resolution); - asprintf(&m.artist, "DiVX"); - } - else if( ctx->streams[video_stream]->codec->codec_tag == get_fourcc("DX50") ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s DiVX5\n", video_stream, basename(path), m.resolution); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s DiVX5\n", video_stream, basename((char*)path), m.resolution); - asprintf(&m.artist, "DiVX"); - } - else if( ctx->streams[video_stream]->codec->codec_tag == get_fourcc("DIVX") ) - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is DiVX\n", video_stream, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is DiVX\n", video_stream, basename((char*)path)); - asprintf(&m.artist, "DiVX"); - } - else if( ends_with(path, ".3gp") && (strcmp(ctx->iformat->name, "mov,mp4,m4a,3gp,3g2,mj2") == 0) ) -@@ -878,18 +879,18 @@ - break; - default: - DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for MPEG4-P2 3GP/0x%X file %s\n", -- ctx->streams[audio_stream]->codec->codec_id, basename(path)); -+ ctx->streams[audio_stream]->codec->codec_id, basename((char*)path)); - break; - } - } - else - { -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is MPEG4 [%X]\n", video_stream, basename(path), ctx->streams[video_stream]->codec->codec_tag); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is MPEG4 [%X]\n", video_stream, basename((char*)path), ctx->streams[video_stream]->codec->codec_tag); - } - break; - case CODEC_ID_WMV3: - case CODEC_ID_VC1: -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is VC1\n", video_stream, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is VC1\n", video_stream, basename((char*)path)); - char profile[5]; profile[0] = '\0'; - asprintf(&m.mime, "video/x-ms-wmv"); - if( (ctx->streams[video_stream]->codec->width <= 352) && -@@ -905,7 +906,7 @@ - asprintf(&m.dlna_pn, "WMVSPML_BASE;%s", dlna_no_conv); - break; - default: -- DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVSPML/0x%X file %s\n", audio_profile, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVSPML/0x%X file %s\n", audio_profile, basename((char*)path)); - break; - } - } -@@ -925,7 +926,7 @@ - asprintf(&m.dlna_pn, "WMVMED_BASE;%s", dlna_no_conv); - break; - default: -- DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVMED/0x%X file %s\n", audio_profile, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVMED/0x%X file %s\n", audio_profile, basename((char*)path)); - break; - } - } -@@ -942,7 +943,7 @@ - asprintf(&m.dlna_pn, "WMVHIGH_FULL;%s", dlna_no_conv); - break; - default: -- DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVHIGH/0x%X file %s\n", audio_profile, basename(path)); -+ DPRINTF(E_DEBUG, L_METADATA, "No DLNA profile found for WMVHIGH/0x%X file %s\n", audio_profile, basename((char*)path)); - break; - } - } -@@ -950,7 +951,7 @@ - case CODEC_ID_MSMPEG4V3: - asprintf(&m.mime, "video/x-msvideo"); - default: -- DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s [type %d]\n", video_stream, basename(path), m.resolution, ctx->streams[video_stream]->codec->codec_id); -+ DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s is %s [type %d]\n", video_stream, basename((char*)path), m.resolution, ctx->streams[video_stream]->codec->codec_id); - break; - } - } ---- minidlna.c 19 Nov 2009 03:22:35 -0000 1.55 -+++ minidlna.c 9 Jan 2010 13:19:49 -0000 -@@ -13,6 +13,7 @@ - #include <string.h> - #include <stdio.h> - #include <ctype.h> -+#include <sys/stat.h> - #include <sys/types.h> - #include <sys/socket.h> - #include <netinet/in.h> -@@ -652,7 +653,7 @@ - } - - /* set signal handler */ -- signal(SIGCLD, SIG_IGN); -+ signal(SIGCHLD, SIG_IGN); - memset(&sa, 0, sizeof(struct sigaction)); - sa.sa_handler = sigterm; - if (sigaction(SIGTERM, &sa, NULL)) -@@ -725,7 +726,8 @@ - { - updateID = sql_get_int_field(db, "SELECT UPDATE_ID from SETTINGS"); - } -- if( sql_get_int_field(db, "pragma user_version") != DB_VERSION ) -+ int user_version=sql_get_int_field(db, "pragma user_version"); -+ if( user_version != DB_VERSION ) - { - if( new_db ) - { -@@ -733,7 +735,7 @@ - } - else - { -- DPRINTF(E_WARN, L_GENERAL, "Database version mismatch; need to recreate...\n"); -+ DPRINTF(E_WARN, L_GENERAL, "Database version mismatch: user_version is %d, DB_VERSION is %d; need to recreate...\n", user_version, DB_VERSION); - } - sqlite3_close(db); - char *cmd; ---- minidlna.conf 19 Nov 2009 03:22:35 -0000 1.14 -+++ minidlna.conf 9 Jan 2010 13:19:49 -0000 -@@ -11,13 +11,14 @@ - # + "A" for audio (eg. media_dir=A,/home/jmaggard/Music) - # + "V" for video (eg. media_dir=V,/home/jmaggard/Videos) - # + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures) --media_dir=/opt -+media_dir=/Volumes/Data/dominik/Filme/minidlna -+#media_dir=/Volumes/Data/dominik/Unfug - - # set this if you want to customize the name that shows up on your clients --#friendly_name=My DLNA Server -+friendly_name=sesam minidlna - - # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache --#db_dir=/var/cache/minidlna -+db_dir=/var/db/minidlna - - # this should be a list of file names to check for when searching for album art - # note: names should be delimited with a forward slash ("/") -@@ -25,7 +26,7 @@ - - # set this to no to disable inotify monitoring to automatically discover new files - # note: the default is yes --inotify=yes -+inotify=no - - # set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO - enable_tivo=no ---- scanner.c 17 Nov 2009 19:13:00 -0000 1.53 -+++ scanner.c 9 Jan 2010 13:19:49 -0000 -@@ -25,6 +25,10 @@ - #include <sys/stat.h> - #include <sys/time.h> - #include <sys/resource.h> -+#include <sys/param.h> -+#if defined(__APPLE__) || defined(BSD) -+#include <sys/limits.h> -+#endif - - #include <sqlite3.h> - -@@ -399,8 +403,8 @@ - - if( refID ) - { -- dir = strdup(path); -- dir = dirname(dir); -+ char *pathdup = strdup(path); -+ dir = dirname(pathdup); - asprintf(&id_buf, "%s%s$%X", base, parentID, objectID); - asprintf(&parent_buf, "%s%s", base, parentID); - while( !found ) -@@ -436,7 +440,7 @@ - free(refID); - free(parent_buf); - free(id_buf); -- free(dir); -+ free(pathdup); - return 1; - } - -@@ -779,13 +783,15 @@ - if( flag ) - fclose(flag); - #endif -- freopen("/dev/null", "a", stderr); -+ // TAG_CHANGED_UPSTREAM_CODE_SEMANTICALLY -+ //int saved_stderr=dup(2); -+ //freopen("/dev/null", "a", stderr); - while( media_path ) - { - ScanDirectory(media_path->path, NULL, media_path->type); - media_path = media_path->next; - } -- freopen("/proc/self/fd/2", "a", stderr); -+ //dup2(saved_stderr, 2); - #ifdef READYNAS - if( access("/ramfs/.rescan_done", F_OK) == 0 ) - system("/bin/sh /ramfs/.rescan_done"); ---- upnpglobalvars.c 19 Nov 2009 03:22:35 -0000 1.14 -+++ upnpglobalvars.c 9 Jan 2010 13:19:49 -0000 -@@ -12,7 +12,11 @@ - */ - #include <sys/types.h> - #include <netinet/in.h> -+#ifdef __linux__ - #include <linux/limits.h> -+#else -+#include <limits.h> -+#endif - - #include "config.h" - #include "upnpglobalvars.h" -@@ -22,6 +26,9 @@ - - /* startup time */ - time_t startup_time = 0; -+#ifdef __APPLE__ -+unsigned long long startup_time_ns = 0; -+#endif - - struct runtime_vars_s runtime_vars; - int runtime_flags = INOTIFY_MASK; ---- upnpglobalvars.h 19 Nov 2009 03:22:35 -0000 1.44 -+++ upnpglobalvars.h 9 Jan 2010 13:19:49 -0000 -@@ -14,7 +14,13 @@ - #define __UPNPGLOBALVARS_H__ - - #include <time.h> -+#ifdef HAVE_LINUX_TYPES_H - #include <linux/types.h> // Defines __u32 -+#else -+#include <sys/types.h> -+typedef u_int32_t __u32; -+typedef int32_t __s32; -+#endif - - #include "minidlnatypes.h" - #include "config.h" -@@ -79,6 +85,7 @@ - - /* statup time */ - extern time_t startup_time; -+extern unsigned long long startup_time_ns; - - extern struct runtime_vars_s runtime_vars; - /* runtime boolean flags */ ---- upnpsoap.c 17 Dec 2009 18:55:44 -0000 1.64 -+++ upnpsoap.c 9 Jan 2010 13:19:50 -0000 -@@ -1136,14 +1136,6 @@ - newSearchCriteria = modifyString(strdup(SearchCriteria), "@id", "OBJECT_ID", 0); - SearchCriteria = newSearchCriteria; - } -- if( strstr(SearchCriteria, "res is ") ) -- { -- if( newSearchCriteria ) -- newSearchCriteria = modifyString(newSearchCriteria, "res is ", "MIME is ", 0); -- else -- newSearchCriteria = modifyString(strdup(SearchCriteria), "res is ", "MIME is ", 0); -- SearchCriteria = newSearchCriteria; -- } - #if 0 // Does 360 need this? - if( strstr(SearchCriteria, "&") ) - { ---- utils.c 25 Nov 2009 00:03:09 -0000 1.19 -+++ utils.c 9 Jan 2010 13:19:50 -0000 -@@ -19,7 +19,11 @@ - #include <ctype.h> - #include <string.h> - #include <stdlib.h> -+#ifdef __linux - #include <linux/limits.h> -+#else -+#include <limits.h> -+#endif - #include <sys/stat.h> - #include <unistd.h> - #include <sys/types.h> -@@ -187,7 +191,7 @@ - if (mkdir(path, mode) < 0) { - /* If we failed for any other reason than the directory - * already exists, output a diagnostic and return -1.*/ -- if (errno != EEXIST -+ if ( (errno != EEXIST && errno != EISDIR) - || (stat(path, &st) < 0 || !S_ISDIR(st.st_mode))) { - break; - } -@@ -200,7 +204,7 @@ - - } while (1); - -- DPRINTF(E_WARN, L_GENERAL, "make_dir: cannot create directory '%s'\n", path); -+ DPRINTF(E_WARN, L_GENERAL, "make_dir: cannot create directory '%s'. errno=%d, error=%s\n", path, errno, strerror(errno)); - return -1; - } - ---- uuid.c 28 Oct 2009 19:26:38 -0000 1.4 -+++ uuid.c 9 Jan 2010 13:19:50 -0000 -@@ -11,34 +11,86 @@ - */ - #include <stdio.h> - #include <stdlib.h> --#include <time.h> - #include <fcntl.h> - #include <unistd.h> - #include <sys/syscall.h> - #include <string.h> --#include <net/if.h> - #include <sys/ioctl.h> --#include <sys/time.h> -+#include <sys/param.h> - #include <errno.h> -+#if defined(__APPLE__) || defined(BSD) -+#include <sys/socket.h> -+#endif -+ -+#include <net/if.h> -+ -+#if defined __linux__ -+#include <time.h> -+#elif defined(__APPLE__) -+#include <sys/time.h> -+#include <mach/mach_time.h> -+#elif defined BSD -+#include <sys/time.h> -+#include <sys/timespec.h> -+#endif - - #include "getifaddr.h" - #include "log.h" - - #define ETH_ALEN 6 -+#ifdef NSEC_PER_SEC -+#undef NSEC_PER_SEC - #define NSEC_PER_SEC 1000000000L -+#endif - #define NSEC_PER_MSEC 1000000L - - static u_int32_t clock_seq; - static const u_int32_t clock_seq_max = 0x3fff; /* 14 bits */ - static int clock_seq_initialized; - --unsigned long long --monotonic_us(void) --{ -- struct timespec ts; -- -- syscall(__NR_clock_gettime, CLOCK_MONOTONIC, &ts); -- return ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000; -+u_int64_t clocktime_ns() { -+#ifdef __APPLE__ -+ u_int64_t tm; -+ -+ static mach_timebase_info_data_t timebase_info= {0,0}; -+ if (timebase_info.denom == 0) (void) mach_timebase_info(&timebase_info); -+ -+ static u_int64_t startup_time_usec=0; -+ static u_int64_t startup_time_nsec=0; -+ if (startup_time_usec==0) { -+ struct timeval tp; -+ gettimeofday(&tp, 0); -+ startup_time_usec = tp.tv_sec * 1000000ULL + tp.tv_usec; -+ tm=mach_absolute_time(); -+ startup_time_nsec = (tm * timebase_info.numer) / timebase_info.denom; -+ } -+ tm=mach_absolute_time(); -+ return (tm * timebase_info.numer) / timebase_info.denom - startup_time_nsec + 1000ULL * startup_time_usec; -+#elif defined(BSD) || defined(__linux__) -+ struct timespec ts; -+ clock_gettime(CLOCK_REALTIME, &ts); // Works on Linux -+ return ts.tv_sec*1000000000ULL+ts.tv_nsec; -+#else -+#error unsupported OS for clocktime_ns, please port or bug report. -+#endif -+} -+ -+u_int64_t monotonic_ns() { -+#ifdef __APPLE__ -+ u_int64_t tm; -+ -+ static mach_timebase_info_data_t timebase_info= {0,0}; -+ if (timebase_info.denom == 0) (void) mach_timebase_info(&timebase_info); -+ -+ tm=mach_absolute_time(); -+ return (tm * timebase_info.numer) / timebase_info.denom; -+#elif defined(BSD) || defined(__linux__) -+ struct timespec ts; -+ clock_gettime(CLOCK_MONOTONIC, &ts); -+ return ts.tv_sec*1000000000ULL+ts.tv_nsec; -+#else -+#error unsupported OS for clocktime_ns, please port or bug report. -+#endif - } - - int -@@ -79,7 +131,7 @@ - /* Paranoia. /dev/urandom may be missing. - * rand() is guaranteed to generate at least [0, 2^15) range, - * but lowest bits in some libc are not so "random". */ -- srand(monotonic_us()); -+ srand(monotonic_ns()); - pid = getpid(); - while(1) - { -@@ -110,7 +162,6 @@ - static unsigned int clock_seq_started; - static char last_node[6] = { 0, 0, 0, 0, 0, 0 }; - -- struct timespec ts; - u_int64_t time_all; - int inc_clock_seq = 0; - -@@ -148,10 +199,9 @@ - * nanosecond intervals since 00:00:00.00, 15 October 1582 (the date of - * Gregorian reform to the Christian calendar). - */ -- syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); -- time_all = ((u_int64_t)ts.tv_sec) * (NSEC_PER_SEC / 100); -- time_all += ts.tv_nsec / 100; - -+ // time in (100ns) since 1970 -+ time_all = clocktime_ns()/100; - /* add offset from Gregorian Calendar to Jan 1 1970 */ - time_all += 12219292800000ULL * (NSEC_PER_MSEC / 100); - time_all &= 0x0fffffffffffffffULL; /* limit to 60 bits */ ---- tagutils/misc.c 25 Feb 2009 21:16:51 -0000 1.1 -+++ tagutils/misc.c 9 Jan 2010 13:19:50 -0000 -@@ -22,7 +22,11 @@ - - #include <stdio.h> - #include <string.h> -+#ifdef __linux__ - #include <endian.h> -+#else -+#include <machine/endian.h> -+#endif - - #include "misc.h" - ---- tagutils/tagutils-asf.h 25 Feb 2009 21:16:51 -0000 1.1 -+++ tagutils/tagutils-asf.h 9 Jan 2010 13:19:50 -0000 -@@ -24,7 +24,11 @@ - - #define __PACKED__ __attribute__((packed)) - -+#ifdef __linux__ - #include <endian.h> -+#else -+#include <machine/endian.h> -+#endif - - typedef struct _GUID { - __u32 l; ---- tagutils/tagutils-mp3.c 27 May 2009 23:09:11 -0000 1.5 -+++ tagutils/tagutils-mp3.c 9 Jan 2010 13:19:50 -0000 -@@ -25,6 +25,11 @@ - * This file is derived from mt-daap project. - */ - -+#ifdef __APPLE__ -+// detue: recheck this on osx: on linux, it makes compilation break oO -+#include <libgen.h> -+#endif -+ - static int - _get_mp3tags(char *file, struct song_metadata *psong) - { diff --git a/net/minidlna/files/patch-aa b/net/minidlna/files/patch-aa index c3c8157567fe..e5eb0a9f5c80 100644 --- a/net/minidlna/files/patch-aa +++ b/net/minidlna/files/patch-aa @@ -9,3 +9,257 @@ +#include "config.h" #ifdef HAVE_ICONV_H #include <iconv.h> +--- image_utils.c 2011-05-03 18:07:47.000000000 -0400 ++++ image_utils.c 2011-08-24 01:11:13.000000000 -0400 +@@ -34,5 +34,5 @@ + #include <setjmp.h> + #include <jpeglib.h> +-#include <endian.h> ++#include <sys/endian.h> + + #include "upnpreplyparse.h" +--- albumart.c 2011-05-03 18:07:47.000000000 -0400 ++++ albumart.c 2011-08-24 01:10:29.000000000 -0400 +@@ -25,4 +25,5 @@ + #include <setjmp.h> + #include <errno.h> ++#include <limits.h> + + #include <jpeglib.h> +--- scanner.c 2011-05-03 18:07:47.000000000 -0400 ++++ scanner.c 2011-08-24 01:31:10.000000000 -0400 +@@ -24,4 +24,5 @@ + #include <libgen.h> + #include <inttypes.h> ++#include <limits.h> + #include <sys/stat.h> + #include <sys/time.h> +@@ -138,5 +139,6 @@ + static sqlite_int64 last_all_objectID = 0; + +- asprintf(&sql, "SELECT DATE, CREATOR from DETAILS where ID = %"PRId64, detailID); ++ asprintf(&sql, "SELECT DATE, CREATOR from DETAILS where ID = %"PRId64, ++ (int64_t)detailID); + ret = sql_get_table(db, sql, &result, &row, &cols); + free(sql); +@@ -164,5 +166,6 @@ + { + insert_container(date_taken, IMAGE_DATE_ID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID); +- sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64, parentID); ++ sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64, ++ (int64_t)parentID); + last_date.objectID = objectID; + strcpy(last_date.name, date_taken); +@@ -187,5 +190,6 @@ + { + insert_container(camera, IMAGE_CAMERA_ID, NULL, "storageFolder", NULL, NULL, NULL, &objectID, &parentID); +- sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64, parentID); ++ sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64, ++ (int64_t)parentID); + strncpy(last_cam.name, camera, 255); + last_camdate.name[0] = '\0'; +@@ -199,5 +203,6 @@ + { + insert_container(date_taken, last_cam.parentID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID); +- sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID, parentID); ++ sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID, ++ (int64_t)parentID); + last_camdate.objectID = objectID; + strcpy(last_camdate.name, date_taken); +@@ -222,5 +227,6 @@ + else if( strstr(class, "audioItem") ) + { +- asprintf(&sql, "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %"PRId64, detailID); ++ asprintf(&sql, "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %"PRId64, ++ (int64_t)detailID); + ret = sql_get_table(db, sql, &result, &row, &cols); + free(sql); +@@ -269,10 +275,12 @@ + { + insert_container(artist, MUSIC_ARTIST_ID, NULL, "person.musicArtist", NULL, genre, NULL, &objectID, &parentID); +- sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64, parentID); ++ sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64, ++ (int64_t)parentID); + strcpy(last_artist.name, artist); + last_artistAlbum.name[0] = '\0'; + /* Add this file to the "- All Albums -" container as well */ + insert_container(_("- All Albums -"), last_artist.parentID, NULL, "album", artist, genre, NULL, &objectID, &parentID); +- sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID, parentID); ++ sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID, ++ (int64_t)parentID); + last_artistAlbumAll.objectID = objectID; + } +@@ -290,5 +298,6 @@ + insert_container(album?album:_("Unknown Album"), last_artist.parentID, album?last_album.parentID:NULL, + "album.musicAlbum", artist, genre, album_art, &objectID, &parentID); +- sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID, parentID); ++ sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID, ++ (int64_t)parentID); + last_artistAlbum.objectID = objectID; + strcpy(last_artistAlbum.name, album?album:_("Unknown Album")); +@@ -311,10 +320,12 @@ + { + insert_container(genre, MUSIC_GENRE_ID, NULL, "genre.musicGenre", NULL, NULL, NULL, &objectID, &parentID); +- sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64, parentID); ++ sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64, ++ (int64_t)parentID); + strcpy(last_genre.name, genre); + last_genreArtist.name[0] = '\0'; + /* Add this file to the "- All Artists -" container as well */ + insert_container(_("- All Artists -"), last_genre.parentID, NULL, "person", NULL, genre, NULL, &objectID, &parentID); +- sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID, parentID); ++ sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID, ++ (int64_t)parentID); + last_genreArtistAll.objectID = objectID; + } +@@ -331,5 +342,6 @@ + insert_container(artist?artist:_("Unknown Artist"), last_genre.parentID, artist?last_artist.parentID:NULL, + "person.musicArtist", NULL, genre, NULL, &objectID, &parentID); +- sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID, parentID); ++ sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID, ++ (int64_t)parentID); + last_genreArtist.objectID = objectID; + strcpy(last_genreArtist.name, artist?artist:_("Unknown Artist")); +--- upnpdescgen.c 2011-05-03 18:07:47.000000000 -0400 ++++ upnpdescgen.c 2011-08-24 01:32:48.000000000 -0400 +@@ -585,5 +585,5 @@ + const struct XMLElt * p) + { +- u_int16_t i, j, k; ++ uint16_t i, j, k; + int top; + const char * eltname, *s; +--- upnpglobalvars.c 2011-05-26 19:10:54.000000000 -0400 ++++ upnpglobalvars.c 2011-08-24 01:33:57.000000000 -0400 +@@ -49,5 +49,5 @@ + #include <sys/types.h> + #include <netinet/in.h> +-#include <linux/limits.h> ++#include <limits.h> + + #include "config.h" +--- tagutils/misc.c 2010-11-11 18:48:14.000000000 -0500 ++++ tagutils/misc.c 2011-08-24 01:36:58.000000000 -0400 +@@ -22,5 +22,5 @@ + #include <stdio.h> + #include <string.h> +-#include <endian.h> ++#include <sys/endian.h> + + #include "misc.h" +--- uuid.c 2011-05-26 19:04:33.000000000 -0400 ++++ uuid.c 2011-08-24 01:56:11.000000000 -0400 +@@ -31,4 +31,5 @@ + #include <sys/syscall.h> + #include <string.h> ++#include <sys/socket.h> + #include <net/if.h> + #include <sys/ioctl.h> +@@ -47,13 +48,4 @@ + static int clock_seq_initialized; + +-unsigned long long +-monotonic_us(void) +-{ +- struct timespec ts; +- +- syscall(__NR_clock_gettime, CLOCK_MONOTONIC, &ts); +- return ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000; +-} +- + int + read_bootid_node(unsigned char *buf, size_t size) +@@ -82,26 +74,13 @@ + read_random_bytes(unsigned char *buf, size_t size) + { +- int i; +- pid_t pid; ++ long r; ++ srandomdev(); + +- i = open("/dev/urandom", O_RDONLY); +- if(i >= 0) +- { +- read(i, buf, size); +- close(i); +- } +- /* Paranoia. /dev/urandom may be missing. +- * rand() is guaranteed to generate at least [0, 2^15) range, +- * but lowest bits in some libc are not so "random". */ +- srand(monotonic_us()); +- pid = getpid(); +- while(1) +- { +- for(i = 0; i < size; i++) +- buf[i] ^= rand() >> 5; +- if(pid == 0) +- break; +- srand(pid); +- pid = 0; ++ while (size > 0) { ++ r = random(); ++ memcpy(buf, &r, ++ size > sizeof(r) ? sizeof(r) : size); ++ buf += sizeof(r); ++ size -= sizeof(r); + } + } +@@ -163,5 +142,5 @@ + * Gregorian reform to the Christian calendar). + */ +- syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); ++ clock_gettime(CLOCK_REALTIME, &ts); + time_all = ((u_int64_t)ts.tv_sec) * (NSEC_PER_SEC / 100); + time_all += ts.tv_nsec / 100; +--- tagutils/tagutils-asf.h 2010-11-11 18:48:14.000000000 -0500 ++++ tagutils/tagutils-asf.h 2011-08-24 01:57:26.000000000 -0400 +@@ -24,5 +24,5 @@ + #define __PACKED__ __attribute__((packed)) + +-#include <endian.h> ++#include <sys/endian.h> + + typedef struct _GUID { +--- utils.c 2011-07-18 14:13:25.000000000 -0400 ++++ utils.c 2011-09-21 00:58:47.000000000 -0400 +@@ -20,5 +20,5 @@ + #include <string.h> + #include <stdlib.h> +-#include <linux/limits.h> ++#include <limits.h> + #include <sys/stat.h> + #include <unistd.h> +@@ -32,5 +32,5 @@ + #include "log.h" + +-inline int ++int + strcatf(struct string_s *str, const char *fmt, ...) + { +@@ -207,11 +207,15 @@ + } + +- if (mkdir(path, mode) < 0) { ++ if (!(path[0] == '/' && s == path + 1) /* skip "/" */ ++ && mkdir(path, mode) < 0) { ++ int e = errno; + /* If we failed for any other reason than the directory + * already exists, output a diagnostic and return -1.*/ + if (errno != EEXIST || (stat(path, &st) < 0 || !S_ISDIR(st.st_mode))) { +- DPRINTF(E_WARN, L_GENERAL, "make_dir: cannot create directory '%s'\n", path); + if (c) + *s = c; ++ DPRINTF(E_WARN, L_GENERAL, "make_dir: cannot " ++ "create directory '%.*s' (to create %s): " ++ "%s\n", s - path, path, path, strerror(e)); + return -1; + } +--- metadata.c 2011-07-18 18:18:10.000000000 -0400 ++++ metadata.c 2011-08-24 02:01:32.000000000 -0400 +@@ -21,5 +21,5 @@ + #include <stdlib.h> + #include <sys/stat.h> +- ++#include <libgen.h> + #include <unistd.h> + #include <sys/types.h> diff --git a/net/minidlna/files/patch-conf b/net/minidlna/files/patch-conf new file mode 100644 index 000000000000..ede7f85f696e --- /dev/null +++ b/net/minidlna/files/patch-conf @@ -0,0 +1,13 @@ +--- minidlna.conf 2011-07-22 19:03:38.000000000 -0400 ++++ minidlna.conf 2011-09-21 01:02:25.000000000 -0400 +@@ -18,8 +18,8 @@ + + # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache +-#db_dir=/var/cache/minidlna ++db_dir=/var/db/minidlna + + # set this if you would like to specify the directory where you want MiniDLNA to store its log file +-#log_dir=/var/log ++log_dir=/var/db/minidlna + + # this should be a list of file names to check for when searching for album art diff --git a/net/minidlna/files/patch-minidlna.c b/net/minidlna/files/patch-minidlna.c index 8e5a64e32740..ee59b9346fd7 100644 --- a/net/minidlna/files/patch-minidlna.c +++ b/net/minidlna/files/patch-minidlna.c @@ -1,6 +1,12 @@ ---- minidlna.c 2010-12-14 00:35:56.000000000 -0500 -+++ minidlna.c 2010-12-14 00:38:02.000000000 -0500 -@@ -67,4 +67,8 @@ +--- minidlna.c 2011-07-18 18:18:11.000000000 -0400 ++++ minidlna.c 2011-08-24 01:25:26.000000000 -0400 +@@ -53,4 +53,5 @@ + #include <ctype.h> + #include <sys/types.h> ++#include <sys/stat.h> + #include <sys/socket.h> + #include <netinet/in.h> +@@ -66,4 +67,8 @@ #include <pwd.h> +#include <err.h> @@ -9,20 +15,20 @@ + #include "config.h" -@@ -282,5 +286,5 @@ +@@ -345,5 +350,5 @@ /*const char * logfilename = 0;*/ const char * presurl = 0; - const char * optionsfile = "/etc/minidlna.conf"; + const char * optionsfile = PREFIX "/etc/minidlna.conf"; char mac_str[13]; char * string, * word; -@@ -289,4 +293,5 @@ - char real_path[PATH_MAX]; - char ext_ip_addr[INET_ADDRSTRLEN] = {'\0'}; -+ uid_t uid = (uid_t)-1; +@@ -353,4 +358,5 @@ + char ip_addr[INET_ADDRSTRLEN + 3] = {'\0'}; ++ uid_t uid = (uid_t)-1; /* first check if "-f" option is used */ -@@ -617,4 +622,21 @@ + for(i=2; i<argc; i++) +@@ -741,4 +747,21 @@ exit(0); break; + case 'u': @@ -44,13 +50,25 @@ + break; default: fprintf(stderr, "Unknown option: %s\n", argv[i]); -@@ -644,4 +666,5 @@ +@@ -768,4 +791,5 @@ "\t\t[-s serial] [-m model_number] \n" "\t\t[-t notify_interval] [-P pid_filename]\n" + "\t\t[-u uid_to_run_as]\n" "\t\t[-w url] [-R] [-V] [-h]\n" "\nNotes:\n\tNotify interval is in seconds. Default is 895 seconds.\n" -@@ -725,4 +748,7 @@ +@@ -831,5 +855,10 @@ + + /* set signal handler */ +- signal(SIGCLD, SIG_IGN); ++ memset(&sa, 0, sizeof(struct sigaction)); ++ sa.sa_handler = SIG_IGN; ++ sa.sa_flags = SA_NOCLDSTOP|SA_NOCLDWAIT; ++#ifndef SIGCHLD ++# define SIGCHLD SIGCLD ++#endif + memset(&sa, 0, sizeof(struct sigaction)); + sa.sa_handler = sigterm; +@@ -849,4 +878,7 @@ writepidfile(pidfilename, pid); + if (uid != (uid_t)-1 && setuid(uid) == -1) @@ -58,13 +76,13 @@ + return 0; } -@@ -841,4 +867,5 @@ +@@ -966,4 +998,5 @@ #endif } +#if defined(__linux__) if( sqlite3_threadsafe() && sqlite3_libversion_number() >= 3005001 && GETFLAG(INOTIFY_MASK) && pthread_create(&inotify_thread, NULL, start_inotify, NULL) ) -@@ -846,4 +873,5 @@ +@@ -971,4 +1004,5 @@ DPRINTF(E_FATAL, L_GENERAL, "ERROR: pthread_create() failed for start_inotify.\n"); } +#endif diff --git a/net/minidlna/files/patch-upnphttp b/net/minidlna/files/patch-upnphttp index 2827a4423af1..afdc2bdb2ade 100644 --- a/net/minidlna/files/patch-upnphttp +++ b/net/minidlna/files/patch-upnphttp @@ -58,38 +58,3 @@ +#endif void -@@ -1287,5 +1314,5 @@ - "contentFeatures.dlna.org: DLNA.ORG_PN=JPEG_TN\r\n" - "Server: " MINIDLNA_SERVER_STRING "\r\n", -- size, date); -+ (intmax_t)size, date); - - if( h->reqflags & FLAG_XFERBACKGROUND ) -@@ -1355,5 +1382,5 @@ - "EXT:\r\n" - "Server: " MINIDLNA_SERVER_STRING "\r\n\r\n", -- size, date); -+ (intmax_t)size, date); - - if( (send_data(h, header, ret, MSG_MORE) == 0) && (h->req_command != EHead) && (sendfh > 0) ) -@@ -1813,5 +1840,5 @@ - sprintf(hdr_buf, "Content-Length: %jd\r\n" - "Content-Range: bytes %jd-%jd/%jd\r\n", -- total, h->req_RangeStart, h->req_RangeEnd, size); -+ (intmax_t)total, (intmax_t)h->req_RangeStart, (intmax_t)h->req_RangeEnd, (intmax_t)size); - } - else -@@ -1821,5 +1848,5 @@ - sprintf(hdr_buf, "Content-Length: %jd\r\n" - "Content-Range: bytes %jd-%jd/%jd\r\n", -- total, h->req_RangeStart, size-1, size); -+ (intmax_t)total, (intmax_t)h->req_RangeStart, (intmax_t)(size-1), (intmax_t)size); - } - } -@@ -1828,5 +1855,5 @@ - h->req_RangeEnd = size; - total = size; -- sprintf(hdr_buf, "Content-Length: %jd\r\n", total); -+ sprintf(hdr_buf, "Content-Length: %jd\r\n", (intmax_t)total); - } - strcat(header, hdr_buf); diff --git a/net/minidlna/pkg-descr b/net/minidlna/pkg-descr index b0288169afc1..9d1f6aa44966 100644 --- a/net/minidlna/pkg-descr +++ b/net/minidlna/pkg-descr @@ -4,7 +4,4 @@ fully compliant with DLNA/UPnP-AV clients. The media files are listed in an SQLite database allowing prompt restarts. -Only Linux BINARY releases are available from the author(s) at this -time, so this port builds from a dated snapshot of the CVS-tree. - WWW: http://minidlna.sourceforge.net/ |