po: Add Georgian translation
accessing minidlna via hostname:8200 still fails and produces a log Feb 01 17:28:16 hostname minidlnad[771]: upnphttp.c:938: error: DNS rebinding attack suspected (Host: hostname:8200) this is still reproducible on latest version 1.3.3. and trixie
Hi, since several years I'm using OpenMediaVault with miniDLNA since some times, miniDLNA is always aborting. Seems to happens since I updated from OpenMediaVault 7 to OMV 8, meaning also an update from Debian 12 (Bookworm) to Debian 13 (trixie). Currently I seem to use Kernel 6.12.63. What is strange is, that the MiniDLNA seems to be unchanged since 2023, so it is probably not due to a change in the DLNA-source-code? the typical information i see withsudo service minidlna status is the following...
Hello. Newer Samsung TV have a problem when accessing DLNA servers. This is the topic: https://eu.community.samsung.com/t5/tv/nas-won-t-show-on-tv/td-p/11370913/page/2 I have cloned the Debian 13 minidlna code to investigate the problem. I observed lots of Samsung specific code in minidlna. After investigation of the problem (posted by me in the above thread) I implemented a workaround. I have tested it for more than 1 month (since mid of November 2025) and it works without problems. I want to propose...
Hello. Newer Samsung TV have a problem when accrssing DLNA servers. This is the topic: https://eu.community.samsung.com/t5/tv/nas-won-t-show-on-tv/td-p/11370913/page/2 I have cloned the Debian 13 minidlna code to investigate the problem. I observed lots of Samsung specific code in minidlna. After investigation of thr cause (posted by me in the above thread) I implemented a workaround. I have tested it for more than 1 month (since mid of November 2025) and it works without problems. I want to propose...
Thanks! I apprecaite your help getting me up and running. I also had to remove the mv line to get the image built, but all good now. Thanks!
All the patches I applied are 'pulled' by the 'curl' statement in the Dockerfile
you need to delete that "COPY" from the dockerfile as it will cause a failure and you dont need it unless you have some local .patch files
cool! I actually got it running! Here is my compose file, please let me know if anything is wrong with it. So can you tell me what patches you have rolled into it, and how to adjust the album art dimensions? I really appreciate the help! *edit added this line into my minidlna.conf file and resize works! "resize_covers=500"
cool! I actually got it running! Here is my compose file, please let me know if anything is wrong with it. So can you tell me what patches you have rolled into it, and how to adjust the album art dimensions? I really appreciate the help!
woops wrong file
here is the docker file attached
Thanks, I'll have to check it out. i am not familiar with dockerfiles, but am familiar with docker-compose, so I'll look into running it.
I dont know if this helps but I recently built minidlna for docker starting with 1.3.3 and applying some patches . on docker hub "minsonj/minidlna" . here is my dockerfile (if you are a docker expert please dont laugh) FROM alpine:latest WORKDIR /app/source COPY .patch /tmp RUN apk update && \ apk add build-base \ tzdata \ sqlite \ libjpeg-turbo \ libid3tag \ sqlite-libs \ ffmpeg \ ffmpeg-libavformat \ ffmpeg-libavutil \ libexif \ libintl \ libflac \ libogg \ libvorbis \ jpeg-dev \ sqlite-dev \ libexif-dev...
I recently bought a ugreen dxp2800 and it's dlna app runs minidlna v 1.3.3. Is there a way to patch this version? I specifically want the album art patch in higher res, and the artist patch for showing artist instead of album artist. I am running docker containers (like 10), but cannot seem to get this running with docker compose, or I'd roll my own solution. Help on either patching or getting it to run w/ docker would be appreciated!
I did a mirror in github https://github.com/sergiomb2/minidlna/commits/main/ which is easier and faster to read
Scanning multiple captions and serve all subtitles + Debian patches + Fedora pacthes + other patches
Subtitles with country code and an assortment of patches
Solution here, see https://sourceforge.net/p/minidlna/patches/204/
we have a new version of resizing of album art covers on https://sourceforge.net/p/minidlna/patches/203
we have a new version of resizing of album art covers on https://sourceforge.net/p/minidlna/patches/192/
I'd like combine this path with patch on https://sourceforge.net/p/minidlna/patches/132/ (which generates album art covers if don't exist). Both patches should use same cover_size value
new version on https://sourceforge.net/p/minidlna/patches/203/
https://sourceforge.net/p/minidlna/patches/092/?page=2 also update this patch and now one updated patch is here https://salsa.debian.org/debian/minidlna/-/blob/debian/1.3.3+dfsg-1.1/debian/patches/15-thumbnails.patch?ref_type=tags
one updated patch is here https://salsa.debian.org/debian/minidlna/-/blob/debian/1.3.3+dfsg-1.1/debian/patches/15-thumbnails.patch?ref_type=tags
https://sourceforge.net/p/minidlna/patches/132 use this code
"make check" fails on missing @LIBAVUTIL_LIBS@ definition
I use Keenetic with DLNA server (miniDLNA 1.3.0). My .m3u playlists are not displayed. My m3u format: #EXTM3U #EXTINF:0,My Movie UHD.mkv https://myvps:443/stream/%D0%91%D0%B5%D0%B3%D1%83%D1%89%D0%B8%D0%B9%20%D0%BF%D0%BE%20%D0%BB%D0%B5%D0%B7%D0%B2%D0%B8%D1%8E%202049.2017.UHD.My_Movie.mkv?link=8ce3c16c9sdf78hse866bb88s7fsfdh3e7d68a6f&index=1&play I think the problem is this: playlists use file:// URIs with URL-encoded pathnames: MiniDLNA's C code does not read these and will ignore any playlist in...
Attaching a quick and dirty patch to fix. It doesn't crash with the two sample reproducers above anymore.
libav.h: fix build with ffmpeg 7.0
Patch to allow resizing of album art covers
Hi, As I need support for additional tags in music files, I created a fork that I extended with support for Conductor, Composer, Performer and AlbumArtist, SortArtist and SortAlbumArtist. All of these will be reported as upnp:Artist with an associated role attribute. In addition I added support for larger artwork, with the option to specify the size in the configuration. This is available on the fork katoemba/minidlna. Best regards, Berrie
Hi, As I need support for additional tags in music files, I created a fork that I extended with support for Conductor, Composer, Performer and AlbumArtist. All of these will be reported as upnp:Artist with an associated role attribute. In addition I added support for larger artwork, with the option to specify the size in the configuration. This is available on the fork katoemba/minidlna. Best regards, Berrie
FWIW: The bug is still present in version 1.3.3. There was an attempt to "make it work" in 1.3.2 I don't really "get" the code - it errors if the request host/port was not numeric - but why? AIUI DNS rebinding attacks are intended to fool clients into trusting malicious scripts by changing the source DNS record from a public IP address to an intranet (presumably RFC 1918) address between the time that the client downloads the 'script and checking whether it is trustworthy - I am not at all sure the...
Hi Tim, Thanks much for diving into the code and confirming the behavior! You're absolutely right — and I now had a chance to verify it using the official UPnP AV ContentDirectory:4 Service specification (April 2020, DocID: UPnP-av-ContentDirectory-v4-Service.pdf). According to the spec, both dc:creator and upnp:artist are valid metadata fields but serve distinct purposes: dc:creator: Identifies the person(s) primarily responsible for the content — typically the track artist. upnp : artist: A broader...
Hi Tim, Thanks so much for diving into the code and confirming the behavior! You're spot on — according to the official UPnP AV ContentDirectory:4 Service specification (April 2020, DocID: UPnP-av-ContentDirectory-v4-Service.pdf), both dc:creator and upnp:artist are valid metadata elements but serve slightly different purposes: dc : creator : Identifies the person(s) primarily responsible for the content — typically the track artist. upnp : artist: A broader term that can represent either the album...
Actually, replying to myself here: looking at my example earlier, if dc:creator is the track artist, then minidlna is doing the right thing here? It's sending the track artist as dc:creator, and "Various Artists" as upnp:artist.
I'm completely unfamiliar with the code, but by reading it, it does seem that in metadata.c around line 438, it overwrites the artist to the album artist, whilst leaving the creator (set previously) set to the track artist, which would (as I read it) give the effect we see. It's unclear to my why the logic is written that way; at first look it seems back-to-front. Shouldn't lines 429-450 set the creator instead of the artist? (Incidentally, whilst looking for the above, I noticed that tagutils-misc.c...
Hi, and thanks for confirming the behavior! Yes — according to the official UPnP AV specification (ContentDirectory:4, June 30, 2015, or direct PDF link) — there is a clear distinction between: upnp : artist: typically the album artist or contributing group dc : creator: typically the track artist (i.e., the one who created the specific resource) So if minidlna (aka ReadyMedia) currently maps both fields to the same value (album artist), it's technically not utilizing the full expressiveness of the...
Hi, and thanks for confirming the behavior! Yes — according to the official UPnP AV specification (ContentDirectory:4, June 30, 2015, or direct PDF link) — there is a clear distinction between: upnp🧑🎨 typically the album artist or contributing group dc:creator: typically the track artist (i.e., the one who created the specific resource) So if minidlna (aka ReadyMedia) currently maps both fields to the same value (album artist), it's technically not utilizing the full expressiveness of the spec....
I'd never noticed this, but I can also reproduce it, where I have compilations where the album artist is "Various Artists" and the individual tracks have specific artists. It explains why I sometimes had problems searching! Do you have a reference to the UPnP specification that describes how track/album artists should be transmitted? I checked to see what is in the actual ReadyMedia sqlite database, and indeed there, the "Artist" field contains "Various Artists" and the "Creator" contains the actual...
Hi all, I’ve noticed that MiniDLNA sends the "artist" tag from MP3s as the album artist, rather than the track artist. This is particularly problematic with compilations and soundtracks where the album artist is "Various" but the track artist is unique. According to the UPnP spec, both values can be sent as <upnp:artist> and <dc:creator>, and clients like BubbleUPnP use them correctly if both are provided.</dc:creator></upnp:artist> Is this by design, a known limitation, or something that could be...
In case anyone is interested or has a similar problem, I figured it out. First, I didn’t realize Bullseye was installing version 1.3.0, so I was running that instead of 1.3.3. Even when I compiled the older 1.3.0 code, I still lost logging. After looking into the arguments the service was running with: CGroup: /system.slice/minidlna.service └─468012 /usr/sbin/minidlnad -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid -S -r I read something somewhere (sorry, I cannot find it again) that stated...
Some questions about minidlna's subsequent vulnerabilities and version planning
Minidlnad 1.3.3 Fedora 40 I have been using the product for years - it's been brilliant. Thank you all. Can someone tell me how the player knows what the next track to be played is for each device? Sometimes I can go for weeks and each time I use minidlna via a device, it 'remembers' where it was seamlessly, but on the odd occasions it loses those details and I have to reconnect to the server and re-start the playlist from where I think I left off. Is that a function of the server or a function of...
Hello, I am self-taught programmer, mostly Java and python. I am looking to learn C and thought this would be a fun program to mess around with as it is currently my program of choice for my home server (Debian bullseye with minidlna 1.3.3). I am successfully altering and compiling code, and can see my changes running. I want to use the logs to try to figure out some of the finer details. BUT… if I compile the current code, it no longer creates a log file. Even if I remove all of my changes and compile...
Option to serve media during rescan
https://github.com/mselbrede/CVE-2024-51442
This might be a bug, but not a security vulnerability in my opinion. Modification of /etc/minidlna.conf requires root (file is owned and writable by root only). If you have root access, why would it matter that you can "compromise" minidlna with that access? You can do whatever you want then, anyway.
Support sending logs to syslog
several small fixes, see commit messages inside
For anyone compiling against ffmpeg 7 a small patch is needed. --- libav.h~ 2023-05-31 09:25:59.000000000 +0100 +++ libav.h 2024-11-30 21:51:58.063500472 +0000 @@ -174,7 +174,9 @@ --- libav.h~ 2023-05-31 09:25:59.000000000 +0100 +++ libav.h 2024-11-30 21:51:58.063500472 +0000 @@ -174,7 +174,9 @@ #define lav_codec_tag(s) s->codecpar->codec_tag #define lav_sample_rate(s) s->codecpar->sample_rate #define lav_bit_rate(s) s->codecpar->bit_rate -#define lav_channels(s) s->codecpar->channels +/* #define...
Oh that's great, thanks for considering this. I think album artist would be a great option, so that's for considering it.
The Album Artist metadata is currently processed, but gets merged with the track artist data. Personally, I like it that way, but next time I work on this code I'll look into an option to keep the two separate with Album Artist a separate top-level set.
I'll give this version a try. I like the chances you've made. One question, you've added the extra "Composer" metadata. Is it possible to add "Album Artist" in a similar way or even edit the code to change composer to album artist (or copy it and change it)?
support for audio/radio streams
Minidlna security vulnerability
I'm not currently working on it, but I'll keep this in mind next time I do anything....
I like your update, it seems that the official repository is no longer being maintained. Can you consider adding support for GIF files
Hi, Non of my .aiff files are showing up in my DLNA server. Is .aiff supported? I didn't manage to find any info about file type support. No permission errors or other issues reported in my log. Thanks!
Hi, Non of my .aiff files are showing up in my DLNA. Is .aiff supported? I didn't manage to find any info about file type support. No permission errors or other issues reported in my log. Thanks!
Ubuntu 24.04.01, bug report, minidlna reponsible for memory leak
FWIW: The bug is still present in version 1.3.3.
where do I need to put the ip?
I've added a MR here -- https://sourceforge.net/p/minidlna/git/merge-requests/61/ Hopefully this improves the change of it being fixed here. :)
fix bug 333 - use-after-free
Workaround for fixed ip addresses, e.g. localhost: Use http://127.0.0.1:8200/ instead of http://localhost:8200/
Workaround: use http://127.0.0.1:8200/ instead of http://localhost:8200/
Allow default PID file path to be set at configure time
Add compatibility with FFMPEG 7.0
Compilation error with ffmpeg 7.0.2
I have the following Samba folder structure: /samba bob share media sally share media I would like to expose the media folders via DLNA, but I want them displayed as the user instead of duplicate instances of media. I tried creating an alias via a symbolic link, but MiniDLNA still uses the final destination. I ended up changing the Samba structure to: /media bob sally with media_dir=/media merge_media_dirs=yes and will attempt to patch things back up with symlinks on the Samba side which does support...
I think it is actually working though I still dont understand the 'lsof' output
Over the past couple of years I've made a number of changes to my fork of minidlna. Many of these are designed to improve support for my collection of classical music. I've just cleaned up my changes in a new fork of the repository: see ajballard/minidlna.ajb . Here is a description of the changes if anyone is interested in taking some or all of them. Note I only use minidlna as a music server, and these changes have only been tested with my Denon/HEOS clients (plus a little with Windows Media Player)....
network_interface directive seems to be ignored
minidlna don't present rmbv file in the list
Limit cache size
minidlna cannot be build with ffmpeg 7.x
Addition of "artist" and "creator" to .nfo file parsing
unable to find id3 on rocky 9.4
Add compatibility with FFMPEG 7.0
In case somebody is looking for an updated patch that works with latest minidlna-1.3.3, here is my patch attached. I manually applied above 1.2.1 patch to latest 1.3.3 codebase, rebuilt it, and added two lines to my config: keep_metadata=no keep_metadata_with_media=yes this puts a directory named as ".meta" in each directory that it is scanning, and it seems to speedup scanning process a lot after a first slow run. I use it with my raspberrypi4 with a 4TB USB HDD with millions of Videos & Photos...
I managed to make this old receiver work by adding the following lines of code after line 1910 in upnpsoap.c: char *start_REF_ID_NULL=strstr(where," and REF_ID is NULL"); char *end_REF_ID_NULL = start_REF_ID_NULL + strlen(" and REF_ID is NULL"); if (start_REF_ID_NULL!= NULL) { memmove(start_REF_ID_NULL, end_REF_ID_NULL,strlen(end_REF_ID_NULL) + 1); DPRINTF(E_DEBUG, L_HTTP, "Modified translated SearchCriteria: %s\n", where); } While it is understood that this might be needed because this old Yamaha...
Is there any practical reason why a client might query for REF_ID = NULL? If not, maybe somewhere around line 1910 in upnpsoap.c a condition could added to remove and REF_ID is NULL if this sub-string found in the where string. Is there any reference guide or instructions on how to re-compile the code and update the docker container with the new compiled code? If so, I could give it a try.
I installed sqlite3 in the container, connected to files.db tried a few things. I found that the SQL query returns zero records because of the REF_ID is NULL filter applied. If I remove this indeed the SQL query returns the records for the specific Artist or Album searched. Now what would I need to edit to avoid including this filter in the SQL query? sqlite> SELECT o.OBJECT_ID, o.PARENT_ID, o.REF_ID, o.DETAIL_ID, o.CLASS, d.SIZE, d.TITLE, d.DURATION, d.BITRATE, d.SAMPLERATE, d.ARTIST, d.ALBUM, d.GENRE,...
Hello all, I have a quite old Yamaha RX-V2700 receiver that should support streaming over the network. The manual states this is possible using as source a Yamaha MCX-2000 and WMC. Internet searches do indeed show this receiver is very picky with regards to the DLNA compatibility. It seems that it works well with WMP as DLNA server but support for other DLNA servers seems to be very limited (users reported some success with Fuppes and older versions of Twonky). I have tried several DLNA servers and...
upnphttp: Patch the profile name for Sony Bravia TVs also on GET/HEAD
FYI, this was assigned CVE-2023-47430 .
send complete http responses
stack-buffer-overflows in SendContainer() at tivo_commands.c
Add option to show media storage information on presentation page
Add option to show media storage information on presentation page
Add option to show media storage information on presentation page
Updated man pages
I've been trying to run ReadyMedia on macOS. I've made --prefix work, and fixed a build issue. But now, it runs out of file descriptors and when I start it I get lots of monitor_kqueue.c:227: error: open(…) [Too many open files] messages. Any idea where I should start looking for a problem?
I've been trying to run ReadyMedia on macOS. I've made --prefix work, and fixed a build issue. But now, it runs out of file descriptors and when I start it I get lots of monitor_kqueue.c:227: error: open(/Users/randolph/Music/New Model Army/Impurity) [Too many open files] messages. Any idea where I should start looking for a problem?
I've been trying to run ReadyMedia on macOS. I've made --prefix work, and fixed a build issue. But now, it runs out of file descriptors and when I start it I get lots of monitor_kqueue.c:227: error: open(/Users/randolph/Music/New Model Army/Impurity) [Too many open files] messages. Any idea where I should start looking for a problem?
Add support for --prefix, other minor changes
Automatically install man pages
I have compiled this on both macOS 12.7.2 and Debian version 12.4.