* Added a 'RDApplication::logAuthenticationFailure()' method.
* Added a sample Fail2Ban jail filter for the WebAPI in
'conf/rivendell-webapi.conf'.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added 'RD_PostPodcast()', 'RDRemovePodcast()' and
'RD_SavePodcast()' calls to the rivwebcapi API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'SYSTEM.RSS_PROCESSOR_STATION' field to the database.
* Added a 'PODCASTS.EXPIRATION_DATETIME' field to the database.
* Dropped the 'PODCASTS.SHELF_LIFE' field from the database.
* Incremented the database version to 329.
* Modified convention to use local system time for all podcast
components.
* Added 'RDPodcast::expirationDateTime()' and
'RDPodcast::setExpirationDateTime()' methods.
* Removed 'RDPodcast::shelfLife()' and 'RDPodcast::setShelfLife()'
methods.
* Added an rdrssd(8) daemon.
* Removed the rdpurgecasts(8) utility.
* Added 'RDSystem::rssProcessorStation()' and
'RDSystem::setRssProcessorStation()' methods.
* Added a 'Process RSS Updates' control to the 'System-Wide Settings'
dialog in rdadmin(1).
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Dropped the 'FEEDS.AUDIENCE_METRICS' field from the database.
* Dropped the 'FEEDS.KEEP_METADATA' field from the database.
* Dropped the 'FEEDS.MEDIA_LINK_MODE' field from the database.
* Dropped the 'FEEDS.REDIRECT_PATH' field from the database.
* Dropped the 'CAST_DOWNLOADS' table from the database.
* Incremented the database version to 328.
* Removed support for dynamically generated RSS feed metadata.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'pypad-shoutcast1.py' script that threw an
exception when processing PAD containing multi-type UTF-8 characters.
* Added a 'python36-urllib3' dependency to the 'rivendell-pypad'
RPM package.
* Changed the value of RD_DEFAULT_PYPAD_OWNER to 'pypad'.
* Changed the value of RD_DEFAULT_PYPAD_GROUP to 'pypad'.
* Fixed a bug that caused creation of the 'pypad' system user
to fail.
* Changed the PyPAD namespace from 'PyPAD' to 'pypad'.
* Changed the installation location of PyPAD scripts from
'@libdir@/rivendell/PyPAD/' to '@libdir@/rivendell/pypad/'.
* Modified the 'rivendell-opsguide' RPM package to be 'noarch'.
* Added the components of the 'rivendell-opsguide' subpackage to
the 'rivendell' RPM package.
* Consolidated the implementation of the 'RDProfile' class into
two files.
* Added an rdselect_helper(1) SETUID helper program.
* Removed the SETUID bit from rdselect(1).
* Removed the 'evince', 'firefox' and 'rivendell' dependencies
from the RPM 'opsguide' sub-package.
* Removed the 'qt-devel' dependency from the RPM 'rivendell'
package.
* Modified rdservice(8) to log errors to syslog.
* Added an rdservice(8) man page.
* Modified 'systemd/rivendell.service.in' to enable automatic
start retries.
* Added an 'RD_ListCartCuts()' function to 'rivwebcapi'.
* Changed the length of the 'cut_name' member of the 'rd_cut' struct
from 11 to 41 in 'rivwebcapi'.
* Added a 'struct rd_cut *cart_cuts' member to the 'rd_cart' struct
in 'rivwebcapi'.