81 Commits

Author SHA1 Message Date
Fred Gleason
fec324abd8 2018-05-31 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that broke the build on RHEL 6.
2018-05-31 17:12:46 -04:00
Fred Gleason
9e215e311f 2018-05-24 Fred Gleason <fredg@paravelsystems.com>
* Added a WebGet web service.
2018-05-25 01:00:43 +00:00
Fred Gleason
de202521da 2018-03-25 Fred Gleason <fredg@paravelsystems.com>
* Added support for log notifications to the RDXport service.
2018-03-25 16:20:56 -04:00
Fred Gleason
471c6498fd 2018-03-21 Fred Gleason <fredg@paravelsystems.com>
* Added support for cart notifications to the RDXport service.
	* Added support for notifications to rdimport(1).
2018-03-21 15:54:50 -04:00
Fred Gleason
7835be386e Merged from 'refactor' 2018-02-24 09:19:33 -05:00
Fred Gleason
8f1bd700cd 2018-02-15 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SERVICES.LOG_SHELFLIFE_ORIGIN' field to the database.
	* Incremented the database version to 275.
	* Added a drop-down control to the 'Set Logs to auto-delete' control
	to allow origin to be specified in the 'Edit Service' dialog in
	rdadmin(1).
2018-02-15 09:39:37 -05:00
Fred Gleason
948ccf4d8f 2018-02-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a typo in an error message for the 'CopyAudio' web API call.
2018-02-14 18:17:21 -05:00
Fred Gleason
e305344e6b 2018-02-04 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDAudioConvert class to use RDApplication.
	* Converted rdcatchd(8) to use RDApplication.
2018-02-04 06:18:52 -05:00
Fred Gleason
0b59fa865a 2018-02-03 Fred Gleason <fredg@paravelsystems.com>
* Converted rdxport.cgi to use RDApplication.
2018-02-02 19:18:58 -05:00
Fred Gleason
a78fbf5232 2018-02-03 Fred Gleason <fredg@paravelsystems.com>
* Converted rdfeed.xml to use RDApplication.
2018-02-02 18:25:49 -05:00
Fred Gleason
afc426226c 2018-02-03 Fred Gleason <fredg@paravelsystems.com>
* Converted rdcastmanager.cgi to use RDApplication.
2018-02-02 18:06:09 -05:00
Fred Gleason
f692a3ac0d 2018-01-30 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDApplication'class.
	* Converted rdlibrary(1) to use RDApplication.
2018-01-30 03:57:04 -05:00
Fred Gleason
c63ae45991 2018-01-03 Fred Gleason <fredg@paravelsystems.com>
* Fixed races in creation of new carts.
2018-01-03 15:36:45 -05:00
Fred Gleason
97a6045992 2017-12-21 Fred Gleason <fredg@paravelsystems.com>
* Added log locking logic to the 'SaveLog' Web API call.
2017-12-21 11:47:34 -05:00
Fred Gleason
aec8bba723 2017-12-20 Fred Gleason <fredg@paravelsystems.com>
* Added a 'LOGS.LOCK_GUID' field to the database.
	* Incremented the database version to 274.
	* Added a 'LockLog' call to the Web API.
2017-12-20 18:16:22 -05:00
Fred Gleason
5b75716f4a 2017-12-14 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDTempDirectory' class.
	* Fixed a race in the 'Export' Web API call.
2017-12-14 13:20:02 -05:00
Fred Gleason
6cbe0d9a70 2017-12-04 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'ListLogs' Web API call that caused inconsistent
	results with filter strings with leading or trailing whitespace.
2017-12-04 18:52:45 -05:00
Fred Gleason
a8ae9f9bfa 2017-12-01 Fred Gleason <fredg@paravelsystems.com>
* Added an 'Engine=' directive to the [MySQL] section of
	rd.conf(5).
	* Refactored the schema update code to use standard form
	in rdadmin(1).
2017-12-01 17:37:37 -05:00
Fred Gleason
cbba0eb10a 2017-11-28 Fred Gleason <fredg@paravelsystems.com>
* Implemented application of the 'Purge Logs' setting when creating
	logs manually.
	* Changed the wording of the 'Purge Logs' and 'Purge ELR Data'
	control in the Edit Service dialog in rdadmin(1).
	* Added 'RDLog::create()' and 'RDLog::remove()' static methods.
2017-11-28 12:41:45 -05:00
Fred Gleason
d55a3b9115 2017-11-28 Fred Gleason <fredg@paravelsystems.com>
* Added a 'USER_SERVICE_PERMS' table to the database.
	* Incremented the database version to 272.
	* Added a 'Service Permissions' button to the Edit User dialog in
	rdadmin(1).
2017-11-28 09:01:42 -05:00
Fred Gleason
c557277fd3 2017-11-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'List Logs' Web API call that broke searches
	when the 'RECENT' parameter was set.
2017-11-08 10:47:28 -05:00
Fred Gleason
83d36698a0 2017-11-08 Fred Gleason <fredg@paravelsystems.com>
* Added 'FILTER' and 'RECENT' call parameters to the 'ListLogs' Web
	API call.
2017-11-08 10:25:39 -05:00
Fred Gleason
52d1d8be52 2017-10-15 Fred Gleason <fredg@paravelsystems.com>
* Added a 'STATIONS.SHORT_NAME' field to the database.
	* Incremented the database version to 270.
	* Added 'RDStation::shortName()' and 'RDStation::setShortName()'
	methods.
	* Removed the 'Broadcast Security Model' control from the 'Edit
	Host' dialog.
	* Added a 'Short Name' control to the 'Edit Host' dialog.
	* Implemented a '%R' wildcard for Rivendell Host Short Name.
2017-10-15 10:40:29 -04:00
Fred Gleason
fb9487810b 2017-10-14 Fred Gleason <fredg@paravelsystems.com>
* Implemented a '%r' wildcard for Rivendell Host Name.
2017-10-14 10:38:55 -04:00
Fred Gleason
990d50cf29 2017-09-20 Fred Gleason <fredg@paravelsystems.com>
* Fixed a formatting bobble in 'web/rdxport/rdxport.cpp'.
2017-09-20 10:47:04 -04:00
Fred Gleason
83428bb153 2017-09-01 Fred Gleason <fredg@paravelsystems.com>
* Added 'src_hostname' and 'user_name' parameters to the
	'RDCut::checkInRecording()' method in 'lib/rdcut.cpp' and
	'lib/rdcut.h'.
2017-09-01 11:10:39 -04:00
Fred Gleason
aef7c2229b 2017-08-31 Fred Gleason <fredg@paravelsystems.com>
* Modified web client components to use a distinctive http USER_AGENT
	string.
2017-08-31 12:38:39 -04:00
Fred Gleason
32186e0316 2017-08-02 Fred Gleason <fredg@paravelsystems.com>
* Refactored the algorithm for calculating web tickets in
	'web/rdxport/rdxport.cpp'.
2017-08-02 12:02:40 -04:00
Fred Gleason
bec5067090 2017-06-28 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/rdxport/carts.cpp' and 'web/rdxport/import.cpp'
	that caused the 'EditCart' web API call to return an error when
	attempting to set the Title field to its current value when
	Allow Duplicate Cart Titles was not enabled.
2017-06-28 14:05:43 -04:00
Fred Gleason
076bac76aa 2017-06-26 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/rdxport'logs.cpp' that prevented saving of
	events with a hard time set when using the web API 'SaveLog' call.
2017-06-26 09:40:31 -04:00
Fred Gleason
352604b59f 2017-06-26 Fred Gleason <fredg@paravelsystems.com>
* Added a '<fadedownGain>' parameter to the return of the 'ListLog'
	web API call.
	* Added 'FADEUP_GAIN' and 'FADEDOWN_GAIN' parameters to the 'SaveLog'
	web API call.
2017-06-26 09:02:03 -04:00
Fred Gleason
5a3a5015a5 2017-06-19 Fred Gleason <fredg@paravelsystems.com>
* Added a 'TITLE' field to the 'Import' web call.
2017-06-19 14:27:05 -04:00
Fred Gleason
108fd8c40c 2017-06-19 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SYSTEM.FIX_DUP_CART_TITLES' field to the database.
	* Incremented the database version to 264.
	* Added 'RDSystem::fixDuplicateCartTitles()' and
	'RDSystem::setFixDuplicateCartTitles()' methods in 'lib/rdsystem.cpp'
	and 'lib/rdsystem.h'.
	* Added an 'Auto-Correct Duplicate Cart Titles' checkbox to the
	'System Settings' dialog in 'rdadmin/edit_settings.cpp' and
	'rdadmin/edit_settings.h'.
	* Modified the 'EditCart' web call to enforce the 'Auto-Correct
	Duplicate Cart Titles' setting.
2017-06-19 13:16:33 -04:00
Fred Gleason
2cc1c403c2 2017-05-17 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Ticket' field to the test harness page at
	'web/test/listsystemsettings.html'.
2017-05-17 15:00:36 -04:00
Fred Gleason
bfcdaa6dfc 2017-05-17 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDSystem::xml()' method in 'lib/rdsystem.cpp' and
	'lib/rdsystem.h'.
	* Added a 'ListSystemSettings' web API call.
2017-05-17 12:33:49 -04:00
Fred Gleason
39c887018a 2017-05-10 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'SaveLog' web API that failed to update the
	last modified datestamp.
2017-05-10 10:48:08 -04:00
Fred Gleason
7cf2b5b2f7 2017-04-20 Fred Gleason <fredg@paravelsystems.com>
* Added a '--enable-rdxport-debug' switch to 'configure.ac'.
2017-04-20 10:26:41 -04:00
Fred Gleason
781f6a7ea9 2017-04-17 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'lib/rdcart.cpp' that caused the 'Import' web API call
	to return 404 when importing with 'CREATE' set to '1' and unique titles
	enabled in the database.
2017-04-17 12:54:18 -04:00
Fred Gleason
a0e4b92bbf 2017-04-11 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/rdxport/import.cpp' that caused temporary files
	to be left behind after processing an Import web call.
2017-04-11 09:18:52 -04:00
Fred Gleason
0eda6b79fc 2017-04-06 Fred Gleason <fredg@paravelsystems.com>
* Added an rdauth(1) utility in 'utils/rdauth/'.
	* Fixed a regression in 'lib/rdcart.cpp' that caused the 'Import'
	web API call to fail with an 'unsupported format' error.
2017-04-06 15:26:30 -04:00
Fred Gleason
9eb7c12b1a 2017-04-05 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in 'web/rdxport/rdxport.cpp' that broke
	the CreateTicket web API call when connecting from localhost
	or the machines registered IP address.
2017-04-05 15:14:00 -04:00
Fred Gleason
275c08b156 2017-04-03 Fred Gleason <fredg@paravelsystems.com>
* Added a 'USERS.LOCAL_AUTH' field to the database.
	* Added a 'USERS.PAM_SERVICE' field to the database.
	* Added an index on 'STATIONS.IPV4_ADDRESS' to the database.
	* Incremented the database version to 262.
	* Added 'RDUser::localAuthentication()',
	'RDUser::setLocalAuthentication()', 'RDUser::pamService()' and
	'RDUser::setPamService()' methods in 'lib/rduser.cpp' and
	'lib/rduser.h'.
	* Added 'PAM Service' and 'Authenticate This User Locally' controls
	to the Edit User dialog in 'rdadmin/edit_user.cpp' and
	'rdadmin/edit_user.h'.
	* Added a PAM service configuration in 'conf/rivendell.pam'.
2017-04-03 18:15:07 -04:00
Fred Gleason
9cfcfcb5be 2017-04-03 Fred Gleason <fredg@paravelsystems.com>
* Changed all instances of authorization failure in the rdxport service
	to return code 404.
2017-04-03 11:04:39 -04:00
Fred Gleason
11a6609876 2017-03-30 Fred Gleason <fredg@paravelsystems.com>
* Changed the result code of the 'AddCart' service when the cart
	already exists from '403' to '400'.
	* Changed the result code of the 'EditCart' service when attempting
	to set a forced length on a macro cart from '403' to '400'.
	* Changed the result code of the 'EditCart' service when attempting
	to set a forced length outside of the valid range from '403' to '400'.
	* Changed the result code of the 'Export' service when attempting
	to export from a cut with no audio content from '403' to '404'.
	* Changed the '401' result code of the 'EditCart' service to be 403.
	* Changed the '401' result code of the 'DeleteAudio' service to be 403.
	* Changed the '401' result code of the 'Export' service to be 403.
2017-03-30 11:38:18 -04:00
Fred Gleason
5dc6fa92a9 2017-03-29 Fred Gleason <fredg@paravelsystems.com>
* Added a 'CUTS.SHA1_HASH' field to the database.
	* Incremented the database version to 261.
	* Added a 'Sha1' column to the Cut List in 'rdlibrary/audio_cart.cpp'.
	* Added 'RDCut::sha1Hash()' and 'RDCut::setSha1Hash()' methods in
	'lib/rdcut.cpp' and 'lib/rdcut.h'.
	* Added a '--rehash=' directive to rddbcheck(8).
	* Added a 'Rehash' Web API call.
	* Added an 'RDRehash' class in 'lib/rdrehash.cpp' and 'lib/rdrehash.h'.
2017-03-29 11:09:15 -04:00
Fred Gleason
bc2c441680 2017-03-27 Fred Gleason <fredg@paravelsystems.com>
* Added a 'WEBAPI_AUTHS' table to the database.
	* Added a 'USERS.WEBAPI_AUTH_TIMEOUT' field to the database.
	* Incremented the database version to 260.
	* Added 'RDUser::webapiAuthTimeout()' and
	'RDUser::setWebapiAuthTimeout()' methods in 'lib/rduser.cpp' and
	'lib/rduser.h'.
	* Added a 'WebAPI Timeout' control to the Edit User dialog in
	'rdadmin/edit_user.cpp' and 'rdadmin/edit_user.h'.
	* Implemented a 'CreateTicket' Web API call.
2017-03-27 13:43:42 -04:00
Fred Gleason
5b5800d27f 2017-03-16 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'lib/rdaudioconvert.cpp' that caused conversions
	from MPEG Layer 3 VBR data to be truncated when no end point
	was specified.
	* Fixed a bug in 'web/rdxport/import.cpp' that caused the
	end marker to be positioned incorrectly when importing MPEG
	Layer 3 VBR files.
2017-03-16 16:11:41 -04:00
Fred Gleason
0a934357c4 2017-03-01 Fred Gleason <fredg@paravelsystems.com>
* Added 'RDCart::xmlSql()' and second 'RDCart::xml()' methods.
	* Refactored the 'RDCart::xml()' method to use a SQL query.
	* Refactored the Cart and Cut web methods in 'web/rdxport/carts.cpp'
	to use SQL queries.
2017-03-01 11:52:14 -05:00
Fred Gleason
db0e842496 2017-02-21 Fred Gleason <fredg@paravelsystems.com>
* Modified 'lib/rdformpost.cpp' to use read-only accessors for
	std::map values.
	* Added a check for valid event IDs for the 'SaveLog' method in
	'web/rdxport/logs.cpp'.
2017-02-21 16:51:25 -05:00
Fred Gleason
79a0efb50d 2017-02-07 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/rdxport/logs.cpp' the caused the 'SaveLog'
	web method to fail.
2017-02-07 08:46:24 -05:00