Ignore:
Timestamp:
2014-03-14T22:46:25+13:00 (10 years ago)
Author:
ak19
Message:

Third commit for security, for ensuring cgiargs macros are websafe. This time all the changes to the runtime action classes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/recpt/statusaction.cpp

    r22984 r28899  
    353353    arg_value = args.getarg (ainfo.shortname);
    354354    if (arg_value == NULL) textout << outconvert << "<td></td></tr>\n";
    355     else textout << outconvert << "<td>\"" << *arg_value << "\"</td></tr>\n";
     355    else textout << outconvert << "<td>\"" << encodeForHTML(*arg_value) << "\"</td></tr>\n";
    356356   
    357357    ++argsinfohere;
     
    547547 
    548548  if (rprotolist_here == rprotolist_end) {
    549     textout << outconvert << "Protocol \"" << arg_pr << "\" with collection \""
    550         << arg_c << "\" was not found\n";
     549    textout << outconvert << "Protocol \"" << encodeForHTML(arg_pr) << "\" with collection \""
     550        << encodeForHTML(arg_c) << "\" was not found\n";
    551551
    552552  } else {
     
    819819    text_t errorpage = "<p><pre>\n";
    820820
     821    text_t errorpage_content;
    821822    char c;
    822823    errin.get(c);
    823824    while (!errin.eof ()) {
    824       errorpage.push_back(c);
     825      errorpage_content.push_back(c);
    825826      errin.get(c);
    826827    }
    827    
     828    // need to ensure that error_log displayed from Admin pages is encoded/safe for an HTML context
     829    errorpage += encodeForHTML(errorpage_content);
     830
    828831    errorpage += "</pre>\n";
    829832    errin.close();
     
    849852  text_t llssite_cfg = filename_cat (gsdlhome, "llssite.cfg");
    850853#else
    851   text_t llssite_cfg = "llssite.cfg";
     854  text_t llssite_cfg = filename_cat (gsdlhome, "llssite.cfg"); //"llssite.cfg";
    852855#endif
    853856
     
    11381141  else {
    11391142    output_errorpage (outconvert, textout, logout,
    1140               "Unknown page \"" + arg_p + "\".\n");
     1143              "Unknown page \"" + encodeForHTML(arg_p) + "\".\n");
    11411144  }
    11421145
Note: See TracChangeset for help on using the changeset viewer.