Advertisement
Guest User

Untitled

a guest
Apr 13th, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.07 KB | None | 0 0
  1. @@ -41,6 +41,9 @@ using namespace EsiLib;
  2.  #define PLUGIN_NAME "combo_handler"
  3.  #define PLUGIN_VERSION "0.1"
  4.  
  5. +#define MAX_FILE_COUNT 30
  6. +#define MAX_QUERY_LENGTH 3000
  7. +
  8.  int arg_idx;
  9.  static TSTextLogObject log;
  10.  static string SIG_KEY_NAME;
  11.  
  12. @@ -396,6 +398,11 @@ getClientRequest(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc,
  13.          LOG_ERROR("failed getting Default Bucket for the request");
  14.          return;
  15.        }
  16. +    if (query_len > MAX_QUERY_LENGTH) {
  17. +      creq.status = TS_HTTP_STATUS_BAD_REQUEST;
  18. +      LOG_ERROR("querystring too long");
  19. +      return;
  20. +    }
  21.      parseQueryParameters(query, query_len, creq);
  22.      creq.client_addr = TSHttpTxnClientAddrGet(txnp);
  23.      checkGzipAcceptance(bufp, hdr_loc, creq);
  24. @@ -508,6 +515,13 @@ if (!creq.file_urls.size()) {
  25.    creq.status = TS_HTTP_STATUS_FORBIDDEN;
  26.    creq.file_urls.clear();
  27.   }
  28. +
  29. +if (creq.file_urls.size() > MAX_FILE_COUNT) {
  30. +  creq.status = TS_HTTP_STATUS_BAD_REQUEST;
  31. +  LOG_ERROR("too many files in url");
  32. +  creq.file_urls.clear();
  33. +}
  34. +
  35.  }
  36.  
  37.  static void
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement