128 Commits

Author SHA1 Message Date
Fred Gleason
c92b4dc703 2023-06-29 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDCoreApplication::isUniqueProcess()' static method.
	* Added processuniqueness checks to caed(8), rdairplay(1),
	rdrepld(8), rdrssd(8), rdservice(8), rdvairplayd(8), ripcd(8) and
	rdalsaconfig(8).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-06-29 14:54:48 -04:00
Fred Gleason
4e88ca5f0c 2023-06-09 Fred Gleason <fredg@paravelsystems.com>
* Removed the '#define RD_DEFAULT_MAX_POST_LENGTH' statement from
	'lib/rd.h'.
	* Added a '#define RD_MAX_POST_LENGTH' statement in 'lib/rd.h'.
	* Removed the 'RDSystem::maxPostLength()' and
	'RDSystem::setMaxPostLength()' methods.
	* Removed the 'Maximum Remote Post Length' control from the
	'System-Wide Settings' dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-06-09 11:31:02 -04:00
Fred Gleason
210bb8bca7 2023-06-01 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that would cause 'failed to load translation file'
	warnings to be sent to the Apache error log.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-06-01 15:48:34 -04:00
Fred Gleason
cb290a2226 2023-05-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the podcasting subsystem that could cause SFTP
	operations to fail due to unknown SSH host certificates.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-25 11:21:31 -04:00
Fred Gleason
40cb18a27f 2023-05-17 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the rdxport service that caused temporary
	directories to be left behind after processing audio imports.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-17 15:01:29 -04:00
Fred Gleason
5eb1c39231 2023-05-17 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the WebAPI that caused imports to bypass the
	maximum file size limitation set the 'System Settings' in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-17 13:19:59 -04:00
Fred Gleason
201efece01 2023-05-15 Fred Gleason <fredg@paravelsystems.com>
* Remote debugging printf()s from 'web/rdxport/podcasts.cpp'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-15 16:25:10 -04:00
Fred Gleason
ff63adcf3c 2023-05-14 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CDN_PURGE_PLUGIN_PATH' field to the database.
	* Incremented the database version to 369.
	* Added ' RDFeed::cdnPurgePluginPath()' and
	'RDFeed::setCdnPurgePluginPath()' methods.
	* Removed the RD_MODULES_DIR #define from 'lib/rd.h'.
	* Changed the RD_PYPAD_SCRIPT_DIR #define in 'lib/rd.h' to be
	a static value of "/usr/lib/rivendell/pypad".
	* Added a 'CDN Purge Plug-In' control to the 'Feed' dialog in
	rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-14 08:56:49 -04:00
Fred Gleason
afd6a67cd5 2023-05-08 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.SHA1_HASH' field to the database.
	* Incremented the database version to 368.
	* Added 'RDFeed::sha1Hash()' and 'RDFeed::setSha1Hash()' methods.
	* Added a 'RDSha1HashData()' function.
	* Optimized the podcasting subsystem so as to upload feed XML only
	when the XML contents have actually changed.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-08 13:23:01 -04:00
Fred Gleason
47d30f803e 2023-05-062023-05-06 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RSS reports in rdadmin(1) to include information on
	missing	items.
	* Modified the feed report in rdcastmanager to include information
	on missing items.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-06 11:17:44 -04:00
Fred Gleason
3cf2fe1ce4 2023-04-27 Fred Gleason <fredg@paravelsystems.com>
* Removed a 'RDFeed::generateReport()' methods.
	* Added a 'DownloadRss()' method to the WebAPI.
	* Added a 'RDXsltEngine' class.
	* Added a 'Generate Front Report' item to the right-click menu in
	the 'Podcast Feeds' list in the 'Rivendell Feed List' dialog in
	rdadmin(1).
	* Added a 'Generate Back Report' item to the right-click menu in
	the 'Podcast Feeds' list in the 'Rivendell Feed List' dialog in
	rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-04-27 16:55:54 -04:00
Fred Gleason
d33fae60a7 2022-11-17 Fred Gleason <fredg@paravelsystems.com>
* Simplified error return descriptions for the podcast methods in
	the Web API.
	* Removed the 'RDFeed::Error' enumeration.
	* Removed the 'RDFeed::errorString()' method.
	* Fixed bugs in rdcatchd(8) in handling errors when posting to
	RSS feeds.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-17 15:55:26 -05:00
Fred Gleason
7beec8dba1 2022-11-16 Fred Gleason <fredg@paravelsystems.com>
* Added a 'QString *err_msg' argument to 'RDDownload::runDownload()'.
	* Added a 'QString *err_msg' argument to 'RDDownload::runUpload()'.
	* Fixed regression in rdcatch(1) that caused upload and download
	events to fail to show exit status correctly.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-16 15:31:40 -05:00
Fred Gleason
4a3454cb8d 2022-11-07 Fred Gleason <fredg@paravelsystems.com>
* Added a dependency for ImageMagick's 'Magick++' library interface.
	* Added a 'FEED_IMAGES.DATA_MID_THUMB' field to the database.
	* Added a 'FEED_IMAGES.DATA_SMALL_THUMB' field to the database.
	* Incremented the database version to 365.
	* Optimized loading of thumbnail image data in rdadmin(1),
	rdcastmanager(1) and rdcatch(1).
	* Re-enabled uploads to RSS feeds in rdcatch(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-07 16:52:13 -05:00
Fred Gleason
2fbc9681b4 2022-03-25 Fred Gleason <fredg@paravelsystems.com>
* Reverted the following changes:
	2022-03-09 Fred Gleason <fredg@paravelsystems.com>
 	  * Fixed a regression in rdlogedit(1) that caused events from
	  previously viewed logs to be prepended to subsequent logs viewed
	  during the same session.
	2022-03-09 Fred Gleason <fredg@paravelsystems.com>
	  * Refactored the 'RDAddLog' dialog to allow for instance reuse.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-03-25 12:04:39 -04:00
Fred Gleason
3a41e13afd 2022-03-09 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDAddLog' dialog to allow for instance reuse.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-03-09 15:42:55 -05:00
Fred Gleason
b519674128 2021-12-12 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdxport(8) that caused the 'SaveLog' WebAPI call
	to fail if the target log didn't exist.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-12-12 14:59:57 -05:00
Fred Gleason
04ea0f0ca6 2021-11-11 Fred Gleason <fredg@paravelsystems.com>
* Removed debugging code from 'web/rdxport/carts.cpp'.
	* Removed debugging code from 'apis/rivwebpyapi/api/rivwebpyapi.py'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-11-11 17:12:04 -05:00
Fred Gleason
5bb2211cea 2021-11-11 Fred Gleason <fredg@paravelsystems.com>
* Added a 'ListCarts()' method to the 'rivwebpyapi' API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-11-11 16:35:11 -05:00
Fred Gleason
5226c7c926 2021-11-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the rdxport.cgi service that caused XML output
	to be encoded with the incorrect character set.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-11-08 16:46:45 -05:00
Fred Gleason
ac594cc68b 2021-09-01 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up deprecation warnings for 'QString::sprintf()'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-09-01 19:59:37 -04:00
Fred Gleason
75c04995e7 2021-07-17 Fred Gleason <fredg@paravelsystems.com>
* Disabled host key validation for SFTP transfers in the podcast
	subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-07-17 09:27:53 -04:00
Fred Gleason
8289db9f9e 2021-07-16 Fred Gleason <fredg@paravelsystems.com>
* Modified the error dialogs in rdadmin(1) to make it possible
	to create a new RSS feed even with an inoperable upload URL.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-07-16 14:50:52 -04:00
Fred Gleason
ad1dd66629 2021-06-02 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up compile warnings in rdxport.cgi.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-06-02 17:34:32 -04:00
Fred Gleason
9a65658267 2021-04-27 Fred Gleason <fredg@paravelsystems.com>
* Changed the 'RDAIRPLAY_EXIT_PASSWORD' field from 'varchar(41)'
	to 'varchar(48)'.
	* Incremented the database version to 349.
	* Renamed the 'RDSha1Hash()' function to 'RDSha1HashFile()'.
	* Added 'RDSha1HashPassword()' function in 'lib/rdhash.[cpp|h]'.
	* Added 'RDSha1HashCheckPassword()' function in 'lib/rdhash.[cpp|h]'.
	* Changed the hashing algorithm used for the Exit Password for
	rdairplay(1) to salted SHA1.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-27 16:52:26 -04:00
Fred Gleason
65d249a9e1 2021-04-26 Fred Gleason <fredg@paravelsystems.com>
* Fixed regressions caused by changes in behavior in the null
	constructor of 'QTime' between Qt4 and Qt5.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-26 11:28:14 -04:00
Fred Gleason
703299899c 2021-04-23 Fred Gleason <fredg@paravelsystems.com>
* Escaped all SQL identifiers in 'web/rdxport/'.
	* Replaced " with ' delimiters in all SQL literal strings in
	'web/rdxport/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-23 13:55:42 -04:00
Fred Gleason
c5ab8337de 2021-04-15 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'rdxport.cgi' that broke the build when compiling
	without the '--enable-rdxport-debug' switch.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-15 12:01:50 -04:00
Fred Gleason
3cd1001d51 2021-03-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression rdxport.cgi that caused early termination
	of CGI processes.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-03-08 17:03:35 -05:00
Fred Gleason
57abeada3c 2021-02-24 Fred Gleason <fredg@paravelsystems.com>
* Updated build system to use Qt5 instead of Qt4.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-24 16:12:22 -05:00
Fred Gleason
89a0d72439 2021-02-23 Fred Gleason <fredg@paravelsystems.com>
* Removed the Qt3Support library from the build system.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-23 18:07:21 -05:00
Fred Gleason
a3525c88e2 2021-01-20 Fred Gleason <fredg@paravelsystems.com>
* Split the 'RDApplication' class into the base class
	'RDCoreApplication' and 'RDApplication'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-01-20 19:50:24 -05:00
Fred Gleason
ca7ead3ea3 2020-12-27 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'RDLogEvent' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-12-27 17:20:58 -05:00
Fred Gleason
b4002b2357 2020-11-06 Fred Gleason <fredg@paravelsystems.com>
* Consolidated ticket processing operations in new
	'RDUser::createTicket()' and 'RDUser::ticketIsValid()' methods.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-06 16:42:10 -05:00
Fred Gleason
169e0e9baa 2020-10-29 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDFormPost::authenticate()' method.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-10-29 16:05:09 -04:00
Fred Gleason
4bc6a54052 2020-10-15 Fred Gleason <fredg@paravelsystems.com>
* 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>
2020-10-15 09:41:02 -04:00
Fred Gleason
49fec8296e 2020-09-29 Fred Gleason <fredg@paravelsystems.com>
* Added debugging messages to syslog for the podcasting subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-29 18:48:49 -04:00
Fred Gleason
944e14bb6d 2020-09-29 Fred Gleason <fredg@paravelsystems.com>
* Added debugging messages to syslog for the podcasting subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-29 13:43:33 -04:00
Fred Gleason
24d0080511 2020-09-23 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdxport.cgi(1) that caused segfaults when
	processing the 'PostRss' for feeds enclosed by one or more
	superfeeds.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-24 16:56:33 -04:00
Fred Gleason
c1fce3006e 2020-09-22 Fred Gleason <fredg@paravelsystems.com>
* Implemented the 'Repost' button on the 'Rivendell Feed List'
	dialog in rdadmin(1).
	* Added an 'Unpost' button to the 'Rivendell Feed List' dialog
	in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-23 16:41:13 -04:00
Fred Gleason
9ae7f909cb 2020-09-22 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PostImage' method to the Web API.
	* Added a 'RemoveImage' method to the Web API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-23 13:11:11 -04:00
Fred Gleason
5a549b7866 2020-09-21 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PostPodcast' method to the Web API.
	* Added a 'RemovePodcast' method to the Web API.
	* Added a 'PostRss' method to the Web API.
	* Added a 'RemoveRss' method to the Web API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-22 15:20:01 -04:00
Fred Gleason
6d3a60d174 2020-09-21 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PODCASTS.SHA1_HASH' field to the database.
	* Incremented the database version to 335.
	* Added 'RDPodcast::sha1Hash()' and 'RDPodcast::setSha1Hash()'
	methods.
	* Implemented audio relinking for podcast media files.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-21 10:24:00 -04:00
Fred Gleason
6516c20ff6 2020-09-17 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDUser::feedAuthorized()' method.
	* Added a 'SavePodcast' method to the Web API.
	* Added a 'GetPodcast' method to the Web API.
	* Added a 'DeletePodcast' method to the Web API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-17 16:19:26 -04:00
Fred Gleason
f036872fd6 2020-01-28 Fred Gleason <fredg@paravelsystems.com>
* Added a 'libmusicbrainz5' dependency.
	* Added a 'libdiscid' dependency.
	* Added a 'readcd_test' test harness.
2020-01-28 17:26:09 -05:00
Fred Gleason
525573a245 2019-12-09 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the rdxport service that could cause MODIFY
	notifications to fail to be sent by the 'SaveLog' WebAPI call.
2019-12-09 01:05:13 -05:00
Fred Gleason
8a2dd87545 2019-10-28 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in 'rdxport.cgi' that caused a check of the
	Rivendell services to be triggered each time a WebAPI function was
	invoked.
2019-10-28 15:27:40 -04:00
Fred Gleason
ac4d9305bc 2019-06-25 Fred Gleason <fredg@paravelsystems.com>
* Adjusted to priority of 'operations' system events to use
	LOG_INFO priority.
2019-06-25 15:08:12 -04:00
Fred Gleason
f50447eb8b 2019-06-21 Fred Gleason <fredg@paravelsystems.com>
* Added 'RDApplication::syslog()' methods.
2019-06-24 16:40:18 -04:00
Fred Gleason
a094fbc788 2019-06-17 Fred Gleason <fredg@paravelsystems.com>
* Refactored logging system to use syslog(3) exclusively.
	* Removed the 'Facility=', 'LogDirectory=', 'CoreDumpDirectory='
	and 'LogPattern=' directives from rd.conf(5).
2019-06-17 17:46:26 -04:00