IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 41549


Ignore:
Timestamp:
Apr 9, 2021, 4:44:03 PM (5 years ago)
Author:
eugene
Message:

disallow unrestricted queries and add -all option to definebyquery commands and others which would generate very long results if allowed: camtool, chiptool, difftool, dqstatstool, faketool, pubtool, warptool

Location:
trunk/ippTools/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/camtool.c

    r41072 r41549  
    145145
    146146    // use psDBGenerateWhereSQL because the SQL yields an intermediate table
    147     if (where && psListLength(where->list)) {
     147    if (psListLength(where->list)) {
    148148        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    149149        psStringAppend(&query, " AND %s", whereClause);
     
    300300    PS_ASSERT_PTR_NON_NULL(config, false);
    301301
     302    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     303    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     304    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
     305
    302306    psMetadata *where = psMetadataAlloc();
    303307    pxcamGetSearchArgs (config, where);
     
    306310    PXOPT_COPY_STR(config->args, where, "-reduction", "camRun.reduction", "==");
    307311
    308     PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    309     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    310 
    311312    psString query = pxDataGet("camtool_pendingexp.sql");
    312313    if (!query) {
     
    320321        psStringAppend(&query, " AND %s", whereClause);
    321322        psFree(whereClause);
     323    } else {
     324      if (!all) {
     325        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     326        return false;
     327      }
    322328    }
    323329    psFree(where);
     
    375381
    376382    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     383    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    377384
    378385    psString query = pxDataGet("camtool_find_pendingimfile.sql");
     
    387394        psStringAppend(&query, " AND %s", whereClause);
    388395        psFree(whereClause);
     396    } else {
     397      if (!all) {
     398        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     399        return false;
     400      }
    389401    }
    390402    psFree(where);
     
    11351147    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    11361148    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     1149    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    11371150
    11381151    psMetadata *where = psMetadataAlloc();
     
    11451158    }
    11461159
    1147     if (where && psListLength(where->list)) {
     1160    if (psListLength(where->list)) {
    11481161        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    11491162        psStringAppend(&query, " AND %s", whereClause);
    11501163        psFree(whereClause);
     1164    } else {
     1165      if (!all) {
     1166        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     1167        return false;
     1168      }
    11511169    }
    11521170    psFree(where);
     
    11971215    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    11981216    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     1217    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    11991218
    12001219    psMetadata *where = psMetadataAlloc();
     
    12101229    }
    12111230
    1212     if (where && psListLength(where->list)) {
     1231    if (psListLength(where->list)) {
    12131232        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    12141233        psStringAppend(&query, " AND %s", whereClause);
    12151234        psFree(whereClause);
     1235    } else {
     1236      if (!all) {
     1237        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     1238        return false;
     1239      }
    12161240    }
    12171241    psFree(where);
  • trunk/ippTools/src/chiptool.c

    r40534 r41549  
    489489    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    490490    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     491    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    491492
    492493    psMetadata *where = psMetadataAlloc();
     
    502503    }
    503504
    504     if (where && psListLength(where->list)) {
     505    if (psListLength(where->list)) {
    505506        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    506507        psStringAppend(&query, " AND %s", whereClause);
    507508        psFree(whereClause);
     509    } else {
     510      if (!all) {
     511        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     512        return false;
     513      }
    508514    }
    509515    psFree(where);
     
    12691275    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    12701276    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     1277    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    12711278
    12721279    psMetadata *where = psMetadataAlloc();
     
    12831290        psStringAppend(&query, " AND %s", whereClause);
    12841291        psFree(whereClause);
     1292    } else {
     1293      if (!all) {
     1294        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all");
     1295        return false;
     1296      }
    12851297    }
    12861298    psFree(where);
     
    13511363        psStringAppend(&query, " AND %s", whereClause);
    13521364        psFree(whereClause);
     1365    } else {
     1366      if (!all) {
     1367        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     1368        return false;
     1369      }
    13531370    }
    13541371    psFree(where);
  • trunk/ippTools/src/difftool.c

    r40512 r41549  
    471471    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    472472    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     473    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    473474
    474475    psString query = pxDataGet("difftool_todiffskyfile.sql");
     
    478479    }
    479480
    480     if (psListLength(where->list)) {
     481    if (where && psListLength(where->list)) {
    481482        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    482483        psStringAppend(&query, " AND %s", whereClause);
    483484        psFree(whereClause);
     485    } else {
     486      if (!all) {
     487        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all");
     488        return false;
     489      }
    484490    }
    485491    psFree(where);
  • trunk/ippTools/src/dqstatstool.c

    r34081 r41549  
    223223  PXOPT_COPY_S64(config->args, where, "-dqstats_id", "dqstatsRun.dqstats_id", "==");
    224224  PXOPT_COPY_STR(config->args, where, "-label", "dqstatsRun.label", "==");
     225  PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    225226
    226227  psString query = pxDataGet("dqstatstool_get_run.sql");           // query
     
    230231  }
    231232
    232   if (where && psListLength(where->list)) {
     233  if (psListLength(where->list)) {
    233234    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    234235    psStringAppend(&query, " AND %s", whereClause);
    235236    psFree(whereClause);
     237  } else {
     238    if (!all) {
     239      psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     240      return false;
     241    }
    236242  }
    237243  psFree(where);
  • trunk/ippTools/src/faketool.c

    r34081 r41549  
    367367    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    368368    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     369    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    369370
    370371    psMetadata *where = psMetadataAlloc();
     
    385386        psStringAppend(&query, " AND %s", whereClause);
    386387        psFree(whereClause);
     388    } else {
     389      if (!all) {
     390        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     391        return false;
     392      }
    387393    }
    388394    psFree(where);
     
    432438    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    433439    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     440    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    434441
    435442    psMetadata *where = psMetadataAlloc();
     
    451458        psStringAppend(&query, " AND %s", whereClause);
    452459        psFree(whereClause);
     460    } else {
     461      if (!all) {
     462        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     463        return false;
     464      }
    453465    }
    454466    psFree(where);
     
    886898    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    887899    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     900    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    888901
    889902    psMetadata *where = psMetadataAlloc();
     
    900913        psStringAppend(&query, " AND %s", whereClause);
    901914        psFree(whereClause);
     915    } else {
     916      if (!all) {
     917        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     918        return false;
     919      }
    902920    }
    903921    psFree(where);
     
    948966    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    949967    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     968    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    950969
    951970    psMetadata *where = psMetadataAlloc();
     
    965984        psStringAppend(&query, " AND %s", whereClause);
    966985        psFree(whereClause);
     986    } else {
     987      if (!all) {
     988        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     989        return false;
     990      }
    967991    }
    968992    psFree(where);
  • trunk/ippTools/src/pubtool.c

    r30769 r41549  
    324324    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    325325    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     326    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    326327
    327328    psString query = pxDataGet("pubtool_pending.sql");
     
    337338        psStringAppend(&whereClause, "\nAND %s", clause);
    338339        psFree(clause);
     340    } else {
     341      if (!all) {
     342        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     343        return false;
     344      }
    339345    }
    340346    psFree(where);
  • trunk/ippTools/src/warptool.c

    r40512 r41549  
    602602    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    603603    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     604    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    604605
    605606    // find all rawImfiles matching the default query
     
    614615        psStringAppend(&query, " AND %s", whereClause);
    615616        psFree(whereClause);
     617    } else {
     618      if (!all) {
     619        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     620        return false;
     621      }
    616622    }
    617623    psFree(where);
     
    930936    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    931937    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     938    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    932939
    933940    // First find Label's with warpRuns in state new in priority order
     
    945952        psStringAppend(&labelWhereStr, "\n AND %s", whereClause);
    946953        psFree(whereClause);
     954    } else {
     955      if (!all) {
     956        psError(PXTOOLS_ERR_SYS, false, "unrestricted query not allowed (try -all)");
     957        return false;
     958      }
    947959    }
    948960    psFree(labelWhere);
     
    16451657  PS_ASSERT_PTR_NON_NULL(config, NULL);
    16461658 
     1659  PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     1660  PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     1661 
    16471662  psMetadata *where = psMetadataAlloc();
    16481663  PXOPT_COPY_S64(config->args, where, "-warp_id",    "warpSkyfile.warp_id", "==");
     
    16611676  PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    16621677
    1663   PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    1664   PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    1665  
    16661678  // find all rawImfiles matching the default query
    16671679  psString query = pxDataGet("warptool_tosummary.sql");
Note: See TracChangeset for help on using the changeset viewer.