aboutsummaryrefslogtreecommitdiff
path: root/xbmc/addons
AgeCommit message (Collapse)Author
2018-05-22threads/Thread: move class IRunnable to separate headerMax Kellermann
Allows reducing header dependencies.
2018-05-22[curl] add url option to disable peer verificationRechi
2018-05-17[Android] add addon getter for main class name (org/xbmc/kodi)peak3d
2018-05-15Merge pull request #13864 from afedchin/cppwinrtAnton Fedchin
[win10] migration from C++/CX to C++/WinRT
2018-05-13PVRClient: protect access to m_timertypesMax Kellermann
Probably many more attributes need to be protected, but this commit aims to fix just this crash bug: ``` ==2579==ERROR: AddressSanitizer: heap-use-after-free on address 0x611003c48200 at pc 0x555558929511 bp 0x7fffc7fc2710 sp 0x7fffc7fc2708 READ of size 8 at 0x611003c48200 thread T168 (PVRManager) #0 0x555558929510 in std::_Sp_counted_ptr<PVR::CPVRTimerType*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d5510) #1 0x555557165886 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x1c11886) #2 0x555557162ff9 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x1c0eff9) #3 0x555558913621 in std::__shared_ptr<PVR::CPVRTimerType, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33bf621) #4 0x555558913663 in std::shared_ptr<PVR::CPVRTimerType>::~shared_ptr() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33bf663) #5 0x555558926430 in void std::_Destroy<std::shared_ptr<PVR::CPVRTimerType> >(std::shared_ptr<PVR::CPVRTimerType>*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d2430) #6 0x555558924b2e in void std::_Destroy_aux<false>::__destroy<std::shared_ptr<PVR::CPVRTimerType>*>(std::shared_ptr<PVR::CPVRTimerType>*, std::shared_ptr<PVR::CPVRTimerType>*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d0b2e) #7 0x5555589201a7 in void std::_Destroy<std::shared_ptr<PVR::CPVRTimerType>*>(std::shared_ptr<PVR::CPVRTimerType>*, std::shared_ptr<PVR::CPVRTimerType>*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33cc1a7) #8 0x55555891a094 in void std::_Destroy<std::shared_ptr<PVR::CPVRTimerType>*, std::shared_ptr<PVR::CPVRTimerType> >(std::shared_ptr<PVR::CPVRTimerType>*, std::shared_ptr<PVR::CPVRTimerType>*, std::allocator<std::shared_ptr<PVR::CPVRTimerType> >&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33c6094) #9 0x555558916a51 in std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > >::~vector() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33c2a51) #10 0x555558e3fe5b in PVR::CPVRTimerType::CreateFromAttributes(unsigned int, unsigned int, int) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38ebe5b) #11 0x555558e0ac61 in PVR::CPVRTimerInfoTag::CPVRTimerInfoTag(bool) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38b6c61) #12 0x555558e26831 in PVR::CPVRTimers::UpdateEntries(PVR::CPVRTimersContainer const&, std::vector<int, std::allocator<int> > const&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38d2831) #13 0x555558e24fa6 in PVR::CPVRTimers::Update() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38d0fa6) #14 0x555558e24b11 in PVR::CPVRTimers::Load() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38d0b11) #15 0x555558fd3397 in PVR::CPVRManager::LoadComponents(PVR::CPVRGUIProgressHandler*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x3a7f397) #16 0x555558fd2362 in PVR::CPVRManager::Process() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x3a7e362) #17 0x555558038fe0 in CThread::Action() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x2ae4fe0) #18 0x5555580386cc in CThread::staticThread(void*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x2ae46cc) #19 0x7ffff6c0e5a9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x75a9) #20 0x7fffee013cbe in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xf6cbe) 0x611003c48200 is located 0 bytes inside of 216-byte region [0x611003c48200,0x611003c482d8) freed by thread T166 (JobWorker) here: #0 0x7ffff6f01040 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdc040) #1 0x555558e4071b in PVR::CPVRTimerType::~CPVRTimerType() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x38ec71b) #2 0x555558929540 in std::_Sp_counted_ptr<PVR::CPVRTimerType*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d5540) #3 0x555557165886 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x1c11886) #4 0x55555738a63a in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x1e3663a) #5 0x555558926844 in std::__shared_ptr<PVR::CPVRTimerType, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<PVR::CPVRTimerType, (__gnu_cxx::_Lock_policy)2> const&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d2844) #6 0x55555892686e in std::shared_ptr<PVR::CPVRTimerType>::operator=(std::shared_ptr<PVR::CPVRTimerType> const&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d286e) #7 0x5555589268b8 in std::shared_ptr<PVR::CPVRTimerType>* std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m<std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType>*>(std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType>*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d28b8) #8 0x555558924ed2 in std::shared_ptr<PVR::CPVRTimerType>* std::__copy_move_a<false, std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType>*>(std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType> const*, std::shared_ptr<PVR::CPVRTimerType>*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33d0ed2) #9 0x55555892094e in __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > > >(__gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33cc94e) #10 0x55555891b4ad in __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > > std::copy<__gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > > >(__gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType> const*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<PVR::CPVRTimerType>*, std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > >) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33c74ad) #11 0x55555891757f in std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > >::operator=(std::vector<std::shared_ptr<PVR::CPVRTimerType>, std::allocator<std::shared_ptr<PVR::CPVRTimerType> > > const&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x33c357f) #12 0x5555588e314e in PVR::CPVRClient::GetAddonProperties() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x338f14e) #13 0x555558f89eec in PVR::CPVRClients::ConnectionStateChange(PVR::CPVRClient*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, PVR_CONNECTION_STATE, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x3a35eec) #14 0x55555904915e in PVR::CPVRClientConnectionJob::DoWork() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x3af515e) #15 0x555557ea8995 in CJobWorker::Process() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x2954995) #16 0x555558038fe0 in CThread::Action() (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x2ae4fe0) #17 0x5555580386cc in CThread::staticThread(void*) (/usr/local/stow/kodi-asan/lib/kodi/kodi-x11+0x2ae46cc) #18 0x7ffff6c0e5a9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x75a9) ```
2018-05-11[xbmc] remove some deprecatesAnton Fedchin
2018-05-07fix cancel of GetDirectoryRainer Hochecker
2018-05-03Merge pull request #13796 from rmrector/service-addon-starttamland
[addons] service add-ons start and stop on profile login and logout
2018-05-02[addons] no service add-ons before profile loginRyan Rector
Remove the option `start="startup"` from service add-ons, they all start at profile login.
2018-05-01remove BusyDialog from filesystemRainer Hochecker
2018-04-29[PVR][dialogs] CGUIDialogNumeric::ShowAndVerifyInput - expose 'canceled' ↵Kai Sommerfeld
state. Adapt callers (e.g. CPVGUIACtions parental check methods) not to show error messages if dialog was canceled.
2018-04-19Merge pull request #13647 from pkerling/addon-sslpkerling
Verify add-on zip authenticity
2018-04-17Merge pull request #13776 from ksooo/guiinfo-kill-infomanager-globalKai Sommerfeld
Kill infomanager global
2018-04-16[guiinfo] Move CGUIInfo* classes from 'guilib' to 'guilib/guinfo', including ↵Kai Sommerfeld
namespace change to GUILIB::GUIINFO.
2018-04-16Kill global CGUIInfoManager.Kai Sommerfeld
2018-04-15more use dynPath instead of changing path (id)Rainer Hochecker
2018-04-11[cleanup][freebsd] remove FreeBSDGNUReplacementsRechi
2018-04-11[cleanup][darwin] remove OSXGNUReplacementsRechi
2018-04-08have ServiceBroker return a pointer for WinSystemRechi
2018-04-07Merge pull request #13737 from FernetMenta/leftoverRainer Hochecker
AE: drop dsp leftovers
2018-04-07Merge pull request #13720 from rbuehlma/start_offset_for_pvr_streamsKai Sommerfeld
Allow a PVR addon to set a start offset of a stream to be played
2018-04-06Allow a PVR to provide an EDL for an EPG tagRené Bühlmann
2018-04-06[addons] Utilize TypedDigestPhilipp Kerling
2018-04-06kill g_textureManager and g_largeTextureManagerRainer Hochecker
2018-04-06kill global g_graphicsContextRainer Hochecker
2018-04-06move GraphicsContext from guilib to windowingRainer Hochecker
2018-04-05[addons] Validate addon versionPhilipp Kerling
2018-04-05[addons] Validate addons.xml against provided hashPhilipp Kerling
2018-04-05[addons] Validate addon identifierPhilipp Kerling
2018-04-05[addons] Switch file hashes to sha256Philipp Kerling
MD5 is known to be insecure for some time now.
2018-04-05[addons] Allow specifying separate URL for add-on artPhilipp Kerling
Needed so we do not overload the mirror redirector with SSL requests (when datadir is set to an HTTPS URL)
2018-04-05[addons] Refactor CRepository::FromExtensionPhilipp Kerling
2018-04-05[addons] Verify package authenticity via mirror redirectorPhilipp Kerling
2018-04-05drop more dsp leftoversRechi
2018-04-04drop leftovers from audio dsp removalRainer Hochecker
2018-04-03Use generic digest implementation instead of XBMC_MD5Philipp Kerling
2018-04-01remove Audio DSP, it is unmaintained and not in a working stateRainer Hochecker
2018-04-01remove yes-no dialog from DeleteItemRainer Hochecker
2018-04-01kill global g_windowManager, co-author Rechi'Rainer Hochecker
2018-03-31[Binary Addon] generic interface provider functionalitypeak3d
2018-03-21[cpluff] link with cpluff instead of loading it dynamicRechi
2018-03-12Merge pull request #12857 from phate89/use_our_api_scrapersphate89
Use our api to set info on python scrapers
2018-03-12Merge pull request #13519 from malaterre/scan-video-titleArne Morten Kvarving
Scan video title
2018-02-28Start using the movie title & year APIMathieu Malaterre
Signed-off-by: Mathieu Malaterre <mathieu.malaterre@gmail.com>
2018-02-28Extend API to pass Movie Title & Year directlyMathieu Malaterre
Signed-off-by: Mathieu Malaterre <mathieu.malaterre@gmail.com>
2018-02-27[cleanup] drop support for GCC lower than 4.2Rechi
2018-02-18Use our existing python api to set info in video python scrapersphate89
2018-02-18Add support for nfo url to python scrapersUnknown
2018-02-17[cleanup] remove system.h includesRechi
2018-02-15Game API v1.0.36: Controller topology (hub support)Garrett Brown