owntone / owntone-server

Linux/FreeBSD DAAP (iTunes) and MPD audio server with support for AirPlay 1 and 2 speakers (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
https://owntone.github.io/owntone-server
GNU General Public License v2.0
2.05k stars 235 forks source link

failed build #182

Closed gillecaluim closed 9 years ago

gillecaluim commented 9 years ago

I've successfully built forked-daapd previously on Arch Linux system but now fails to build.... artwork.c: In function ‘artwork_rescale’: artwork.c:286:3: warning: ‘avcodec_find_best_pix_fmt2’ is deprecated [-Wdeprecated-declarations] dst->pix_fmt = avcodec_find_best_pixfmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:45: error: incompatible type for argument 1 of ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘enum AVPixelFormat’ but argument is of type ‘enum AVPixelFormat ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:107: warning: passing argument 4 of ‘avcodec_find_best_pix_fmt2’ makes integer from pointer without a cast [-Wint-conversion] t_pix_fmt2((enum AVPixelFormat )img_encoder->pix_fmts, src->pix_fmt, 1, NULL); ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘int’ but argument is of type ‘void ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:18: error: too few arguments to function ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ Makefile:992: recipe for target 'forked_daapd-artwork.o' failed make[3]: _* [forked_daapd-artwork.o] Error 1 make[3]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:517: recipe for target 'all' failed make[2]: * [all] Error 2 make[2]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:540: recipe for target 'all-recursive' failed make[1]: * [all-recursive] Error 1 make[1]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2' Makefile:408: recipe for target 'all' failed make: *\ [all] Error 2 ==> ERROR: A failure occurred in build().

ejurgensen commented 9 years ago

Are you building with ffmpeg or libav? Do you know which version number?

fre. 18. sep. 2015 kl. 19.45 skrev gillecaluim notifications@github.com:

I've successfully built forked-daapd previously on Arch Linux system but now fails to build.... artwork.c: In function ‘artwork_rescale’: artwork.c:286:3: warning: ‘avcodec_find_best_pix_fmt2’ is deprecated [-Wdeprecated-declarations] dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat

_)img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:45: error: incompatible type for argument 1 of ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘enum AVPixelFormat’ but argument is of type ‘enum AVPixelFormat ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:107: warning: passing argument 4 of ‘avcodec_find_best_pix_fmt2’ makes integer from pointer without a cast [-Wint-conversion] t_pix_fmt2((enum AVPixelFormat )img_encoder->pix_fmts, src->pix_fmt, 1, NULL); ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘int’ but argument is of type ‘void ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:18: error: too few arguments to function ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ Makefile:992: recipe for target 'forked_daapd-artwork.o' failed make[3]: _* [forked_daapd-artwork.o] Error 1 make[3]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:517: recipe for target 'all' failed make[2]: * [all] Error 2 make[2]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:540: recipe for target 'all-recursive' failed make[1]: * [all-recursive] Error 1 make[1]: Leaving directory '/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2' Makefile:408: recipe for target 'all' failed make: *\ [all] Error 2 ==> ERROR: A failure occurred in build().

— Reply to this email directly or view it on GitHub https://github.com/ejurgensen/forked-daapd/issues/182.

gillecaluim commented 9 years ago

ffmpeg 2.7.1

On Fri, Sep 18, 2015 at 10:56 AM, ejurgensen notifications@github.com wrote:

Are you building with ffmpeg or libav? Do you know which version number?

fre. 18. sep. 2015 kl. 19.45 skrev gillecaluim notifications@github.com:

I've successfully built forked-daapd previously on Arch Linux system but now fails to build.... artwork.c: In function ‘artwork_rescale’: artwork.c:286:3: warning: ‘avcodec_find_best_pix_fmt2’ is deprecated [-Wdeprecated-declarations] dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat

_)img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:45: error: incompatible type for argument 1 of ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘enum AVPixelFormat’ but argument is of type ‘enum AVPixelFormat ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:107: warning: passing argument 4 of ‘avcodec_find_best_pix_fmt2’ makes integer from pointer without a cast [-Wint-conversion] t_pix_fmt2((enum AVPixelFormat )img_encoder->pix_fmts, src->pix_fmt, 1, NULL); ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: expected ‘int’ but argument is of type ‘void ’ enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ artwork.c:286:18: error: too few arguments to function ‘avcodec_find_best_pix_fmt2’ dst->pix_fmt = avcodec_find_best_pix_fmt2((enum AVPixelFormat )img_encoder-> ^ In file included from artwork.c:32:0: /usr/include/libavcodec/avcodec.h:4953:20: note: declared here enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, ^ Makefile:992: recipe for target 'forked_daapd-artwork.o' failed make[3]: _* [forked_daapd-artwork.o] Error 1 make[3]: Leaving directory

'/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:517: recipe for target 'all' failed make[2]: *\ [all] Error 2 make[2]: Leaving directory

'/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2/src' Makefile:540: recipe for target 'all-recursive' failed make[1]: *\ [all-recursive] Error 1 make[1]: Leaving directory

'/home/ourhome/packages/multimedia/daap/forked-daapd/src/forked-daapd-23.2' Makefile:408: recipe for target 'all' failed make: *\ [all] Error 2 ==> ERROR: A failure occurred in build().

— Reply to this email directly or view it on GitHub https://github.com/ejurgensen/forked-daapd/issues/182.

— Reply to this email directly or view it on GitHub https://github.com/ejurgensen/forked-daapd/issues/182#issuecomment-141519776 .

ejurgensen commented 9 years ago

avcodec_find_best_pix_fmt2() is for libav. If you use ffmpeg it shouldn't be used. So something went wrong when the configure script ran. I'm guessing HAVE_FFMPEG in config.h is also not defined to 1? You can try just setting it to 1 and then re-running make.

gillecaluim commented 9 years ago

thanks for pointing me in the right direction. The HAVE_FFMPEG flag wasn't set properly during the configuration. I ended up re-installing ffmpeg and that fixed the problem. Thanks again for the great software and support.

gillecaluim commented 8 years ago

I'd appreciate a little iptables guidance for forked-daapd. My itunes client can only see the forked-daapd server with the my firewall open. Here are my iptables rules....I must be missing a required port? The 10.20.30.0/24 subnet is the LAN. Thanks, Robert

*nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.20.30.0/24 -o net0 -j MASQUERADE

Transparent forward HTTP connections to Squid proxy

-A PREROUTING -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

-A PREROUTING -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 443 -j

REDIRECT --to-ports 3127 COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP INVALID " --log-tcp-options --log-ip-options -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT ! -s 10.20.30.0/24 -i lan -j LOG --log-prefix "SPOOFED PKT " -A INPUT ! -s 10.20.30.0/24 -i lan -j DROP

Allow Squid Proxy

-A INPUT -s 10.20.30.0/24 -p tcp -m tcp --dport 3128 -m conntrack --ctstate NEW -j ACCEPT

-A INPUT -s 10.20.30.0/24 -p tcp -m tcp --dport 3127 -m conntrack

--ctstate NEW -j ACCEPT

Allow SSH

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

Allow Bind

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

Allow DHCPD

-A INPUT -s 10.20.30.0/24 -i lan -p udp --dport 67:68 --sport 67:68 -m conntrack --ctstate NEW -j ACCEPT

Allow Rsync

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 873 -m conntrack --ctstate NEW -j ACCEPT

Allow GPG keyserver

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 11371 -m conntrack --ctstate NEW -j ACCEPT

Allow FTP

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT ! -i lo -j LOG --log-prefix "DROP " --log-tcp-options --log-ip-options -A INPUT -i lo -j ACCEPT

Allow Avahi service

-A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT

Allow iTunes media server

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 3689 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 40306 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 39294 -m conntrack --ctstate NEW -j ACCEPT

Allow NFS service

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 111 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 111 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 2049 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 2049 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 20048 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 20048 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 32764 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 32764 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 32765 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 32765 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 32766 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 32766 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 32803 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 32803 -m conntrack --ctstate NEW -j ACCEPT

Allow UniFi web portal

-A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 8080 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 8081 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 8443 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 8880 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 8843 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 3478 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -s 10.20.30.0/24 -i lan -p udp -m udp --dport 10001 -m conntrack --ctstate NEW -j ACCEPT

-A FORWARD -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP INVALID " --log-tcp-options --log-ip-options -A FORWARD -m conntrack --ctstate INVALID -j DROP -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD ! -s 10.20.30.0/24 -i lan -j LOG --log-prefix "SPOOFED PKT " -A FORWARD ! -s 10.20.30.0/24 -i lan -j DROP -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 43 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 873 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 11371 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -s 10.20.30.0/24 -i lan -p tcp -m tcp --dport 4321 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -p udp -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 8 -j ACCEPT -A FORWARD ! -i lo -j LOG --log-prefix "DROP " --log-tcp-options --log-ip-options -A OUTPUT -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP INVALID " --log-tcp-options --log-ip-options -A OUTPUT -m conntrack --ctstate INVALID -j DROP -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 43 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 4321 -m conntrack --ctstate NEW -j ACCEPT

Allow Avahi service

-A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT

Allow Bind

-A OUTPUT -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

Allow iTunes media server

-A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 3689 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 40306 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 39294 -m conntrack --ctstate NEW -j ACCEPT

Allow NFS Service

-A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 111 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 111 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 2049 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 2049 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 20048 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 20048 -m conntrack --ctstate NEW -j ACCEPT

Allow UniFi Service

-A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 8080 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 8081 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 8443 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 8880 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p tcp -m tcp --dport 8343 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 3478 -m conntrack --ctstate NEW -j ACCEPT -A OUTPUT -d 10.20.30.0/24 -p udp -m udp --dport 10001 -m conntrack --ctstate NEW -j ACCEPT

Allow GPG Keyserver query

-A OUTPUT -p tcp -m tcp --dport 11371 -m conntrack --ctstate NEW -j ACCEPT

-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A OUTPUT ! -o lo -j LOG --log-prefix "DROP " --log-tcp-options --log-ip-options -A OUTPUT -o lo -j ACCEPT COMMIT

On Sat, Sep 19, 2015 at 12:07 AM, ejurgensen notifications@github.com wrote:

avcodec_find_best_pix_fmt2() is for libav. If you use ffmpeg it shouldn't be used. So something went wrong when the configure script ran. I'm guessing HAVE_FFMPEG in config.h is also not defined to 1? You can try just setting it to 1 and then re-running make.

— Reply to this email directly or view it on GitHub https://github.com/ejurgensen/forked-daapd/issues/182#issuecomment-141631862 .

ejurgensen commented 8 years ago

I haven’t reviewed your rules, but I can give you some general hints about forked-daapd and firewalls. First thing to note is that how much you need to open the firewall, depends on how you use forked-daapd. Second thing to note is that I have never actually tried experimenting with firewalls and forked-daapd :-)

Basics: You need to open port 3689 incoming and for mdns announcements outgoing. I suggest googling the latter. From your description I am guessing that mdns is the issue you have. The traffic to port 3689 is basically http, so normal web server rules should work.

AirPlay (where forked-daapd is doing the playback, not iTunes): mdns incoming and variable ports, so hard to do. See https://github.com/ejurgensen/forked-daapd/issues/96

Internet radio: Obviously you need to allow forked-daapd to make outgoing connections to the streams.

MPD: Open the ports specified in the config file for incoming.

Spotify/LastFM: Not sure, can’t remember.