64 Commits

Author SHA1 Message Date
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
Fred Gleason
82ec0c73b5 2017-02-02 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/tests/editcut.js' that caused the EditCut
	test harness to fail when using non-localhost URLs.
	* Fixed a bug in 'web/tests/editcart.js' that caused the EditCut
	test harness to fail when using non-localhost URLs.
2017-02-02 12:07:49 -05:00
Fred Gleason
41b3db2408 2017-01-31 Fred Gleason <fredg@paravelsystems.com>
* Added an 'AddLog' method to the Web API.
	* Added an 'DeleteLog' method to the Web API.
	* Added a 'SaveLog' method to the Web API.
	* Added 'eventLength', 'linkEventName', 'linkStartSlop',
	'linkEndSlop', 'linkId', 'linkEmbedded', 'extStartTime',
	'extLength', 'extCartName', 'extData', 'extEventId',
	and 'extAnncType' XML fields to the return of the ListLog web
	API method
2017-01-31 18:01:46 -05:00
Fred Gleason
15f3da11d4 2017-01-18 Fred Gleason <fredg@paravelsystems.com>
* Added a 'LOG_NAME' call parameter to the 'ListLogs' web service.
2017-01-18 07:40:58 -05:00
Fred Gleason
e65f9a9716 2017-01-13 Fred Gleason <fredg@paravelsystems.com>
* Implemented automatic cart/cut creation as part of the 'Import'
	web method.
2017-01-13 19:15:31 -05:00
Fred Gleason
a80aa50e29 2016-11-28 Fred Gleason <fredg@paravelsystems.com>
* Added 'CREATE' and 'GROUP_NAME' call fields to the 'Import' web
	API call in 'web/rdxport/import.cpp'.
2016-11-28 10:02:11 -05:00
Fred Gleason
51cdcfb9be 2016-08-03 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdlibrary(1) that caused exports to contain incorrect
	marker data in the RDXL file structure.
2016-08-03 12:21:05 -04:00
Fred Gleason
d8636ebb2c 2016-07-13 Fred Gleason <fredg@paravelsystems.com>
* Implemented storage of RDXML data structures within a 'rdxl'
	user defined information frame in ID3 tags 'lib/rdwavefile.cpp' and
	'lib/rdaudio_convert.cpp'.
2016-07-13 10:11:08 -04:00
Fred Gleason
b64b01b148 2016-07-12 Fred Gleason <fredg@paravelsystems.com>
* Implemented storage of RDXML data structures within a 'rdxl' chunk
	in WAV files.
2016-07-12 14:36:17 -04:00
Wayne Merricks
f1175cd2f2 Fixes for invalid NULL sql on date/times
Most files are simple swaps to get rid of extra " as a NULL return will give
invalid SQL if used as follows UPDATE x SET y="NULL";

See github issue 121 for more info.

Extra changes have been made to the following files:
* lib/rdcartslot.cpp
- Added a QDateTime variable to prevent EVENT_DATETIME becoming
  "2016-06-09" "NULL" as it was checked separately for date and time
* lib/rdcut.cpp
- Reworked START_DATETIME and END_DATETIME to save the SQL ifs.  I believe this
  makes it easier to read and understand.
- The >QDate(1900,1,1) and < 8000 is probably not needed but I left it there
  just in case.
* lib/rdescape_string.cpp
- Reworked to add extra " if the date is not NULL see issue 121
* lib/rdfeed.cpp && lib/rdpodcast.cpp
- Had to add a SetRow for QDateTime as with the string conversion the existing
  SetRow would add an extra set of "
* lib/rdsound_panel.cpp && rdairplay/log_traffic.cpp
        && utils/rddgimport/rddgimport.cpp
- Added a QString to contain EVENT_DATETIME to prevent double checks of date
  and time separately (similar to lib/rdcartslot.cpp)
* rdcatchd/rdcatchd.cpp
- Reverted the changes.  The RML here is not touching the DB so is fine, plus
  with the RDCheckDateTime changes you'd have extra " unless it was NULL
* tests/sas_switch_torture.cpp && sas_torture.cpp
- Included missing rdescape_string.h
2016-06-09 00:01:38 +01:00
Wayne Merricks
1bfd555d00 web/rdcastmanager/rdcastmanager.cpp MySQL v5.7+ date/time changes 2016-06-04 23:21:32 +01:00
Fred Gleason
698b475933 2016-05-24 Fred Gleason <fredg@paravelsystems.com>
* Removed all CVS tags.
	* Removed 'const char *name' parameter from all QObject contructors.
2016-05-24 13:13:26 -04:00
Fred Gleason
3b766a5e7d 2016-05-18 Fred Gleason <fredg@paravelsystems.com>
* Added an entry for the Broadcast Tools SRC-16 in
	'docs/SWITCHERS.txt'.
	* Added a 'CUT_EVENTS' table to the database.
	* Added a 'DECK_EVENTS' table to the database.
	* Incremented the database version to 256.
	* Implemented a 'Cut Event' ['CE'] RML.
	* Added a 'Event Carts' section to the Edit Deck dialog in
	'rdadmin/edit_deck.cpp' and 'rdadmin/edit_deck.h'.
2016-05-18 13:43:21 -04:00
Fred Gleason
687a8c6fc8 2016-04-27 Brian McGlynn <brian.mcglynn@geneseemedia.net>
* Added a 'bitRate' field in the return for the AudioInfo web method.
	* Added an rdexport(1) utility in 'utils/rdexport/'.
2016-04-27 19:46:39 -04:00
Fred Gleason
330a602fb5 2016-03-25 Fred Gleason <fredg@paravelsystems.com>
* Changed 'uninstall' to 'uninstall-local' targets in all
	'Makefile.am' files.
2016-03-25 10:30:45 -04:00
Fred Gleason
c5419b2dbe 2016-03-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'web/rdxport/export.cpp' that caused the web 'Export'
	service to return an internal server error if the requested audio
	didn't exist.
2016-03-25 09:56:13 -04:00
Fred Gleason
03cfa9d614 2016-03-24 Fred Gleason <fredg@paravelsystems.com>
* Update web test methods in 'web/tests/'.
	* Added an 'RDSchedCode' class in 'lib/rdschedcode.cpp' and
	'lib/rdschedcode.h'.
	* Implemented the 'ListSchedCodes' web method in
	'web/rdxport/schedcodes.cpp'.
	* Implemented the 'AssignSchedCode' web method in
	'web/rdxport/schedcodes.cpp'.
	* Implemented the 'UnassignSchedCode' web method in
	'web/rdxport/schedcodes.cpp'.
	* Implemented the 'ListCartSchedCodes' web method in
	'web/rdxport/schedcodes.cpp'.
	* Extended 'RDGetWebTime()' and 'RDGetWebDateTime()' functions to
	support XML 'xs' namespace formats.
	* Implemented '*_POINT' fields in the 'EditCut' web method in
	'web/rdxport/carts.cpp'.
	* Modified the 'RDCart::removeSchedCode()' method so as to treat
	scheduler codes in a case-insensitve manner.
	* Modified the return of the 'EditCut' web method to provide a full
	<cutList> record in 'web/rdxport/carts.cpp'.
2016-03-24 13:53:39 -04:00
Fred Gleason
6fbb9a1206 2016-03-24 Fred Gleason <fredg@paravelsystems.com>
* Added 'web/tests/utils.js'.
	* Fixed a bug in 'web/rdxport/carts.cpp' that allowed the EditCart web
	method to set carts to non-existent groups.
2016-03-24 12:15:04 -04:00