2021-04-20 Fred Gleason <fredg@paravelsystems.com>

* Escaped all SQL identifiers in 'rdservice/'.
	* Replaced " with ' delimiters in all SQL literal strings in
	'rdservice/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-04-20 08:39:46 -04:00
parent 8579b2cf47
commit 6b4050c3e8
3 changed files with 39 additions and 35 deletions

View File

@@ -21531,3 +21531,7 @@
* Escaped all SQL identifiers in 'rdrssd/'. * Escaped all SQL identifiers in 'rdrssd/'.
* Replaced " with ' delimiters in all SQL literal strings in * Replaced " with ' delimiters in all SQL literal strings in
'rdrssd/'. 'rdrssd/'.
2021-04-20 Fred Gleason <fredg@paravelsystems.com>
* Escaped all SQL identifiers in 'rdservice/'.
* Replaced " with ' delimiters in all SQL literal strings in
'rdservice/'.

View File

@@ -52,10 +52,10 @@ void MainObject::checkMaintData()
// //
// Get the system-wide maintenance timestamp // Get the system-wide maintenance timestamp
// //
sql="lock tables VERSION write"; sql="lock tables `VERSION` write";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
delete q; delete q;
sql="select LAST_MAINT_DATETIME from VERSION"; sql="select `LAST_MAINT_DATETIME` from `VERSION`";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
run=1000*q->value(0).toDateTime().secsTo(current_datetime)> run=1000*q->value(0).toDateTime().secsTo(current_datetime)>

View File

@@ -2,7 +2,7 @@
// //
// Startup routines for the Rivendell Services Manager // Startup routines for the Rivendell Services Manager
// //
// (C) Copyright 2018-2020 Fred Gleason <fredg@paravelsystems.com> // (C) Copyright 2018-2021 Fred Gleason <fredg@paravelsystems.com>
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as // it under the terms of the GNU General Public License version 2 as
@@ -161,8 +161,8 @@ bool MainObject::Startup(QString *err_msg)
// //
// rdrepld(8) // rdrepld(8)
// //
sql=QString("select NAME from REPLICATORS where ")+ sql=QString("select `NAME` from `REPLICATORS` where ")+
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\""; "`STATION_NAME`='"+RDEscapeString(rda->station()->name())+"'";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
svc_processes[RDSERVICE_RDREPLD_ID]=new RDProcess(RDSERVICE_RDREPLD_ID,this); svc_processes[RDSERVICE_RDREPLD_ID]=new RDProcess(RDSERVICE_RDREPLD_ID,this);
@@ -184,7 +184,7 @@ bool MainObject::Startup(QString *err_msg)
// //
// rdrssd(8) // rdrssd(8)
// //
sql=QString("select RSS_PROCESSOR_STATION from SYSTEM"); sql=QString("select `RSS_PROCESSOR_STATION` from `SYSTEM`");
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
if(q->value(0).toString().toLower()==rda->station()->name().toLower()) { if(q->value(0).toString().toLower()==rda->station()->name().toLower()) {
@@ -225,33 +225,33 @@ bool MainObject::StartDropboxes(QString *err_msg)
// Launch Dropbox Configurations // Launch Dropbox Configurations
// //
sql=QString("select ")+ sql=QString("select ")+
"ID,"+ // 00 "`ID`,"+ // 00
"GROUP_NAME,"+ // 01 "`GROUP_NAME`,"+ // 01
"PATH,"+ // 02 "`PATH`,"+ // 02
"NORMALIZATION_LEVEL,"+ // 03 "`NORMALIZATION_LEVEL`,"+ // 03
"AUTOTRIM_LEVEL,"+ // 04 "`AUTOTRIM_LEVEL`,"+ // 04
"TO_CART,"+ // 05 "`TO_CART`,"+ // 05
"USE_CARTCHUNK_ID,"+ // 06 "`USE_CARTCHUNK_ID`,"+ // 06
"TITLE_FROM_CARTCHUNK_ID,"+ // 07 "`TITLE_FROM_CARTCHUNK_ID`,"+ // 07
"DELETE_CUTS,"+ // 08 "`DELETE_CUTS`,"+ // 08
"METADATA_PATTERN,"+ // 09 "`METADATA_PATTERN`,"+ // 09
"FIX_BROKEN_FORMATS,"+ // 10 "`FIX_BROKEN_FORMATS`,"+ // 10
"LOG_TO_SYSLOG,"+ // 11 "`LOG_TO_SYSLOG`,"+ // 11
"LOG_PATH,"+ // 12 "`LOG_PATH`,"+ // 12
"DELETE_SOURCE,"+ // 13 "`DELETE_SOURCE`,"+ // 13
"STARTDATE_OFFSET,"+ // 14 "`STARTDATE_OFFSET`,"+ // 14
"ENDDATE_OFFSET,"+ // 15 "`ENDDATE_OFFSET`,"+ // 15
"ID,"+ // 16 "`ID`,"+ // 16
"IMPORT_CREATE_DATES,"+ // 17 "`IMPORT_CREATE_DATES`,"+ // 17
"CREATE_STARTDATE_OFFSET,"+ // 18 "`CREATE_STARTDATE_OFFSET`,"+ // 18
"CREATE_ENDDATE_OFFSET,"+ // 19 "`CREATE_ENDDATE_OFFSET`,"+ // 19
"SET_USER_DEFINED,"+ // 20 "`SET_USER_DEFINED`,"+ // 20
"FORCE_TO_MONO,"+ // 21 "`FORCE_TO_MONO`,"+ // 21
"SEGUE_LEVEL,"+ // 22 "`SEGUE_LEVEL`,"+ // 22
"SEGUE_LENGTH,"+ // 23 "`SEGUE_LENGTH`,"+ // 23
"SEND_EMAIL "+ // 24 "`SEND_EMAIL` "+ // 24
"from DROPBOXES where "+ "from `DROPBOXES` where "+
"STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\""; "`STATION_NAME`='"+RDEscapeString(rda->config()->stationName())+"'";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
while(q->next()) { while(q->next()) {
QStringList args; QStringList args;
@@ -259,8 +259,8 @@ bool MainObject::StartDropboxes(QString *err_msg)
args.push_back(QString().sprintf("--persistent-dropbox-id=%d", args.push_back(QString().sprintf("--persistent-dropbox-id=%d",
q->value(16).toInt())); q->value(16).toInt()));
args.push_back("--drop-box"); args.push_back("--drop-box");
sql=QString("select SCHED_CODE from DROPBOX_SCHED_CODES where ")+ sql=QString("select `SCHED_CODE` from `DROPBOX_SCHED_CODES` where ")+
QString().sprintf("DROPBOX_ID=%d",q->value(0).toInt()); QString().sprintf("`DROPBOX_ID`=%d",q->value(0).toInt());
q1=new RDSqlQuery(sql); q1=new RDSqlQuery(sql);
while(q1->next()) { while(q1->next()) {
args.push_back(QString().sprintf("--add-scheduler-code=")+ args.push_back(QString().sprintf("--add-scheduler-code=")+