# ----------------------------------------------------------------------------
#
#    Copyright (C) 2000-2016 Synology Inc. All rights reserved.
#
# ----------------------------------------------------------------------------
#include <tunables/global>

@{libdir}=/{usr/,}lib

# cgi
/volume*/@appstore/VideoStation/ui/cgi/advanced_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/transcodecapability>

	/volume*/@appstore/VideoStation/ui/cgi/advanced_manage.cgi	r,

	/volume*/@appstore/VideoStation/subtitle_plugins/{,**}		r,
	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/dtv_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/dvb-adapter>
	#include <abstractions/VideoStation/index-queue>
	#include <abstractions/VideoStation/set-index-status>
	#include <abstractions/VideoStation/synodtvd>

	capability mknod,

	/volume*/@appstore/VideoStation/ui/cgi/dtv_manage.cgi		r,

	/usr/syno/synoman/webapi/.auth								rwk,
	/var/packages/VideoStation/scripts/common					rix,
	/var/packages/VideoStation/scripts/*.sh						rix,
	/var/packages/VideoStation/scripts/**/*.sh					rix,
	/volume*/@appstore/VideoStation/scripts/*.sh				rix,
	/volume*/@appstore/VideoStation/scripts/**/*.sh				rix,
	/volume*/@appstore/VideoStation/etc/Kernel*/				r,
	/volume*/@appstore/VideoStation/etc/Kernel*/**				rwk,
	/volume*/@appstore/VideoStation/scripts/Hotplug/**			r,
	/volume*/@appstore/VideoStation/bin/**						rix,
	/volume*/@appstore/VideoStation/etc/HDHomeRun_channelmap/*	rk,
	/usr/syno/sbin/syno_dvb_admin.sh                            rwkix,
	@{libdir}/firmware/*                                        rwk,
	@{libdir}/udev/devicetable/usb.DVB.*.table                  rwk,
	@{libdir}/udev/script/manual_gen_hotplug.sh                 rwkix,
	@{libdir}/udev/script/usb-dvb-util.sh                       rwkix,
	@{libdir}/udev/script/backports_dvb/*.sh                    rwkix,
	@{libdir}/udev/script/backports_dvb/DTV_enabled             rwk,
	@{libdir}/modules/*.ko                                      rwkl,
	/                                                           r,
}

/volume*/@appstore/VideoStation/ui/cgi/folder_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/file-read>
	#include <abstractions/VideoStation/index-queue>
	#include <abstractions/VideoStation/set-index-status>

	/volume*/@appstore/VideoStation/ui/cgi/folder_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
	/run/synovideometadatad.pid									r,
}

/volume*/@appstore/VideoStation/ui/cgi/library_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/index-queue>

	/volume*/@appstore/VideoStation/ui/cgi/library_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/privilege_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/cgi/privilege_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/session.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/cgi/session.cgi			r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

# public sharing
/volume*/@appstore/VideoStation/ui/public_sharing/uistrings.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/public_sharing/uistrings.cgi           r,

	/volume*/@appstore/VideoStation/ui/texts/**                               r,
}

/volume*/@appstore/VideoStation/ui/public_sharing/index.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/public-url>

	/volume*/@appstore/VideoStation/ui/public_sharing/index.cgi               r,

	/volume*/@appstore/VideoStation/ui/public_sharing/index.html              r,
	/volume*/@appstore/VideoStation/ui/texts/**                               r,
	/var/packages/VideoStation/INFO                                           r,
}

# webapi
/volume*/@appstore/VideoStation/ui/controller/webapi/device.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/device.cgi           r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Controller.Device {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/controller-api>
}

/volume*/@appstore/VideoStation/ui/controller/webapi/password.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/password.cgi         r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Controller.Password {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/controller-api>
}

/volume*/@appstore/VideoStation/ui/controller/webapi/playback.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/playback.cgi         r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Controller.Playback {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/controller-api>
}

/volume*/@appstore/VideoStation/ui/controller/webapi/volume.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/volume.cgi           r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Controller.Volume {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/controller-api>
}

/volume*/@appstore/VideoStation/ui/controller/ui/cgi/vtestreaming.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/vte>
	#include <abstractions/VideoStation/transcodecapability>
	#include <abstractions/VideoStation/custom-ffmpeg>

	/volume*/@appstore/VideoStation/ui/controller/ui/cgi/vtestreaming.cgi     r,
}


^/usr/syno/sbin/synoscgi//SYNO.VideoStation.AcrossLibrary {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/metadata-plugin>

	/volume*/@appstore/VideoStation/bin/plugin_runner                         px,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.AcrossLibrary {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/metadata-plugin>

	/volume*/@appstore/VideoStation/bin/plugin_runner                         px,
}

/volume*/@appstore/VideoStation/ui/webapi/audiotrack.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/ffmpeg>

	/volume*/@appstore/VideoStation/ui/webapi/audiotrack.cgi                  r,
}
# AudioTrack was replaced by SYNO.VideoStation2.File.get_track_info in webapi5

^/usr/syno/sbin/synoscgi//SYNO.VideoStation.Backdrop {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/poster>
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Backdrop {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/poster>
}

/volume*/@appstore/VideoStation/ui/webapi/channellist.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/dvb-adapter>

	/volume*/@appstore/VideoStation/ui/webapi/channellist.cgi                 r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Channel {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/dvb-adapter>
}

/volume*/@appstore/VideoStation/ui/webapi/channelscan.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/dvb-adapter>
	#include <abstractions/VideoStation/frequency>
	#include <abstractions/VideoStation/hdhomerun>

	/volume*/@appstore/VideoStation/ui/webapi/channelscan.cgi                 r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.ChannelScan {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/dvb-adapter>
	#include <abstractions/VideoStation/frequency>
	#include <abstractions/VideoStation/hdhomerun>
}

/volume*/@appstore/VideoStation/ui/webapi/collection.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/public-sharing>

	/volume*/@appstore/VideoStation/ui/webapi/collection.cgi                  r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Collection {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/public-sharing>
}

/volume*/@appstore/VideoStation/ui/webapi/dtvcontrol.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/dtvcontrol.cgi                  r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.StreamController {
	#include <abstractions/VideoStation/webapi/webapi5>
}

/volume*/@appstore/VideoStation/ui/webapi/dtvstatistic.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/dtvstatistic.cgi                r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Statistic {
	#include <abstractions/VideoStation/webapi/webapi5>
}

/volume*/@appstore/VideoStation/ui/webapi/dtvstreaming.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/dtv_streaming>
	#include <abstractions/VideoStation/transcodecapability>

	/volume*/@appstore/VideoStation/ui/webapi/dtvstreaming.cgi                r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Streaming {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/dtv_streaming>
	#include <abstractions/VideoStation/transcodecapability>
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.StreamingNonAuth {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/dtv_streaming>
}

/volume*/@appstore/VideoStation/ui/webapi/dvbsscan.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/frequency>

	/volume*/@appstore/VideoStation/ui/webapi/dvbsscan.cgi                    r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.DVBSScan {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/frequency>
}

/volume*/@appstore/VideoStation/ui/webapi/folder.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/folder>

	/volume*/@appstore/VideoStation/ui/webapi/folder.cgi                      r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Folder {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/folder>
}

/volume*/@appstore/VideoStation/ui/webapi/homevideo.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/browse>

	/volume*/@appstore/VideoStation/ui/webapi/homevideo.cgi                   r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.HomeVideo {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/browse>
}

/volume*/@appstore/VideoStation/ui/webapi/info.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/info>
	#include <abstractions/VideoStation/transcodecapability>

	/volume*/@appstore/VideoStation/ui/webapi/info.cgi                        r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Info {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/info>
	#include <abstractions/VideoStation/transcodecapability>

	/etc/VERSION															  r,
	/usr/syno/etc/codec/activation.conf										  r,
}

/volume*/@appstore/VideoStation/ui/webapi/library.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/library.cgi                     r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Library {
	#include <abstractions/VideoStation/webapi/webapi5>
}

/volume*/@appstore/VideoStation/ui/webapi/metadata.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/metadata.cgi                    r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Metadata {
	#include <abstractions/VideoStation/webapi/webapi5>
}

/volume*/@appstore/VideoStation/ui/webapi/misc.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/transcodecapability>

	/volume*/@appstore/VideoStation/ui/webapi/misc.cgi                        r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Misc {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/transcodecapability>
}

/volume*/@appstore/VideoStation/ui/webapi/movie.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/browse>

	/volume*/@appstore/VideoStation/ui/webapi/movie.cgi                       r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Movie {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/browse>
}

^/usr/syno/sbin/synoscgi//SYNO.VideoStation.OfflineConversion {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/transcodecapability>
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.OfflineConversion {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/transcodecapability>
}

^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.PluginSearch {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/metadata-plugin>

	capability chown,

	/volume*/@appstore/VideoStation/scripts/sql/pluginsearchresult.sqlite     r,
	/volume*/{,usbshare*/}@tmp/@synovideostation/{,**}                        rwk,
	/volume*/@appstore/VideoStation/bin/plugin_runner                         px,
}

/volume*/@appstore/VideoStation/bin/plugin_runner {
	#include <abstractions/ldapclient>

	/volume*/@appstore/VideoStation/bin/plugin_runner           rix,
	/lib{,32,64}/**                                             mr,
	/usr/lib{,32,64}/**                                         mr,
	/dev/null                                                   rw,
	/usr/share/zoneinfo/**                                      r,
	@{PROC}/{,**}                                               r,
	/etc/profile                                                r,
	/etc.defaults/synoinfo.conf                                 r,
	/sys/devices/system/cpu/online                              r,

	change_profile -> videostation_default_plugin,
	change_profile -> videostation_custom_metadata_plugin,

	# todo: include libsynocredentials
	capability  setuid,
	capability  setgid,
	/etc/nsswitch.conf                                          r,
	/etc/passwd                                                 r,
	/etc/group                                                  r,
}

profile videostation_default_plugin {
	#include <abstractions/curl>
	#include <abstractions/openssl>
	#include <abstractions/VideoStation/metadata-plugin>

	/bin/*                                                      rix,
	/usr/bin/*                                                  rix,
	/lib{,32,64}/**                                             mr,
	/usr/lib{,32,64}/**                                         mr,
	@{PROC}/{,**}                                               r,
	/dev/null                                                   rw,
	/usr/share/zoneinfo/**                                      r,
	/dev/tty                                                    rw,
	/run/synosdk/lock/lock_synoinfo                             rk,
	/dev/urandom                                                r,

	/tmp/{,**}                                                  rwkl,
	audit deny /tmp/syno*                                       w,

	/etc/profile                                                r,
	/etc/nsswitch.conf                                          r,
	/etc/synoinfo.conf                                          r,
	/etc/localtime                                              r,
	/etc/hosts                                                  r,
	/etc/host.conf                                              r,
	/etc/resolv.conf                                            r,
	audit deny /etc/{,**}                                       w,
}

profile videostation_custom_metadata_plugin {
	#include <abstractions/curl>
	#include <abstractions/openssl>
	#include <abstractions/VideoStation/plugin-base>
	#include <abstractions/VideoStation/python3>

	/bin/*                                                      rix,
	/usr/bin/*                                                  rix,
	/lib{,32,64}/**                                             mr,
	/usr/lib{,32,64}/**                                         mr,
	@{PROC}/{,**}                                               r,
	/dev/null                                                   rw,
	/usr/share/zoneinfo/**                                      r,
	/dev/tty                                                    rw,
	/volume*/@appstore/VideoStation/plugins/syno_plugin_tester/{,**}				r,
	/volume*/@VideoStation/plugins/{,**}                        rwk,
	/dev/urandom                                                r,

	/tmp/{,**}                                                  rwkl,
	audit deny /tmp/syno*                                       w,

	/etc/profile                                                r,
	/etc/nsswitch.conf                                          r,
	/etc/localtime                                              r,
	/etc/hosts                                                  r,
	/etc/host.conf                                              r,
	/etc/resolv.conf                                            r,
	audit deny /etc/{,**}                                       w,

	network inet stream,
	network inet6 stream,
	network inet dgram,
	network inet6 dgram,
}

/volume*/@appstore/VideoStation/ui/webapi/poster.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/poster>

	/volume*/@appstore/VideoStation/ui/webapi/poster.cgi                      r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Poster {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/poster>
}

/volume*/@appstore/VideoStation/ui/webapi/programlist.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/dvb-adapter>

	/volume*/@appstore/VideoStation/ui/webapi/programlist.cgi                 r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Program {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/dvb-adapter>
}

/volume*/@appstore/VideoStation/ui/webapi/schedule_recording.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/dtv_schedule>

	/volume*/@appstore/VideoStation/ui/webapi/schedule_recording.cgi          r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Schedule {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/dtv_schedule>
}

/volume*/@appstore/VideoStation/ui/webapi/sharing.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/public-sharing>

	/volume*/@appstore/VideoStation/ui/webapi/sharing.cgi                     r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Sharing {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/public-sharing>
}

/volume*/@appstore/VideoStation/ui/webapi/subtitle.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/subtitle>

	/volume*/@appstore/VideoStation/ui/webapi/subtitle.cgi                    r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Subtitle {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/subtitle>

	/volume*/@appstore/SynologyDrive/webapi/drive/SYNO.SynologyDrive.lib 	  rk,
}

/volume*/@appstore/VideoStation/ui/webapi/tuner.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/tuner.cgi                       r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.DTV.Tuner {
	#include <abstractions/VideoStation/webapi/webapi5>
}

/volume*/@appstore/VideoStation/ui/webapi/tvrecord.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/browse>

	/volume*/@appstore/VideoStation/ui/webapi/tvrecord.cgi                    r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.TVRecording {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/browse>
}

/volume*/@appstore/VideoStation/ui/webapi/tvshow.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/tvshow>

	/volume*/@appstore/VideoStation/ui/webapi/tvshow.cgi                      r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.TVShow {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/tvshow>
}

/volume*/@appstore/VideoStation/ui/webapi/tvshow_episode.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/browse>

	/volume*/@appstore/VideoStation/ui/webapi/tvshow_episode.cgi              r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.TVShowEpisode {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/browse>
}

/volume*/@appstore/VideoStation/ui/webapi/video.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/file>

	/volume*/@appstore/VideoStation/ui/webapi/video.cgi                       r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.File {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/file>
}

^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Screenshot {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/screenshot>
}

/volume*/@appstore/VideoStation/ui/webapi/vtestreaming.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>
	#include <abstractions/VideoStation/webapi/vtestreaming>
	#include <abstractions/VideoStation/transcodecapability>
	#include <abstractions/VideoStation/custom-ffmpeg>

	/volume*/@appstore/VideoStation/ui/webapi/vtestreaming.cgi                r,
}
^/usr/syno/sbin/synoscgi//SYNO.VideoStation2.Streaming {
	#include <abstractions/VideoStation/webapi/webapi5>
	#include <abstractions/VideoStation/webapi/vtestreaming>
	#include <abstractions/VideoStation/transcodecapability>
	#include <abstractions/VideoStation/custom-ffmpeg>

	/volume*/@appstore/SynologyDrive/webapi/drive/SYNO.SynologyDrive.lib rk,
}

/volume*/@appstore/VideoStation/ui/webapi/watchstatus.cgi {
	#include <abstractions/VideoStation/webapi/legacy_webapi>

	/volume*/@appstore/VideoStation/ui/webapi/watchstatus.cgi                 r,
}
# WatchStatus was replaced by SYNO.VideoStation2.File.set_watchstatus in webapi5

/volume*/@appstore/VideoStation/sbin/synodtvd {
	#include <abstractions/VideoStation/synodtvd>
}

/volume*/@appstore/VideoStation/sbin/synovideoindexd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/index-queue>
	#include <abstractions/VideoStation/metadata-plugin>
	#include <abstractions/VideoStation/ffmpeg>

	capability mknod,

	/volume*/@appstore/VideoStation/bin/synovideoindex						ix,
	/volume*/**/@eaDir/**/{,*.jpg}											rwk,
	/volume*/@appstore/VideoStation/bin/plugin_runner						px,
}

/volume*/@appstore/VideoStation/sbin/synovideometadatad {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/index-queue>
	#include <abstractions/VideoStation/metadata-plugin>
	#include <abstractions/VideoStation/ffmpeg>
	#include <abstractions/VideoStation/poster>

	capability chown,
	capability mknod,

	network    inet  dgram,

	/volume*/**/*.vsmeta													rwk,
	/volume*/**/@eaDir/**/{,*.jpg}											rwk,
	/volume*/@appstore/VideoStation/bin/plugin_runner						px,
}

/volume*/@appstore/VideoStation/sbin/synovpcd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/VideoStation/base>
	#include <abstractions/VideoStation/vte>
	#include <abstractions/VideoStation/transcodecapability>

	capability block_suspend,
	capability fowner,

	/volume*/**/@eaDir/{,**}												rwkl,
	/usr/syno/etc.defaults/mimetypes.txt									r,
	/etc/{dhclient,dhcpc}/{,**}												r,
	/usr/share/samba/codepages/{,**}										r,
}

# vim:ft=apparmor
