Directory Traversal attempt - Security Issue

Directory Traversal attempt - Security Issue

by Girija S -
Number of replies: 0

Hi All,

I am working in Moodle application development, Using Moodlw 3.8 Version. We got the below VA issue from our Security team. Please help me how to fix this issue.


"),$(window.parent.document).scrollTop(0)},100):void(e.csrf_token&&($('input[name="csrf_token"]').val(e.csrf_token),$("#csrf_token_div").html(e.csrf_token)))}function specialRowOnClick(e,t){if(2==openPopUpRow){var n=document.getElementById(e);n.checked=!n.checked}else 0==openPopUpRow&&($("table#"+t+" input[type=checkbox]").removeAttr("checked"),document.getElementById(e).checked=!0);openPopUpRow=0}function Asm_formChangeChecker(e,t,n){var i=this,a=null!=t?t:"FormChangeChecker",r=null!=n?n:[],o={};this.saveFormState=function(){for(var e,t=0;t0?i.push(new Xui.PageMenu.DropMenu($("a:first",this).text(),e)):i.push(new Xui.PageMenu.Link($("a:first",this).text(),$("a:first",this).attr("href"),""))}),i}function getSafeTextForHtml(e){return $("").text(e).html().replace(/"/g,""")}function addNegsigOverride(e,t,n,i){var a=$("#"+t);if($("option:selected",a).length){var r=(document.getElementById(e),a.data("options"));$("#"+t+" option:selected").each(function(t,n){var i=getSigSettingsFromData(r,n.value),a=i.value,o=i.text,s=getSafeTextForHtml(o),l=i.disabled?"":"selected";$("#"+e+" tr:last").after(''+s+'EnabledDisabled")}).remove(),$("#"+n).remove(),$("#"+i).text(a.children().length),initListRowColors(e),showCookieParamSigOverrideNote()}}function showCookieParamSigOverrideNote(){if(window.paramCookieSigsArray&&window.paramCookieSigsArray.length){var e=!1;$.each($("select[name^='sig_state\\[']"),function(t,n){if("1"===$No.val())return e=!0,!1}),$("#cookieParamSigOverrideNote").toggle(e)}}function removeNegsigOverride(e,t,n,i){var a=$("#"+e+' input[id^="rowsignature_"]').length,r=$("#"+e+' input[id^="rowsignature_"]:checked');a&&r.length&&(a==r.length&&($("#"+e+" tr:last").after('No records to display.'),$("#"+e+' input[name="'+n+'"]').prop("checked",!1)),$.each(r,function(){$(this).closest("tr").remove()}),$("#"+i).val("").trigger("change").trigger("blur"),initListRowColors(e),showCookieParamSigOverrideNote())}function getSigSettingsFromData(e,t){for(var n=0,i=e.length;n-1;t--)n=e.options[t],n.selected&&(e.options[t]=null)}}function alert_messages(e){var t="";if(e instanceof Array)for(var n=0;n").html(e).text(),alert(e)}function validate_range(e,t,n){return e==1*e&&(!(parseFloat(e)parseFloatNo))}function untide(e,t){switch(t){case"d":return parseInt(86400*e);case"h":return parseInt(3600*e);case"m":return parseInt(60*e);case"s":default:return parseInt(e)}}function isEmpty(e){return!e||!e.length||/^\s*$/.test(e)}function filterComboByText_defaultFillDataFunc(e,t){e.push(t)}function filterComboByText_defaultFilterFunc(e,t,n){var i=$.trimNo.toLowerCase();$.each(e,function(){if($(this).is("option"))""!=i&&$(this).text().toLowerCase().indexOf(i)==-1||$(t).append($(this));else{var e=$(this).clone();$.each(e.children("option"),function(){$(this).text().toLowerCase().indexOf(i)==-1&&$(this).remove()}),e.children().length&&$(t).append(e)}})}function NegSigsFillDataFunc(e,t){e.push({value:$(t).val(),text:$(t).text(),disabled:"transparent"!=$(t).css("background-color")&&"rgba(0, 0, 0, 0)"!=$(t).css("background-color")})}function NegSigsFilterFunc(e,t,n){var i=$.trimNo.toLowerCase();$.each(e,functionNo{var a=e[n],r=$.isNumeric(i)?a.value:a.text.toLowerCase();$('select[name="sig_state\\['+a.value+'\\]"]').length||""!=i&&r.indexOf(i)==-1||$(t).append($("").text(a.text).val(a.value).attr("title",a.value+": "+a.text).css("background-color",a.disabled?"#ccc":""))})}function loadNegsigOverridesComponent(){"0"==$("#sigsLoaded").val()&&($("#sigsLoaded").val(""),$.ajax({type:"GET",url:"js_http_load_sigs.php?sig_type="+$("#loadSignaturesType").val(),data:"",dataType:"json",beforeSend:function(e){$("#negsig_list_container").hide(),$("#negsig_list_loader").find("td:first").html('ajax-loader.gif Loading Signatures List...')},success:function(e){if(e.success)if(e.sigs&&e.sigs.length){var t=4==e.sigs[0].length;if(t&&(window.paramCookieSigsArray=[]),$.each(e.sigs,function(e,n){var i=$("
").html(n[1]).text();$("#available_signatures").append($("",{value:n[0],text:i,title:n[0]+": "+i,style:n[2]?"background-color: #ccc":""})),t&&n[3]&&window.paramCookieSigsArray.push(n[0])}),$("#negsig_list_loader").remove(),$("#sigsLoaded").val("1"),$("#available_signatures_size").text($("#available_signatures").children().length),$("#available_signatures").filterComboByText($("#available_signatures_input"),$("#available_signatures_size"),{fillDataFunc:NegSigsFillDataFunc,filterFunc:NegSigsFilterFunc}),sig_overrides.length){var n=[];for(var i in sig_overrides)n.push(i);$("#available_signatures").valNo}if($("#available_signatures").find("option:selected").length){addNegsigOverride("signature_list_table","available_signatures","signatures_tr_no_entries","available_signatures_size");for(var a in sig_overrides)$('select[name="sig_state\\['+a+'\\]"]').val("1"==sig_overrides[a].is_enabled?1:0),"1"==sig_overrides[a].is_inherited&&($("#rowsignature_\\["+a+'\\], select[name="sig_state\\['+a+'\\]"]').prop("disabled",!0).prop("title","This entity is inherited. It cannot be deleted and some or all of its settings cannot be modified."),$("#signature_name_td_\\["+a+"\\]").prepend(' '))}sig_overrides.length&&showCookieParamSigOverrideNote(),$("#negsig_list_container").show(),$("#available_signatures_input").addWatermark("Filter Signatures by Name or ID...").trigger("blur")}else $("#negsig_list_loader").find("td:first").html('icon_warning.png Signatures List is empty');else $("#negsig_list_loader").find("td:first").html('icon_warning.png Failed loading Signatures List')},complete:function(){}}))}function signatureNameFilterFunc(e,t,n){var i=$.trimNo.toLowerCase();$.each(e,functionNo{var a=e[n],r=$.isNumeric(i)?a.value:a.text.toLowerCase();""!=i&&r.indexOf(i)==-1||$(t).append($("").text(a.text).val(a.value).attr("title",a.value+": "+a.text).css("background-color",a.style.backgroundColor))})}function showEntitySignatureOverrideFilter(e,t){var n=$("#sigsLoaded"),i=$("#filter_signatures_name_container"),a=$("#filter_signatures_name_input"),r=$("#filter_signatures_name"),o=$("#filter_signatures_name_size");t=t?t:"","1"==e?"0"==n.val()?(n.val(""),$.ajax({type:"GET",url:"js_http_load_sigs.php?sig_type="+t,data:"",dataType:"json",beforeSend:function(e){i.hide(),i.find(":input").prop("disabled",!0),$('ajax-loader.gif Loading Signatures List...').insertBefore("#filter_signatures_name_container"),$('form[name="form_filter"] :button').prop("disabled",!0)},success:function(e){var t=r.val();e.success?e.sigs&&e.sigs.length?(r.find("option:first").remove(),$.each(e.sigs,function(e,t){var n=$("
").html(t[1]).text();r.append($("",{value:t[0],text:n,title:t[0]+": "+n}).css("background-color",t[2]?"#ccc":"#fff"))}),$("#ajaxSigsLoader").remove(),o.text(r.children().length),n.val("1"),i.show(),t&&r.val(t),i.find(":input").prop("disabled",!1),a.addWatermark("Filter Signatures by Name or ID...").trigger("blur"),r.filterComboByText(a,o,{filterFunc:signatureNameFilterFunc}))sad$("#ajaxSigsLoader").html('icon_warning.png Signatures List is empty'),$("#filter_signatures_name, #filter_signatures_name_input").remove())sad$("#ajaxSigsLoader").html('icon_warning.png Failed loading Signatures List'),$("#filter_signatures_name, #filter_signatures_name_input").remove())},complete:function(){$('form[name="form_filter"] :button').prop("disabled",!1)}})):"1"==n.val()&&(i.show(),i.find(":input").prop("disabled",!1))sadi.hide(),i.find(":input").prop("disabled",!0))}function jQuerySelectorEscape(e){return e.replace(/([%#;&,.+*~\':"!^$[\]()=>|\/])/g,"\\$1")}function Error_Messages(){this.errors=[],this.addError=function(e){this.errors[this.errors.length]=e},this.getErrors=function(){return this.errors.length},this.getError=function(e){return this.errors[e]},this.alert=function(){if(this.errors.length){var e,t="";for(e=0;e'+t.ip_list[i].ip+''+t.ip_list[i].mask+"";n+="",$("#ip_address_whitelist").htmlNo,window.ipAddressWhitelistTable=new UI_ScrollTable("ip_address_whitelist_table",120),window.ipAddressWhitelistTable.Initialize()}else $("#ip_address_whitelist").html("flg_pb_trusted"==e?"Trusted IP Addresses List is empty":"IP Address Whitelist is empty");else $("#ip_address_whitelist").html(''+("flg_pb_trusted"==e?"Failed to load Trusted IP Addresses List":"Failed to load IP Address Whitelist")+"");window.ipAddressWhitelistLoaded=!0},error:function(t){$("#ip_address_whitelist").html(''+("flg_pb_trusted"==e?"Failed to load Trusted IP Addresses List":"Failed to load IP Address Whitelist")+""),window.ipAddressWhitelistLoaded=!0}})}function setPageHelp(e){Xui.setPageHelp("/dms/xui/tab_help.php?page="+e),Xui.updateHelpPanel()}function getDateObjFromString(e){var t=e.split(" "),n=t[0].split("-"),i=t[1].split(":");return new Date(n[0],n[1]-1,n[2],i[0]||0,i[1]||0,i[2]||0)}function getServerDateStrFromRestGmt(e){if(!window.generalSettings||!window.generalSettings.timezoneOffset)return e;var t=getDateObjFromString(e),n=new Date(t.getTime()+1e3*window.generalSettings.timezoneOffset);return date("Y-m-d H:i:s",n)}$(document).ajaxComplete(function(e,t,n){applyLockPolicyForEdit&&lockButtonsForEdit(document)}),$(document).ready(function(){var e=$("#csrf_token_div").html();$("form").each(function(t){$("").attr({type:"hidden",id:"rNumFix"+t,name:"rNumFix"+t,value:Math.floor(1001*Math.random())}).appendTo($(this));var n=$(this).attr("method")?$(this).attr("method"):"";"post"==n.toLowerCase()&&$("").attr({type:"hidden",id:"csrf_token_"+t,name:"csrf_token",value:e}).appendTo($(this))})}),$(document).ajaxSend(function(e,t,n){var i=$("#csrf_token_div").html();i&&("object"==typeof n.data?(n.data.csrf_is_ajax=1,n.data.csrf_token=i):n.data?(n.data.indexOf("csrf_is_ajax")==-1&&(n.data+="&csrf_is_ajax=1"),n.data.indexOf("csrf_token")==-1&&(n.data+="&csrf_token="+i)):"POST"==n.type?n.data={csrf_is_ajax:1,csrf_token:i}:"GET"==n.type&&(n.url+=(n.url.indexOf("?")==-1?"?":"&")+"csrf_is_ajax=1&csrf_token="+i))}),$(document).ajaxSuccess(function(e,t,n){var i=$.parseJSON(t.responseText);checkCSRF(i)}),function(){var e=jQuery.attr;jQuery.attr=function(t,n,i,a){return"disabled"!=n&&"checked"!=n||""!=i||(i=!1),e.apply(this,arguments)}}(),jQuery.extend({stringify:function(e){var t=typeof e;if("object"!=t||null===e)return"string"==t&&(e='"'+e+'"'),String(e);var n,i,a=[],r=e&&e.constructor==Array;for(n in e)i=e[n],t=typeof i,e.hasOwnPropertyNo&&("string"==t?i='"'+i+'"':"object"==t&&null!==i&&(i=jQuery.stringify(i)),a.push((r?"":'"'+n+'":')+String(i)));return(r?"[":"{")+String(a)+(r?"]":"}")}}),jQuery.fn.filterComboByText=function(e,t,n){return this.each(function(){var i=this,a=[],r=$.extend({fillDataFunc:filterComboByText_defaultFillDataFunc, filterFunc:filterComboByText_defaultFilterFunc},n);$(i).children("option, optgroup").each(function(){$.isFunction(r.fillDataFunc)&&r.fillDataFunc(a,this)}),$(i).data("options",a),$(e).unbind("change keyup"),$(e).bind("change keyup",function(){var e=$(i).empty().scrollTop(0).data("options");$.isFunction(r.filterFunc)&&r.filterFunc(e,i,$(this).val()),t&&(0==$(i).find('option[value=""]').length?$(t).text($(i).find("option").length):$(t).text($(i).find("option").length-1))})})},jQuery.fn.addWatermark=function(e){return this.each(function(){var t=this;$(t).data("watermarkText",e),$(t).bind("focus blur",function(e){"focus"==e.type&&"italic"==$(this).css("font-style")?$(this).val("").css({color:"","font-style":""}):"focus"==e.type||$(this).val().length||$(this).val($(t).data("watermarkText")).css({color:"#888","font-style":"italic"})})})};var applyLockPolicyForEdit=!1,applyLockPolicyForEditTitle="";String.prototype.escapeForRest||(String.prototype.escapeForRest=function(){return this.replace(/'/g,"''")});var divForSanitizeInput=document.createElement("div");if(window.top!=window.self){window.clickOnFrameOnOutisdeClick=function(){$(document).trigger("click")},window.detachClickOnFrameListener=function(){try{parent.document.removeEventListener("click",clickOnFrameOnOutisdeClick,!1)}catch(e){$(parent.document).unbind("click",clickOnFrameOnOutisdeClick)}};try{parent.document.addEventListener("click",clickOnFrameOnOutisdeClick,!1)}catch(e){$(parent.document).bind("click",clickOnFrameOnOutisdeClick)}addEvent(window,"beforeunload",detachClickOnFrameListener,!1)}window.waitForFinalEvent=function(){var e={};return function(t,n,i){i||(i="Don't call this twice without a uniqueId"),e[i]&&clearTimeout(e[i]),e[i]=setTimeout(t,n)}}(),window.setTimeDifferences=function(){window.generalSettings.pageLoadTimestamp=Date.now(),window.generalSettings.timestampDifference=1e3*window.generalSettings.serverTimestamp-window.generalSettings.pageLoadTimestamp,window.generalSettings.timestampDifference=(window.generalSettings.timestampDifference-window.generalSettings.timestampDifference%1e3)/1e3,window.generalSettings.serverDateDiffFromTimestamp=gmtimestampFromDate(window.generalSettings.serverDate)-window.generalSettings.serverTimestamp,window.generalSettings.serverDateDiffFromGmt=window.generalSettings.serverDateDiffFromTimestamp-60*(new Date).getTimezoneOffset()},window.getParentWindowHeight=function(){var e=0;return"number"==typeof window.parent.innerWidth?e=window.parent.innerHeight:window.parent.document.documentElement&&(window.parent.document.documentElement.clientWidth||window.parent.document.documentElement.clientHeight)?e=window.parent.document.documentElement.clientHeight:window.parent.document.body&&(window.parent.document.body.clientWidth||window.parent.document.body.clientHeight)&&(e=window.parent.document.body.clientHeight),e},window.getParentWindowWidth=function(){var e=0;return"number"==typeof window.parent.innerWidth?e=window.parent.innerWidth:window.parent.document.documentElement&&(window.parent.document.documentElement.clientWidth||window.parent.document.documentElement.clientHeight)?e=window.parent.document.documentElement.clientWidth:window.parent.document.body&&(window.parent.document.body.clientWidth||window.parent.document.body.clientWidth)&&(e=window.parent.document.body.clientWidth),e},window.getScrollBarWidth=function(){var e=document.createElement("div");e.className="scrollbar-measure",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}; "use strict";var TSComponents=angular.module("tsui.components",[]);TSComponents.component("tsuiOrderBySelector",{bindings:{config:"e.owaspTopCounter?e.processedScore=e.owaspTopCounter:e.processedScore=e.score)}}]}); "use strict";var TSDirectives=angular.module("tsui.directives",[]);TSDirectives.directive("stopEvent",function(){return{restrict:"A",link:function(t,e,i){e.bind("click",function(t){t.stopPropagation()})}}}),TSDirectives.directive("stopParentLiEvents",function(){return{restrict:"A",link:function(t,e,i){for(;"ul"!=e.prop("tagName").toLowerCase();)e.bind("click mouseenter",function(t){t.stopPropagation()}).addClass("typeahead-group"),e=e.parent()}}}),TSDirectives.directive("fallbackSrc",function(){return{link:function(t,e,i){e.bind("error",function(){angular.element(this).attr("src",i.fallbackSrc).css("vertical-align","text-bottom")})}}}),TSDirectives.directive("optionsClass",function(t){return{require:"select",link:function(e,i,n,o){var a=n.ngOptions.split(" ").pop(),r=t(n.optionsClass);e.$watch(a,function(t){angular.forEach(t,function(t,e){var n=r(t),o=i.find("option[value="+e+"]");angular.forEach(n,function(t,e){t&&angular.element(o).addClass(e)})})})}}}),TSDirectives.directive("optionsTitle",function(t){return{require:"select",link:function(e,i,n,o){var a=n.ngOptions.split(" ").pop(),r=t(n.optionsTitle);e.$watch(a,function(t){angular.forEach(t,function(t,e){var n=r(t),o=i.find("option[value="+e+"]");angular.element(o).attr("title",n)})})}}}),TSDirectives.directive("uiIndeterminate",[function(){return{compile:function(t,e){return e.type&&"checkbox"===e.type.toLowerCase()?function(t,e,i){t.$watch(i.uiIndeterminate,function(t){e[0].indeterminate=!!t})}:angular.noop}}}]),TSDirectives.directive("onFileSelect",function(){return{restrict:"A",link:function(t,e,i){var n=t.$eval(i.onFileSelect);e.bind("change",n)}}}),TSDirectives.directive("ngDatetimePicker",["$timeout",function(t){return{require:"ngModel",restrict:"A",link:function(e,i,n,o){t(function(){var t=null,e=null;if(window.generalSettings&&window.generalSettings.serverDate){var n=window.generalSettings.serverDate.split(" ");t=n[0];var o=n[1].split(":");e=o[0]+":"+o[1]}$(i).datetimepicker({format:"Y-m-d H:i",formatDate:"Y-m-d",formatTime:"H:i",timepicker:!0,lang:"en",step:15,defaultDate:t,defaultTime:e,onShow:function(t,e){if(window.generalSettings&&window.generalSettings.serverDate){var i=getDateObjFromString(window.generalSettings.serverDate),n=new Date(i.getTime()-window.generalSettings.pageLoadTimestamp+Date.now());this.setOptions({defaultTime:date("H:i",n),defaultDate:date("Y-m-d",n)})}}})},0)}}}]),TSDirectives.directive("ngDatePicker",["$timeout",function(t){return{require:"ngModel",restrict:"A",link:function(e,i,n,o){t(function(){$(i).datetimepicker({format:"Y-m-d",formatDate:"Y-m-d",formatTime:"H:i",timepicker:!1,lang:"en"})},0)}}}]),TSDirectives.directive("ngTimePicker",["$timeout",function(t){return{require:"ngModel",restrict:"A",link:function(e,i,n,o){t(function(){$(i).datetimepicker({datepicker:!1,format:"H:i",step:30})},0)}}}]),TSDirectives.directive("tsDropdown",["DataStorageSrvc","$document",function(t,e){return{restrict:"A",scope:{isOpen:"=?",closeCallback:"&?",focusOnOpen:"<?"},link:function(i,n,o){t.isSet("tsDropdown")||(t.setData("tsDropdown",{openedElem:null}),e.bind("click",function(){i.data.openedElem&&(i.data.openedElem.hasClass("ts-drpdwn-active-recent")?i.data.openedElem.removeClass("ts-drpdwn-active-recent")sadi.data.openedElem.removeClass("ts-drpdwn-active"),i.data.closeCallback&&(i.data.closeCallback(),i.data.closeCallback=null),i.data.openedElem=null))})),i.data=t.getData("tsDropdown"),i.openAction=function(){i.data.openedElem&&(i.data.openedElem.removeClass("ts-drpdwn-active"),i.data.openedElem.removeClass("ts-drpdwn-recent"),i.data.closeCallback&&(i.data.closeCallback(),i.data.closeCallback=null),i.data.openedElem=null),n.addClass("ts-drpdwn-active"),n.addClass("ts-drpdwn-active-recent"),i.data.openedElem=n,i.data.closeCallback=i.closeCallback||null,i.focusOnOpen&&$No.find(".ts-drpdwn-focus").focus()},i.closeAction=function(){n.removeClass("ts-drpdwn-active"),i.data.closeCallback&&(i.data.closeCallback(),i.data.closeCallback=null),i.data.openedElem=null},$No.find(".ts-drpdwn").bind("click",function(t){t.stopPropagation()}),$No.find(".ts-drpdwn-closer").bind("click",i.closeAction),n.bind("click",function(){n.hasClass("ts-drpdwn-active")?i.closeAction():i.openAction()}),"isOpen"in o&&(i.clearIsOpenListener=i.$watch("isOpen",function(){i.data.openedElem&&(i.data.openedElem.removeClass("ts-drpdwn-active"),i.data.openedElem.removeClass("ts-drpdwn-active-recent")),i.isOpen?i.openAction():i.closeAction()}),i.$on("$destoy",function(){i.clearIsOpenListener&&i.clearIsOpenListener()}))}}}]),TSDirectives.directive("tsuiDataTable",["$timeout","MsgBusSrvc",function(t,e){var i=function(){var t=document.createElement("div");t.className="width-measure",document.body.appendChild(t);var e=document.createElement("div");e.className="list-table-data";var i=document.createElement("div");i.innerHTML="A",i.className="color1",e.appendChild(i),t.appendChild(e);var n=i.offsetHeight+1,o=window.getComputedStyle(i),a=o.getPropertyValue("padding-right"),r=parseInt(a);return document.body.removeChild(t),{height:n,paddingRight:r}},n=function(t,e){var i=document.createElement("div");i.className="width-measure",document.body.appendChild(i);var n=document.createElement("div");n.className="list-table-title";var o=document.createElement("div");if(e){var a=document.createElement("a");a.className="sortoff",a.innerHTML=t,o.appendChild(a)}else o.innerHTML=t;o.className="list-table-title-right",n.appendChild(o),i.appendChildNo;var r=o.offsetWidth+1;return document.body.removeChild(i),r};return{restrict:"A",scope:{data:"
',link:function(e,i,n){e.leftPanelWidth=$("#contentframe",window.parent.document).offset().left,e.defaultConfig={width:700,closeOnOutsideClick:!1,showXBtn:!1},e.config||(e.config=angular.copy(e.defaultConfig)),e.fixModalDimensionsDelayed=function(){waitForFinalEvent(function(){e.fixModalDimensions()},100,"fixModalDimensions")},e.calculateModalPositionAndHeight=function(){var n=window.parent.document,o=$No.scrollTop(),a=$("#contentframe",n).offset().top,r=window.parent.innerHeight-20;o750&&(r=750);var s=10;$("div.tsui-modal-container",i).css("max-height",r).css("margin-top",s),$("div.tsui-modal-content",i).css("max-height",r-$("div.tsui-modal-footer",i).outerHeight()-$("div.tsui-modal-header",i).outerHeight());var l=($(window).width()+e.leftPanelWidth-(e.config.width||e.defaultConfig.width))/2-e.leftPanelWidth;l<5&&(l=5),$("div.tsui-modal-container",i).css("margin-left",l),t(function(){var t=$("div.tsui-modal-container",i).height(),e=(r-t+o)/2;e<10&&(e=10),$("div.tsui-modal-container",i).css("max-height",t).css("margin-top",e),$("div.tsui-modal-content",i).css("max-height",t-$("div.tsui-modal-footer",i).outerHeight()-$("div.tsui-modal-header",i).outerHeight());var n=window.parent.document;$("div.tsui-modal-outside-div",n).each(function(){$(this).css("visibility","visible")}),$(i).css("visibility","visible")},0)},e.fixModalDimensions=function(){var t=window.parent.document,n=$("#body",t).outerHeight(!0),o=parseInt($("#contentframe",t).css("height").replace("px",""))+32,a=Math.max(n,o);$("body").css("height",a-32.5),$(i).css("height",a-32.5),$("#panels div.tsui-modal-outside-div",t).css("height",a),e.calculateModalPositionAndHeight()},e.unregShow=e.$watch("show",function(n,o){var a=window.parent.document;if(n&&!o){e.unregConfigWidth=e.$watch("config.width",function(i,n){i&&n&&i!=n&&t(e.calculateModalPositionAndHeight,0)}),e.unregConfigModalType=e.$watch("config.modalType",function(i,n){i&&n&&i!=n&&t(e.calculateModalPositionAndHeight,0)}),$("body, #panels, #banner, #pagemenu",a).append('
'),$("div.tsui-modal-outside-div",a).css("position","absolute").css("z-index","90").css("left","0").css("top","0").css("width","100%").css("height","100%").css("background-color","rgb(0,0,0)").css("background-color","rgba(0,0,0,0.5)").css("overflow","auto"),$("#banner div.tsui-modal-outside-div",a).css("height","calc(100% + 38px)").css("top","-38px"),$("#panels div.tsui-modal-outside-div",a).css("width",e.leftPanelWidth+"px"),e.fixModalDimensions(),$(window.parent).on("resize",e.fixModalDimensionsDelayed),$(window).on("beforeunload",e._hideModal_force),$(i).on("click",e.outsideClicked),$("div.tsui-modal-outside-div",a).on("click",e.outsideClicked),$(document.activeElement).blur(),$("input, button, select").attr("tabindex",-1);var r=$("body",a);e.savedParentCss={overflow:r.css("overflow"),height:r.css("height")},$("body",a).css("overflow","hidden").css("height","100%"),$("div.tsui-modal-container > i.fa-times.modal-icon-remove",i).length||($("div.tsui-modal-container",i).prepend(''),$("div.tsui-modal-container i.fa-times.modal-icon-remove",i).on("click",e.xBtnClicked)),$("body",a).append('
'),$("body > div.tsui-modal-outside-div",a).css("position","fixed").css("z-index","90").css("left","0").css("bottom","0").css("width","100%").css("height","1px").css("background-color","#565656").css("overflow","auto"),e.showModal=!0}n&&o&&n!=o&&t(e.calculateModalPositionAndHeight,0),!n&&o&&(e.unregConfigWidth&&e.unregConfigWidth(),e.unregConfigModalType&&e.unregConfigModalType(),e._hideModal(),$(window).off("beforeunload",e._hideModal_force),e.config.preserveScrollPositionY||e.config.preserveScrollPositionX?e.config.preserveScrollPositionY?e.config.preserveScrollPositionX||$("div.tsui-modal-content",i).scrollLeft(0):$("div.tsui-modal-content",i).scrollTop(0):$("div.tsui-modal-content",i).scrollTop(0).scrollLeft(0),e.showModal=!1)}),e._hideModal_force=function(){e._hideModal(),$(i).hide()},e._hideModal=function(){$(i).css("visibility","hidden");var t=window.parent.document;$("body",t).css("overflow",e.savedParentCss.overflow).css("height",e.savedParentCss.height),$("div.tsui-modal-outside-div",t).remove(),$("body").css("height",""),$("input, button, select").removeAttr("tabindex"),$(window.parent).off("resize",e.fixModalDimensionsDelayed)},e.xBtnClicked=function(){e.show=!1,e.onHide&&"function"==typeof e.onHide&&e.onHide(),e.config.onHide&&"function"==typeof e.config.onHide&&e.config.onHide(),e.$apply()},e.outsideClicked=function(t){e.config.closeOnOutsideClick&&t&&($(t.target).hasClass("tsui-modal")||$(t.target).hasClass("tsui-modal-outside-div"))&&(e.show=!1,e.onHide&&"function"==typeof e.onHide&&e.onHide(),e.config.onHide&&"function"==typeof e.config.onHide&&e.config.onHide(),e.$apply())},e.$on("$destroy",function(){e.show&&e._hideModal_force(),e.unregConfigWidth&&e.unregConfigWidth(),e.unregConfigModalType&&e.unregConfigModalType(),e.unregShow&&e.unregShow()})}}}]),TSDirectives.directive("tsuiReadMore",function(){return{restrict:"A",scope:{text:" {{\'Show More\'}} {{\'Show Less\'}} {{\'Show More\'}}',link:function(t,e,i){t.state={showMore:!1,hasMoreToRead:!1},t.addTrailingDots=function(){var e=0;for("."!=t.shortText.charAt(t.shortText.length-1)?e=3:"."!=t.shortText.charAt(t.shortText.length-2)?e=2:"."!=t.shortText.charAt(t.shortText.length-3)&&(e=1),e;e>0;e--)t.shortText+="."},t.$watch("text",function(e,i){if(e){t.state={showMore:!1,hasMoreToRead:!1};var n=t.rmMaxChars||100,o=t.rmMaxLines||3;if(t.rmNlToBr){var a=t.text.split(/(\r\n|\n\r|\r|\n)/g);a=a.filter(function(t){return!(!t||!t.trim())}),a.splice(o);for(var r=o,s=0,l=[],c=0;c0&&(s=Math.ceil(a[c].length/n),r-s<=0&&(a[c]=a[c].substring(0,n*r)),r-=s,l.push(a[c]));t.shortText=l.join("\r\n"),t.shortText.length!=t.text.length&&(t.state.hasMoreToRead=!0,t.addTrailingDots())}else t.text.length>n?(t.state.hasMoreToRead=!0,t.shortText=t.text.substring(0,n),t.addTrailingDots()):t.shortText=t.text}})}}}),TSDirectives.directive("enforcementMode",function(){var t={blocking:{title:"asm.Blocking",icon:["fas","fa-shield-check"]},transparent:{title:"asm.Transparent",icon:["far","fa-shield"],background:"transparentSelected"},"transparent-passive":{title:"asm.TransparentPassiveMode",icon:["far","fa-shield"],background:"transparentSelected"},detached:{title:"asm.Detached",icon:["far","fa-shield-alt"],background:"detachedSelected"},disabled:{title:"asm.Disabled",icon:["far","fa-shield"],css:{color:"#F60000"},background:"transparentSelected"},"policy-default":{title:"asm.PolicyDefault"},"profile-default":{title:"asm.ProfileDefault"}};return{restrict:"A",scope:{enforcementMode:"<?",emIconOnly:"<?"},templateUrl:"../script/angular/tsui/partials/enforcement-mode.html",link:function(e,i,n){e.modes=t}}}),TSDirectives.directive("tsuiModalProcessing",["$filter",function(t){var e={iconTitle:t("localize")("asm.message.Pleasewait..."),title:t("localize")("asm.message.Pleasewait..."),message:t("localize")("asm.message.Pleasewaitminutes")};return{restrict:"A",scope:{config:"<?tsuiModalProcessing"},template:'
{{config.title}}
{{config.message}}
',link:function(t,i,n){t.$watch("config",function(i,n){t.config=angular.extend(e,t.config)},!0)}}}]),TSDirectives.directive("tsuiModalConfirm",function(){return{restrict:"A",scope:{header:"@?",message:"@?"},template:function(t,e){var i="";return i+='
',i+='
'},link:function(t,e,i){t.defaultTitle="Delete Item(s)",t.defaultMessage="Are you sure you want to delete the selected items?"}}}),TSDirectives.directive("switch",function(){return{restrict:"AE",replace:!0,transclude:!0,template:function(t,e){var i="";return i+="",i+="",i+='',i+='',i+=e.on?''+e.on+"":"",i+=e.off?''+e.off+"":" ",i+=""}}}),TSDirectives.directive("tsuiPieChart",function(){var t=window.navigator.userAgent.indexOf("MSIE ")>-1||window.navigator.userAgent.indexOf("Trident/")>-1||window.navigator.userAgent.indexOf("Edge")>-1,e=["#ff6347","#fc8873","#ffa500","#9acd32","#a9c3f3","#6495ed"],i=2*Math.PI,n=function(t,e){var n=Math.cos(i*t)*e,o=Math.sin(i*t)*e;return[n,o]},o=function(i,o,a,r){var s=n(a,r);a+=i.percent;var l;l=t&&1==i.percent?n(.9999,r):n(a,r);var c=i.percent>.5?1:0,d=["M "+s[0]+" "+s[1],"A "+r+" "+r+" 0 "+c+" 1 "+l[0]+" "+l[1],"L 0 0"].join(" ");return o.push({pathData:d,color:i.color||e[o.length%e.length],title:i.title||""}),a};return{restrict:"E",scope:{config:"<?",data:"1-e)return void t.processSlices((1-e)/i.length);o({percent:1-e,color:t.fillColor},i,e,t.height/2)}t.slices=i},t.config.watch?t.$watch("data",function(e,i){t.processSlices()},!0):t.processSlices()}}}),TSDirectives.directive("tsuiDonutChart",function(){var t=window.navigator.userAgent.indexOf("MSIE ")>-1||window.navigator.userAgent.indexOf("Trident/")>-1||window.navigator.userAgent.indexOf("Edge")>-1,e=["#ff6347","#fc8873","#ffa500","#9acd32","#a9c3f3","#6495ed"],i=2*Math.PI,n=function(e,n,o){t&&1==n&&(n=.9999);var a=o.cx+o.r2*Math.cos(i*e),o.cy+o.r2*Math.sin(i*e)],[o.cx+o.r2*Math.cos(i*(e+n)),o.cy+o.r2*Math.sin(i*(e+n))],[o.cx+o.r1*Math.cos(i*(e+n)),o.cy+o.r1*Math.sin(i*(e+n))],[o.cx+o.r1*Math.cos(i*e),o.cy+o.r1*Math.sin(i*e),r=(o.closeRadians-o.startRadians,n>.5?1:0),s=[];return s.push("M "+a[0].join(" ")),s.push("A "+[o.r2,o.r2,0,r,1,a[1]].join(" ")),s.push("L "+a[2].join(" ")),s.push("A "+[o.r1,o.r1,0,r,0,a[3]].join(" ")),s.push("z"),s.join(" ")},o=function(t,i,o,a,r){var s=n(o,t.percent,r);return o+=t.percent,i.push({pathData:s,color:t.color||e[i.length%e.length],title:t.title||"",notClickable:a,border:t.border||""}),o};return{restrict:"E",scope:{config:"<?",data:"1-i)return void t.processSlices((1-i)/a.length);i||(t.graphIsEmpty=!0),o({percent:1-i,color:t.fillColor},a,i,!0,t.sliceOpts),t.graphIsEmpty&&(a.push({pathData:n(0,1,t.outerBorderOpts),color:"",title:"",notClickable:!0,border:"#ddd"}),a.push({pathData:n(0,1,t.innerBorderOpts),color:"",title:"",notClickable:!0,border:"#ddd"}))}t.slices=a},t.config.watch?t.$watch("data",function(e,i){t.processSummary(),t.processSlices()},!0)sadt.processSummary(),t.processSlices()),t.processSummary=function(){if(t.summary&&t.summary.length){var e=0;e="number"==typeof t.summary[0]?t.summary[0].toString().length:t.summary[0].length,t.summaryTextSizes=angular.copy(t.defaultSummaryTextSizes),e>9?(t.summaryTextSizes[1][0]=t.summaryTextSizes[1][0]-2160/t.height,t.summaryTextSizes[2][0]=t.summaryTextSizes[2][0]-2160/t.height,t.summaryTextSizes[4][0]=t.summaryTextSizes[4][0]-2160/t.height):e>7?(t.summaryTextSizes[1][0]=t.summaryTextSizes[1][0]-1800/t.height,t.summaryTextSizes[2][0]=t.summaryTextSizes[2][0]-1800/t.height,t.summaryTextSizes[4][0]=t.summaryTextSizes[4][0]-1800/t.height):e>6&&(t.summaryTextSizes[1][0]=t.summaryTextSizes[1][0]-1080/t.height,t.summaryTextSizes[2][0]=t.summaryTextSizes[2][0]-1080/t.height,t.summaryTextSizes[4][0]=t.summaryTextSizes[4][0]-1080/t.height)}},t.sliceClicked=function(e,i){i||"function"!=typeof t.config.onClick||t.config.onClick(e)}}}}),TSDirectives.directive("tsuiBarChart",function(){var t="#199acc",e="#fff",i="#666666";return{restrict:"E",scope:{config:"<?",data:"1.5*a.percent&&(a.showIn=!1),o.push(a)}),n.bars=o},n.config.watch?n.$watch("data",function(t,e){n.processBars()},!0):n.processBars(),n.barClicked=function(t){"function"===n.config.onClick&&n.config.onClick(t)}}}}),TSDirectives.directive("tsuiTooltip",["$window",function(t){var e=function(t){var e=0,i=0,n=0,o=0;!t||isNaN(t.offsetWidth)||isNaN(t.offsetHeight)||(n+=t.offsetWidth,o+=t.offsetHeight);var a=t.getBoundingClientRect();return i=a.top+window.pageYOffset,e=a.left+window.pageXOffset,{top:i,left:e,width:n,height:o}};return{restrict:"A",scope:{html:"i.windowWidth&&(n=t.pageX-3-i.tooltipWidth));var r=0,s=!0;if(i.config&&i.config.vPosition&&i.config.vPosition.triggerElm){var l=e(t.target);i.config.vPosition.preferTop?(r=l.top-(i.config.vPosition.offsetTop||10)-i.tooltipHeight,r<0&&(r=l.top+l.height+(i.config.vPosition.offsetTop||10)))sadr=l.top+l.height+(i.config.vPosition.offsetTop||10),r+i.tooltipHeight>i.windowHeight&&(r=l.top-(i.config.vPosition.offsetTop||10)-i.tooltipHeight)),s=!1}s&&(r=t.pageY+10,t.pageY+10+i.tooltipHeight>i.windowHeight&&(r=t.pageY-3-i.tooltipHeight)),i.tooltip.css("top",r).css("left",n).css("visibility","visible")},i.onShow=function(t){if(!i.shown&&i.html){angular.element("#tsuiTooltip").length||angular.element("#angular-style").append('
'),i.tooltip=angular.element("#tsuiTooltip"),i.config&&i.config.inner?i.tooltip.addClass("innerTooltip"):i.tooltip.removeClass("innerTooltip");var e="160px";return i.config&&i.config.width&&parseInt(i.config.width)&&(e=parseInt(i.config.width)+"px"),i.tooltip.html(i.html).css("width",e).css("max-width",e).css("display","").css("top",0).css("left",0).css("visibility","hidden"),i.windowHeight=i.window.outerHeight(),i.windowWidth=i.window.outerWidth(),i.tooltipHeight=i.tooltip.outerHeight(),i.tooltipWidth=i.tooltip.outerWidth(),i.setTooltipPosition(t),i.config&&"click"==i.config.trigger||n.on("mousemove",i.setTooltipPosition),void(i.shown=!0)}i.config&&"click"==i.config.trigger&&i.shown&&(i.tooltip.css("display","none"),i.shown=!1)},i.config&&"click"==i.config.trigger?n.on("click",i.onShow):n.on("mouseover",i.onShow),n.on("mouseout",function(){i.tooltip&&(i.tooltip.css("display","none"),i.config&&"click"==i.config.trigger||n.off("mousemove",i.onMouseMove),i.shown=!1)})}}}]),TSDirectives.directive("clickOutside",["$document","$parse","$timeout",function(t,e,i){return{restrict:"A",link:function(n,o,a){i(function(){function r(t){var r,s,d,f,u,g;if(!angular.element(o).hasClass("ng-hide")&&t&&t.target){for(s=t.target;s;s=s.parentNode){if(s===o[0])return;if(f=s.id,u=s.className,g=c.length,u&&void 0!==u.baseVal&&(u=u.baseVal),u||f)for(r=0;r50&&e.processedTitle!=n.title){var a=n.title.search(/[\n\r\s]+/);if(a==-1||a>50){e.processedTitle=n.title;var r=t(n.title,50);i.attr("title",r.join("\r\n"))}}})}}}),TSDirectives.directive("tsuiJumpy",[function(){return{restrict:"A",transclude:!0,scope:{},template:''}}]),TSDirectives.directive("tsuiInlineError",[function(){return{restrict:"A",transclude:!0,template:'',link:function(t,e,i){e.addClass("note").addClass("error")}}}]),TSDirectives.directive("tsuiInlineWarning",[function(){return{restrict:"A",transclude:!0,template:'',link:function(t,e,i){e.addClass("note").addClass("warning")}}}]),TSDirectives.directive("tsuiInlineInfo",[function(){return{restrict:"A",transclude:!0,template:'',link:function(t,e,i){e.addClass("note").addClass("info")}}}]),TSDirectives.directive("tsuiInfo",["$timeout",function(t){function e(t,e){var i=getComputedStyle(t),n="absolute"===i.position,o=e?/(auto|scroll|hidden)/:/(auto|scroll)/;if("fixed"===i.position)return document.body;for(var a=t;a=a.parentElement;)if(i=getComputedStyle(a),(!n||"static"!==i.position)&&o.test(i.overflow+i.overflowY+i.overflowX))return a;return document.body}function i(t){var e=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,n=window.pageYOffset||document.documentElement.scrollTop;return{top:e.top+n,left:e.left+i}}return{restrict:"E",transclude:!0,scope:{config:"<?"},templateUrl:"../script/angular/tsui/partials/tsui-info.html",link:function(n,o,a){"undefined"==typeof window.savedScrollWidth&&(window.savedScrollWidth=window.getScrollBarWidth()),n.infoMargin=18,n.popoutMarginTop=7,n.config||(n.config={}),n.positions=["right","top","left","bottom"],n.getNextPosition=function(t){var e=n.positions.indexOf(t)+1;return n.positions[e%n.positions.length]},n.checkPositionNotCentered=function(t){switch(t){case"right":if(n.infoMargin+n.infoData.infoWidth<=n.infoData.targetOffset.right&&n.infoData.targetOffset.top>8){var e=Math.round(10*(-1*(n.infoData.infoHeight/2)-n.popoutMarginTop+n.infoData.targetHeight/2))/10,i=1-n.popoutMarginTop-n.infoData.targetOffset.top,o=i-e;return{left:n.infoMargin+n.infoData.targetWidth,top:i,infoTop:"calc(50% - "+o+"px)",position:t}}break;case"top":if(n.infoMargin+n.infoData.infoHeight<=n.infoData.targetOffset.top){ var a=Math.round(10*(n.infoData.targetWidth/2-n.infoData.infoWidth/2))/10,r=5-n.infoData.targetOffset.left;r8){var e=Math.round(10*(-1*(n.infoData.infoHeight/2)-n.popoutMarginTop+n.infoData.targetHeight/2))/10,i=1-n.popoutMarginTop-n.infoData.targetOffset.top,o=i-e;return{left:-1*(n.infoMargin+n.infoData.infoWidth),top:i,infoTop:"calc(50% - "+o+"px)",position:t}}break;case"bottom":if(n.infoMargin+n.infoData.infoHeight<=n.infoData.targetOffset.bottom){var a=Math.round(10*(n.infoData.targetWidth/2-n.infoData.infoWidth/2))/10,r=5-n.infoData.targetOffset.left;rs[0].clientHeight&&(n.infoData.targetOffset.right=n.infoData.targetOffset.right-window.savedScrollWidth);var l=$(a.nextElementSibling);n.infoData.infoWidth=l.outerWidth(),n.infoData.infoHeight=l.outerHeight();var c=n.config.position||"right",d=0;for(n.position=null;d<4&&!n.position;)n.position=n.checkPosition(c),d++,c=n.getNextPosition(c);if(!n.position)for(var c=n.config.position||"right",d=0;d<4&&!n.position;)n.position=n.checkPositionNotCentered(c),d++,c=n.getNextPosition(c);$(a.nextElementSibling).css("visibility","visible")},0)}}}}}]),TSDirectives.directive("tsuiPercentBar",function(){return{restrict:"E",scope:{value:"<?",maxWidth:"<?"},template:"
",link:function(t,e,i){t.width=((t.maxWidth||45)*t.value/100).toFixed()||1}}}),TSDirectives.directive("routeLoader",["MsgBusSrvc","$rootScope",function(t,e){return{restrict:"E",scope:{text:"<?"},template:'
{{text || \'Loading...\'}}
',link:function(i,n,o){i.showLoader=!1,e.$on("$locationChangeStart",function(t,e,n){i.showLoader=!0}),e.$on("$routeChangeSuccess",function(t,e,n){i.showLoader=!1}),e.$on("$routeChangeError",function(t,e,n){i.showLoader=!1}),e.$on("$routeUpdate",function(t,e,n){i.showLoader=!1}),t.onMsg("toggleRouteLoader",function(t,e){i.showLoader=e.show,i.text=e.text})}}}]),TSDirectives.directive("tsuiListTable",["$timeout","MsgBusSrvc",function(t,e){var i=window.getScrollBarWidth(),n=1,o=function(t,e){void 0===e&&(e=0);var i=Math.pow(10,e);return t=parseFloat((t*i).toFixed(11)),(Math.round(t)/i).toFixed(2)},a=function(t){return t.scrollHeight>t.clientHeight};return{restrict:"E",scope:{config:"<?",data:"<?"},link:function(r,s,l){r.defaultConfig={paddingTop:20,paddingBottom:20,paddingTopScreen:12,paddingBottomScreen:28,minHeightScreen:300,minHeight:200},r.initTable=function(){r.tableId=n++,r.config||(r.config={}),r.table={numColumns:0,numPercentColumns:0,numPixelColumns:0,columns:[],hasScroll:!1,tableBody:s[0].querySelector(".list_table_body")},r.initColumns(r.config.columns),r.table.tableBody.style["overflow-y"]="auto",$(window.parent).on("resize",r.delayedFixTable),r.config.maxHeight&&(r.table.tableBody.style["max-height"]=r.config.maxHeight),r.config.skipWatchData||(r.dataWatcher=r.$watch("data",r.fixTable)),r.config.listenToEvents&&r.config.listenToEvents.length&&(r.msgBusEventsUnbind=[],angular.forEach(r.config.listenToEvents,function(t,i){r.msgBusEventsUnbind.push(e.onMsg(t,r.fixTable))})),r.fixTable()},r.initColumns=function(t){var e=$(".list_table_header",s).children();if(r.numHeaders=e.length,r.table.numColumns=e.length,1==r.table.numColumns)r.table.columns.push({type:"percent",width:"100%",scrollWidth:"100%"});else{r.table.numPercentColumns=r.table.numColumns;for(var n=[],a=0,l=0,c=0,d=0,f=0;f div:nth-child("+(f+1)+") { width: "+r.table.columns[f].width+"}\r\n",w+="#"+m+".hasScroll .list_table_header > div:nth-child("+(f+1)+") { width: "+r.table.columns[f].scrollWidth+"}\r\n",w+="#"+m+" .list_table_body div.list_table_row > div:nth-child("+(f+1)+") { width: "+r.table.columns[f].width+"}\r\n";v.innerHTML=w,document.body.appendChild(v),s.attr("id",m)},r.fixTable=function(){var t=$(".list_table_header",s).children();if(t.length!=r.numHeaders){var e=document.getElementById("tsuiListTableCss_"+r.tableId);return document.body.removeChild(e),void r.initTable()}r.config.maxHeight||r.fixTableBodyHeight(),r.fixColumnsWidth()},r.delayedFixTable=function(){waitForFinalEvent(r.fixTable,255,"fixTsuiListTable_"+r.tableId)},r.hasScroll=function(){return r.table.tableBody.scrollHeight>r.table.tableBody.clientHeight},r.fixColumnsWidth=function(){return r.table.tableBody.clientHeight?(r.table.hasScroll=a(r.table.tableBody),void(r.table.hasScroll?s.addClass("hasScroll"):s.removeClass("hasScroll"))):void t(r.fixColumnsWidth)},r.fixTableBodyHeight=function(){if(!r.config.maxHeight)if(r.config.container){var e=$(r.config.container);if(e.is(":visible")){var i=e.innerHeight(),n=$(r.table.tableBody).offset().top;if(i>0&&n>0){var o=i-n+e.offset().top-(r.config.paddingBottomScreen||r.defaultConfig.paddingBottomScreen);o<(r.config.minHeight||r.defaultConfig.minHeight)&&(o=r.config.minHeight||r.defaultConfig.minHeight),r.table.tableBody.style["max-height"]=o+"px"}else t(r.fixTableBodyHeight,10)}else t(r.fixTableBodyHeight,10)}else{var o=getParentWindowHeight()-$("#contentframe",window.parent.document).offset().top-(r.config.paddingBottomScreen||r.defaultConfig.paddingBottomScreen)-r.defaultConfig.paddingTopScreen;o<(r.config.minHeightScreen||r.defaultConfig.minHeightScreen)&&(o=r.config.minHeightScreen||r.defaultConfig.minHeightScreen),$("#angular-style").height(o),frameResize();var a=r.table.tableBody.offsetTop-(r.config.paddingTopScreen||r.defaultConfig.paddingTopScreen);r.table.tableBody.style["max-height"]="calc(100% - "+a+"px)"}},r.$on("$destroy",function(){if(r){r.maxHeight||$(window.parent).off("resize",r.delayedFixTable),r.config.skipWatchData||r.dataWatcher(),r.config.listenToEvents&&r.config.listenToEvents.length&&angular.forEach(r.config.msgBusEventsUnbind,function(t,e){t()});var t=document.getElementById("tsuiListTableCss_"+r.tableId);document.body.removeChild(t)}}),r.initTable()}}}]),TSDirectives.directive("tsuiPage",["$timeout","$rootScope",function(t,e){return{restrict:"E",scope:{config:"<?"},link:function(e,i,n){e.configuration=angular.extend({minHeight:450},e.config||{}),e.setPageHeight=function(){var i=0,n=$("#angular-style").offset();if(n&&n.top)var i=n.top;var o=getParentWindowHeight()-$("#contentframe",window.parent.document).offset().top-i-15-parseInt($("#angular-style").css("padding-top"));if(o"+o):i.html(i.html()+n)}}}]),TSDirectives.directive("sandbox",function(){return{restrict:"E",replace:!0,scope:{body:"<?"},template:'',link:function(t,e,i){var n=$(e);n[0].contentDocument.write(t.body);var o=n.contents().find("body");o.css("padding","30px 20px 20px 20px").css("margin","0px")}}}); "use strict";var TSFilters=angular.module("tsui.filters",[]);TSFilters.filter("rest_datetime",function(){return function(e,t,r,n,i){if(e){var u=e.replace("T"," ").replace("Z",""),o=u.split("-");return 4!=o.length?u=u.replace(/\+.*/,"")sado.pop(),u=o.join("-")),i&&(u=getServerDateStrFromRestGmt(u)),r?u=u.substr(0,u.lastIndexOf(":")):n&&(u=u.substr(0,u.indexOf(" "))),t?u.split(" ").reverse().join(" "):u}}}),TSFilters.filter("na_if_empty",function(){return function(e,t){if(!e){var t=t||"";return"N/A"+t}return e}}),TSFilters.filter("add_protocol_to_url",function(){return function(e){return e?0!=e.indexOf("http://")&&0!=e.indexOf("https://")?"http://"+e:e:""}}),TSFilters.filter("ucfirst",function(){return function(e){if(null!=e)return e=e.toLowerCase(),e.substring(0,1).toUpperCase()+e.substring(1)}}),TSFilters.filter("encodeStringToRest",function(){return function(e){if(e)return e.replace(/\\/g,"\\\\").replace(/\?/g,"\\?").replace(/"/g,'\\"')}}),TSFilters.filter("decodeStringFromRest",function(){return function(e){if(e)return e.replace(/\\\\/g,"\\").replace(/\\\?/g,"?").replace(/\\\"/g,'"')}}),TSFilters.filter("ucwords",function(){return function(e,t){if(e){var r,n="";return r=t?e.split("-"):[e],angular.forEach(r,function(e,t){n+=(t?" ":"")+(e+"").replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(e){return e.toUpperCase()})}),n}}}),TSFilters.filter("remove_rd_from_ip",function(){return function(e){if(e){var t=e.split("%");return t[0]}}}),TSFilters.filter("fix_rd_from_rest",function(){return function(e){if(e)return"0"!=window.DEFAULT_ROUTE_DOMAIN?e.indexOf("%")==-1?e+"%0":e.replace("%"+window.DEFAULT_ROUTE_DOMAIN,""):e}}),TSFilters.filter("port_delimeter",function(){return function(e,t){if(e)return e.indexOf(":")==-1?e+":":e+"."}}),TSFilters.filter("get_country_icon",function(){return function(e){return e&&"N/A"!=e?"../images/flags/"+e.toLowerCase()+".png":"../images/earth_icon.png"}}),TSFilters.filter("nl2br",["$sce",function(e){return function(t,r){var r=r||!0,n=r?"
":"
";if(t&&t.length){t=sanitizeInput(t);var i=t.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+n+"$2");return e.trustAsHtml(i)}}}]),TSFilters.filter("show_nonprintable",["$sce",function(e){return function(t,r){var n="",i=0;if(t&&t.length){t=sanitizeInput(t);for(var u=32-(r?1:0),o=0;o=0&&i<=u?'0x'+i.toString(16)+"":t.charAt(o);return e.trustAsHtmlNo}}}]),TSFilters.filter("base64_decode",function(){return function(e,t){return e?t?mb_atob(e):e:angular.isDefined(e)?e:void 0}}),TSFilters.filter("basename",function(){return function(e){if(e)return e.replace(/\\/g,"/").replace(/.*\//,"")}}),TSFilters.filter("sanitize",["$sce",function(e){return function(t){return"string"==typeof t?e.trustAsHtml(t):"number"==typeof t?e.trustAsHtml(t.toString()):void 0}}]),TSFilters.filter("secs_to_time",function(){return function(e){var t=parseInt(e),r="";if(!e)return"less than 1 second";if(t>86400){var n=Math.floor(t/86400);r=1==n?"1 day":n+" days",t%=86400,t&&(r+=" ")}if(t>3600){var i=Math.floor(t/3600);r+=1==i?"1 hour":i+" hours",t%=3600,t&&(r+=" ")}if(t>60){var u=Math.floor(t/60);r+=1==u?"1 minute":u+" minutes",t%=60,t&&(r+=" ")}return t&&(r+=1==t?"1 second":t+" seconds"),r}}),TSFilters.filter("even",function(){return function(e){if(!e||!angular.isArray(e)||!e.length)return e;for(var t=[],r=0;r1&&this.push(n+" "+o.replace("_date","")+" '"+e.value.escapeForRest()+"'"):this.push(n+" "+o.replace("_boolean","")+" "+e.value.escapeForRest())},o),o.length&&(i.$filter=o.join(" and ")),e.buildSorting(i,n),{params:i,filterIsEmpty:a}},e}),TSServices.factory("AsmEndPointsSrvc",["$resource",function(e){return e("/mgmt/tm/asm/:endPoint/:subEndPoint/:entityId/:extraEndPoint",{endPoint:"@endPoint",subEndPoint:"@subEndPoint",entityId:"@entityId",extraEndPoint:"@extraEndPoint"},{query:{method:"GET",isArray:!1,cache:!1,cancellable:!0},update:{method:"PATCH",isArray:!1},create:{method:"POST",isArray:!1},remove:{method:"DELETE",isArray:!1}})}]),TSServices.factory("PolicyEndPointsSrvc",["$resource",function(e){return e("/mgmt/tm/asm/policies/:policyId/:endPoint/:subEndPoint/:entityId",{policyId:"@policyId",endPoint:"@endPoint",subEndPoint:"@subEndPoint",entityId:"@entityId"},{query:{method:"GET",isArray:!1,cache:!1,cancellable:!0},update:{method:"PATCH",isArray:!1},create:{method:"POST",isArray:!1},remove:{method:"DELETE",isArray:!1}})}]),TSServices.factory("PolicyListSrvc",["AsmEndPointsSrvc","MsgBusSrvc",function(e,t){var n={};return n.fillPoliciesPool=function(n,o){var a={endPoint:"policies",$orderby:"fullPath",$select:"id,name,fullPath,hasParent",$filter:"undefined"==typeof n?"type eq 'security'":n};e.query(a,functionNo{if(window.requestSettings||(window.requestSettings={}),window.requestSettings.policiesPool={},n&&n.items.length){if(angular.forEach(n.items,function(e,t){var n={fullPath:e.fullPath,name:e.name,value:e.id,title:"Security Policy: "+e.fullPath,hasParentPolicy:e.hasParent};o&&(n.buildingMode=!1),window.requestSettings.policiesPool[e.id]=n}),o){var i=angular.copy(a);delete i.$orderby,i.$select="id",i.$filter?i.$filter+=" and policy-builder-central-configuration/buildingMode eq 'central'":i.$filter+="policy-builder-central-configuration/buildingMode eq 'central'",e.query(i,function(e){angular.forEach(e.items,function(e,t){window.requestSettings.policiesPool[e.id]&&(window.requestSettings.policiesPool[e.id].buildingMode=!0)}),t.componentReady("policiesPool")},function(e){t.componentReady("policiesPool")})}}else t.componentReady("policiesPool");o||t.componentReady("policiesPool")},function(e){window.requestSettings.policiesPool={},t.componentReady("policiesPool")})},n.fillPolicyGroupsPool=function(){e.query({endPoint:"policy-groups",$orderby:"name",$select:"id,name"},function(e){window.requestSettings||(window.requestSettings={}),window.requestSettings.policyGroupsPool=[],e&&e.items.length&&angular.forEach(e.items,function(e,t){window.requestSettings.policyGroupsPool.push({title:"Policy Group: "+e.name,fullPath:e.name,value:e.name})}),t.componentReady("policyGroupsPool")},function(e){window.requestSettings.policyGroupsPool=[],t.componentReady("policyGroupsPool")})},n}]),TSServices.factory("TagSrvc",["AsmEndPointsSrvc","$filter","MsgBusSrvc",function(e,t,n){var o={};return o.fillPool=function(){e.query({endPoint:"tags",$orderby:"name"},function(e){window.generalSettings.tagsPool={},e&&e.items.length&&angular.forEach(e.items,function(e,t){window.generalSettings.tagsPool[e.id]={name:e.name,partition:e.partition,id:e.id}}),n.componentReady("tagsPool")},function(e){window.generalSettings.tagsPool={},n.componentReady("tagsPool")})},o.getPoolForFilter=function(){return t("orderBy")($.map(window.generalSettings.tagsPool,function(e,t){var n=e.name;return e.partition!=window.generalSettings.F5_CURRENT_PARTITION&&(n=n+" (/"+e.partition+")"),{name:n,value:e.id}}),"name")},o}]),TSServices.factory("TaskSrvc",["$resource",function(e){return e("/mgmt/tm/asm/tasks/:endPoint/:taskId",{endPoint:"@endPoint",taskId:"@taskId"},{query:{method:"GET",isArray:!1,cache:!1,cancellable:!0},create:{method:"POST",isArray:!1},remove:{method:"DELETE",isArray:!1}})}]),TSServices.factory("RunTaskSrvc",["$q","TaskSrvc","$timeout","RestEndPointSrvc",function(e,t,n,o){var a={};return a.run=function(n,o,i,r){var l=e.defer();return i=i||null,r=r||null,t.create({endPoint:n},o,function(e){e.id?a.poll(n,e,l,100):l.reject({message:"Failed to run task"})},function(e){l.reject({message:"Failed to run task"})}),(i||r)&&l.promise.then(i,r),l.promise},a.poll=function(e,i,r,l){if("COMPLETED"==i.status)if(i.createResultReference&&i.resultReference&&i.resultReference.link){var s=getRestIdFromLink(i.resultReference.link);o.query({path1:"asm",path2:"file-transfer",path3:"downloads",path4:s},function(e){e&&e.responses&&e.responses.length&&e.responses[0].response&&e.responses[0].response.body?r.resolve(e.responses[0].response.body):r.reject({message:"Result not retrieved"})},function(e){r.reject({message:"Failed to download results"})}).$promise.finally(function(){t.remove({endPoint:e,taskId:i.id})})}else r.resolve(i),t.remove({endPoint:e,taskId:i.id});else if("FAILURE"==i.status){var u=i.message;u||(u=i.result&&i.result.message?i.result.message:"Task failed"),r.reject({message:u}),t.remove({endPoint:e,taskId:i.id})}else"NEW"!=i.status&&"STARTED"!=i.status||n(function(){t.query({endPoint:e,taskId:i.id},function(t){a.poll(e,t,r,l+100>500?500:l+100)},function(e){r.reject({message:e.message||"Failed to run task"})})},l)},a.buildBulkCommand=function(e,t,n){t=t||"DELETE";var o={method:t,uri:e};return n&&(o.body=n),o},a.buildQs=function(e){var t="";return angular.forEach(e,function(e,n){t+=n+"="+encodeURIComponent(e)+"&"}),t},a}]),TSServices.factory("ModalSrvc",["$window",function(e){var t={};return $("body").append('
ajax-loader.gif Please wait...
This may take a while.
 
'),e.longActionModal=new TSModalDialog("longActionModal"),e.confirmModal=new TSModalDialog("confirmModal"),t.showLongActionModal=function(t,n){e.longActionModal.showModal(n||$("#longActionModalCfg_content").html(),!1,t,$("#longActionModalCfg_buttons").html(),{width:500,height:300,showCloseBtn:!1,forceAutoScrollOff:!1})},t.hideLongActionModal=function(t){e.longActionModal.hideModalCustom(t)},t.launchConfirmModal=function(t,n,o){e.confirmModalCallBack=function(){o()},confirmModal.showModalNew(t,!0,n,[{value:"Cancel",onclick:"confirmModal.hideModalCustom();"},{value:" OK ",onclick:"confirmModalCallBack()"}],{width:500,height:300,showCloseBtn:!0,forceAutoScrollOff:!1})},t.hideConfirmModal=function(t){e.confirmModal.hideModalCustom(t)},t.showError=function(t,n){n||(n="error");for(var o=t.split("
"),a=0;aicon_'+n+'.png '+o.join("
")+""),$("#modalCloseBtn",e.longActionModal.returnModalObject()).show()},t.showContentModal=function(e,t,n){var o=n?n.value:null,a=n?n.onclick:null,i=n?n.width:null,r=n?n.height:null,l=n?n.showCloseBtn:null,s=n?n.forceAutoScrollOff:null,u=n?n.sandbox:null,c=n?n.iframe:null;c&&(e="../dms/policy/blank.php"),confirmModal.showModalNew(e,!0,t,[{value:o||"Close",onclick:a||"confirmModal.hideModalCustom();"}],{width:i||500,height:r||300,showCloseBtn:l||!0,forceAutoScrollOff:s||!1,sandbox:u||!1,iframe:c||!1})},t}]),TSServices.factory("AvrReportSrvc",["$resource",function(e){return e("/mgmt/tm/analytics/:module/:action/:reportId",{module:"@module",reportId:"@reportId",action:"@action"},{query:{method:"GET",isArray:!1,cache:!1,cancellable:!0},create:{method:"POST",isArray:!1},remove:{method:"DELETE",isArray:!1}})}]),TSServices.factory("AvrGenerateReportSrvc",["$q","AvrReportSrvc","$timeout",function(e,t,n){var o=["orange","mediumaquamarine","dodgerblue","tomato","mediumorchid","mediumspringgreen","mediumpurple","cornflowerblue","mediumslateblue","yellowgreen","#ffc14d","#8bdac0","#4da6ff","#ff7d66","#c571da","#1affa7","#b299e6","#8db0f2","#9c8cf2","#aed75b","#b37400","#38ad86","#0080ff","#ff3c1a","#9b2fb6","#00cc7e","#7547d1","#3271e7","#6047eb","#7ba428"],a={};return a.generate=function(n,o,i,r){var l=e.defer();return i=i||null,r=r||null,t.create({module:n,action:"generate-report"},o,function(e){e.id?a.poll(n,e,l):l.reject({message:"Failed to generate AVR report"})},function(e){l.reject({message:"Failed to generate AVR report"})}),(i||r)&&l.promise.then(i,r),l.promise},a.poll=function(e,o,i){if("FINISHED"==o.status)if(o.reportResultsLink){var r=o.id;t.query({module:e,reportId:getRestIdFromLink(o.reportResultsLink),action:"report-results"},functionNo{i.resolveNo,t.remove({module:e,reportId:r,action:"generate-report"})},functionNo{i.reject({message:n.errorMessage||"Failed to generate AVR report"}),t.remove({module:e,reportId:r,action:"generate-report"})})}else i.reject({message:o.errorMessage||"Failed to generate AVR report"});else"FAILED"==o.status||"CANCEL_REQUESTED"==o.status||"CANCELED"==o.status?(i.reject({message:o.errorMessage||"Failed to generate AVR report"}),t.remove({module:e,reportId:o.id,action:"generate-report"})):"CREATED"!=o.status&&"STARTED"!=o.status||n(function(){t.query({module:e,reportId:o.id,action:"generate-report"},function(t){a.poll(e,t,i)},function(e){i.reject({message:e.errorMessage||"Failed to generate AVR report"})})},500)},a.convertDatesToServerTime=function(e){var t=1e3*window.generalSettings.serverDateDiffFromGmt*1e3;e.timeTo=e.timeTo+t,e.timeFrom=e.timeFrom+t},a.getDataFromReportResult=function(e,t){var n=[],i={};if(t.useDimensionName){var r={};angular.forEach(e.timeSeries,function(e,t){angular.forEach(e.entities,function(e,t){r[e.dimensions[0].value]=e.dimensions[0].value})});var l=0;angular.forEach(r,function(e,a){i[e]=l,n.push({id:e,name:t.metricNames&&t.metricNames[e]?t.metricNames[e]:e,color:o[l%o.length],points:[]}),l++}),angular.forEach(e.timeSeries,function(e,o){a.convertDatesToServerTime(e);var r=new Date(e.timeTo/1e3);if(t.addFromDateToData){var l=new Date(e.timeFrom/1e3),s=new Date((e.timeTo-(e.timeTo-e.timeFrom)/2)/1e3);angular.forEach(n,function(e,t){e.points.push({y:0,x:s,x0:l,x1:r})})}else angular.forEach(n,function(e,t){e.points.push({y:0,x:r})});angular.forEach(e.entities,function(e,t){var o=n[i[e.dimensions[0].value]].points;o[o.length-1].y=+e.metricValues[0].value})})}else{var s={};angular.forEach(e.timeSeries,function(e,t){angular.forEach(e.entities,function(e,t){angular.forEach(e.metricValues,function(e,t){s[e.metricName]=e.metricName})})});var l=0;angular.forEach(s,function(e,r){i[e]=l,n.push({id:e,name:t.metricNames&&t.metricNames[e]?t.metricNames[e]:a.getMetricName(e,t.removedWords),color:o[l%o.length],points:[]}),l++}),angular.forEach(e.timeSeries,function(e,t){a.convertDatesToServerTime(e);var o=new Date(e.timeTo/1e3);angular.forEach(n,function(e,t){e.points.push({y:0,x:o})}),angular.forEach(e.entities,function(e,t){angular.forEach(e.metricValues,function(e,t){var o=n[i[e.metricName]].points;o[o.length-1].y=+e.value})})})}return n},a.getTopEntitiesDataFromReportResult=function(e,t){var n=[];return angular.forEach(e.timeAggregated,function(e,a){var i,r=e.dimensions[0].value,l=+e.metricValues[0].value;i=t.dimensionColors?t.dimensionColors[r]:o[n.length%o.length],n.push({dimension:r,label:t.metricNames&&t.metricNames[r]?t.metricNames[r]:r,value:l,color:i})}),n},a.getMetricName=function(e,t){for(var n=e.split("-"),o=n.length-1;o>-1;o--)t.indexOf(n[o])!=-1?n.splice(o,1):n[o]=n[o].charAt(0).toUpperCase()+n[o].slice(1);return n.join(" ")},a}]),TSServices.factory("SectionSrvc",["$filter","PolicyEndPointsSrvc","MsgBusSrvc",function(e,t,n){var o={};return o.fillPool=function(e,o){t.query({policyId:window.generalSettings.policyId,endPoint:"sections",$orderby:"description",$filter:e?"":"sectionType ne 'policy-building'"},function(e){window.generalSettings.sectionsPool={},e&&e.items.length&&angular.forEach(e.items,function(e,t){var n={value:e.sectionType,title:e.description};o&&(n.childInheritanceStatus=e.childInheritanceStatus,n.inheritanceApprovalStatus=e.inheritanceApprovalStatus,n.parentInheritanceStatus=e.parentInheritanceStatus),window.generalSettings.sectionsPool[e.id]=n}),n.componentReady("sectionsPool")},function(e){window.generalSettings.sectionsPool={},n.componentReady("sectionsPool")})},o.getPoolForFilter=function(t){var t=t?t:["title"],n=[];return angular.forEach(window.generalSettings.sectionsPool,function(e,t){n.push(e)}),e("orderBy")(n,t)},o}]),TSServices.factory("FileTransferSrvc",["$resource",function(e){return e("/mgmt/tm/:path1/:path2/:path3/:directory/:fileName",{path1:"@path1",path2:"@path2",path3:"@path3",directory:"@directory",fileName:"@fileName"},{download:{method:"GET",isArray:!1,cache:!1,responseType:"blob",transformResponse:function(e){return{data:e}}},upload:{method:"POST",isArray:!1,cache:!1,transformResponse:function(e){return{data:e}},headers:{"Content-Type":"application/octet-stream"}}})}]),TSServices.factory("ChunkedFileTransferSrvc",["$http","FileTransferSrvc","MsgBusSrvc",function(e,t,n){var o={},a=512e3;return o.downloadFile=function(e,t,n,a,i,r){var l=encodeURIComponent(e),s=[];o.downloadFileChunk(l,t,s,0,n,a,i,r)},o.downloadFileChunk=function(n,i,r,l,s,u,c,d){var p=l+a;p>i&&(p=i),e.defaults.headers.common["Content-Range"]=l+"-"+p+"/"+i,d?d.fileName=n:d={path1:"asm",path2:"file-transfer",directory:"downloads",fileName:n},t.download(d,function(t){r.push(t.data),c&&"function"==typeof c&&c(p,i),p>=i?(delete e.defaults.headers.common["Content-Range"],s&&"function"==typeof s&&s({file:r})):o.downloadFileChunk(n,i,r,p+1,s,u,c,d)},function(t){delete e.defaults.headers.common["Content-Range"],u&&"function"==typeof u&&u(t)})},o.uploadFile=function(e,t,n,a,i,r){var l="";l=i?o.escapeFileName(i):o.escapeFileName(e.name),o.uploadFileChunk(l,e,0,t,n,a,r)},o.uploadFileChunk=function(n,i,r,l,s,u,c){var d=i.size-1,p=r+a;p>=d&&(p=i.size),e.defaults.headers.common["Content-Range"]=r+"-"+(p-1)+"/"+d,c?c.fileName=n:c={path1:"asm",path2:"file-transfer",directory:"uploads",fileName:n},t.upload(c,i.slice(r,p),function(t){u&&"function"==typeof u&&u(p,d),p>=d?(delete e.defaults.headers.common["Content-Range"],l&&"function"==typeof l&&l(t)):o.uploadFileChunk(n,i,p,l,s,u,c)},function(t){delete e.defaults.headers.common["Content-Range"],s&&"function"==typeof s&&s(t)})},o.escapeFileName=function(e){var t=200;e=e.replace(/[\(\)]/g,"_");var n=encodeURIComponent(e.replace(/[\(\)]/g,"_"));if(n.length>t)for(var o=e.split("."),a=o.length>1?o.length-2:0;n.length>t;)o[a].length&&(o[a]=o[a].slice(0,-1)),o[a].length||(o.splice(a,1),a=o.length>1?o.length-2:0),n=encodeURIComponent(o.join("."));return n},o}]),TSServices.factory("RestEndPointSrvc",["$resource","$q","$filter",function(e,t,n){var o=e("/mgmt/tm/:path1/:path2/:path3/:path4/:path5/:path6",{path1:"@path1",path2:"@path2",path3:"@path3",path4:"@path4",path5:"@path5",path6:"@path6"},{query:{method:"GET",isArray:!1,cache:!1,cancellable:!0},update:{method:"PATCH",isArray:!1,cancellable:!0},create:{method:"POST",isArray:!1,cancellable:!0},remove:{method:"DELETE",isArray:!1,cancellable:!0}});return o.MAX_RETRIEVED_ITEMS=1e3,o.EXTRA_PARAMS={maxRetrievedItems:o.MAX_RETRIEVED_ITEMS,orderBy:""},o.queryAll=function(e,n,a,i,r){var l=angular.copy(e),s=angular.extend({},o.EXTRA_PARAMS,i),u={items:[],totalItems:0};r||(r=[]),delete l.$orderby,l.$skip=0,l.$top=s.maxRetrievedItems;var c=t.defer();return r.push(o.query(l,function(e){if(r.pop(),e&&e.items)if(u.items=e.items,e.totalItems>s.maxRetrievedItems){for(var n=[],a=s.maxRetrievedItems;a0;)a.pop();e.resolve(o)},o}]),TSServices.factory("TmuiRestEndPointSrvc",["$resource",function(e){return e("/tmui/:path1/:path2/:path3",{path1:"@path1",path2:"@path2",path3:"@path3"},{query:{method:"GET",isArray:!0,cache:!1,cancellable:!0}})}]),TSServices.factory("PermissionsSrvc",["RestEndPointSrvc","TmuiRestEndPointSrvc","MsgBusSrvc","$q",function(e,t,n,o){var a={};return a.allowedPartitions=null,a.getProvisionPool=function(t,i){if(a.provisionPool){var r=o.defer();return t&&"function"==typeof t&&(t(a.provisionPool),r.resolve(a.provisionPool)),r.promise}return e.query({path1:"sys",path2:"provision"},function(e){a.provisionPool={},e&&e.items.length&&angular.forEach(e.items,function(e,t){a.provisionPool[e.name]="none"!=e.level}),t&&"function"==typeof t?t(a.provisionPool):n.componentReady("provisionPool")},function(e){a.provisionPool={},i&&"function"==typeof i?i(e):n.componentReady("provisionPool")}).$promise},a.isModuleProvisioned=function(e,t,n){a.getProvisionPool(functionNo{n&&t&&"function"==typeof t&&t(n[e]||!1)},function(e){n&&"function"==typeof n&&n(e)})},a.getUserRole=function(e,n){return t.query({path1:"service",path2:"resource",path3:"partition_info"},function(t){e&&"function"==typeof e&&e(t&&t.length?t[0].role||"Guest":"Guest")},function(e){n&&"function"==typeof n&&n(e)}).$promise},a.adminRoles=["Administrator","Resource Administrator"],a.asmAdminRoles=a.adminRoles.concat(["Application Security Administrator"]),a.asmEditorRoles=a.asmAdminRoles.concat(["Application Security Editor","Application Security Operations Administrator"]),a.getUserPermissions=function(e){return{isAdmin:a.adminRoles.indexOf(e)!==-1,isAsmAdmin:a.asmAdminRoles.indexOf(e)!==-1,isAsmEditor:a.asmEditorRoles.indexOf(e)!==-1}},a.getModuleKeys=function(e){var t=[];return angular.forEach(e,function(e,n){var o=n.indexOf("[");o!==-1?t.push(n.substring(0,o)):t.pushNo}),t},a.hasModuleKey=function(e,t){return e.indexOf(t)!==-1},a.getAvailableModules=function(t,n){var i=o.defer();return t=t||null,n=n||null,e.query({path1:"sys",path2:"db",path3:"cloud.licensed.bewaf"},function(o){t&&"function"==typeof t&&("enable"==o.value&&(a.cloudBewafLicensed=!0),e.query({path1:"sys",path2:"license",options:"detail"},function(e){if(t&&"function"==typeof t)try{var n=a.getModuleKeys(e.entries["https://localhost/mgmt/tm/sys/license/0"].nestedStats.entries["https://localhost/mgmt/tm/sys/license/0/features"].nestedStats.entries["https://localhost/mgmt/tm/sys/license/0/features/active"].nestedStats.entries),o={asm:a.hasModuleKey(n,"mod_asm"),asmBewaf:a.hasModuleKey(n,"mod_asm")||a.cloudBewafLicensed,dos:a.hasModuleKey(n,"mod_dos"),mod_gc:a.hasModuleKey(n,"waf_gc"),iprep:a.hasModuleKey(n,"subscr_trusted_ip"),threat_campaigns:a.hasModuleKey(n,"subscr_threat_campaigns")||a.cloudBewafLicensed,anti_bot_mobile:a.hasModuleKey(n,"anti_bot_mobile_sdk"),waf:a.hasModuleKey(n,"mod_waf")||a.cloudBewafLicensed,credential_stuffing:a.hasModuleKey(n,"subscr_credential_stuffing")};t(o),i.resolve(o)}catch(e){t({})}},function(e){n&&"function"==typeof n&&n(e)}))},function(e){n&&"function"==typeof n&&n(e)}),(t||n)&&i.promise.then(t,n),i.promise},a.getCurrentPartition=function(){return a.F5_CURRENT_PARTITION||(a.F5_CURRENT_PARTITION=Xui.getPartition()),a.F5_CURRENT_PARTITION},a.getAllowedPartitions=function(){return null==a.allowedPartitions&&(a.allowedPartitions=[],a.getCurrentPartition(),"[All]"!=a.F5_CURRENT_PARTITION&&(a.allowedPartitions.push("Common"),"Common"!=a.F5_CURRENT_PARTITION&&a.allowedPartitions.push(a.F5_CURRENT_PARTITION))),a.allowedPartitions},a.getPartition=function(e){return"/"==e.charAt(0)?e.split("/")[1]||"":e},a.isInCurrentPartition=function(e){return a.getCurrentPartition(),a.getPartition(e)==a.F5_CURRENT_PARTITION},a.isInAllowedPartition=function(e){a.getCurrentPartition();var t=a.getPartition(e);return t==a.F5_CURRENT_PARTITION||"Common"==t||"[All]"==a.F5_CURRENT_PARTITION},a.isAdmin=function(e){return"Administrator"==e||"Resource Administrator"==e},a}]),TSServices.factory("AvrTsuiToolsSrvc",["AvrGenerateReportSrvc","MsgBusSrvc",function(e,t){var n={};return n.getLookbackPeriod=function(n,o,a,i,r){window.generalSettings||(window.generalSettings={}),window.generalSettings.avrLookbackPeriod||(window.generalSettings.avrLookbackPeriod=63072e3),e.generate(n,{reportFeatures:["time-series"],analyticsModule:n,viewDimensions:[{dimensionName:o}],viewMetrics:[{metricName:a}],sortByMetrics:i,timeRange:{to:1e3*r*1e3,from:1e3*(r-window.generalSettings.avrLookbackPeriod)*1e3},includeOthers:!1,includeTotal:!1},function(e){var n=!1;if(e.results&&e.results.timeSeries)for(var o=0;oe.numPages&&1!=t&&e.numPages>0&&(t=e.numPages),(t-1)*e.pageSize},t.getOrderBy=function(e){return e.specialOrderBy&&e.specialOrderBy[e.field]?e.specialOrderBy[e.field][e.direction]:e.field+" "+e.direction},t.applyFilter=function(e){angular.forEach(e,function(e,t){e.applied={},e.value&&(e.applied.value=angular.copy(e.value)),e.field&&(angular.isDefined(e.defaultField)||angular.isDefined(e.fields))&&(e.applied.field=angular.copy(e.field))})},t.getAppliedFilterForDisplay=function(t){var n=[];return angular.forEach(t,function(o,a){if(o.applied&&!angular.equals(o.applied,{})){var i="";if(o.hasOwnProperty("displayTitle")){o.hidden||(i="");var r;if("function"==typeof o.displayValueFunc){var l=o.displayValueFunc(o,t);if("object"==typeof l&&l.continueWithDisplayFunc)r=l.continueWithDisplayFunc;else if("string"==typeof l&&""!=l)return void n.push({text:e("show_nonprintable")(l,!0),nonConvertedText:l,filterName:a})}else r=o.displayValueFunc;if("checkbox"==o.operator){var s=[];angular.forEach(o.applied.value,function(e,t){e.selected&&s.push(e.title)}),s.length&&(i=s.join(", "))}else if(o.applied.value&&"object"==typeof o.applied.value&&void 0!==o.displayValueField)i=o.applied.value[o.displayValueField];else if(""!=o.applied.value&&void 0!==o.applied.value&&(!o.defaultValue||o.applied.value!=o.defaultValue))if("multipleValues"==r){if("object"==typeof o.applied.value&&o.applied.value.length>0){var u=o.applied.value.length>1?o.pluralDisplayTitle:o.displayTitle,c=o.applied.operatorValue||o.operatorValue;c&&"in"!=c&&(u=u.replace(":",o.applied.value.length>1?" are not:":" is not:"));var d=o.applied.value.map(function(e){return e.title}).join(", ");return i=u+d,void n.push({text:e("show_nonprintable")(i,!0),nonConvertedText:i,filterName:a})}}else"fromValuesArray"==r?angular.forEach(o.values,function(e,t){void 0!==e.value?e.value==o.applied.value&&(i=e.title):e.name==o.applied.value&&(i=e.title)}):o.displayFilterValue&&(i=o.applied.value);i&&("string"!=typeof o.displayTitle?n.push({text:e("show_nonprintable")(o.displayTitle.titles[o[o.displayTitle.modifier]]+i,!0),nonConvertedText:o.displayTitle.titles[o[o.displayTitle.modifier]]+i,filterName:a}):n.push({text:e("show_nonprintable")(o.displayTitle+i,!0),nonConvertedText:o.displayTitle+i,filterName:a}))}}}),n},t.getFilter=function(e){var t=[],n=!0;return angular.forEach(e,function(t,o){if(t.applied&&!angular.equals(t.applied,{})){var a;if("function"==typeof t.operator){var i=t.operator(t,e);if("object"!=typeof i||!i.continueWithOperator)return void("string"!=typeof i?(0==i[0]&&(t.showAsEmpty||(n=!1)), ""!=i[1]&&this.push(i[1])):""!=i&&(this.push(i),t.showAsEmpty||(n=!1)));a=i.continueWithOperator}else a=t.applied.operator||t.operator;if(t.applied.value&&"object"==typeof t.applied.value){if(void 0!==t.objValues)for(var a="ne"==a?"ne":"eq",r=0;r1&&this.push(o+" "+a.replace("_date","")+" '"+t.applied.value.escapeForRest()+"'"):this.push(o+" "+a.replace("_boolean","")+" "+t.applied.value.escapeForRest())}},t),t.length?t.join(" and "):""},t.resetFilter=function(e,n,o){o&&e[o].resetFields&&angular.forEach(e[o].resetFields,function(n,o){t.resetFilter(e,!1,n)}),angular.forEach(e,function(e,t){o&&o!=t||e.neverReset||("checkbox"==e.operator?angular.forEach(e.value,function(e,t){e.selected=!1}):e.value=e.defaultValue||"",e.displayValue&&(e.displayValue=""),e.checked&&(e.checked=0),e.defaultOperator&&(e.operator=e.defaultOperator),e.defaultOperatorValue&&(e.operatorValue=e.defaultOperatorValue),(e.fields||angular.isDefined(e.defaultField))&&(e.field=e.defaultField||null)),n&&(e.applied={})})},t.getFilterValueFieldFromObj=function(e){var t=null;return e&&e.length&&(angular.isDefined(e[0].value)?t="value":angular.isDefined(e[0].name)?t="name":angular.isDefined(e[0].id)&&(t="id")),t},t.getFilterFieldsThatCanBeSet=function(e){var t=["startTime","endTime"];return"checkbox"!=e.operator&&t.push("value"),e.defaultOperator&&t.push("operator"),e.defaultOperatorValue&&t.push("operatorValue"),(e.defaultField||e.fields)&&t.push("field"),angular.isDefined(e.checked)&&t.push("checked"),angular.isDefined(e.checked)&&t.push("checked"),t},t.initFilterfromQs=function(e,n){var o=window.location.search.substring(1),a=o.split("&");if(o)for(var i=0;i=parseInt(e[u].observedEntity.defenseElementValue)?r=!0:i[a].occurrences.splice(g,1));r||(e[u].isTruncated&&i[a].truncatedViolationsCount++,i[a].occurrences.push(e[u]))}return i},n.getViolationTemplate=function(e){var t="";return e.userDefined?t="VIOL_IS_USER_DEFINED":r.indexOf(e.name)!=-1?(t="VIOLATION_HAS_NO_TREATMENT",e.hasNoTreatment=!0):t=e.name,"templates/angular/request/violations/"+t+".html"},n.openRequestInNewTab=function(e){var t=e?e:n.selectedRequest.id;window.open("requests_ng.php?popup=1&supportId="+t)},n.StartTrackScroll=function(){$("#requestDetailsDiv").unbind("scroll"),$("#requestDetailsDiv").bind("scroll",function(){$("a.openedTooltip").each(function(){$(this).trigger("click",["preventDefault"])})})},n.setDropdownOpenPosition=function(e){var t=e.currentTarget,a=t.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement,s=a.previousElementSibling;a.offsetTop==s.offsetTop?$(t.parentElement).addClass("pull-dropdown-right"):$(t.parentElement).removeClass("pull-dropdown-right")},n.setPreviousIdOpenPosition=function(e){var t=e.currentTarget;t.parentElement.offsetLeft>340?$(t.parentElement).addClass("pull-dropdown-right"):$(t.parentElement).removeClass("pull-dropdown-right")},n.searchRelatedRequests=function(e){if(e&&!angular.isDefined(n.selectedRequest.displayData.relatedRequests)&&!n.selectedRequest.displayData.loadingRelatedRequests){n.selectedRequest.displayData.loadingRelatedRequests=!0;var t=n.selectedRequest.id;o.searchRelatedRequests(n.selectedRequest).then(function(e){n.selectedRequest.id==t&&(n.selectedRequest.displayData.relatedRequests=e,n.selectedRequest.displayData.loadingRelatedRequests=!1)})}},e.onMsg("relatedRequestsLoaded",function(e,t){n.selectedRequest&&n.selectedRequest.id==t.id&&!angular.isDefined(n.selectedRequest.displayData.relatedRequests)&&(n.selectedRequest.displayData.relatedRequests=angular.copy(t.subItems),n.selectedRequest.displayData.loadingRelatedRequests=!1)}),n.StartTrackScroll(),n.autoLoadedRequest&&n.initRequest(n.autoLoadedRequest)}}}]),TSRequestDirectives.directive("contentProfile",function(){var e={json:"json_profile_properties.php?rest_id=",xml:"xml_profile_properties.php?rest_id=",gwt:"gwt_profile_properties.php?rest_id=","plain-text":"plain_text_profile_properties.php?rest_id="},t={json:"JSON",xml:"xml",gwt:"gwt","plain-text":"Plain Text"};return{restrict:"A",scope:{contentProfile:"&contentProfile",profileType:"&profileType",exportDisplayMode:"&exportDisplayMode"},templateUrl:"templates/angular/request/content-profile.html",link:function(a,s,i){if(a.profile=a.contentProfile(),a.profileType=a.profileType(),a.exportDisplayMode=a.exportDisplayMode(),a.profile){a.link=e[a.profileType]+getRestIdFromLink(a.profile.link),a.profileTypeName=t[a.profileType],a.policyRestId="";var n=a.profile.link.split("/");angular.forEach(n,function(e,t){"policies"==e&&""==a.policyRestId&&(a.policyRestId=n[t+1])})}a.redirectToContentProfile=function(){policy_select_and_redirect(null,a.link,3,a.policyRestId)}}}}),TSRequestDirectives.directive("violationData",function(){return{restrict:"A",scope:{violation:"=violationData",requestPolicy:"&requestPolicy",requestId:"&requestId",isRequestLog:"&isRequestLog",requireFilterChange:"&requireFilterChange"},templateUrl:function(e,t){return"1"==t.exportDisplayMode?"templates/angular/request/violation-data-export.html":"templates/angular/request/violation-data.html"},link:function(e,t,a){if(e.isSingleItemPopup=window.isSingleItemPopup,e.isRequestLog=e.isRequestLog(),e.status={numOccurrences:e.violation.occurrences.length},"VIOL_MALICIOUS_IP"==e.violation.violation.name){e.status.numOccurrences=0;for(var s=0;s1;)e.violation.occurrences.pop();e.showTooManyCookies=function(){if("VIOL_COOKIE_MODIFIED"==e.violation.violation.name)for(var t=0;t=t-30){$(s.parentElement).addClass("pull-dropdown-right");var i=t+"px";s.parentElement.offsetLeft>t&&(i=(s.parentElement.offsetLeftt&&(i=(n',link:function(e,t,a){if(e.exportDisplayMode=!1,"1"==a.exportDisplayMode&&(e.exportDisplayMode=!0),e.viol_occ.httpSubviolation&&e.viol_occ.httpSubviolation.httpProtocolReference&&!e.viol_occ.httpSubviolation.httpProtocol&&window.requestSettings.httpProtocolsPool){var s=getRestIdFromLink(e.viol_occ.httpSubviolation.httpProtocolReference.link)||"";window.requestSettings.httpProtocolsPool[s]&&(e.viol_occ.httpSubviolation.httpProtocol=angular.copy(window.requestSettings.httpProtocolsPool[s]))}else if(e.viol_occ.evasionSubviolation&&e.viol_occ.evasionSubviolation.evasionReference&&!e.viol_occ.evasionSubviolation.evasion&&window.requestSettings.evasionsPool){var s=getRestIdFromLink(e.viol_occ.evasionSubviolation.evasionReference.link)||"";window.requestSettings.evasionsPool[s]&&(e.viol_occ.evasionSubviolation.evasion=angular.copy(window.requestSettings.evasionsPool[s]))}else if(e.viol_occ.wssSubviolation&&e.viol_occ.wssSubviolation.webServicesSecurityReference&&!e.viol_occ.wssSubviolation.webServicesSecurity&&window.requestSettings.webServicesSecuritiesPool){var s=getRestIdFromLink(e.viol_occ.wssSubviolation.webServicesSecurityReference.link)||"";window.requestSettings.webServicesSecuritiesPool[s]&&(e.viol_occ.wssSubviolation.webServicesSecurity=angular.copy(window.requestSettings.webServicesSecuritiesPool[s]))}e.getContextTemplate=function(e){return!e.contentProfileReference||"param"!=e.entityType&&"parameter"!=e.entityType&&"url"!=e.entityType&&"uri"!=e.entityType&&"websocketUrl"!=e.entityType&&"WebSocket"!=e.entityType?"url"==e.entityType||"uri"==e.entityType?"templates/angular/request/violation-context-url.html":"websocketUrl"==e.entityType||"WebSocket"==e.entityType?"templates/angular/request/violation-context-websocket-url.html":"param"==e.entityType||"parameter"==e.entityType?"templates/angular/request/violation-context-parameter.html":"header"==e.entityType?"templates/angular/request/violation-context-header.html":"cookie"==e.entityType?"templates/angular/request/violation-context-cookie.html":"templates/angular/request/violation-context-general.html"sade.observedEntity.violationDescription="",e.specialDataForGui={contentProfileElement:e.observedEntity.contentProfileElement},"templates/angular/request/violation-content-profile-details.html")},e.isset=function(e){return null!==e&&"undefined"!=typeof e}}}}),TSRequestDirectives.directive("violationDescription",function(){return{restrict:"A",scope:{violation:"=violationDescription"},templateUrl:"templates/angular/request/violation-description.html"}}),TSRequestDirectives.directive("violationEnfocementData",function(){return{restrict:"A",scope:{enforcementState:"&violationEnfocementData"},templateUrl:"templates/angular/request/violation-enfocement-data.html",link:function(e,t,a){e.enforcementState=e.enforcementState()}}}),TSRequestDirectives.directive("parameterNameData",function(){return{restrict:"A",scope:{parameterName:"&parameterNameData"},templateUrl:"templates/angular/request/parameter-name-data.html",link:function(e,t,a){e.parameterName=e.parameterName()}}}),TSRequestDirectives.directive("metacharData",["DisplayMetacharSrvc","AsmEndPointsSrvc",function(e,t){var a=function(e){return!e|e<0?"N/A":"0x"+parseInt(e,10).toString(16)};return{restrict:"A",scope:{metacharData:"&metacharData"},templateUrl:"templates/angular/request/metachar-data.html",link:function(s,i,n){s.metacharData=s.metacharData(),s.detailsOpened=!1,s.showMoreDetailsToggler=!s.metacharData.exportDisplayMode,"VIOL_PARAMETER_VALUE_METACHAR"==s.metacharData.violation&&s.metacharData.sensitive?(s.metacharHex="0x****",s.displayMetachar="**** (sensitive data masked)",s.showMoreDetailsToggler=!1,s.detailsLoaded=!0)sads.metacharHex=a(s.metacharData.metachar),s.displayMetachar=e.getDisplayMetachar(null,s.metacharData.metachar),s.detailsLoaded=!1),s.showDetails=function(){if(!s.detailsLoaded){s.metacharHex=a(s.metacharData.metachar);var e="";e="VIOL_URL_METACHAR"==s.metacharData.violation?"url":"VIOL_HEADER_METACHAR"==s.metacharData.violation?"header":"parameter-value",t.query({endPoint:"metachars",$filter:"metachar eq '"+s.metacharHex+"' and characterSetType eq '"+e+"'"},function(e){e&&e.items.length&&(s.metacharDetails=e.items[0],s.metacharDetails.name&&s.metacharDetails.name.length<2&&delete s.metacharDetails.name,s.detailsLoaded=!0)},function(e){s.metacharDetails={},s.detailsLoaded=!0})}s.detailsOpened=!s.detailsOpened}}}}]),TSRequestDirectives.directive("signatureData",["SignatureDetailsSrvc",function(e){return{restrict:"A",scope:{data:"&signatureData"},templateUrl:"templates/angular/request/signature-data.html",link:function(t,a,s){t.displayState={loadingDetails:!1,detailsLoaded:!1,detailsOpened:!1},t.data=t.data(),t.showDetails=function(){t.displayState.detailsLoaded||(t.displayState.loadingDetails=!0,e.getSignatureDetails(t.data.signature.signatureId,"sig_id").then(function(e){t.signatureDetails=e,t.signatureDetails.signatureId||(t.displayState.detailsNotFound=!0),t.displayState.detailsLoaded=!0,t.displayState.loadingDetails=!1},function(e){t.displayState.detailsNotFound=!0,t.displayState.detailsLoaded=!0,t.displayState.loadingDetails=!1})),t.displayState.detailsOpened=!t.displayState.detailsOpened}}}}]),TSRequestDirectives.directive("campaignData",["RestEndPointSrvc",function(e){return{restrict:"A",scope:{data:"&campaignData"},templateUrl:"templates/angular/request/campaign-data.html",link:function(t,a,s){t.displayState={loadingDetails:!1,detailsLoaded:!1,detailsOpened:!1,detailsNotFound:!1},t.data=t.data(),t.showDetails=function(){t.displayState.detailsLoaded||(t.displayState.loadingDetails=!0,e.query({path1:"asm",path2:"threat-campaigns",path3:getRestIdFromLink(t.data.campaign.link),$expand:"attackTypeReference"},function(e){if(e.id){if(t.campaignDetails=e,t.campaignDetails.lastUpdateMicros){var a=new Date(t.campaignDetails.lastUpdateMicros/1e3);t.campaignDetails.lastUpdateDate=a.getFullYear()+"-"+("0"+(a.getMonth()+1)).slice(-2)+"-"+("0"+a.getDate()).slice(-2)}}else t.campaignDetails={},t.displayState.detailsNotFound=!0;t.displayState.detailsLoaded=!0,t.displayState.loadingDetails=!1},function(e){t.campaignDetails={},t.displayState.detailsNotFound=!0,t.displayState.detailsLoaded=!0,t.displayState.loadingDetails=!1})),t.displayState.detailsOpened=!t.displayState.detailsOpened}}}}]),TSRequestDirectives.directive("attackType",["$templateCache",function(e){return{restrict:"A",scope:{attackType:"&attackType",requireFilterChange:"&requireFilterChange",isRequestLog:"&isRequestLog",usePopover:"&usePopover"},templateUrl:"templates/angular/request/attack-type.html",link:function(e,t,a){if(e.usePopover=e.usePopover(),e.isRequestLog=e.isRequestLog(),e.attackType=e.attackType(),e.displayAttackType={name:"N/A",description:"N/A"},e.attackType&&e.attackType.link){var s=getRestIdFromLink(e.attackType.link);s&&window.requestSettings.attackTypesPool[s]&&(e.displayAttackType.name=window.requestSettings.attackTypesPool[s].name,e.displayAttackType.description=window.requestSettings.attackTypesPool[s].description)}}}}]),TSRequestDirectives.directive("ipAddressIntelligence",function(){return{restrict:"A",scope:{ipAddressIntelligence:"&ipAddressIntelligence",requireFilterChange:"&requireFilterChange",isRequestLog:"&isRequestLog"},templateUrl:"templates/angular/request/ip-address-intelligence.html",link:function(e,t,a){e.isRequestLog=e.isRequestLog(),e.ipAddressIntelligence=e.ipAddressIntelligence(),e.category=null,angular.forEach(window.requestSettings.ipReputationPool,function(t,a){t.value==e.ipAddressIntelligence&&(e.category=t)})}}}),TSRequestDirectives.directive("ipAddressIntelligenceStatus",["$http",function(e){return{restrict:"A",scope:{isRequestLog:"&ipAddressIntelligenceStatus"},templateUrl:"templates/angular/request/ip-address-intelligence-status.html",link:function(t,a,s){t.isRequestLog=t.isRequestLog(),t.dataLoaded=!1,t.failedToLoadData=!1,t.status=null,t.showStatus=function(a){if(a){var s=new Date,i=s.getTime();(!t.status||i>t.status.loadDate+3e5)&&(t.dataLoaded=!1,t.failedToLoadData=!1,e({url:"js_http_get_ip_intelligence_status.php",method:"GET",cache:!1}).success(function(e){t.status={data:e,loadDate:i},t.dataLoaded=!0,t.failedToLoadData=!1}).error(function(){t.data=null,t.dataLoaded=!0,t.failedToLoadData=!0}))}}}}}]),TSRequestDirectives.directive("asmRequestStatus",[function(){return{restrict:"A",scope:{requestStatus:"<?asmRequestStatus"},templateUrl:"templates/angular/request/asm-request-status.html",link:function(e,t,a){}}}]),TSRequestDirectives.directive("asmRequestStatusIcon",[function(){return{restrict:"A",scope:{requestStatus:"<?asmRequestStatusIcon"},templateUrl:"templates/angular/request/asm-request-status-icon.html",link:function(e,t,a){}}}]); "use strict";var TSRequestFilters=angular.module("tsui.filters.request",[]);TSRequestFilters.filter("session_awareness_lock_scopes",function(){return function(e){return e?e.replace("session","Session").replace("ip","IP Address").replace("user","Username").replace("device","Device ID").replace(",",", "):"N/A"}}),TSRequestFilters.filter("get_country_name",function(){return function(e){return e?(e=e.toUpperCase(),window.requestSettings.countryNames[e]?window.requestSettings.countryNames[e]:e):"N/A"}}),TSRequestFilters.filter("slot_number",function(){return function(e){if(!e||!window.requestSettings.isClusteredEnv)return"N/A";var t=parseInt(e);return t>0&&t<=parseInt(window.requestSettings.numSlotsInCluster)?t:"N/A"}}),TSRequestFilters.filter("highlight_chars",["$sce",function(e){return function(t,n,r,i,a){if(!t)return e.trustAsHtml("");if(i&&"VIOL_PARAMETER_VALUE_METACHAR"==i&&r.observedEntity.sensitive||a)return e.trustAsHtml(sanitizeInput(t)+" (sensitive data masked)");if(!n||!n.length)return e.trustAsHtml(sanitizeInput(t));var s=t+",,,"+n.toString();if(r.highlightCharsBufferSaved&&r.highlightCharsBufferSaved[s])return r.highlightCharsBufferSaved[s];var o="",l=0;if(t&&t.length)for(var u=0;u=0&&l<=32?$.inArray(l,n)!=-1?'0x'+l.toString(16)+"":'0x'+l.toString(16)+"":$.inArray(l,n)!=-1?''+sanitizeInput(t.charAt(u))+"":sanitizeInput(t.charAt(u));return r.highlightCharsBufferSaved||(r.highlightCharsBufferSaved={}),r.highlightCharsBufferSaved[s]=e.trustAsHtml(o),r.highlightCharsBufferSaved[s]}}]),TSRequestFilters.filter("highlight_buffer",["$sce",function(e){var t=function(e){for(var t=[],n=null,r=0;r=0&&n<=32?'0x'+n.toString(16)+"":sanitizeInput(e.charAt(r));return t};return function(r,i){if(!r)return e.trustAsHtml("");if(!i)return e.trustAsHtml(sanitizeInput(r));if(i.sensitive)return e.trustAsHtml(sanitizeInput(r)+" (sensitive data masked)");if(!i.length)return e.trustAsHtml(sanitizeInput(r));var a=r+",,,"+i.offset+",,,"+i.length;if(i.highlightBufferBufferSaved&&i.highlightBufferBufferSaved[a])return i.highlightBufferBufferSaved[a];var s="",o=i.offset+i.length;if(r&&r.length){for(var l=t(r),u=0,c=-1,f=-1,d=0;di.offset&&(c=d>0?d-1:0)),f==-1&&u>=o&&(f=d),u+=l[u];f==-1&&(f=r.length),c!=-1&&(c>0&&(s=n(r.substring(0,c))),s+=''+n(r.substring(c,f))+"",f';for(var a=1;a<=5;++a)r+='';r+="\n"}var c=o?o:n[0],u=o?" "+n[o]:"";s.push({rating:o,count:0,percent:"0%",percentDisplay:"1%",rating_title:o?"Violation\nRating "+o:n[0],rating_color:t[o],desc:o?n[o]:"",short_desc:o?i[o]:"",icon:e.trustAsHtml(c+r),fullDescription:e.trustAsHtml(c+r+u)})}var l={};return l.prepareData=function(e){for(var t=s.slice(0),n=0;n=i||s.test(u))&&u.length!=u.split("*").length-1&&t.push({buffer:u,color:n[a]})},r=function(e){return!e|e<0?"N/A":"0x"+parseInt(e,10).toString(16)},a=function(t,n,i){var s=[];if(t.isTruncated)return s;switch(n.name){case"VIOL_COOKIE_MALFORMED":case"VIOL_DATA_GUARD":case"VIOL_ENCODING":case"VIOL_EVASION":case"VIOL_GWT_MALFORMED":case"VIOL_JSON_MALFORMED":case"VIOL_XML_MALFORMED":case"VIOL_XML_SCHEMA":case"VIOL_JSON_SCHEMA":t.snippet&&!t.snippet.sensitive&&o(s,t.snippet.buffer,t.snippet.bufferBase64Encoded,n.name,"snippet");break;case"VIOL_ATTACK_SIGNATURE":!t.attackSignatureSnippets||i&&i.signature.signatureId!=t.signatureReference.signatureId||$.each(t.attackSignatureSnippets,function(e,t){t.sensitive||o(s,t.buffer,t.bufferBase64Encoded,n.name,"snippet")});break;case"VIOL_ASM_COOKIE_MODIFIED":case"VIOL_COOKIE_EXPIRED":case"VIOL_COOKIE_MODIFIED":case"VIOL_PARAMETER_DATA_TYPE":case"VIOL_PARAMETER_DYNAMIC_VALUE":case"VIOL_PARAMETER_EMPTY_VALUE":case"VIOL_PARAMETER_MULTIPART_NULL_VALUE":case"VIOL_PARAMETER_NUMERIC_VALUE":case"VIOL_PARAMETER_REPEATED":case"VIOL_PARAMETER_STATIC_VALUE":case"VIOL_PARAMETER_VALUE_LENGTH":case"VIOL_PARAMETER_VALUE_REGEXP":case"VIOL_PARAMETER_LOCATION":case"VIOL_PARAMETER_ARRAY_VALUE":case"VIOL_URL":t.observedEntity&&o(s,t.observedEntity.name,t.observedEntity.nameBase64Encoded,n.name,"value");break;case"VIOL_BRUTE_FORCE":t.observedEntity&&o(s,t.observedEntity.bruteForceUsername,t.observedEntity.bruteForceUsernameBase64Encoded,n.name,"value");break;case"VIOL_COOKIE_LENGTH":t.observedEntity&&o(s,t.observedEntity.cookieContent,t.observedEntity.cookieContentBase64Encoded,n.name,"value");break;case"VIOL_DYNAMIC_SESSION":t.observedEntity&&o(s,t.observedEntity.dynamicSessionId,t.observedEntity.dynamicSessionIdBase64Encoded,n.name,"value");break;case"VIOL_FLOW_DISALLOWED_INPUT":t.observedEntity&&o(s,t.observedEntity.value,t.observedEntity.valueBase64Encoded,n.name,"value");break;case"VIOL_HEADER_LENGTH":t.observedEntity&&o(s,t.observedEntity.headerContent,t.observedEntity.headerContentBase64Encoded,n.name,"value");break;case"VIOL_HEADER_METACHAR":case"VIOL_URL_METACHAR":!t.observedEntity||i&&i.metachar!=r(t.metacharacter)||o(s,t.observedEntity.name,t.observedEntity.nameBase64Encoded,n.name,{char:t.metacharacter});break;case"VIOL_PARAMETER_NAME_METACHAR":t.observedEntity&&o(s,t.observedEntity.name,t.observedEntity.nameBase64Encoded,n.name,{char:t.metacharacter});break;case"VIOL_METHOD":t.observedEntity&&o(s,t.observedEntity.method,t.observedEntity.methodBase64Encoded,n.name,"value");break;case"VIOL_PARAMETER":if(t.observedEntity){var a=e("base64_decode")(t.observedEntity.name,t.observedEntity.nameBase64Encoded),c=e("base64_decode")(t.observedEntity.value,t.observedEntity.valueBase64Encoded);c?o(s,a+"="+c,!1,n.name,"value"):o(s,a,!1,n.name,"value")}break;case"VIOL_PARAMETER_VALUE_BASE64":!t.contentProfile&&t.observedEntity&&("param"==t.entityType||"parameter"==t.entityType?o(s,t.observedEntity.name,t.observedEntity.nameBase64Encoded,n.name,"value"):"header"!=t.entityType&&"cookie"!=t.entityType||o(s,t.observedEntity.value,t.observedEntity.valueBase64Encoded,n.name,"value"));break;case"VIOL_PARAMETER_VALUE_METACHAR":t.contentProfile||i&&i.metachar!=r(t.metacharacter)?!t.snippet||t.snippet.sensitive||i&&i.metachar!=r(t.metacharacter)||o(s,t.snippet.buffer,t.snippet.bufferBase64Encoded,n.name,{char:t.metacharacter}):o(s,t.observedEntity.value,t.observedEntity.valueBase64Encoded,n.name,{char:t.metacharacter});break;case"VIOL_REDIRECT":o(s,t.observedEntity.redirectionDomain,t.observedEntity.redirectionDomainBase64Encoded,n.name,"value");break;case"VIOL_XML_SOAP_METHOD":var u=e("base64_decode")(t.observedEntity.soapMethod,t.observedEntity.soapMethodBase64Encoded),l=e("base64_decode")(t.observedEntity.soapNamespace,t.observedEntity.soapNamespaceBase64Encoded);l?o(s,l+":"+u,!1,n.name,"value"):o(s,u,!1,n.name,"value");break;case"VIOL_HOSTNAME":if(t.observedEntity){var d=e("base64_decode")(t.observedEntity.value,t.observedEntity.valueBase64Encoded);o(s,"Host: "+d,!1,n.name,"value")}break;case"VIOL_HOSTNAME_MISMATCH":if(t.snippet){var E=e("base64_decode")(t.snippet.buffer,t.snippet.bufferBase64Encoded);o(s,E,!1,n.name,"value")}}return s};return t.getHighlightedBufferChunks=function(e,t,n){var i=[],s=[];return t&&(e.length?($.each(e,function(e,t){n&&!t.isCurrent||$.each(t.occurrences,function(e,i){var o=null,r=a(i,t.violation,n);r&&r.length&&$.each(r,function(e,t){if(o=$.grep(s,function(e){return e.buffer==t.buffer}),o.length){for(var n=!1,r=0;r-1;n--){var s=i[n];if(!s.highlighted){var o=s.chunk.split(t.buffer),r=[];if(o.length>1){for(var a=0;a0&&r.push({chunk:t.buffer,highlighted:!0,title:"Matched Violations",bgColor:t.bgColor,violations:t.violations}),""!=o[a]&&r.push({chunk:o[a],highlighted:!1});i.splice(n,1),$.each(r,function(e,t){i.splice(n+e,0,t)})}}}})):i.push({chunk:t,highlighted:!1})),i},t}]),TSRequestServices.factory("SignatureDetailsSrvc",["$http","$q","$timeout",function(e,t,n){var i={},s=[],o=[],r=-1,a=function(){var e;for(r=-1,o=[];s.length;)e=s.shift(),e.resolve(null);s=[]},c=function(t){r==-1&&(t127&&n<160?esadt[n]?t[n]:String.fromCharCodeNo)+(null!==e?" ("+e+")":"")},e}),TSRequestServices.factory("ViolationSrvc",["$filter","AsmEndPointsSrvc","MsgBusSrvc",function(e,t,n){var i={},s={};return i.getViolationTypeName=function(t){if(!s[t]){var n="";if("unspecified"==t)n="Other Violation";else{for(var i=t.split("-"),o=0;o\n{{::profile.name}}\n'); $templateCache.put('templates/angular/request/context-string.html','
\n
\n
\n Parameter Location\n

{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}

\n
\n
\n Parameter Level\n

{{::viol_occ.observedEntity.parameterLevel | param_level}}

\n
\n
\n Staged\n\n Actual Parameter Name\n

\n
\n
\n Staged\n\n Wildcard Parameter Name\n

\n
\n
\n Parameter Value\n
\n
\n
\n
\n
\n Parameter Location\n

{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}

\n
\n
\n Parameter Level\n

{{::viol_occ.observedEntity.parameterLevel | param_level}}

\n
\n
\n Staged\n\n Actual Parameter Name\n

\n
\n
\n Staged\n\n Wildcard Parameter Name\n

\n
\n
\n Parameter Value\n
\n
\n
\n
\n
\n
\n Staged\n\n Actual URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n Staged\n\n Wildcard URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n
URL
\n
\n
\n
\n
\n Staged\n\n Actual URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n Staged\n\n Wildcard URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n
URL
\n
\n
\n
\n
\n Staged\n\n Actual WebSocket URL\n

\n
\n
\n Staged\n\n Wildcard WebSocket URL\n

\n
\n
\n
WebSocket URL
\n
\n
\n
\n
\n Staged\n\n Actual WebSocket URL\n

\n
\n
\n Staged\n\n Wildcard WebSocket URL\n

\n
\n
\n
WebSocket URL
\n
\n
\n
\n
\n Staged\n\n Actual URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n Staged\n\n Wildcard URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n
URL
\n
\n
\n
\n
\n Actual Header Name\n

\n
\n
\n Wildcard Header Name\n

\n
\n
\n Header Value\n
\n
\n
\n
Header
\n
\n
Response
\n \n
Query String
\n
POST Data
\n
N/A
\n
'); $templateCache.put('templates/angular/request/export-session-tracking.html','
Session Tracking Details
\n
ScopeLog All RequestsDelay BlockingBlock All
{{::scope.title}}{{::scope.logState[\'log-all\']}}{{::scope.logState[\'delay-blocking\']}}{{::scope.logState[\'block-all\']}}
\n'); $templateCache.put('templates/angular/request/metachar-data.html','Char\n {{displayMetachar}}\n \nHex\n \n {{metacharHex}}\n
\n {{::\'asm.message.Loadingcharacterdescription...\' | localize}}\n
\n
There is no description for this meta character
\n
\n \n'); $templateCache.put('templates/angular/request/parameter-name-data.html','\n UNNAMED\n\n\n'); $templateCache.put('templates/angular/request/request-details-export.html','
\n
Support ID: {{selectedRequest.id}}
\n\n
Request Details
\n\n
Requested URL\n [{{selectedRequest.schema | uppercase}}] \n
Time\n {{selectedRequest.requestDatetime | rest_datetime}}\n
Enforcement Action\n {{selectedRequest.enforcementAction | enforcement_action}}\n
Enforced By\n {{selectedRequest.enforcedBy | enforced_by}}\n
Violation Rating\n \n
Attack Types\n {{selectedRequest.enforcementState.attackTypeReferences | attack_types}}\n
Geolocation\n {{selectedRequest.geolocationCountryCode | get_country_name}}\n
Source IP Address\n {{selectedRequest.clientIp | fix_rd_from_rest | port_delimeter}}{{selectedRequest.clientPort}}\n
Device ID\n {{selectedRequest.deviceId | na_if_empty}}\n
Username\n {{selectedRequest.username | base64_decode:selectedRequest.usernameBase64Encoded | na_if_empty}}\n
Session ID\n {{selectedRequest.sessionId | na_if_empty}}\n
Source IP Intelligence\n {{selectedRequest.clientIpIntelligence | ip_intelligence}}\n
Security Policy\n {{selectedRequest.requestPolicyReference.fullPath | na_if_empty}}\n
Virtual Server\n {{selectedRequest.virtualServerName | na_if_empty}}\n
Microservice
Operation ID
Request Status\n
\n Legal\n
\n
\n Illegal\n
\n
\n Blocked\n
\n
\n Unblocked\n
\n
\n Challenged\n
\n
Previous Support ID\n {{selectedRequest.previousSupportId}}\n
Client Type\n {{selectedRequest.clientType | client_type}}\n
Mobile Applicaiton Name\n {{selectedRequest.mobileAppName }}\n
Mobile Application Version\n {{selectedRequest.mobileAppVersion}}\n
Blocking Exception Reason{{selectedRequest.blockingExceptionReason | blocking_exception_reason}}
Accept Status\n \n Not Accepted\n Initialized\n In Progress\n Completed\n Failed\n N/A\n \n
Host
Destination IP Address\n {{selectedRequest.serverIp | fix_rd_from_rest | port_delimeter}}{{selectedRequest.serverPort}}\n
Response Status Code\n {{selectedRequest.responseCode | na_if_empty}}\n
Slot\n {{selectedRequest.displayData.slot_number}}\n
WebSocket Message Type{{(selectedRequest.webSocketMessageType | ucfirst)}}
WebSocket Message Direction{{selectedRequest.direction == \'clientToServer\' ? \'Client To Server\' : \'Server To Client\'}}
Login Result\n {{selectedRequest.loginResult | ucfirst}}\n
Protocol Info{{selectedRequest.protocolInfo | na_if_empty}}
Severity\n {{selectedRequest.enforcementState.severity | ucfirst}}\n
Signatures CVEs\n {{ (!$last) ? (cve.name + \', \') : cve.name }}\n N/A\n
Injected Honey Traps\n {{ (!$last) ? (trap.deceptionTrapName + \', \') : trap.deceptionTrapName }}\n
\n
\n\n
\n
Detected Violations
\n
{{violationData.violation.title}} [{{violationData.occurrences.length}}]
\n
\n\n
\n\n
\n
{{selectedRequest.displayData.convertedRequestTabTitle}}
\n {{selectedRequest.displayData.convertedRequestTabTitle}} not found\n
{{msg}}
\n
{{::chunk.chunk}}{{::chunk.chunk}}
\n
\n\n
\n
{{selectedRequest.displayData.originalRequestTabTitle}}
\n
{{msg}}
\n
{{selectedRequest.displayData.rawRequest}}
\n
\n\n
\n
Response
\n
{{msg}}
\n
{{selectedRequest.rawResponse.httpResponse | base64_decode:selectedRequest.rawResponse.httpResponseBase64Encoded}}
\n
\n\n
\n
Violation Details
\n
\n
\n\n
\n'); $templateCache.put('templates/angular/request/signature-data.html','Attack Signature\n\n Staged\n\n ID\n

\n {{::data.signature.signatureId | na_if_empty}}\n

\n\n Name\n

\n \n {{::data.signature.name | na_if_empty}}\n

\n\n
\n {{::\'asm.message.Loadingsignaturedetails...\' | localize}}\n
\n
Signature details not found
\n
\n\n'); $templateCache.put('templates/angular/request/violation-content-profile-details.html','Description\nContext\nDetected In{{::viol_occ.specialDataForGui.contentProfileElement | ucwords}}\n{{:sadviol_occ.observedEntity.contentProfileType == \'plain-text\' ? \'Plain Text\' : (viol_occ.observedEntity.contentProfileType | uppercase))}} Profile\n
\n \n'); $templateCache.put('templates/angular/request/violation-context-cookie.html','ContextCookie\nActual Cookie Name\n \t\tStaged\n\n \t\t
\n \nWildcard Cookie Name\n \t\tStaged\n\n \t\t
\n \nCookie Value\n'); $templateCache.put('templates/angular/request/violation-context-general.html','Context{{::viol_occ.entityType | ucwords:true}}'); $templateCache.put('templates/angular/request/violation-context-header.html','ContextHeader\nActual Header Name\nWildcard Header Name\nHeader Value\n'); $templateCache.put('templates/angular/request/violation-context-parameter.html','Context\n Parameter (detected in {{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}})\n \nParameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}\nActual Parameter Name\n Staged\n\n
\n \nWildcard Parameter Name\n Staged\n
\n \nAuto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}\nParameter Value\n'); $templateCache.put('templates/angular/request/violation-context-url.html','ContextURL\nActual URL\n Staged\n\n
\n {{::viol_occ.policyEntityReference.method | url_method}}\n
\n \nWildcard URL\n Staged\n
\n {{::viol_occ.policyEntityReference.method | url_method}}\n
\n \nDetected Value'); $templateCache.put('templates/angular/request/violation-context-websocket-url.html','ContextWebSocket URL\nActual WebSocket URL\n \t\tStaged\n\n \t\t
\n \nWildcard WebSocket URL\n \t\tStaged\n\n \t\t
\n \nDetected Value\n'); $templateCache.put('templates/angular/request/violation-data-export.html','
{{::violation.violation.title}} [{{::status.numOccurrences}}]
\n\n
No occurrences found for this violation
\n
Too many cookies in the request. Cannot provide complete violation details.
\n\n
Some violation details not available.
\n\n
Violation details not available.
\n\n
\n\n
Violation Description
\n
\n\n
\n'); $templateCache.put('templates/angular/request/violation-description.html','
\n Group\n

{{violation.groupName}}

\n
\n
\n Description\n

\n
\n
\n Section\n

{{violation.sectionTitle}}

\n
\n
\n Type\n

{{violation.type}}

\n
\n
\n Attack Type\n

{{violation.attackTypeReference.name}}

\n
\n
\n Severity\n

{{violation.severity}}

\n
\n
\n Risk\n

\n
\n
\n Examples\n

\n
'); $templateCache.put('templates/angular/request/violation-enfocement-data.html','Applied Blocking Settings\n\n Block \n Alarm \n Learn \n Staged\n Likely False Positive\n'); $templateCache.put('templates/angular/request/violation-parameter-details.html','Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}\nParameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}\nActual Parameter Name\nWildcard Parameter Name\nAuto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}\n'); $templateCache.put('templates/angular/request/violations/VIOLATION_HAS_NO_TREATMENT.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_ASM_COOKIE_HIJACKING.html','
Cookie Hijack Reason{{viol_occ.actualValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_ASM_COOKIE_MODIFIED.html','
ASM Cookie
\n'); $templateCache.put('templates/angular/request/violations/VIOL_ATTACK_SIGNATURE.html','
Detected Keywords\n
\n
\n
\n
\n
'); $templateCache.put('templates/angular/request/violations/VIOL_BLOCKING_CONDITION.html','
Blocking Condition\n {{::viol_occ.blockingConditionDetails.blockingCondition | blocking_condition}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_BRUTE_FORCE.html','
\n {{(viol_occ.observedEntity.bruteForceActualMitigationAction && viol_occ.observedEntity.bruteForceActualMitigationAction != viol_occ.observedEntity.bruteForceMitigationAction) ? \'Configured \' : \'\'}}Enforcement Action\n {{::viol_occ.observedEntity.bruteForceMitigationAction | brute_force_mitigation}}
Actual Enforcement Action{{::viol_occ.observedEntity.bruteForceActualMitigationAction | brute_force_mitigation}}
Enforcement Action Reason{{::viol_occ.observedEntity.bruteForceMitigationActionReason | brute_force_mitigation_reason}}
Username{{::viol_occ.extraRequestData.username}}
Device ID{{::viol_occ.extraRequestData.deviceId}}
Client IP Address{{::viol_occ.extraRequestData.clientIp}}
Detected Failed Logins / Threshold{{::viol_occ.observedEntity.bruteForceFailedLoginsCount || 0}} / {{::viol_occ.observedEntity.bruteForceFailedLoginsThreshold || 0}} (at the time of attack detection)
Detection Period{{::viol_occ.observedEntity.bruteForceDetectionPeriod / 60}} minutes
Maximum Prevention Duration{{::viol_occ.observedEntity.bruteForcePreventionDuration / 60}} minutes
Total Passed CAPTCHA Challenges / Threshold{{::viol_occ.observedEntity.bruteForcePassedCaptchaChallengesCount || 0}} / {{::viol_occ.observedEntity.bruteForcePassedCaptchaChallengesThreshold || 0}}
Total Passed Client Side Integrity Challenges / Threshold{{::viol_occ.observedEntity.bruteForcePassedClientSideIntegrityChallengesCount || 0}} / {{::viol_occ.observedEntity.bruteForcePassedClientSideIntegrityChallengesThreshold || 0}}
Login Attempts matching Credentials Dictionary / Threshold{{::viol_occ.observedEntity.bruteForceCredentialsStuffingMatchesCount || 0}} / {{::viol_occ.observedEntity.bruteForceCredentialsStuffingMatchesThreshold || 0}}
'); $templateCache.put('templates/angular/request/violations/VIOL_CONVICTION.html','
Deception Trap Name{{::viol_occ.deceptionTrapDetails.deceptionTrapName}}
Attack Type{{::viol_occ.deceptionTrapDetails.attackTypeReference.name}}
Risk{{::viol_occ.deceptionTrapDetails.risk | ucfirst}}
'); $templateCache.put('templates/angular/request/violations/VIOL_COOKIE_EXPIRED.html','
Defined Expiration Period\n \n
Time Passed Since Expiration Period Ended\n \n
ASM Cookie
\n'); $templateCache.put('templates/angular/request/violations/VIOL_COOKIE_LENGTH.html','
Cookie
Detected Cookie Length{{::viol_occ.actualValue}}
Expected Cookie Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_COOKIE_MALFORMED.html','
Cookie Buffer\n
Description{{::viol_occ.observedEntity.violationDescription | base64_decode:viol_occ.observedEntity.violationDescriptionBase64Encoded | na_if_empty}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_COOKIE_MODIFIED.html','
Actual Cookie Name
Wildcard Cookie Name
Cookie Value
Reason\n New Cookie\n Modified Cookie \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_CROSS_ORIGIN_REQUEST.html','
Origin Protocol{{viol_occ.originHeader.protocol | uppercase | na_if_empty}}\n
Origin Name{{viol_occ.originHeader.domain | na_if_empty}}\n
Origin Port{{viol_occ.originHeader.port | na_if_empty}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_CSRF.html','
Matched Method\n {{::viol_occ.csrfDetails.matchedMethod}}\n Any\n
Matched URL\n {{::viol_occ.csrfDetails.matchedUrl | show_nonprintable}}\n
Matched Parameter\n {{::viol_occ.csrfDetails.matchedParameter | show_nonprintable}}\n
Violation Reason\n {{::viol_occ.csrfDetails.reason}}\n
Enforcement Action\n {{::viol_occ.csrfDetails.enforcementAction | csrf_enforcement_action}}\n
Origin Header\n {{::viol_occ.originHeader.protocol}}://{{::viol_occ.originHeader.domain | show_nonprintable}}:{{::viol_occ.originHeader.port}}\n
Referer Domain\n {{::viol_occ.refererHeader.protocol}}://{{::viol_occ.refererHeader.domain | show_nonprintable}}:{{::viol_occ.refererHeader.port}}\n
CSRF Token\n {{::viol_occ.csrfDetails.token}}\n
Expiration Time\n {{::viol_occ.csrfDetails.expirationTime | rest_datetime}}\n
Time Passed Since Expiration Period Ended\n \n
'); $templateCache.put('templates/angular/request/violations/VIOL_CSRF_EXPIRED.html','
'); $templateCache.put('templates/angular/request/violations/VIOL_DATA_GUARD.html','
Detected Pattern\n \n Custom Pattern\n Social Security Number\n Credit Card Number\n File Content\n N/A\n \n
Context
Enforcement URL{{::viol_occ.observedEntity.infoLeakageTarget | base64_decode:viol_occ.observedEntity.infoLeakageTargetBase64Encoded | na_if_empty}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_DYNAMIC_SESSION.html','
Illegal Session ID
\n'); $templateCache.put('templates/angular/request/violations/VIOL_ENCODING.html','
Context\n Parameter (detected in {{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}})\n Parameter (detected in {{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}})\n URL\n URL\n WebSocket URL\n WebSocket URL\n Referrer URL\n Host Header\n N/A\n
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Actual Parameter Name
Wildcard Parameter Name
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
Buffer\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_EVASION.html','
Detected Evasion Technique\n {{::viol_occ.evasionSubviolation.description}}\n
\n
\n Description\n

\n
\n
\n Type\n

\n
\n
\n Risk\n

\n
\n
\n Examples\n

\n
\n
\n
Context
Buffer\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_FILETYPE.html','
File Type{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detection Cause\n Disallowed File Type\n Illegal File Type \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_FILE_UPLOAD.html','
Detected File Type\n {{::viol_occ.observedEntity.violationDescription | base64_decode:viol_occ.observedEntity.violationDescriptionBase64Encoded | na_if_empty}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_FLOW_DISALLOWED_INPUT.html','
Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Parameter Name
Parameter Value
\n'); $templateCache.put('templates/angular/request/violations/VIOL_FLOW_MANDATORY_PARAMS.html','
Detected Number of Mandatory Parameters{{::viol_occ.actualValue}}
Expected Number of Mandatory Parameters{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_GEOLOCATION.html','
Detected Geolocation\n \n {{::viol_occ.extraRequestData.geolocationCountryCode | get_country_name}} \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_GWT_FORMAT.html','
Failed Defense{{::viol_occ.observedEntity.defenseElementNameXpointer | defense_attribute:\'gwt\'}}
Allowed Value{{::viol_occ.observedEntity.defenseElementAllowedValue | defense_attribute_value:\'gwt\':viol_occ.observedEntity.defenseElementNameXpointer}}
Detected Value{{::viol_occ.observedEntity.defenseElementValue | defense_attribute_value:\'gwt\':viol_occ.observedEntity.defenseElementNameXpointer}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_GWT_MALFORMED.html','
GWT Buffer{{::viol_occ.snippet.buffer | base64_decode:viol_occ.snippet.bufferBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HEADER_LENGTH.html','
Header
Detected Header Length{{::viol_occ.actualValue}}
Expected Header Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HEADER_METACHAR.html','
Header Name\n
Header Value\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HOSTNAME.html','
Host Name
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HOSTNAME_MISMATCH.html','
Host Name
Request Line Host Name
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HTTP_PROTOCOL.html','
HTTP Validation\n {{::viol_occ.httpSubviolation.description}}\n
\n
\n Description\n

\n
\n
\n Type\n

\n
\n
\n Risk\n

\n
\n
\n Examples\n

\n
\n
\n
Details{{::viol_occ.observedEntity.violationDescription | base64_decode:viol_occ.observedEntity.violationDescriptionBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_HTTP_RESPONSE_STATUS.html','
Response Status Code\n {{::viol_occ.extraRequestData.responseCode | na_if_empty}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_IS_USER_DEFINED.html','
{{::keyValuePair.key | base64_decode:keyValuePair.keyBase64Encoded}}{{::keyValuePair.value | base64_decode:keyValuePair.valueBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_JSON_FORMAT.html','
Failed Defense{{::viol_occ.observedEntity.defenseElementNameXpointer | defense_attribute:\'json\'}}
Allowed Value{{::viol_occ.observedEntity.defenseElementAllowedValue | defense_attribute_value:\'json\':viol_occ.observedEntity.defenseElementNameXpointer}}
Detected Value{{::viol_occ.observedEntity.defenseElementValue | defense_attribute_value:\'json\':viol_occ.observedEntity.defenseElementNameXpointer}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_JSON_MALFORMED.html','
JSON Buffer{{::viol_occ.snippet.buffer | base64_decode:viol_occ.snippet.bufferBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_JSON_SCHEMA.html','
JSON Buffer{{::viol_occ.snippet.buffer | base64_decode:viol_occ.snippet.bufferBase64Encoded}}
Validation Error
JSON Tag{{::viol_occ.observedEntity.jsonTag | base64_decode:viol_occ.observedEntity.jsonTagBase64Encoded}}
Property Name{{::viol_occ.observedEntity.propertyName | base64_decode:viol_occ.observedEntity.propertyNameBase64Encoded}}
Detected Value{{::viol_occ.actualValue | base64_decode:viol_occ.actualValueBase64Encoded}}
Expected Value{{::viol_occ.expectedValue | base64_decode:viol_occ.expectedValueBase64Encoded}}
Location{{::viol_occ.location | ucfirst}}
'); $templateCache.put('templates/angular/request/violations/VIOL_LEAKED_CREDENTIALS.html','
User Name{{::viol_occ.username | na_if_empty}}
Mitigation Action{{::viol_occ.observedEntity.leakedCredentialsMitigationAction | brute_force_mitigation}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_LOGIN_URL_EXPIRED.html','
Defined Expiration Period\n \n
Time Passed Since Expiration Period Ended\n \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_MALICIOUS_DEVICE.html','
Client Reputation Reasons\n
\n
  • \n
  • {{::reason}}\n
\n
\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_MALICIOUS_IP.html','
\n
IP Intelligence Category{{::ipCategory.categoryName | base64_decode:ipCategory.categoryNameBase64Encoded | na_if_empty}}
Applied Blocking Settings\n Block\n Alarm\n Learn\n
\n
\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_MANDATORY_HEADER.html','
Mandatory Header
\n'); $templateCache.put('templates/angular/request/violations/VIOL_MANDATORY_PARAMETER.html','
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Parameter Name\n
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
'); $templateCache.put('templates/angular/request/violations/VIOL_MANDATORY_REQUEST_BODY.html','
Actual URL\n
\n {{::viol_occ.policyEntityReference.method | url_method}}\n
\n
Wildcard URL\n
\n {{::viol_occ.policyEntityReference.method | url_method}}\n
\n
'); $templateCache.put('templates/angular/request/violations/VIOL_METHOD.html','
HTTP Method\n {{::viol_occ.observedEntity.method | base64_decode:viol_occ.observedEntity.methodBase64Encoded | na_if_empty}}\n
Detected On\n
\n
\n Actual URL\n

\n {{:sadviol_occ.policyEntityReference.method || viol_occ.observedEntity.method) | url_method}}\n

\n Wildcard URL\n

\n {{::viol_occ.policyEntityReference.method | url_method}}\n

\n
\n
\n URL\n

\n {{:sadviol_occ.policyEntityReference.method || viol_occ.observedEntity.method) | url_method}}\n

\n
\n
\n
Request
\n
'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER.html','
Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Parameter Name
Parameter Value
\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_ARRAY_VALUE.html','
Violation ReasonItems must be uniqueArray must have at least {{::viol_occ.minNumericValue}} itemsArray must have at most {{::viol_occ.maxNumericValue}} itemsIllegal enum value
Detected Number of Items{{::viol_occ.actualValue}}
Configured Minimum Number of Items{{::viol_occ.minNumericValue}}
Configured Maximum Number of Items{{::viol_occ.maxNumericValue}}
Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Actual Parameter Name\n
Wildcard Parameter Name
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
Parameter Value
'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_DATA_TYPE.html','
Parameter Value
Expected Data Type\n \n File Upload\n Integer\n Decimal\n Email\n Phone\n Alpha-Numeric\n Boolean\n N/A\n \n
\n\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_DYNAMIC_VALUE.html','
Parameter Value
\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_EMPTY_VALUE.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_LOCATION.html','
Detected Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Expected Parameter Location{{::viol_occ.parameterConfiguredLocation | param_location:viol_occ.configuredHeaderParameter:viol_occ.configuredCookieParameter}}
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Actual Parameter Name\n
Wildcard Parameter Name
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
Parameter Value
'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_MULTIPART_NULL_VALUE.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_NAME_METACHAR.html','
Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Actual Parameter Name\n
Wildcard Parameter Name
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_NUMERIC_VALUE.html','
Parameter Value
Parameter Value is not Multiple of\n {{::viol_occ.multipleOf}}\n
Parameter Value is not Greater Than{{::viol_occ.exclusiveMin ? \'\' : \'/Equal\'}}\n {{::viol_occ.minNumericValue}}\n
Parameter Value is not Less Than{{::viol_occ.exclusiveMax ? \'\' : \'/Equal\'}}\n {{::viol_occ.maxNumericValue}}\n
\n\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_REPEATED.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_STATIC_VALUE.html','
Parameter Value
\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_VALUE_BASE64.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_VALUE_LENGTH.html','
Parameter Value
Detected Value Length\n {{::viol_occ.observedEntity.length}}\n
Expected {{::viol_occ.parameterValueLengthViolationType | ucfirst}} Value Length\n {{::viol_occ.expectedValue}}\n
'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_VALUE_METACHAR.html','
Parameter Location{{::viol_occ.observedEntity.parameterLocation | param_location:viol_occ.actualHeaderParameter:viol_occ.actualCookieParameter}}
Parameter Level{{::viol_occ.observedEntity.parameterLevel | param_level}}
Actual Parameter Name\n
Wildcard Parameter Name
Auto Detected Parameter Value Type{{::viol_occ.observedEntity.parameterValueAutoDetectedType}}
Parameter Value\n
Context
{{:sadviol_occ.observedEntity.contentProfileType == \'plain-text\' ? \'Plain Text\' : (viol_occ.observedEntity.contentProfileType | uppercase))}} Profile\n
\n
{{:sadviol_occ.observedEntity.contentProfileType == \'plain-text\' ? \'Plain Text\' : (viol_occ.observedEntity.contentProfileType | uppercase))}}\n Buffer\n {{::viol_occ.observedEntity.contentProfileElement | ucwords}}\n \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_PARAMETER_VALUE_REGEXP.html','
Parameter Value
Regular Expression
\n\n'); $templateCache.put('templates/angular/request/violations/VIOL_PLAINTEXT_FORMAT.html','
Failed Defense{{viol_occ.observedEntity.defenseElementNameXpointer | defense_attribute:\'plain_text\'}}
Allowed Value{{viol_occ.observedEntity.defenseElementAllowedValue | defense_attribute_value:\'plain_text\':viol_occ.observedEntity.defenseElementNameXpointer}}
Detected Value{{viol_occ.observedEntity.defenseElementValue | defense_attribute_value:\'plain_text\':viol_occ.observedEntity.defenseElementNameXpointer}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_POST_DATA_LENGTH.html','
Wildcard File Type{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual File Type{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected POST Data Length{{::viol_occ.actualValue}}
Expected POST Data Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_QUERY_STRING_LENGTH.html','
Wildcard File Type{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual File Type{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Query String Length{{::viol_occ.actualValue}}
Expected Query String Length{{::viol_occ.expectedValue}}
'); $templateCache.put('templates/angular/request/violations/VIOL_REDIRECT.html','
Redirection Location
\n'); $templateCache.put('templates/angular/request/violations/VIOL_REQUEST_LENGTH.html','
Wildcard File Type{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual File Type{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Request Length{{::viol_occ.actualValue}}
Expected Request Length{{::viol_occ.expectedValue}}
'); $templateCache.put('templates/angular/request/violations/VIOL_REQUEST_MAX_LENGTH.html','
Detected Request Length\n \n
Expected Request Length\n \n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_SESSION_AWARENESS.html','
Scope\n {{::viol_occ.observedEntity.sessionAwarenessLockScopes | session_awareness_lock_scopes}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_THREAT_ANALYSIS.html','
Configured Enforcement Action{{::viol_occ.threatAnalysisEnforcementDetails.configuredEnforcementAction | threat_analysis_enforcement_action}}\n
Actual Enforcement Action{{::viol_occ.threatAnalysisEnforcementDetails.actualEnforcementAction | threat_analysis_enforcement_action}}\n
Enforcement Action Reason{{::viol_occ.threatAnalysisEnforcementDetails.enforcementActionReason | threat_analysis_enforcement_action_reason}}\n
Server Technology{{::viol_occ.threatAnalysisEnforcementDetails.serverTechnologyReference.serverTechnologyName | na_if_empty}}\n
Response Code{{::viol_occ.threatAnalysisEnforcementDetails.responseCode | na_if_empty}}\n
'); $templateCache.put('templates/angular/request/violations/VIOL_THREAT_CAMPAIGN.html',''); $templateCache.put('templates/angular/request/violations/VIOL_URL.html','
Requested URL\n [{{::viol_occ.extraRequestData.schema | uppercase}}] {{::viol_occ.observedEntity.method | url_method}}\n
Matched Wildcard URL\n {{::viol_occ.policyEntityReference.method | url_method}}\n
Detection Cause\n Disallowed URL\n Illegal URL \n
'); $templateCache.put('templates/angular/request/violations/VIOL_URL_CONTENT_TYPE.html','
Matched Header-Based Content ProfileDefault
\n
Header Name
Actual Header Value
Wildcard Header Value
\n'); $templateCache.put('templates/angular/request/violations/VIOL_URL_LENGTH.html','
Wildcard File Type{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual File Type{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected URL Length{{::viol_occ.actualValue}}
Expected URL Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_URL_METACHAR.html','
Requested URL\n {{::viol_occ.policyEntityReference.method | url_method}}\n
Wildcard URL\n {{::viol_occ.policyEntityReference.method | url_method}}\n
'); $templateCache.put('templates/angular/request/violations/VIOL_VIRUS.html','
Description\n {{::viol_occ.observedEntity.violationDescription | base64_decode:viol_occ.observedEntity.violationDescriptionBase64Encoded | na_if_empty}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_BAD_REQUEST.html','
Detected Value{{::viol_occ.actualValue}}
Expected Value{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_BINARY_MESSAGE_LENGTH.html','
Wildcard URL{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual URL{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Binary Message Length{{::viol_occ.actualValue}}
Expected Binary Message Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_BINARY_MESSAGE_NOT_ALLOWED.html','
Wildcard URL{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual URL{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Message Payload Format{{::viol_occ.actualValue | ucwords}}
Expected Message Payload Format{::{viol_occ.expectedValue | ucwords}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_EXTENSION.html','
Detected Value{{viol_occ.actualValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_FRAMES_PER_MESSAGE_COUNT.html','
Wildcard URL{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual URL{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Frames per message{{::viol_occ.actualValue}}
Expected Frames per message{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_FRAME_LENGTH.html','
Wildcard URL{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual URL{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Frame Length{{::viol_occ.actualValue}}
Expected Frame Length{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_FRAME_MASKING.html','
Detected Value{{::viol_occ.actualValue}}
Expected Value{{::viol_occ.expectedValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_FRAMING_PROTOCOL.html','
Detected Value{{viol_occ.actualValue}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_TEXT_MESSAGE_NOT_ALLOWED.html','
Wildcard URL{{::viol_occ.policyEntityReference.name | base64_decode:viol_occ.policyEntityReference.nameBase64Encoded}}
Actual URL{{::viol_occ.observedEntity.name | base64_decode:viol_occ.observedEntity.nameBase64Encoded}}
Detected Message Payload Format{{::viol_occ.actualValue | ucwords}}
Expected Message Payload Format{{::viol_occ.expectedValue | ucwords}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEBSOCKET_TEXT_NULL_VALUE.html','
Detected Buffer
\n'); $templateCache.put('templates/angular/request/violations/VIOL_WEB_SCRAPING.html','
Description\n {{::viol_occ.observedEntity.violationDescription | base64_decode:viol_occ.observedEntity.violationDescriptionBase64Encoded | na_if_empty}}\n
\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_FORMAT.html','
Failed Defense{{::viol_occ.observedEntity.defenseElementNameXpointer | defense_attribute:\'xml\'}}
Allowed Value{{::viol_occ.observedEntity.defenseElementAllowedValue | defense_attribute_value:\'xml\':viol_occ.observedEntity.defenseElementNameXpointer}}
Detected Value{{::viol_occ.observedEntity.defenseElementValue | defense_attribute_value:\'xml\':viol_occ.observedEntity.defenseElementNameXpointer}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_MALFORMED.html','
XML Buffer{{::viol_occ.snippet.buffer | base64_decode:viol_occ.snippet.bufferBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_SCHEMA.html','
SOAP Method{{::viol_occ.observedEntity.soapMethod | base64_decode:viol_occ.observedEntity.soapMethodBase64Encoded}}
SOAP Namespace{{::viol_occ.observedEntity.soapNamespace | base64_decode:viol_occ.observedEntity.soapNamespaceBase64Encoded}}
Expected SOAP Action{{::viol_occ.observedEntity.expectedSoapAction | base64_decode:viol_occ.observedEntity.expectedSoapActionBase64Encoded}}
Actual SOAP Action{{::viol_occ.observedEntity.actualSoapAction | base64_decode:viol_occ.observedEntity.actualSoapActionBase64Encoded}}
XML Buffer{{::viol_occ.snippet.buffer | base64_decode:viol_occ.snippet.bufferBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_SOAP_ATTACHMENT.html','\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_SOAP_METHOD.html','
SOAP Method{{::viol_occ.observedEntity.soapMethod | base64_decode:viol_occ.observedEntity.soapMethodBase64Encoded}}
SOAP Namespace{{::viol_occ.observedEntity.soapNamespace | base64_decode:viol_occ.observedEntity.soapNamespaceBase64Encoded}}
\n'); $templateCache.put('templates/angular/request/violations/VIOL_XML_WEB_SERVICES_SECURITY.html','
Failed Web Services Security\n {{::viol_occ.wssSubviolation.description}}\n
\n
\n Description\n

\n
\n
\n Type \n

\n
\n
\n Risk\n

\n
\n
\n Examples\n

\n
\n
\n
\n');}]);
Detected Keywords
redirecturl=../course/view.php?id=15

Attack Signature
Name

Directory Traversal attempt "../" (Parameter)


Context Parameter (detected in Form Data)
Parameter LevelGlobal
Actual Parameter Name
UNNAMED redirecturl
Wildcard Parameter Name
*
Parameter Value../course/view.php?id=15


Average of ratings: -