# ----------------------------------------------------------------------------
#
#    Copyright (C) 2000-2014 Synology Inc. All rights reserved.
#
# ----------------------------------------------------------------------------

#include <tunables/global>

/volume*/@appstore/AudioStation/webapi/album.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,
	
	/volume*/@appstore/AudioStation/webapi/album.cgi								r,	
}

/volume*/@appstore/AudioStation/webapi/artist.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,
	
	/volume*/@appstore/AudioStation/webapi/artist.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/composer.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,
	
	/volume*/@appstore/AudioStation/webapi/composer.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/cover.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-playlist-read>
	#include <abstractions.pkg/audiostation-cover>

	capability chown,
	capability fowner,

	/usr/syno/etc/synoshare.db														rwk,
}

/volume*/@appstore/AudioStation/webapi/download.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-folder>
	#include <abstractions.pkg/audiostation-playlist-read>
	#include <abstractions.pkg/audiostation-file-read>
	
	capability fowner,
}

/volume*/@appstore/AudioStation/webapi/folder.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-folder>
	
	capability fowner,
	
	/volume*/@appstore/AudioStation/webapi/folder.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/genre.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,
	
	/volume*/@appstore/AudioStation/webapi/genre.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/info.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-usb>
	#include <abstractions.pkg/audiostation-info>
	#include <abstractions.pkg/audiostation-folder>
	#include <abstractions.pkg/audiostation-personal-library>

	/etc/{dhclient,dhcpc}/{,**}														r,
	/usr/syno/etc/packages/AudioStation/audio.users*								rwk,
	/usr/syno/etc/preference/*/playlists{,/,/**}									rwk,
	/var/spool/syno_indexing_queue													rwk,
	/volume*/@appstore/AudioStation/webapi/info.cgi									r,
	/volume*/@appstore/AudioStation/pkgbin/audio_check_support						ix,
}

/volume*/@appstore/AudioStation/webapi/lyrics.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-lyrics>
	#include <abstractions.pkg/audiostation-playlist-read>
	#include <abstractions.pkg/audiostation-file-read>
	
	capability fowner,
	
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/scripts/phpiconv								r,
	/volume*/@appstore/AudioStation/webapi/lyrics.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/lyrics_search.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-playlist-read>
	#include <abstractions.pkg/audiostation-lyrics-search>
	
	capability fowner,
	
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/webapi/lyrics_search.cgi						r,
}

/volume*/@appstore/AudioStation/webapi/media_server.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,
	
	/usr/syno/synoman/webapi/AudioStation.api										rwk,
	/volume*/@appstore/AudioStation/webapi/media_server.cgi							r,
}

/volume*/@appstore/AudioStation/webapi/playlist.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-ddns>
	#include <abstractions.pkg/audiostation-file-read>
	#include <abstractions.pkg/audiostation-apirunner>
	#include <abstractions.pkg/audiostation-playlist-write>

	capability fowner,

	/etc/hostname																	r,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/iTunesServer/scripts/S99iTunes.sh							rix,
	/volume*/@appstore/iTunesServer/sbin/mt-daapd									ix,
	/volume*/@appstore/iTunesServer/lib/libsynosdk_cs.so.*							mr,
	/volume*/@appstore/AudioStation/webapi/playlist.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/proxy.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-ffmpeg>
	#include <abstractions.pkg/audiostation-playlist-read>
	#include <abstractions.pkg/audiostation-radio>
	
	capability block_suspend,
	capability fowner,

	network    inet  stream,

	/bin/busybox																	ix,
	/sys/devices/system/cpu/online													r,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/etc/audio_default.conf							r,
	/volume*/@appstore/AudioStation/scripts/phpiconv								r,
	/volume*/@appstore/AudioStation/webapi/proxy.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/radio.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-radio>
	
	capability fowner,

	/usr/syno/etc/preference/*/usersettings											r,
	/volume*/@appstore/AudioStation/webapi/radio.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/remote_player.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-playlist-read>
	
	capability block_suspend,
	capability fowner,

	/dev/**																			r,
	/usr/share/samba/codepages/*													r,
	/usr/syno/etc/packages/AudioStation/*.json										rwk,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/webapi/remote_player.cgi						r,
	/volume*/@appstore/AudioStation/pkgbin/audio_check_support						ix,
}

/volume*/@appstore/AudioStation/webapi/remote_player_status.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,

	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/webapi/remote_player_status.cgi					r,
}

/volume*/@appstore/AudioStation/webapi/search.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	
	capability fowner,

	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/webapi/search.cgi								r,
}

/volume*/@appstore/AudioStation/webapi/song.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-ddns>
	#include <abstractions.pkg/audiostation-apirunner>
	#include <abstractions.pkg/audiostation-file-read>

	capability chown,
	capability fowner,

	/usr/syno/etc/preference/*/__SYNO_AUDIO_SHARED_SONGS__.m3u						rwk,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/**/@eaDir/{,**}														wk,
}

/volume*/@appstore/AudioStation/webapi/stream.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-stream>

	/usr/syno/etc/synoshare.db														rwk,
}

/volume*/@appstore/AudioStation/webapi/web_player.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-auth>
	#include <abstractions.pkg/audiostation-playlist-read>
	
	capability fowner,

	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/webapi/web_player.cgi							r,
}

/volume*/@appstore/AudioStation/app/iPhone/enumerate.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/imagemagick>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-radio>
	#include <abstractions.pkg/audiostation-folder>
	#include <abstractions.pkg/audiostation-lyrics>
	#include <abstractions.pkg/audiostation-playlist-write>
	#include <abstractions.pkg/audiostation-lyrics-search>
	#include <abstractions.pkg/audiostation-file-read>

	capability chown,
	capability fowner,

	/usr/syno/etc.defaults/mimetypes.txt											r,
	/volume*/**/@eaDir/{,**}														rwk,
	/volume*/@appstore/AudioStation/app/iPhone/enumerate.cgi						r,
}

/volume*/@appstore/AudioStation/app/iPhone/login.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/authentication>
	#include <abstractions.pkg/audiostation-base>

	/dev/**																			r,
	/etc/synoautoblock.db															rwk,
	/usr/syno/etc/ssl/cgi.key/private.key											r,
	/usr/syno/etc/user.data/user.agent*												rwk,
	/volume*/@appstore/AudioStation/app/iPhone/login.cgi							r,
	/volume*/@appstore/AudioStation/etc/audio_default.conf							r,
}

/volume*/@appstore/AudioStation/app/iPhone/proxy.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>

	capability fowner,
	
	/volume*/@appstore/AudioStation/app/iPhone/proxy.cgi							r,
}

/volume*/@appstore/AudioStation/app/iPhone/stream.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-file-read>

	/usr/syno/etc.defaults/mimetypes.txt											r,
}

/volume*/@appstore/AudioStation/app/iPhone/transcoder.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-ffmpeg>
	#include <abstractions.pkg/audiostation-file-read>
}

/volume*/@appstore/AudioStation/app/iPhone/usb_controller.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-playlist-write>
	#include <abstractions.pkg/audiostation-radio>
	
	capability chown,
	capability fowner,

	/dev/**																			r,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/app/iPhone/usb_controller.cgi					r,
}

/volume*/@appstore/AudioStation/app/publicSharing/index.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-info>
	#include <abstractions.pkg/audiostation-playlist-read>

	/usr/syno/synobackup/addon/*/ui/config											r,
	/usr/syno/etc/synoshare.db														rwk,
	/volume*/@appstore/AudioStation/app/config										r,
	/volume*/@appstore/AudioStation/app/publicSharing/index.html					r,
	/volume*/@appstore/AudioStation/app/texts/*/strings								r,
	/volume*/@appstore/AudioStation/app/publicSharing/index.cgi						r,
}

/volume*/@appstore/AudioStation/app/publicSharing/uistrings.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>

	/volume*/@appstore/AudioStation/app/texts/*/strings								r,
	/volume*/@appstore/AudioStation/app/publicSharing/uistrings.cgi					r,
}

/volume*/@appstore/AudioStation/app/webUI/audio_equalizer.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>

	/usr/syno/etc/packages/AudioStation/equalizer.user*								rwk,
	/usr/syno/etc/packages/AudioStation/audio.conf*									rwk,
	/usr/syno/etc/preference/*/usersettings											r,
	/volume*/@appstore/AudioStation/app/texts/*/strings								r,
	/volume*/@appstore/AudioStation/etc/equalizer.system							r,
	/volume*/@appstore/AudioStation/app/webUI/audio_equalizer.cgi					r,
}

/volume*/@appstore/AudioStation/app/webUI/audio_itunes_import.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-file-read>
	
	capability chown,
	capability fowner,
	
	/var/spool/iTunes_song_rating_progress_*										rwk,
	/volume*/@appstore/AudioStation/app/webUI/audio_itunes_import.cgi				r,
	/volume*/@appstore/AudioStation/pkgbin/iTunesUtils								rix,
	/volume*/@tmp/audio_upload_itunes/{,**}											rwk,
	/volume*/**/@eaDir/{,**}														rwk,
}

/volume*/@appstore/AudioStation/app/webUI/audio_search_lyrics.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-lyrics-search>

	capability chown,
	capability fowner,

	/volume*/@appstore/AudioStation/app/webUI/audio_search_lyrics.cgi				r,
	/volume*/@tmp/upload_tmp**														rwk,
}

/volume*/@appstore/AudioStation/app/webUI/audio_userman.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/synopkg>
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/synooauthserver/api>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-personal-library>
	#include <abstractions.pkg/audiostation-synoaudiod>

	capability chown,

	/lib/ld*																		r,
	/lib/lib*																		r,
	/usr/lib/lib*																	mr,
	/usr/sbin/avahi-browse															ix,
	/usr/syno/etc/packages/AudioStation/audio.*										rwk,
	/usr/syno/etc/preference/*/playlists{,/,/**}									rwk,
	/usr/syno/etc/synoshare.db														rwk,
	/usr/syno/etc.defaults/usb.map													r,
	/usr/syno/etc.defaults/rc.sysv/syslog-ng.sh										ix,
	/usr/syno/sbin/avahi-browse														ix,
	/var/spool/syno_indexing_queue*													rwk,
	/var/packages/AudioStation/INFO													r,
	/var/packages/OAuthService/scripts/start-stop-status							rix,
	/volume*/@appstore/AudioStation/app/webUI/audio_userman.cgi						r,
	/volume*/@appstore/AudioStation/etc/audio_default.conf							r,
	/volume*/@appstore/AudioStation/sbin/synoaudiod									ix,
	/volume*/@appstore/AudioStation/pkgbin/audiouser								ix,
	/volume*/@appstore/AudioStation/scripts/S96synoaudiod.sh						rix,
	/volume*/@appstore/AudioStation/userDataCollector/synouserdata_audiostation		ix,
}

/volume*/@appstore/AudioStation/app/webUI/audiotransfer.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-ffmpeg>
	#include <abstractions.pkg/audiostation-file-read>

	/usr/syno/etc.defaults/mimetypes.txt											r,
}

/volume*/@appstore/AudioStation/app/webUI/custom_key.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-usb>

	/usr/syno/etc/packages/AudioStation/custom_key.json								rwk,
}

/volume*/@appstore/AudioStation/app/webUI/ajax_handler.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	
	/volume*/@appstore/AudioStation/app/webUI/ajax_handler.cgi						r,
}

/volume*/@appstore/AudioStation/app/tagEditorUI/tag_editor.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/webfm/index>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-file-read>

	capability setgid,
	capability chown,
	capability fowner,

	/usr/syno/etc/synoshare.db														rwk,
	/volume*/**/{,*.mp3,*.Mp3,*.mP3,*.MP3,*.m4a,*.M4a,*.m4A,*.M4A,*.m4b,*.M4b,*.m4B,*.M4B,*.m4p,*.M4p,*.m4P,*.M4P,*.flac,*.Flac,*.fLac,*.flAc,*.flaC,*.FLac,*.fLAc,*.flAC,*.FlAc,*.fLaC,*.FlaC,*.FLAc,*.FLaC,*.FlAC,*.fLAC,*.FLAC,*.aif,*.Aif,*.aIf,*.aiF,*.AIf,*.AiF,*.aIF,*.AIF,*.aiff,*.Aiff,*.aIff,*.aiFf,*.aifF,*.AIff,*.aIFf,*.aiFF,*.AiFf,*.aIfF,*.AifF,*.AIFf,*.AIfF,*.AiFF,*.aIFF,*.AIFF,*.ogg,*.Ogg,*.oGg,*.ogG,*.OGg,*.OgG,*.oGG,*.OGG,*.lrc,*.Lrc,*.lRc,*.lrC,*.LRc,*.LrC,*.lRC,*.LRC}								rw,
	/volume*/**/*.no_image															wk,
	/volume*/**/@eaDir/{,**}														wk,
	/volume*/@tmp/*																	rwk,
	/volume*/@appstore/AudioStation/app/tagEditorUI/tag_editor.cgi					r,
	/volume*/@appstore/AudioStation/scripts/phpiconv								r,
}

/volume*/@appstore/AudioStation/sbin/synoairplayd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/audiostation-ffmpeg>
	#include <abstractions.pkg/audiostation-file-read>
}

/volume*/@appstore/AudioStation/sbin/synoaudiod {
	#include <abstractions.pkg/audiostation-synoaudiod>
}

/volume*/@appstore/AudioStation/sbin/synorcd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/audiostation-base>

	/dev/usb/*																		r,
	/usr/syno/etc/packages/AudioStation/audio.conf*									rwk,
}

/volume*/@appstore/AudioStation/pkgbin/alexa_oauth_client {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/synopkg>
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-base>
	#include <abstractions.pkg/synooauthserver/api>

	capability setgid,

	/usr/sbin/initctl																ix,
	/usr/syno/etc/synoservice.d/pkgctl-OAuthService.cfg								r,
	/usr/syno/etc/packages/AudioStation/audio.conf*									rwk,
	/var/packages/OAuthService/scripts/start-stop-status							rix,
}

#webapi5
^/usr/syno/sbin/synoscgi//SYNO.AudioStation.Tag {
	#include <abstractions.pkg/webapi5/base>
	
	/volume*/@appstore/AudioStation/webapi5/tag/SYNO.AudioStation.Tag.so			mr,
}

^/usr/syno/sbin/synoscgi//SYNO.AudioStation.Pin {
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-playlist-read>

	/volume*/@appstore/AudioStation/webapi5/pin/SYNO.AudioStation.Pin.so			mr,
}

^/usr/syno/sbin/synoscgi//SYNO.AudioStation.VoiceAssistant.Browse {
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-playlist-write>
	#include <abstractions.pkg/audiostation-cover>

	/volume*/@appstore/AudioStation/webapi5/voice_assistant/SYNO.AudioStation.VoiceAssistant.so			mr,
}

^/usr/syno/sbin/synoscgi//SYNO.AudioStation.VoiceAssistant.Info {
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-info>

	/volume*/@appstore/AudioStation/webapi5/voice_assistant/SYNO.AudioStation.VoiceAssistant.so			mr,
}

^/usr/syno/sbin/synoscgi//SYNO.AudioStation.VoiceAssistant.Stream {
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-stream>

	/volume*/@appstore/AudioStation/webapi5/voice_assistant/SYNO.AudioStation.VoiceAssistant.so			mr,
}

^/usr/syno/sbin/synoscgi//SYNO.AudioStation.Browse.Playlist {
	#include <abstractions.pkg/webapi5/base>
	#include <abstractions.pkg/audiostation-playlist-write>

	/volume*/@appstore/AudioStation/webapi5/browse/SYNO.AudioStation.Browse.so							mr,
}
