* [PATCH] Remove unused snortupdateutility.js
@ 2021-03-25 16:33 Leo-Andres Hofmann
2021-03-27 20:27 ` Peter Müller
0 siblings, 1 reply; 5+ messages in thread
From: Leo-Andres Hofmann @ 2021-03-25 16:33 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 23410 bytes --]
This script doesn't seem to be maintained or used anywhere anymore.
The last reference to it was removed in commit 1772664.
Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
---
config/rootfiles/common/web-user-interface | 1 -
html/html/include/snortupdateutility.js | 744 ---------------------
2 files changed, 745 deletions(-)
delete mode 100644 html/html/include/snortupdateutility.js
diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface
index 9b2667676..540bf1e4b 100644
--- a/config/rootfiles/common/web-user-interface
+++ b/config/rootfiles/common/web-user-interface
@@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png
srv/web/ipfire/html/images/wakeup.gif
srv/web/ipfire/html/images/window-new.png
srv/web/ipfire/html/include
-srv/web/ipfire/html/include/snortupdateutility.js
srv/web/ipfire/html/include/zoneconf.js
srv/web/ipfire/html/index.cgi
srv/web/ipfire/html/redirect-templates
diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js
deleted file mode 100644
index 10750519c..000000000
--- a/html/html/include/snortupdateutility.js
+++ /dev/null
@@ -1,744 +0,0 @@
-/*
-File Info: utility.js - JavaScript library
-
-Author: Drew S. Dupont
-
-Date: 2/26/2003 - 8/12/2004 (or present day)
-
-Description: Utility functions in JavaScript
- Drew S. Dupont <dsdupont(a)alumni.indiana.edu>
-*/
-// Show/Hide HTML Span
-function showHideHTML(id, content) {
- // Browser variables
- var ie45, ns6, ns4, dom = false;
-
- // Basic browser parse
- if (navigator.appName == "Microsoft Internet Explorer") {
- ie45 = parseInt(navigator.appVersion) >= 4;
- } else if (navigator.appName == "Netscape") {
- ns6 = parseInt(navigator.appVersion) >= 5;
- ns4 = parseInt(navigator.appVersion) < 5;
- }
- dom = ie45 || ns6;
-
- // Return if using an old Netscape browser
- if(ns4) return;
-
- // Check for type of call supported
- el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
-
- // Check if content to be "switched" is ""
- if (content == "") {
- // Return old content and replace with ""
- content = el.innerHTML;
- el.innerHTML = "";
- } else {
- // Replace current content with new content and return ""
- el.innerHTML = content;
- content = "";
- }
-
- // Return content (either old or "")
- return content;
-}
-
-// Check for special chars
-function checkForSpecialChars(field, alphaStart, specialCheckChars) {
- // Local vars
- var alphaStartChars = /^[a-zA-Z]/;
- var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/;
-
- // Check if should start with an alpha char
- if (alphaStart) {
- // Make sure starts with a alpha char
- if (alphaStartChars.test(field.value)) {
- // Check for special chars
- if (noSpecialChars.test(field.value)) {
- // Return true
- return true;
- } else {
- // Check for specialCheckChars
- if (specialCheckChars && (specialCheckChars.test(field.value))) {
- // Return true
- return true;
- } else {
- // Return false
- return false;
- }
- }
- } else {
- // Return true
- return true;
- }
- } else {
- // Check if contains any special chars
- if (noSpecialChars.test(field.value)) {
- // Return true
- return true;
- } else {
- // Check for specialCheckChars
- if (specialCheckChars && (specialCheckChars.test(field.value))) {
- // Return true
- return true;
- } else {
- // Return false
- return false;
- }
- }
- }
-} // End checkForSpecialChars
-
-// Launch help
-function launchHelp(helpSrc) {
- helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400")
- helpWindow.moveTo(25, 25);
- helpWindow.focus();
-}
-
-// Image On
-function imageOn(imageName) {
- document[imageName].src = eval(imageName + "_over.src");
-}
-
-// Image Off
-function imageOff(imageName) {
- document[imageName].src = eval(imageName + ".src");
-}
-
-// Image Down
-function imageDown(imageName) {
- document[imageName].src = eval(imageName + "_down.src");
-}
-
-// Image button On
-function imageButtonOn(item, imageName) {
- item.src = eval(imageName + "_over.src");
-}
-
-// Image button Off
-function imageButtonOff(item, imageName) {
- item.src = eval(imageName + ".src");
-}
-
-// Image button Down
-function imageButtonDown(item, imageName) {
- item.src = eval(imageName + "_down.src");
-}
-
-// changeStatus
-function changeStatus(message) {
- // Set window status
- window.status = message;
-
- // Return true
- return true;
-} // End changeStatus
-
-// isNumeric function
-function isNumeric(num) {
- // Boolean var
- var bolValidNum = true;
- var digits = "1234567890";
- var len = num.length;
-
- // Loop over num
- for (i = 0; i < len; ++i) {
- numSub = num.substring(i, i + 1);
-
- // Test for numeric match
- if (digits.indexOf(numSub) == -1) {
- bolValidNum = false;
- }
- }
-
- // Return boolean var
- return bolValidNum;
-} // End isNumeric
-
-// Check for numeric and display nice error
-function checkNumeric(field, message) {
- // Is it valid
- if (!isNumeric(field.value)) {
- alert(message);
- field.focus();
- }
-} // End checkNumeric
-
-// Function getInt which return numeric value of passed in string
-function getInt(str, i, minlength, maxlength) {
- for (x = maxlength; x >= minlength; --x) {
- var token = str.substring(i, i + x);
-
- // Check for numeric
- if (isNumeric(token)) {
- return token;
- }
- }
-
- // Return null
- return null;
-}
-
-// Function dateCheck, requires global err variable for passing error messages
-// and requires the isNumeric function
-function dateCheck(date, humanname, dateFormat) {
- // Date validation
- var date_s = date;
-
- // If no dateFormat, then set one
- if (dateFormat == null) {
- format = "mm/dd/yyyy";
- } else {
- format = dateFormat;
- }
-
- var date_err = 0; // Possible values are 0, 1
- var date_year_err = 0; // Possible values are 0, 1
- var date_month_err = 0; // Possible values are 1-12
- var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4
- var i_date_s = 0;
- var i_format = 0;
- var err = "";
- var c = "";
- var token = "";
- var token2 = "";
- var x, y;
- var year = 0;
- var month = 0;
- var date = 0;
- var bYearProvided = false;
- var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
-
- // Trim the leading spaces from the string
- while (date_s.charAt(0) == ' ') {
- date_s = date_s.slice(1);
- }
-
- while (i_format < format.length) {
- // Get next token from format string
- c = format.charAt(i_format);
- token = "";
-
- while ((format.charAt(i_format) == c) && (i_format < format.length)) {
- token += format.charAt(i_format);
- ++i_format;
- }
-
- // Extract contents of value based on format token
- if ((token == "yyyy") || (token == "yy") || (token == "y")) {
- if (token == "yyyy") { x = 4; y = 4; } // 4-digit year
- if (token == "yy") { x = 2; y = 2; } // 2-digit year
- if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year
-
- year = getInt(date_s, i_date_s, x, y);
- bYearProvided = true;
-
- if ((year == null) || (year.length != token.length)) {
- date_year_err = 1;
- }
-
- i_date_s += year.length;
- } else {
- if (token == "mmm") { // Month name
- month = 0;
-
- for (var i = 0; i < MONTH_NAMES.length; ++i) {
- var month_name = MONTH_NAMES[i];
-
- if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) {
- month = i + 1;
-
- if (month > 12) {
- month -= 12;
- }
-
- i_date_s += month_name.length;
- break;
- }
- }
-
- if ((month == 0) || (month < 1) || (month > 12)) {
- date_month_err = 1;
- }
- } else {
- if ((token == "mm") || (token == "m")) {
- x = token.length; y = 2;
- month = getInt(date_s, i_date_s, x, y);
-
- if ((month == null) || (month < 1) || (month > 12)) {
- date_month_err = 1;
- }
-
- i_date_s += month.length;
- } else {
- if (token=="dd" || token=="d") {
- x = token.length; y = 2;
- date = getInt(date_s, i_date_s, x, y);
-
- if ((date == null) || (date < 1) || (date > 31)) {
- date_day_err = 1;
- }
-
- i_date_s += date.length;
- } else {
- if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) {
- date_err = 1;
- } else {
- i_date_s += token.length;
- }
- }
- }
- }
- }
- }
-
- // If there are any trailing characters left in the date_s, it doesn't match
- if (i_date_s != date_s.length) {
- date_err = 1;
- }
-
- // Is date valid for month?
- if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
- if (date > 30) {
- date_day_err = 2;
- }
- } else {
- if (month == 2) {
- // Check for leap year
- if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
- // Leap year
- if (date > 29) {
- date_day_err = 3
- }
- } else {
- if (date > 28) {
- date_day_err = 4;
- }
- }
- } else {
- if (date > 31) {
- date_day_err = 1;
- }
- }
- }
-
- // Add to the error message, if needed
- if (date_err != 0) {
- err += "\n - The " + humanname + " must be a valid date in the format " + format + ".";
- }
-
- // Add to the error message, if needed
- if (date_month_err != 0) {
- err += "\n - The month must be between 1-12.";
- }
-
- // Add to the error message, if needed
- if (date_year_err != 0) {
- err += "\n - The " + humanname + " must have a valid year.";
- }
-
- // Add to the error message, if needed
- if (date_day_err != 0) {
- switch (date_day_err) {
- case 1:
- err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days.";
- break;
- case 2:
- err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days.";
- break;
- case 3:
- err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year.";
- break;
- default:
- err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year.";
- break;
- }
- }
-
- return err;
-} // End dateCheck
-
-// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or
-// greater than (1)
-function dateCompare(date1, date2) {
- var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5));
- var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5));
-
- // Greater than
- if (localDate1.getTime() > localDate2.getTime()) {
- return 1;
- } else {
- // Less than
- if (localDate1.getTime() < localDate2.getTime()) {
- return -1;
- } else {
- // Equal
- return 0;
- }
- }
-} // End dateCompare
-
-// All-purpose form validation script
-function checkForm(dataForm) {
- var msg = "";
- var stripBlanksStart = /^\s+/g;
- var stripBlanksEnd = /\s+$/g;
- var squeezeBlanks = /\s+/g;
- var stripNonNumbers = /\D+/g;
- var stripNotDollars = /[^0-9\.]/g;
- var noSpaces = /\s+/g;
- var allNumbers = /^\d+$/;
- var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/;
- var passwordNumbers = /\d{1,}/;
- var passwordLetters = /\D{1,}/;
- var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i;
- var replaceSeps = /[-,\.\/]/g;
- var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/;
- var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/;
- var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/;
- var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/;
- var passwordLength = 6;
- var error_fields = "";
- var errors = "";
-
- // Loop over form elements
- for (var i = 0; i < dataForm.length; ++i) {
- var element = dataForm.elements[i];
-
- // Check for select box
- if (element.selectbox) {
- // Check for required
- if (element.required) {
- // Check for value
- if (element.options[element.selectedIndex].value == "") {
- error_fields += "\n - " + element.humanname + " requires a selection.";
- }
- }
- continue;
- }
-
- // Strip the leading and trailing blanks
- element.value = element.value.replace(stripBlanksStart, '');
- element.value = element.value.replace(stripBlanksEnd, '');
-
- // If it is required and is empty, alert
- if (element.required && (!element.value.length)) {
- error_fields += "\n - " + element.humanname + " is required.";
- continue;
- } else {
- // If it isn't required and doesn't have any length, skip it
- if ((! element.required) && (! element.value.length)) {
- continue;
- }
- }
-
- // Check for special characters
- if (element.checkspecialchars) {
- if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) {
- error_fields += "\n - " + element.humanname + " contains invalid characters.";
- continue;
- }
- }
-
- // Convert to uppercase if necessary
- if (element.uppercase) {
- element.value = element.value.toUpperCase();
- }
-
- // Convert to uppercase if necessary
- if (element.lowercase) {
- element.value = element.value.toLowerCase();
- }
-
- // UCFirst if necessary
- if (element.ucfirst) {
- // Squeeze the blanks
- rs = element.value.replace(squeezeBlanks, ' ');
- dsegs = rs.split(' ');
- element.value = "";
-
- // Loop over chars
- for (j = 0; j < dsegs.length; ++j) {
- if (dsegs[j].length > 1) {
- fl = dsegs[j].substr(0, 1);
- fl = fl.toUpperCase();
- rn = dsegs[j].substr(1);
- rn = rn.toLowerCase();
- dsegs[j] = fl + rn;
- }
-
- // Check for first value
- element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j];
- }
- }
-
- // Check for equality test
- if (element.equalto) {
- // Check for truevalue and use if found, otherwise use value
- var elementValue1 = element.truevalue ? element.truevalue : element.value;
- var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value;
-
- // Check for value equality
- if (elementValue1 != elementValue2) {
- error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname;
- continue;
- }
- }
-
- // Check for less than
- if (element.lessthan) {
- // Check for truevalue and use if found, otherwise use value
- var elementValue1 = element.truevalue ? element.truevalue : element.value;
- var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value;
-
- // Check for values
- if ((elementValue1 != '') && (elementValue2 != '')) {
- // Check for value less than
- if (elementValue1 >= elementValue2) {
- error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname;
- continue;
- }
- }
- }
-
- // Check for less than equalto
- if (element.lessthanequalto) {
- // Check for truevalue and use if found, otherwise use value
- var elementValue1 = element.truevalue ? element.truevalue : element.value;
- var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value;
-
- // Check for values
- if ((elementValue1 != '') && (elementValue2 != '')) {
- // Check for value less than equalto
- if (elementValue1 > elementValue2) {
- error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname;
- continue;
- }
- }
- }
-
- // Check for greater than
- if (element.greaterthan) {
- // Check for truevalue and use if found, otherwise use value
- var elementValue1 = element.truevalue ? element.truevalue : element.value;
- var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value;
-
- // Check for values
- if ((elementValue1 != '') && (elementValue2 != '')) {
- // Check for value greater than
- if (elementValue1 <= elementValue2) {
- error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname;
- continue;
- }
- }
- }
-
- // Check for greater than equalto
- if (element.greaterthanequalto) {
- // Check for truevalue and use if found, otherwise use value
- var elementValue1 = element.truevalue ? element.truevalue : element.value;
- var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value;
-
- // Check for values
- if ((elementValue1 != '') && (elementValue2 != '')) {
- // Check for value greater than equalto
- if (elementValue1 < elementValue2) {
- error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname;
- continue;
- }
- }
- }
-
- // Check a price (sort of)
- if (element.price) {
- // Strip out currency stuff
- element.value = element.value.replace(stripNotDollars, '');
- continue;
- }
-
- // Check a telephone number
- if (element.telephone) {
- // Strip out parens and spaces
- rs = element.value.replace(stripNonNumbers, '');
-
- if (rs.length == 7) {
- element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4);
- } else {
- if (rs.length == 10) {
- element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4);
- } else {
- error_fields += "\n - " + element.humanname + " is an invalid telephone number.";
- }
- }
- continue;
- }
-
- // Check a zip code
- if (element.zipcode) {
- if (!zipCodeCheck.test(element.value)) {
- error_fields +="\n - " + element.humanname + " is an invalid zipcode.";
- }
- continue;
- }
-
- // Check a password (sort of)
- if (element.password) {
- if (element.value.length < passwordLength) {
- error_fields += "\n - " + element.humanname + " is too short";
- error_fields += "\n Minimum length is " + passwordLength + " characters.";
- continue;
- }
-
- if (!passwordNumbers.test(element.value)) {
- error_fields += "\n - " + element.humanname + " must contain at least one number.";
- continue;
- }
-
- if (!passwordLetters.test(element.value)) {
- error_fields += "\n - " + element.humanname + " must contain at least one letter.";
- continue;
- }
- }
-
- // Check for all numbers
- if (element.numeric) {
- if (!allNumbers.test(element.value)) {
- error_fields += "\n - " + element.humanname + " is not numeric.";
- }
- continue;
- }
-
- // Check an email address for validity
- if (element.email) {
- element.value = element.value.replace(noSpaces, '');
-
- if (!emailPattern.test(element.value)) {
- error_fields += "\n - " + element.humanname + " is not a valid email address.";
- }
- continue;
- }
-
- // Check a date
- if (element.date) {
- error_fields += dateCheck(element.value, element.humanname, element.format);
- continue;
- }
-
- // Check a time
- if (element.time) {
- // Check for 24 hour time
- if (element.time24) {
- // Check for valid
- if (!time24Format.test(element.value)) {
- error_fields += "\n - " + element.humanname + " is not a valid 24 hour time.";
- }
- } else {
- // Check for valid
- if (!time12Format.test(element.value)) {
- error_fields += "\n - " + element.humanname + " is not a valid 12 hour time.";
- }
- }
- continue;
- }
-
- // Check the lengths
- if (element.minlen && (element.value.length < element.minlen)) {
- error_fields += "\n - " + element.humanname + " is too short";
- error_fields += "\n Minimum length is " + element.minlen + " characters.";
- continue;
- }
-
- if (element.maxlen && (element.value.length > element.maxlen)) {
- error_fields +="\n - " + element.humanname + " is too long";
- error_fields +="\n Maximum length is " + element.maxlen + " characters.";
- continue;
- }
-
- // Check for ip/network address
- if (element.ipnetworkaddress) {
- if (!ipNetworkAddress.test(element.value)) {
- error_fields +="\n - " + element.humanname + " is not a valid ip/network address";
- }
- continue;
- }
-
- // Check for ip/network port
- if (element.ipnetworkport) {
- if (!ipNetworkPort.test(element.value)) {
- error_fields +="\n - " + element.humanname + " is not a valid ip/network port";
- } else {
- var searchChar = "";
- var portArray = "";
-
- if (element.value.indexOf(":") > -1) {
- searchChar = ":";
- } else if (element.value.indexOf("-") > -1) {
- searchChar = "-";
- }
-
- if (searchChar != '') {
- portArray = element.value.split(searchChar);
-
- if (portArray.length == 2) {
- if (parseInt(portArray[0]) > parseInt(portArray[1])) {
- error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port";
- }
- }
- }
- }
- continue;
- }
- }
-
- // Check for any errors
- if (error_fields == "") {
- return true;
- } else {
- msg = "The following fields have errors:\n";
- msg += error_fields;
- alert(msg);
- return false;
- }
-}
-
-// Clear data
-function clearData(field, data) {
- // Check if they equal
- if (field.value == data) {
- // Clear data
- field.value = '';
- }
-}
-
-// Set empty data
-function setEmptyData(field, data) {
- // Check if they equal
- if (! field.value.length) {
- // Clear data
- field.value = data;
- }
-}
-
-// Trim whitespace from beginning and end
-function trim(data) {
- var objRegExp = /^(\s*)$/;
-
- // Check for all spaces
- if (objRegExp.test(data)) {
- data = data.replace(objRegExp, '');
-
- if (data.length == 0)
- return data;
- }
-
- // Check for leading & trailing spaces
- objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
-
- if (objRegExp.test(data)) {
- // Remove leading and trailing whitespace characters
- data = data.replace(objRegExp, '$2');
- }
-
- return data;
-}
--
2.27.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused snortupdateutility.js
2021-03-25 16:33 [PATCH] Remove unused snortupdateutility.js Leo-Andres Hofmann
@ 2021-03-27 20:27 ` Peter Müller
2021-03-28 12:23 ` Leo Hofmann
0 siblings, 1 reply; 5+ messages in thread
From: Peter Müller @ 2021-03-27 20:27 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 25242 bytes --]
Hello Leo,
indeed, this is orphaned. Thank you for catching it. :-)
We probably need to remove it during the upgrading procedure of the Core Update this patch will
be included in, for good measures.
Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
Thanks, and best regards,
Peter Müller
> This script doesn't seem to be maintained or used anywhere anymore.
> The last reference to it was removed in commit 1772664.
>
> Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
> ---
> config/rootfiles/common/web-user-interface | 1 -
> html/html/include/snortupdateutility.js | 744 ---------------------
> 2 files changed, 745 deletions(-)
> delete mode 100644 html/html/include/snortupdateutility.js
>
> diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface
> index 9b2667676..540bf1e4b 100644
> --- a/config/rootfiles/common/web-user-interface
> +++ b/config/rootfiles/common/web-user-interface
> @@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png
> srv/web/ipfire/html/images/wakeup.gif
> srv/web/ipfire/html/images/window-new.png
> srv/web/ipfire/html/include
> -srv/web/ipfire/html/include/snortupdateutility.js
> srv/web/ipfire/html/include/zoneconf.js
> srv/web/ipfire/html/index.cgi
> srv/web/ipfire/html/redirect-templates
> diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js
> deleted file mode 100644
> index 10750519c..000000000
> --- a/html/html/include/snortupdateutility.js
> +++ /dev/null
> @@ -1,744 +0,0 @@
> -/*
> -File Info: utility.js - JavaScript library
> -
> -Author: Drew S. Dupont
> -
> -Date: 2/26/2003 - 8/12/2004 (or present day)
> -
> -Description: Utility functions in JavaScript
> - Drew S. Dupont <dsdupont(a)alumni.indiana.edu>
> -*/
> -// Show/Hide HTML Span
> -function showHideHTML(id, content) {
> - // Browser variables
> - var ie45, ns6, ns4, dom = false;
> -
> - // Basic browser parse
> - if (navigator.appName == "Microsoft Internet Explorer") {
> - ie45 = parseInt(navigator.appVersion) >= 4;
> - } else if (navigator.appName == "Netscape") {
> - ns6 = parseInt(navigator.appVersion) >= 5;
> - ns4 = parseInt(navigator.appVersion) < 5;
> - }
> - dom = ie45 || ns6;
> -
> - // Return if using an old Netscape browser
> - if(ns4) return;
> -
> - // Check for type of call supported
> - el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
> -
> - // Check if content to be "switched" is ""
> - if (content == "") {
> - // Return old content and replace with ""
> - content = el.innerHTML;
> - el.innerHTML = "";
> - } else {
> - // Replace current content with new content and return ""
> - el.innerHTML = content;
> - content = "";
> - }
> -
> - // Return content (either old or "")
> - return content;
> -}
> -
> -// Check for special chars
> -function checkForSpecialChars(field, alphaStart, specialCheckChars) {
> - // Local vars
> - var alphaStartChars = /^[a-zA-Z]/;
> - var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/;
> -
> - // Check if should start with an alpha char
> - if (alphaStart) {
> - // Make sure starts with a alpha char
> - if (alphaStartChars.test(field.value)) {
> - // Check for special chars
> - if (noSpecialChars.test(field.value)) {
> - // Return true
> - return true;
> - } else {
> - // Check for specialCheckChars
> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
> - // Return true
> - return true;
> - } else {
> - // Return false
> - return false;
> - }
> - }
> - } else {
> - // Return true
> - return true;
> - }
> - } else {
> - // Check if contains any special chars
> - if (noSpecialChars.test(field.value)) {
> - // Return true
> - return true;
> - } else {
> - // Check for specialCheckChars
> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
> - // Return true
> - return true;
> - } else {
> - // Return false
> - return false;
> - }
> - }
> - }
> -} // End checkForSpecialChars
> -
> -// Launch help
> -function launchHelp(helpSrc) {
> - helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400")
> - helpWindow.moveTo(25, 25);
> - helpWindow.focus();
> -}
> -
> -// Image On
> -function imageOn(imageName) {
> - document[imageName].src = eval(imageName + "_over.src");
> -}
> -
> -// Image Off
> -function imageOff(imageName) {
> - document[imageName].src = eval(imageName + ".src");
> -}
> -
> -// Image Down
> -function imageDown(imageName) {
> - document[imageName].src = eval(imageName + "_down.src");
> -}
> -
> -// Image button On
> -function imageButtonOn(item, imageName) {
> - item.src = eval(imageName + "_over.src");
> -}
> -
> -// Image button Off
> -function imageButtonOff(item, imageName) {
> - item.src = eval(imageName + ".src");
> -}
> -
> -// Image button Down
> -function imageButtonDown(item, imageName) {
> - item.src = eval(imageName + "_down.src");
> -}
> -
> -// changeStatus
> -function changeStatus(message) {
> - // Set window status
> - window.status = message;
> -
> - // Return true
> - return true;
> -} // End changeStatus
> -
> -// isNumeric function
> -function isNumeric(num) {
> - // Boolean var
> - var bolValidNum = true;
> - var digits = "1234567890";
> - var len = num.length;
> -
> - // Loop over num
> - for (i = 0; i < len; ++i) {
> - numSub = num.substring(i, i + 1);
> -
> - // Test for numeric match
> - if (digits.indexOf(numSub) == -1) {
> - bolValidNum = false;
> - }
> - }
> -
> - // Return boolean var
> - return bolValidNum;
> -} // End isNumeric
> -
> -// Check for numeric and display nice error
> -function checkNumeric(field, message) {
> - // Is it valid
> - if (!isNumeric(field.value)) {
> - alert(message);
> - field.focus();
> - }
> -} // End checkNumeric
> -
> -// Function getInt which return numeric value of passed in string
> -function getInt(str, i, minlength, maxlength) {
> - for (x = maxlength; x >= minlength; --x) {
> - var token = str.substring(i, i + x);
> -
> - // Check for numeric
> - if (isNumeric(token)) {
> - return token;
> - }
> - }
> -
> - // Return null
> - return null;
> -}
> -
> -// Function dateCheck, requires global err variable for passing error messages
> -// and requires the isNumeric function
> -function dateCheck(date, humanname, dateFormat) {
> - // Date validation
> - var date_s = date;
> -
> - // If no dateFormat, then set one
> - if (dateFormat == null) {
> - format = "mm/dd/yyyy";
> - } else {
> - format = dateFormat;
> - }
> -
> - var date_err = 0; // Possible values are 0, 1
> - var date_year_err = 0; // Possible values are 0, 1
> - var date_month_err = 0; // Possible values are 1-12
> - var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4
> - var i_date_s = 0;
> - var i_format = 0;
> - var err = "";
> - var c = "";
> - var token = "";
> - var token2 = "";
> - var x, y;
> - var year = 0;
> - var month = 0;
> - var date = 0;
> - var bYearProvided = false;
> - var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
> -
> - // Trim the leading spaces from the string
> - while (date_s.charAt(0) == ' ') {
> - date_s = date_s.slice(1);
> - }
> -
> - while (i_format < format.length) {
> - // Get next token from format string
> - c = format.charAt(i_format);
> - token = "";
> -
> - while ((format.charAt(i_format) == c) && (i_format < format.length)) {
> - token += format.charAt(i_format);
> - ++i_format;
> - }
> -
> - // Extract contents of value based on format token
> - if ((token == "yyyy") || (token == "yy") || (token == "y")) {
> - if (token == "yyyy") { x = 4; y = 4; } // 4-digit year
> - if (token == "yy") { x = 2; y = 2; } // 2-digit year
> - if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year
> -
> - year = getInt(date_s, i_date_s, x, y);
> - bYearProvided = true;
> -
> - if ((year == null) || (year.length != token.length)) {
> - date_year_err = 1;
> - }
> -
> - i_date_s += year.length;
> - } else {
> - if (token == "mmm") { // Month name
> - month = 0;
> -
> - for (var i = 0; i < MONTH_NAMES.length; ++i) {
> - var month_name = MONTH_NAMES[i];
> -
> - if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) {
> - month = i + 1;
> -
> - if (month > 12) {
> - month -= 12;
> - }
> -
> - i_date_s += month_name.length;
> - break;
> - }
> - }
> -
> - if ((month == 0) || (month < 1) || (month > 12)) {
> - date_month_err = 1;
> - }
> - } else {
> - if ((token == "mm") || (token == "m")) {
> - x = token.length; y = 2;
> - month = getInt(date_s, i_date_s, x, y);
> -
> - if ((month == null) || (month < 1) || (month > 12)) {
> - date_month_err = 1;
> - }
> -
> - i_date_s += month.length;
> - } else {
> - if (token=="dd" || token=="d") {
> - x = token.length; y = 2;
> - date = getInt(date_s, i_date_s, x, y);
> -
> - if ((date == null) || (date < 1) || (date > 31)) {
> - date_day_err = 1;
> - }
> -
> - i_date_s += date.length;
> - } else {
> - if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) {
> - date_err = 1;
> - } else {
> - i_date_s += token.length;
> - }
> - }
> - }
> - }
> - }
> - }
> -
> - // If there are any trailing characters left in the date_s, it doesn't match
> - if (i_date_s != date_s.length) {
> - date_err = 1;
> - }
> -
> - // Is date valid for month?
> - if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
> - if (date > 30) {
> - date_day_err = 2;
> - }
> - } else {
> - if (month == 2) {
> - // Check for leap year
> - if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
> - // Leap year
> - if (date > 29) {
> - date_day_err = 3
> - }
> - } else {
> - if (date > 28) {
> - date_day_err = 4;
> - }
> - }
> - } else {
> - if (date > 31) {
> - date_day_err = 1;
> - }
> - }
> - }
> -
> - // Add to the error message, if needed
> - if (date_err != 0) {
> - err += "\n - The " + humanname + " must be a valid date in the format " + format + ".";
> - }
> -
> - // Add to the error message, if needed
> - if (date_month_err != 0) {
> - err += "\n - The month must be between 1-12.";
> - }
> -
> - // Add to the error message, if needed
> - if (date_year_err != 0) {
> - err += "\n - The " + humanname + " must have a valid year.";
> - }
> -
> - // Add to the error message, if needed
> - if (date_day_err != 0) {
> - switch (date_day_err) {
> - case 1:
> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days.";
> - break;
> - case 2:
> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days.";
> - break;
> - case 3:
> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year.";
> - break;
> - default:
> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year.";
> - break;
> - }
> - }
> -
> - return err;
> -} // End dateCheck
> -
> -// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or
> -// greater than (1)
> -function dateCompare(date1, date2) {
> - var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5));
> - var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5));
> -
> - // Greater than
> - if (localDate1.getTime() > localDate2.getTime()) {
> - return 1;
> - } else {
> - // Less than
> - if (localDate1.getTime() < localDate2.getTime()) {
> - return -1;
> - } else {
> - // Equal
> - return 0;
> - }
> - }
> -} // End dateCompare
> -
> -// All-purpose form validation script
> -function checkForm(dataForm) {
> - var msg = "";
> - var stripBlanksStart = /^\s+/g;
> - var stripBlanksEnd = /\s+$/g;
> - var squeezeBlanks = /\s+/g;
> - var stripNonNumbers = /\D+/g;
> - var stripNotDollars = /[^0-9\.]/g;
> - var noSpaces = /\s+/g;
> - var allNumbers = /^\d+$/;
> - var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/;
> - var passwordNumbers = /\d{1,}/;
> - var passwordLetters = /\D{1,}/;
> - var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i;
> - var replaceSeps = /[-,\.\/]/g;
> - var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/;
> - var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/;
> - var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/;
> - var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/;
> - var passwordLength = 6;
> - var error_fields = "";
> - var errors = "";
> -
> - // Loop over form elements
> - for (var i = 0; i < dataForm.length; ++i) {
> - var element = dataForm.elements[i];
> -
> - // Check for select box
> - if (element.selectbox) {
> - // Check for required
> - if (element.required) {
> - // Check for value
> - if (element.options[element.selectedIndex].value == "") {
> - error_fields += "\n - " + element.humanname + " requires a selection.";
> - }
> - }
> - continue;
> - }
> -
> - // Strip the leading and trailing blanks
> - element.value = element.value.replace(stripBlanksStart, '');
> - element.value = element.value.replace(stripBlanksEnd, '');
> -
> - // If it is required and is empty, alert
> - if (element.required && (!element.value.length)) {
> - error_fields += "\n - " + element.humanname + " is required.";
> - continue;
> - } else {
> - // If it isn't required and doesn't have any length, skip it
> - if ((! element.required) && (! element.value.length)) {
> - continue;
> - }
> - }
> -
> - // Check for special characters
> - if (element.checkspecialchars) {
> - if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) {
> - error_fields += "\n - " + element.humanname + " contains invalid characters.";
> - continue;
> - }
> - }
> -
> - // Convert to uppercase if necessary
> - if (element.uppercase) {
> - element.value = element.value.toUpperCase();
> - }
> -
> - // Convert to uppercase if necessary
> - if (element.lowercase) {
> - element.value = element.value.toLowerCase();
> - }
> -
> - // UCFirst if necessary
> - if (element.ucfirst) {
> - // Squeeze the blanks
> - rs = element.value.replace(squeezeBlanks, ' ');
> - dsegs = rs.split(' ');
> - element.value = "";
> -
> - // Loop over chars
> - for (j = 0; j < dsegs.length; ++j) {
> - if (dsegs[j].length > 1) {
> - fl = dsegs[j].substr(0, 1);
> - fl = fl.toUpperCase();
> - rn = dsegs[j].substr(1);
> - rn = rn.toLowerCase();
> - dsegs[j] = fl + rn;
> - }
> -
> - // Check for first value
> - element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j];
> - }
> - }
> -
> - // Check for equality test
> - if (element.equalto) {
> - // Check for truevalue and use if found, otherwise use value
> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
> - var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value;
> -
> - // Check for value equality
> - if (elementValue1 != elementValue2) {
> - error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname;
> - continue;
> - }
> - }
> -
> - // Check for less than
> - if (element.lessthan) {
> - // Check for truevalue and use if found, otherwise use value
> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
> - var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value;
> -
> - // Check for values
> - if ((elementValue1 != '') && (elementValue2 != '')) {
> - // Check for value less than
> - if (elementValue1 >= elementValue2) {
> - error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname;
> - continue;
> - }
> - }
> - }
> -
> - // Check for less than equalto
> - if (element.lessthanequalto) {
> - // Check for truevalue and use if found, otherwise use value
> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
> - var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value;
> -
> - // Check for values
> - if ((elementValue1 != '') && (elementValue2 != '')) {
> - // Check for value less than equalto
> - if (elementValue1 > elementValue2) {
> - error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname;
> - continue;
> - }
> - }
> - }
> -
> - // Check for greater than
> - if (element.greaterthan) {
> - // Check for truevalue and use if found, otherwise use value
> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
> - var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value;
> -
> - // Check for values
> - if ((elementValue1 != '') && (elementValue2 != '')) {
> - // Check for value greater than
> - if (elementValue1 <= elementValue2) {
> - error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname;
> - continue;
> - }
> - }
> - }
> -
> - // Check for greater than equalto
> - if (element.greaterthanequalto) {
> - // Check for truevalue and use if found, otherwise use value
> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
> - var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value;
> -
> - // Check for values
> - if ((elementValue1 != '') && (elementValue2 != '')) {
> - // Check for value greater than equalto
> - if (elementValue1 < elementValue2) {
> - error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname;
> - continue;
> - }
> - }
> - }
> -
> - // Check a price (sort of)
> - if (element.price) {
> - // Strip out currency stuff
> - element.value = element.value.replace(stripNotDollars, '');
> - continue;
> - }
> -
> - // Check a telephone number
> - if (element.telephone) {
> - // Strip out parens and spaces
> - rs = element.value.replace(stripNonNumbers, '');
> -
> - if (rs.length == 7) {
> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4);
> - } else {
> - if (rs.length == 10) {
> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4);
> - } else {
> - error_fields += "\n - " + element.humanname + " is an invalid telephone number.";
> - }
> - }
> - continue;
> - }
> -
> - // Check a zip code
> - if (element.zipcode) {
> - if (!zipCodeCheck.test(element.value)) {
> - error_fields +="\n - " + element.humanname + " is an invalid zipcode.";
> - }
> - continue;
> - }
> -
> - // Check a password (sort of)
> - if (element.password) {
> - if (element.value.length < passwordLength) {
> - error_fields += "\n - " + element.humanname + " is too short";
> - error_fields += "\n Minimum length is " + passwordLength + " characters.";
> - continue;
> - }
> -
> - if (!passwordNumbers.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " must contain at least one number.";
> - continue;
> - }
> -
> - if (!passwordLetters.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " must contain at least one letter.";
> - continue;
> - }
> - }
> -
> - // Check for all numbers
> - if (element.numeric) {
> - if (!allNumbers.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " is not numeric.";
> - }
> - continue;
> - }
> -
> - // Check an email address for validity
> - if (element.email) {
> - element.value = element.value.replace(noSpaces, '');
> -
> - if (!emailPattern.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " is not a valid email address.";
> - }
> - continue;
> - }
> -
> - // Check a date
> - if (element.date) {
> - error_fields += dateCheck(element.value, element.humanname, element.format);
> - continue;
> - }
> -
> - // Check a time
> - if (element.time) {
> - // Check for 24 hour time
> - if (element.time24) {
> - // Check for valid
> - if (!time24Format.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " is not a valid 24 hour time.";
> - }
> - } else {
> - // Check for valid
> - if (!time12Format.test(element.value)) {
> - error_fields += "\n - " + element.humanname + " is not a valid 12 hour time.";
> - }
> - }
> - continue;
> - }
> -
> - // Check the lengths
> - if (element.minlen && (element.value.length < element.minlen)) {
> - error_fields += "\n - " + element.humanname + " is too short";
> - error_fields += "\n Minimum length is " + element.minlen + " characters.";
> - continue;
> - }
> -
> - if (element.maxlen && (element.value.length > element.maxlen)) {
> - error_fields +="\n - " + element.humanname + " is too long";
> - error_fields +="\n Maximum length is " + element.maxlen + " characters.";
> - continue;
> - }
> -
> - // Check for ip/network address
> - if (element.ipnetworkaddress) {
> - if (!ipNetworkAddress.test(element.value)) {
> - error_fields +="\n - " + element.humanname + " is not a valid ip/network address";
> - }
> - continue;
> - }
> -
> - // Check for ip/network port
> - if (element.ipnetworkport) {
> - if (!ipNetworkPort.test(element.value)) {
> - error_fields +="\n - " + element.humanname + " is not a valid ip/network port";
> - } else {
> - var searchChar = "";
> - var portArray = "";
> -
> - if (element.value.indexOf(":") > -1) {
> - searchChar = ":";
> - } else if (element.value.indexOf("-") > -1) {
> - searchChar = "-";
> - }
> -
> - if (searchChar != '') {
> - portArray = element.value.split(searchChar);
> -
> - if (portArray.length == 2) {
> - if (parseInt(portArray[0]) > parseInt(portArray[1])) {
> - error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port";
> - }
> - }
> - }
> - }
> - continue;
> - }
> - }
> -
> - // Check for any errors
> - if (error_fields == "") {
> - return true;
> - } else {
> - msg = "The following fields have errors:\n";
> - msg += error_fields;
> - alert(msg);
> - return false;
> - }
> -}
> -
> -// Clear data
> -function clearData(field, data) {
> - // Check if they equal
> - if (field.value == data) {
> - // Clear data
> - field.value = '';
> - }
> -}
> -
> -// Set empty data
> -function setEmptyData(field, data) {
> - // Check if they equal
> - if (! field.value.length) {
> - // Clear data
> - field.value = data;
> - }
> -}
> -
> -// Trim whitespace from beginning and end
> -function trim(data) {
> - var objRegExp = /^(\s*)$/;
> -
> - // Check for all spaces
> - if (objRegExp.test(data)) {
> - data = data.replace(objRegExp, '');
> -
> - if (data.length == 0)
> - return data;
> - }
> -
> - // Check for leading & trailing spaces
> - objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
> -
> - if (objRegExp.test(data)) {
> - // Remove leading and trailing whitespace characters
> - data = data.replace(objRegExp, '$2');
> - }
> -
> - return data;
> -}
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused snortupdateutility.js
2021-03-27 20:27 ` Peter Müller
@ 2021-03-28 12:23 ` Leo Hofmann
2021-03-29 10:35 ` Michael Tremer
0 siblings, 1 reply; 5+ messages in thread
From: Leo Hofmann @ 2021-03-28 12:23 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 26252 bytes --]
Hello Peter,
thank you for reviewing my work!
Unfortunately I don't know how to remove files during an update. Can you take over for me?
Best regards
Leo
Am 27.03.2021 um 21:27 schrieb Peter Müller:
> Hello Leo,
>
> indeed, this is orphaned. Thank you for catching it. :-)
>
> We probably need to remove it during the upgrading procedure of the Core Update this patch will
> be included in, for good measures.
>
> Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
>
> Thanks, and best regards,
> Peter Müller
>
>> This script doesn't seem to be maintained or used anywhere anymore.
>> The last reference to it was removed in commit 1772664.
>>
>> Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
>> ---
>> config/rootfiles/common/web-user-interface | 1 -
>> html/html/include/snortupdateutility.js | 744 ---------------------
>> 2 files changed, 745 deletions(-)
>> delete mode 100644 html/html/include/snortupdateutility.js
>>
>> diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface
>> index 9b2667676..540bf1e4b 100644
>> --- a/config/rootfiles/common/web-user-interface
>> +++ b/config/rootfiles/common/web-user-interface
>> @@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png
>> srv/web/ipfire/html/images/wakeup.gif
>> srv/web/ipfire/html/images/window-new.png
>> srv/web/ipfire/html/include
>> -srv/web/ipfire/html/include/snortupdateutility.js
>> srv/web/ipfire/html/include/zoneconf.js
>> srv/web/ipfire/html/index.cgi
>> srv/web/ipfire/html/redirect-templates
>> diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js
>> deleted file mode 100644
>> index 10750519c..000000000
>> --- a/html/html/include/snortupdateutility.js
>> +++ /dev/null
>> @@ -1,744 +0,0 @@
>> -/*
>> -File Info: utility.js - JavaScript library
>> -
>> -Author: Drew S. Dupont
>> -
>> -Date: 2/26/2003 - 8/12/2004 (or present day)
>> -
>> -Description: Utility functions in JavaScript
>> - Drew S. Dupont <dsdupont(a)alumni.indiana.edu>
>> -*/
>> -// Show/Hide HTML Span
>> -function showHideHTML(id, content) {
>> - // Browser variables
>> - var ie45, ns6, ns4, dom = false;
>> -
>> - // Basic browser parse
>> - if (navigator.appName == "Microsoft Internet Explorer") {
>> - ie45 = parseInt(navigator.appVersion) >= 4;
>> - } else if (navigator.appName == "Netscape") {
>> - ns6 = parseInt(navigator.appVersion) >= 5;
>> - ns4 = parseInt(navigator.appVersion) < 5;
>> - }
>> - dom = ie45 || ns6;
>> -
>> - // Return if using an old Netscape browser
>> - if(ns4) return;
>> -
>> - // Check for type of call supported
>> - el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
>> -
>> - // Check if content to be "switched" is ""
>> - if (content == "") {
>> - // Return old content and replace with ""
>> - content = el.innerHTML;
>> - el.innerHTML = "";
>> - } else {
>> - // Replace current content with new content and return ""
>> - el.innerHTML = content;
>> - content = "";
>> - }
>> -
>> - // Return content (either old or "")
>> - return content;
>> -}
>> -
>> -// Check for special chars
>> -function checkForSpecialChars(field, alphaStart, specialCheckChars) {
>> - // Local vars
>> - var alphaStartChars = /^[a-zA-Z]/;
>> - var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/;
>> -
>> - // Check if should start with an alpha char
>> - if (alphaStart) {
>> - // Make sure starts with a alpha char
>> - if (alphaStartChars.test(field.value)) {
>> - // Check for special chars
>> - if (noSpecialChars.test(field.value)) {
>> - // Return true
>> - return true;
>> - } else {
>> - // Check for specialCheckChars
>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>> - // Return true
>> - return true;
>> - } else {
>> - // Return false
>> - return false;
>> - }
>> - }
>> - } else {
>> - // Return true
>> - return true;
>> - }
>> - } else {
>> - // Check if contains any special chars
>> - if (noSpecialChars.test(field.value)) {
>> - // Return true
>> - return true;
>> - } else {
>> - // Check for specialCheckChars
>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>> - // Return true
>> - return true;
>> - } else {
>> - // Return false
>> - return false;
>> - }
>> - }
>> - }
>> -} // End checkForSpecialChars
>> -
>> -// Launch help
>> -function launchHelp(helpSrc) {
>> - helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400")
>> - helpWindow.moveTo(25, 25);
>> - helpWindow.focus();
>> -}
>> -
>> -// Image On
>> -function imageOn(imageName) {
>> - document[imageName].src = eval(imageName + "_over.src");
>> -}
>> -
>> -// Image Off
>> -function imageOff(imageName) {
>> - document[imageName].src = eval(imageName + ".src");
>> -}
>> -
>> -// Image Down
>> -function imageDown(imageName) {
>> - document[imageName].src = eval(imageName + "_down.src");
>> -}
>> -
>> -// Image button On
>> -function imageButtonOn(item, imageName) {
>> - item.src = eval(imageName + "_over.src");
>> -}
>> -
>> -// Image button Off
>> -function imageButtonOff(item, imageName) {
>> - item.src = eval(imageName + ".src");
>> -}
>> -
>> -// Image button Down
>> -function imageButtonDown(item, imageName) {
>> - item.src = eval(imageName + "_down.src");
>> -}
>> -
>> -// changeStatus
>> -function changeStatus(message) {
>> - // Set window status
>> - window.status = message;
>> -
>> - // Return true
>> - return true;
>> -} // End changeStatus
>> -
>> -// isNumeric function
>> -function isNumeric(num) {
>> - // Boolean var
>> - var bolValidNum = true;
>> - var digits = "1234567890";
>> - var len = num.length;
>> -
>> - // Loop over num
>> - for (i = 0; i < len; ++i) {
>> - numSub = num.substring(i, i + 1);
>> -
>> - // Test for numeric match
>> - if (digits.indexOf(numSub) == -1) {
>> - bolValidNum = false;
>> - }
>> - }
>> -
>> - // Return boolean var
>> - return bolValidNum;
>> -} // End isNumeric
>> -
>> -// Check for numeric and display nice error
>> -function checkNumeric(field, message) {
>> - // Is it valid
>> - if (!isNumeric(field.value)) {
>> - alert(message);
>> - field.focus();
>> - }
>> -} // End checkNumeric
>> -
>> -// Function getInt which return numeric value of passed in string
>> -function getInt(str, i, minlength, maxlength) {
>> - for (x = maxlength; x >= minlength; --x) {
>> - var token = str.substring(i, i + x);
>> -
>> - // Check for numeric
>> - if (isNumeric(token)) {
>> - return token;
>> - }
>> - }
>> -
>> - // Return null
>> - return null;
>> -}
>> -
>> -// Function dateCheck, requires global err variable for passing error messages
>> -// and requires the isNumeric function
>> -function dateCheck(date, humanname, dateFormat) {
>> - // Date validation
>> - var date_s = date;
>> -
>> - // If no dateFormat, then set one
>> - if (dateFormat == null) {
>> - format = "mm/dd/yyyy";
>> - } else {
>> - format = dateFormat;
>> - }
>> -
>> - var date_err = 0; // Possible values are 0, 1
>> - var date_year_err = 0; // Possible values are 0, 1
>> - var date_month_err = 0; // Possible values are 1-12
>> - var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4
>> - var i_date_s = 0;
>> - var i_format = 0;
>> - var err = "";
>> - var c = "";
>> - var token = "";
>> - var token2 = "";
>> - var x, y;
>> - var year = 0;
>> - var month = 0;
>> - var date = 0;
>> - var bYearProvided = false;
>> - var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
>> -
>> - // Trim the leading spaces from the string
>> - while (date_s.charAt(0) == ' ') {
>> - date_s = date_s.slice(1);
>> - }
>> -
>> - while (i_format < format.length) {
>> - // Get next token from format string
>> - c = format.charAt(i_format);
>> - token = "";
>> -
>> - while ((format.charAt(i_format) == c) && (i_format < format.length)) {
>> - token += format.charAt(i_format);
>> - ++i_format;
>> - }
>> -
>> - // Extract contents of value based on format token
>> - if ((token == "yyyy") || (token == "yy") || (token == "y")) {
>> - if (token == "yyyy") { x = 4; y = 4; } // 4-digit year
>> - if (token == "yy") { x = 2; y = 2; } // 2-digit year
>> - if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year
>> -
>> - year = getInt(date_s, i_date_s, x, y);
>> - bYearProvided = true;
>> -
>> - if ((year == null) || (year.length != token.length)) {
>> - date_year_err = 1;
>> - }
>> -
>> - i_date_s += year.length;
>> - } else {
>> - if (token == "mmm") { // Month name
>> - month = 0;
>> -
>> - for (var i = 0; i < MONTH_NAMES.length; ++i) {
>> - var month_name = MONTH_NAMES[i];
>> -
>> - if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) {
>> - month = i + 1;
>> -
>> - if (month > 12) {
>> - month -= 12;
>> - }
>> -
>> - i_date_s += month_name.length;
>> - break;
>> - }
>> - }
>> -
>> - if ((month == 0) || (month < 1) || (month > 12)) {
>> - date_month_err = 1;
>> - }
>> - } else {
>> - if ((token == "mm") || (token == "m")) {
>> - x = token.length; y = 2;
>> - month = getInt(date_s, i_date_s, x, y);
>> -
>> - if ((month == null) || (month < 1) || (month > 12)) {
>> - date_month_err = 1;
>> - }
>> -
>> - i_date_s += month.length;
>> - } else {
>> - if (token=="dd" || token=="d") {
>> - x = token.length; y = 2;
>> - date = getInt(date_s, i_date_s, x, y);
>> -
>> - if ((date == null) || (date < 1) || (date > 31)) {
>> - date_day_err = 1;
>> - }
>> -
>> - i_date_s += date.length;
>> - } else {
>> - if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) {
>> - date_err = 1;
>> - } else {
>> - i_date_s += token.length;
>> - }
>> - }
>> - }
>> - }
>> - }
>> - }
>> -
>> - // If there are any trailing characters left in the date_s, it doesn't match
>> - if (i_date_s != date_s.length) {
>> - date_err = 1;
>> - }
>> -
>> - // Is date valid for month?
>> - if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
>> - if (date > 30) {
>> - date_day_err = 2;
>> - }
>> - } else {
>> - if (month == 2) {
>> - // Check for leap year
>> - if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
>> - // Leap year
>> - if (date > 29) {
>> - date_day_err = 3
>> - }
>> - } else {
>> - if (date > 28) {
>> - date_day_err = 4;
>> - }
>> - }
>> - } else {
>> - if (date > 31) {
>> - date_day_err = 1;
>> - }
>> - }
>> - }
>> -
>> - // Add to the error message, if needed
>> - if (date_err != 0) {
>> - err += "\n - The " + humanname + " must be a valid date in the format " + format + ".";
>> - }
>> -
>> - // Add to the error message, if needed
>> - if (date_month_err != 0) {
>> - err += "\n - The month must be between 1-12.";
>> - }
>> -
>> - // Add to the error message, if needed
>> - if (date_year_err != 0) {
>> - err += "\n - The " + humanname + " must have a valid year.";
>> - }
>> -
>> - // Add to the error message, if needed
>> - if (date_day_err != 0) {
>> - switch (date_day_err) {
>> - case 1:
>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days.";
>> - break;
>> - case 2:
>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days.";
>> - break;
>> - case 3:
>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year.";
>> - break;
>> - default:
>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year.";
>> - break;
>> - }
>> - }
>> -
>> - return err;
>> -} // End dateCheck
>> -
>> -// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or
>> -// greater than (1)
>> -function dateCompare(date1, date2) {
>> - var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5));
>> - var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5));
>> -
>> - // Greater than
>> - if (localDate1.getTime() > localDate2.getTime()) {
>> - return 1;
>> - } else {
>> - // Less than
>> - if (localDate1.getTime() < localDate2.getTime()) {
>> - return -1;
>> - } else {
>> - // Equal
>> - return 0;
>> - }
>> - }
>> -} // End dateCompare
>> -
>> -// All-purpose form validation script
>> -function checkForm(dataForm) {
>> - var msg = "";
>> - var stripBlanksStart = /^\s+/g;
>> - var stripBlanksEnd = /\s+$/g;
>> - var squeezeBlanks = /\s+/g;
>> - var stripNonNumbers = /\D+/g;
>> - var stripNotDollars = /[^0-9\.]/g;
>> - var noSpaces = /\s+/g;
>> - var allNumbers = /^\d+$/;
>> - var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/;
>> - var passwordNumbers = /\d{1,}/;
>> - var passwordLetters = /\D{1,}/;
>> - var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i;
>> - var replaceSeps = /[-,\.\/]/g;
>> - var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/;
>> - var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/;
>> - var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/;
>> - var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/;
>> - var passwordLength = 6;
>> - var error_fields = "";
>> - var errors = "";
>> -
>> - // Loop over form elements
>> - for (var i = 0; i < dataForm.length; ++i) {
>> - var element = dataForm.elements[i];
>> -
>> - // Check for select box
>> - if (element.selectbox) {
>> - // Check for required
>> - if (element.required) {
>> - // Check for value
>> - if (element.options[element.selectedIndex].value == "") {
>> - error_fields += "\n - " + element.humanname + " requires a selection.";
>> - }
>> - }
>> - continue;
>> - }
>> -
>> - // Strip the leading and trailing blanks
>> - element.value = element.value.replace(stripBlanksStart, '');
>> - element.value = element.value.replace(stripBlanksEnd, '');
>> -
>> - // If it is required and is empty, alert
>> - if (element.required && (!element.value.length)) {
>> - error_fields += "\n - " + element.humanname + " is required.";
>> - continue;
>> - } else {
>> - // If it isn't required and doesn't have any length, skip it
>> - if ((! element.required) && (! element.value.length)) {
>> - continue;
>> - }
>> - }
>> -
>> - // Check for special characters
>> - if (element.checkspecialchars) {
>> - if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) {
>> - error_fields += "\n - " + element.humanname + " contains invalid characters.";
>> - continue;
>> - }
>> - }
>> -
>> - // Convert to uppercase if necessary
>> - if (element.uppercase) {
>> - element.value = element.value.toUpperCase();
>> - }
>> -
>> - // Convert to uppercase if necessary
>> - if (element.lowercase) {
>> - element.value = element.value.toLowerCase();
>> - }
>> -
>> - // UCFirst if necessary
>> - if (element.ucfirst) {
>> - // Squeeze the blanks
>> - rs = element.value.replace(squeezeBlanks, ' ');
>> - dsegs = rs.split(' ');
>> - element.value = "";
>> -
>> - // Loop over chars
>> - for (j = 0; j < dsegs.length; ++j) {
>> - if (dsegs[j].length > 1) {
>> - fl = dsegs[j].substr(0, 1);
>> - fl = fl.toUpperCase();
>> - rn = dsegs[j].substr(1);
>> - rn = rn.toLowerCase();
>> - dsegs[j] = fl + rn;
>> - }
>> -
>> - // Check for first value
>> - element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j];
>> - }
>> - }
>> -
>> - // Check for equality test
>> - if (element.equalto) {
>> - // Check for truevalue and use if found, otherwise use value
>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>> - var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value;
>> -
>> - // Check for value equality
>> - if (elementValue1 != elementValue2) {
>> - error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname;
>> - continue;
>> - }
>> - }
>> -
>> - // Check for less than
>> - if (element.lessthan) {
>> - // Check for truevalue and use if found, otherwise use value
>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>> - var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value;
>> -
>> - // Check for values
>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>> - // Check for value less than
>> - if (elementValue1 >= elementValue2) {
>> - error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname;
>> - continue;
>> - }
>> - }
>> - }
>> -
>> - // Check for less than equalto
>> - if (element.lessthanequalto) {
>> - // Check for truevalue and use if found, otherwise use value
>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>> - var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value;
>> -
>> - // Check for values
>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>> - // Check for value less than equalto
>> - if (elementValue1 > elementValue2) {
>> - error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname;
>> - continue;
>> - }
>> - }
>> - }
>> -
>> - // Check for greater than
>> - if (element.greaterthan) {
>> - // Check for truevalue and use if found, otherwise use value
>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>> - var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value;
>> -
>> - // Check for values
>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>> - // Check for value greater than
>> - if (elementValue1 <= elementValue2) {
>> - error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname;
>> - continue;
>> - }
>> - }
>> - }
>> -
>> - // Check for greater than equalto
>> - if (element.greaterthanequalto) {
>> - // Check for truevalue and use if found, otherwise use value
>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>> - var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value;
>> -
>> - // Check for values
>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>> - // Check for value greater than equalto
>> - if (elementValue1 < elementValue2) {
>> - error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname;
>> - continue;
>> - }
>> - }
>> - }
>> -
>> - // Check a price (sort of)
>> - if (element.price) {
>> - // Strip out currency stuff
>> - element.value = element.value.replace(stripNotDollars, '');
>> - continue;
>> - }
>> -
>> - // Check a telephone number
>> - if (element.telephone) {
>> - // Strip out parens and spaces
>> - rs = element.value.replace(stripNonNumbers, '');
>> -
>> - if (rs.length == 7) {
>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4);
>> - } else {
>> - if (rs.length == 10) {
>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4);
>> - } else {
>> - error_fields += "\n - " + element.humanname + " is an invalid telephone number.";
>> - }
>> - }
>> - continue;
>> - }
>> -
>> - // Check a zip code
>> - if (element.zipcode) {
>> - if (!zipCodeCheck.test(element.value)) {
>> - error_fields +="\n - " + element.humanname + " is an invalid zipcode.";
>> - }
>> - continue;
>> - }
>> -
>> - // Check a password (sort of)
>> - if (element.password) {
>> - if (element.value.length < passwordLength) {
>> - error_fields += "\n - " + element.humanname + " is too short";
>> - error_fields += "\n Minimum length is " + passwordLength + " characters.";
>> - continue;
>> - }
>> -
>> - if (!passwordNumbers.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " must contain at least one number.";
>> - continue;
>> - }
>> -
>> - if (!passwordLetters.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " must contain at least one letter.";
>> - continue;
>> - }
>> - }
>> -
>> - // Check for all numbers
>> - if (element.numeric) {
>> - if (!allNumbers.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " is not numeric.";
>> - }
>> - continue;
>> - }
>> -
>> - // Check an email address for validity
>> - if (element.email) {
>> - element.value = element.value.replace(noSpaces, '');
>> -
>> - if (!emailPattern.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " is not a valid email address.";
>> - }
>> - continue;
>> - }
>> -
>> - // Check a date
>> - if (element.date) {
>> - error_fields += dateCheck(element.value, element.humanname, element.format);
>> - continue;
>> - }
>> -
>> - // Check a time
>> - if (element.time) {
>> - // Check for 24 hour time
>> - if (element.time24) {
>> - // Check for valid
>> - if (!time24Format.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " is not a valid 24 hour time.";
>> - }
>> - } else {
>> - // Check for valid
>> - if (!time12Format.test(element.value)) {
>> - error_fields += "\n - " + element.humanname + " is not a valid 12 hour time.";
>> - }
>> - }
>> - continue;
>> - }
>> -
>> - // Check the lengths
>> - if (element.minlen && (element.value.length < element.minlen)) {
>> - error_fields += "\n - " + element.humanname + " is too short";
>> - error_fields += "\n Minimum length is " + element.minlen + " characters.";
>> - continue;
>> - }
>> -
>> - if (element.maxlen && (element.value.length > element.maxlen)) {
>> - error_fields +="\n - " + element.humanname + " is too long";
>> - error_fields +="\n Maximum length is " + element.maxlen + " characters.";
>> - continue;
>> - }
>> -
>> - // Check for ip/network address
>> - if (element.ipnetworkaddress) {
>> - if (!ipNetworkAddress.test(element.value)) {
>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network address";
>> - }
>> - continue;
>> - }
>> -
>> - // Check for ip/network port
>> - if (element.ipnetworkport) {
>> - if (!ipNetworkPort.test(element.value)) {
>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network port";
>> - } else {
>> - var searchChar = "";
>> - var portArray = "";
>> -
>> - if (element.value.indexOf(":") > -1) {
>> - searchChar = ":";
>> - } else if (element.value.indexOf("-") > -1) {
>> - searchChar = "-";
>> - }
>> -
>> - if (searchChar != '') {
>> - portArray = element.value.split(searchChar);
>> -
>> - if (portArray.length == 2) {
>> - if (parseInt(portArray[0]) > parseInt(portArray[1])) {
>> - error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port";
>> - }
>> - }
>> - }
>> - }
>> - continue;
>> - }
>> - }
>> -
>> - // Check for any errors
>> - if (error_fields == "") {
>> - return true;
>> - } else {
>> - msg = "The following fields have errors:\n";
>> - msg += error_fields;
>> - alert(msg);
>> - return false;
>> - }
>> -}
>> -
>> -// Clear data
>> -function clearData(field, data) {
>> - // Check if they equal
>> - if (field.value == data) {
>> - // Clear data
>> - field.value = '';
>> - }
>> -}
>> -
>> -// Set empty data
>> -function setEmptyData(field, data) {
>> - // Check if they equal
>> - if (! field.value.length) {
>> - // Clear data
>> - field.value = data;
>> - }
>> -}
>> -
>> -// Trim whitespace from beginning and end
>> -function trim(data) {
>> - var objRegExp = /^(\s*)$/;
>> -
>> - // Check for all spaces
>> - if (objRegExp.test(data)) {
>> - data = data.replace(objRegExp, '');
>> -
>> - if (data.length == 0)
>> - return data;
>> - }
>> -
>> - // Check for leading & trailing spaces
>> - objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
>> -
>> - if (objRegExp.test(data)) {
>> - // Remove leading and trailing whitespace characters
>> - data = data.replace(objRegExp, '$2');
>> - }
>> -
>> - return data;
>> -}
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused snortupdateutility.js
2021-03-28 12:23 ` Leo Hofmann
@ 2021-03-29 10:35 ` Michael Tremer
2021-03-29 19:09 ` Leo Hofmann
0 siblings, 1 reply; 5+ messages in thread
From: Michael Tremer @ 2021-03-29 10:35 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 27280 bytes --]
Hello,
> On 28 Mar 2021, at 13:23, Leo Hofmann <hofmann(a)leo-andres.de> wrote:
>
> Hello Peter,
>
> thank you for reviewing my work!
>
> Unfortunately I don't know how to remove files during an update. Can you take over for me?
Done. You normally do not have to worry about these things. A note in the commit message will help me to remember.
Best,
-Michael
> Best regards
> Leo
>
> Am 27.03.2021 um 21:27 schrieb Peter Müller:
>> Hello Leo,
>>
>> indeed, this is orphaned. Thank you for catching it. :-)
>>
>> We probably need to remove it during the upgrading procedure of the Core Update this patch will
>> be included in, for good measures.
>>
>> Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
>>
>> Thanks, and best regards,
>> Peter Müller
>>
>>> This script doesn't seem to be maintained or used anywhere anymore.
>>> The last reference to it was removed in commit 1772664.
>>>
>>> Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
>>> ---
>>> config/rootfiles/common/web-user-interface | 1 -
>>> html/html/include/snortupdateutility.js | 744 ---------------------
>>> 2 files changed, 745 deletions(-)
>>> delete mode 100644 html/html/include/snortupdateutility.js
>>>
>>> diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface
>>> index 9b2667676..540bf1e4b 100644
>>> --- a/config/rootfiles/common/web-user-interface
>>> +++ b/config/rootfiles/common/web-user-interface
>>> @@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png
>>> srv/web/ipfire/html/images/wakeup.gif
>>> srv/web/ipfire/html/images/window-new.png
>>> srv/web/ipfire/html/include
>>> -srv/web/ipfire/html/include/snortupdateutility.js
>>> srv/web/ipfire/html/include/zoneconf.js
>>> srv/web/ipfire/html/index.cgi
>>> srv/web/ipfire/html/redirect-templates
>>> diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js
>>> deleted file mode 100644
>>> index 10750519c..000000000
>>> --- a/html/html/include/snortupdateutility.js
>>> +++ /dev/null
>>> @@ -1,744 +0,0 @@
>>> -/*
>>> -File Info: utility.js - JavaScript library
>>> -
>>> -Author: Drew S. Dupont
>>> -
>>> -Date: 2/26/2003 - 8/12/2004 (or present day)
>>> -
>>> -Description: Utility functions in JavaScript
>>> - Drew S. Dupont <dsdupont(a)alumni.indiana.edu>
>>> -*/
>>> -// Show/Hide HTML Span
>>> -function showHideHTML(id, content) {
>>> - // Browser variables
>>> - var ie45, ns6, ns4, dom = false;
>>> -
>>> - // Basic browser parse
>>> - if (navigator.appName == "Microsoft Internet Explorer") {
>>> - ie45 = parseInt(navigator.appVersion) >= 4;
>>> - } else if (navigator.appName == "Netscape") {
>>> - ns6 = parseInt(navigator.appVersion) >= 5;
>>> - ns4 = parseInt(navigator.appVersion) < 5;
>>> - }
>>> - dom = ie45 || ns6;
>>> -
>>> - // Return if using an old Netscape browser
>>> - if(ns4) return;
>>> -
>>> - // Check for type of call supported
>>> - el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
>>> -
>>> - // Check if content to be "switched" is ""
>>> - if (content == "") {
>>> - // Return old content and replace with ""
>>> - content = el.innerHTML;
>>> - el.innerHTML = "";
>>> - } else {
>>> - // Replace current content with new content and return ""
>>> - el.innerHTML = content;
>>> - content = "";
>>> - }
>>> -
>>> - // Return content (either old or "")
>>> - return content;
>>> -}
>>> -
>>> -// Check for special chars
>>> -function checkForSpecialChars(field, alphaStart, specialCheckChars) {
>>> - // Local vars
>>> - var alphaStartChars = /^[a-zA-Z]/;
>>> - var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/;
>>> -
>>> - // Check if should start with an alpha char
>>> - if (alphaStart) {
>>> - // Make sure starts with a alpha char
>>> - if (alphaStartChars.test(field.value)) {
>>> - // Check for special chars
>>> - if (noSpecialChars.test(field.value)) {
>>> - // Return true
>>> - return true;
>>> - } else {
>>> - // Check for specialCheckChars
>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>>> - // Return true
>>> - return true;
>>> - } else {
>>> - // Return false
>>> - return false;
>>> - }
>>> - }
>>> - } else {
>>> - // Return true
>>> - return true;
>>> - }
>>> - } else {
>>> - // Check if contains any special chars
>>> - if (noSpecialChars.test(field.value)) {
>>> - // Return true
>>> - return true;
>>> - } else {
>>> - // Check for specialCheckChars
>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>>> - // Return true
>>> - return true;
>>> - } else {
>>> - // Return false
>>> - return false;
>>> - }
>>> - }
>>> - }
>>> -} // End checkForSpecialChars
>>> -
>>> -// Launch help
>>> -function launchHelp(helpSrc) {
>>> - helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400")
>>> - helpWindow.moveTo(25, 25);
>>> - helpWindow.focus();
>>> -}
>>> -
>>> -// Image On
>>> -function imageOn(imageName) {
>>> - document[imageName].src = eval(imageName + "_over.src");
>>> -}
>>> -
>>> -// Image Off
>>> -function imageOff(imageName) {
>>> - document[imageName].src = eval(imageName + ".src");
>>> -}
>>> -
>>> -// Image Down
>>> -function imageDown(imageName) {
>>> - document[imageName].src = eval(imageName + "_down.src");
>>> -}
>>> -
>>> -// Image button On
>>> -function imageButtonOn(item, imageName) {
>>> - item.src = eval(imageName + "_over.src");
>>> -}
>>> -
>>> -// Image button Off
>>> -function imageButtonOff(item, imageName) {
>>> - item.src = eval(imageName + ".src");
>>> -}
>>> -
>>> -// Image button Down
>>> -function imageButtonDown(item, imageName) {
>>> - item.src = eval(imageName + "_down.src");
>>> -}
>>> -
>>> -// changeStatus
>>> -function changeStatus(message) {
>>> - // Set window status
>>> - window.status = message;
>>> -
>>> - // Return true
>>> - return true;
>>> -} // End changeStatus
>>> -
>>> -// isNumeric function
>>> -function isNumeric(num) {
>>> - // Boolean var
>>> - var bolValidNum = true;
>>> - var digits = "1234567890";
>>> - var len = num.length;
>>> -
>>> - // Loop over num
>>> - for (i = 0; i < len; ++i) {
>>> - numSub = num.substring(i, i + 1);
>>> -
>>> - // Test for numeric match
>>> - if (digits.indexOf(numSub) == -1) {
>>> - bolValidNum = false;
>>> - }
>>> - }
>>> -
>>> - // Return boolean var
>>> - return bolValidNum;
>>> -} // End isNumeric
>>> -
>>> -// Check for numeric and display nice error
>>> -function checkNumeric(field, message) {
>>> - // Is it valid
>>> - if (!isNumeric(field.value)) {
>>> - alert(message);
>>> - field.focus();
>>> - }
>>> -} // End checkNumeric
>>> -
>>> -// Function getInt which return numeric value of passed in string
>>> -function getInt(str, i, minlength, maxlength) {
>>> - for (x = maxlength; x >= minlength; --x) {
>>> - var token = str.substring(i, i + x);
>>> -
>>> - // Check for numeric
>>> - if (isNumeric(token)) {
>>> - return token;
>>> - }
>>> - }
>>> -
>>> - // Return null
>>> - return null;
>>> -}
>>> -
>>> -// Function dateCheck, requires global err variable for passing error messages
>>> -// and requires the isNumeric function
>>> -function dateCheck(date, humanname, dateFormat) {
>>> - // Date validation
>>> - var date_s = date;
>>> -
>>> - // If no dateFormat, then set one
>>> - if (dateFormat == null) {
>>> - format = "mm/dd/yyyy";
>>> - } else {
>>> - format = dateFormat;
>>> - }
>>> -
>>> - var date_err = 0; // Possible values are 0, 1
>>> - var date_year_err = 0; // Possible values are 0, 1
>>> - var date_month_err = 0; // Possible values are 1-12
>>> - var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4
>>> - var i_date_s = 0;
>>> - var i_format = 0;
>>> - var err = "";
>>> - var c = "";
>>> - var token = "";
>>> - var token2 = "";
>>> - var x, y;
>>> - var year = 0;
>>> - var month = 0;
>>> - var date = 0;
>>> - var bYearProvided = false;
>>> - var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
>>> -
>>> - // Trim the leading spaces from the string
>>> - while (date_s.charAt(0) == ' ') {
>>> - date_s = date_s.slice(1);
>>> - }
>>> -
>>> - while (i_format < format.length) {
>>> - // Get next token from format string
>>> - c = format.charAt(i_format);
>>> - token = "";
>>> -
>>> - while ((format.charAt(i_format) == c) && (i_format < format.length)) {
>>> - token += format.charAt(i_format);
>>> - ++i_format;
>>> - }
>>> -
>>> - // Extract contents of value based on format token
>>> - if ((token == "yyyy") || (token == "yy") || (token == "y")) {
>>> - if (token == "yyyy") { x = 4; y = 4; } // 4-digit year
>>> - if (token == "yy") { x = 2; y = 2; } // 2-digit year
>>> - if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year
>>> -
>>> - year = getInt(date_s, i_date_s, x, y);
>>> - bYearProvided = true;
>>> -
>>> - if ((year == null) || (year.length != token.length)) {
>>> - date_year_err = 1;
>>> - }
>>> -
>>> - i_date_s += year.length;
>>> - } else {
>>> - if (token == "mmm") { // Month name
>>> - month = 0;
>>> -
>>> - for (var i = 0; i < MONTH_NAMES.length; ++i) {
>>> - var month_name = MONTH_NAMES[i];
>>> -
>>> - if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) {
>>> - month = i + 1;
>>> -
>>> - if (month > 12) {
>>> - month -= 12;
>>> - }
>>> -
>>> - i_date_s += month_name.length;
>>> - break;
>>> - }
>>> - }
>>> -
>>> - if ((month == 0) || (month < 1) || (month > 12)) {
>>> - date_month_err = 1;
>>> - }
>>> - } else {
>>> - if ((token == "mm") || (token == "m")) {
>>> - x = token.length; y = 2;
>>> - month = getInt(date_s, i_date_s, x, y);
>>> -
>>> - if ((month == null) || (month < 1) || (month > 12)) {
>>> - date_month_err = 1;
>>> - }
>>> -
>>> - i_date_s += month.length;
>>> - } else {
>>> - if (token=="dd" || token=="d") {
>>> - x = token.length; y = 2;
>>> - date = getInt(date_s, i_date_s, x, y);
>>> -
>>> - if ((date == null) || (date < 1) || (date > 31)) {
>>> - date_day_err = 1;
>>> - }
>>> -
>>> - i_date_s += date.length;
>>> - } else {
>>> - if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) {
>>> - date_err = 1;
>>> - } else {
>>> - i_date_s += token.length;
>>> - }
>>> - }
>>> - }
>>> - }
>>> - }
>>> - }
>>> -
>>> - // If there are any trailing characters left in the date_s, it doesn't match
>>> - if (i_date_s != date_s.length) {
>>> - date_err = 1;
>>> - }
>>> -
>>> - // Is date valid for month?
>>> - if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
>>> - if (date > 30) {
>>> - date_day_err = 2;
>>> - }
>>> - } else {
>>> - if (month == 2) {
>>> - // Check for leap year
>>> - if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
>>> - // Leap year
>>> - if (date > 29) {
>>> - date_day_err = 3
>>> - }
>>> - } else {
>>> - if (date > 28) {
>>> - date_day_err = 4;
>>> - }
>>> - }
>>> - } else {
>>> - if (date > 31) {
>>> - date_day_err = 1;
>>> - }
>>> - }
>>> - }
>>> -
>>> - // Add to the error message, if needed
>>> - if (date_err != 0) {
>>> - err += "\n - The " + humanname + " must be a valid date in the format " + format + ".";
>>> - }
>>> -
>>> - // Add to the error message, if needed
>>> - if (date_month_err != 0) {
>>> - err += "\n - The month must be between 1-12.";
>>> - }
>>> -
>>> - // Add to the error message, if needed
>>> - if (date_year_err != 0) {
>>> - err += "\n - The " + humanname + " must have a valid year.";
>>> - }
>>> -
>>> - // Add to the error message, if needed
>>> - if (date_day_err != 0) {
>>> - switch (date_day_err) {
>>> - case 1:
>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days.";
>>> - break;
>>> - case 2:
>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days.";
>>> - break;
>>> - case 3:
>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year.";
>>> - break;
>>> - default:
>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year.";
>>> - break;
>>> - }
>>> - }
>>> -
>>> - return err;
>>> -} // End dateCheck
>>> -
>>> -// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or
>>> -// greater than (1)
>>> -function dateCompare(date1, date2) {
>>> - var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5));
>>> - var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5));
>>> -
>>> - // Greater than
>>> - if (localDate1.getTime() > localDate2.getTime()) {
>>> - return 1;
>>> - } else {
>>> - // Less than
>>> - if (localDate1.getTime() < localDate2.getTime()) {
>>> - return -1;
>>> - } else {
>>> - // Equal
>>> - return 0;
>>> - }
>>> - }
>>> -} // End dateCompare
>>> -
>>> -// All-purpose form validation script
>>> -function checkForm(dataForm) {
>>> - var msg = "";
>>> - var stripBlanksStart = /^\s+/g;
>>> - var stripBlanksEnd = /\s+$/g;
>>> - var squeezeBlanks = /\s+/g;
>>> - var stripNonNumbers = /\D+/g;
>>> - var stripNotDollars = /[^0-9\.]/g;
>>> - var noSpaces = /\s+/g;
>>> - var allNumbers = /^\d+$/;
>>> - var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/;
>>> - var passwordNumbers = /\d{1,}/;
>>> - var passwordLetters = /\D{1,}/;
>>> - var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i;
>>> - var replaceSeps = /[-,\.\/]/g;
>>> - var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/;
>>> - var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/;
>>> - var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/;
>>> - var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/;
>>> - var passwordLength = 6;
>>> - var error_fields = "";
>>> - var errors = "";
>>> -
>>> - // Loop over form elements
>>> - for (var i = 0; i < dataForm.length; ++i) {
>>> - var element = dataForm.elements[i];
>>> -
>>> - // Check for select box
>>> - if (element.selectbox) {
>>> - // Check for required
>>> - if (element.required) {
>>> - // Check for value
>>> - if (element.options[element.selectedIndex].value == "") {
>>> - error_fields += "\n - " + element.humanname + " requires a selection.";
>>> - }
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Strip the leading and trailing blanks
>>> - element.value = element.value.replace(stripBlanksStart, '');
>>> - element.value = element.value.replace(stripBlanksEnd, '');
>>> -
>>> - // If it is required and is empty, alert
>>> - if (element.required && (!element.value.length)) {
>>> - error_fields += "\n - " + element.humanname + " is required.";
>>> - continue;
>>> - } else {
>>> - // If it isn't required and doesn't have any length, skip it
>>> - if ((! element.required) && (! element.value.length)) {
>>> - continue;
>>> - }
>>> - }
>>> -
>>> - // Check for special characters
>>> - if (element.checkspecialchars) {
>>> - if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) {
>>> - error_fields += "\n - " + element.humanname + " contains invalid characters.";
>>> - continue;
>>> - }
>>> - }
>>> -
>>> - // Convert to uppercase if necessary
>>> - if (element.uppercase) {
>>> - element.value = element.value.toUpperCase();
>>> - }
>>> -
>>> - // Convert to uppercase if necessary
>>> - if (element.lowercase) {
>>> - element.value = element.value.toLowerCase();
>>> - }
>>> -
>>> - // UCFirst if necessary
>>> - if (element.ucfirst) {
>>> - // Squeeze the blanks
>>> - rs = element.value.replace(squeezeBlanks, ' ');
>>> - dsegs = rs.split(' ');
>>> - element.value = "";
>>> -
>>> - // Loop over chars
>>> - for (j = 0; j < dsegs.length; ++j) {
>>> - if (dsegs[j].length > 1) {
>>> - fl = dsegs[j].substr(0, 1);
>>> - fl = fl.toUpperCase();
>>> - rn = dsegs[j].substr(1);
>>> - rn = rn.toLowerCase();
>>> - dsegs[j] = fl + rn;
>>> - }
>>> -
>>> - // Check for first value
>>> - element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j];
>>> - }
>>> - }
>>> -
>>> - // Check for equality test
>>> - if (element.equalto) {
>>> - // Check for truevalue and use if found, otherwise use value
>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>> - var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value;
>>> -
>>> - // Check for value equality
>>> - if (elementValue1 != elementValue2) {
>>> - error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname;
>>> - continue;
>>> - }
>>> - }
>>> -
>>> - // Check for less than
>>> - if (element.lessthan) {
>>> - // Check for truevalue and use if found, otherwise use value
>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>> - var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value;
>>> -
>>> - // Check for values
>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>> - // Check for value less than
>>> - if (elementValue1 >= elementValue2) {
>>> - error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname;
>>> - continue;
>>> - }
>>> - }
>>> - }
>>> -
>>> - // Check for less than equalto
>>> - if (element.lessthanequalto) {
>>> - // Check for truevalue and use if found, otherwise use value
>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>> - var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value;
>>> -
>>> - // Check for values
>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>> - // Check for value less than equalto
>>> - if (elementValue1 > elementValue2) {
>>> - error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname;
>>> - continue;
>>> - }
>>> - }
>>> - }
>>> -
>>> - // Check for greater than
>>> - if (element.greaterthan) {
>>> - // Check for truevalue and use if found, otherwise use value
>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>> - var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value;
>>> -
>>> - // Check for values
>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>> - // Check for value greater than
>>> - if (elementValue1 <= elementValue2) {
>>> - error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname;
>>> - continue;
>>> - }
>>> - }
>>> - }
>>> -
>>> - // Check for greater than equalto
>>> - if (element.greaterthanequalto) {
>>> - // Check for truevalue and use if found, otherwise use value
>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>> - var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value;
>>> -
>>> - // Check for values
>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>> - // Check for value greater than equalto
>>> - if (elementValue1 < elementValue2) {
>>> - error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname;
>>> - continue;
>>> - }
>>> - }
>>> - }
>>> -
>>> - // Check a price (sort of)
>>> - if (element.price) {
>>> - // Strip out currency stuff
>>> - element.value = element.value.replace(stripNotDollars, '');
>>> - continue;
>>> - }
>>> -
>>> - // Check a telephone number
>>> - if (element.telephone) {
>>> - // Strip out parens and spaces
>>> - rs = element.value.replace(stripNonNumbers, '');
>>> -
>>> - if (rs.length == 7) {
>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4);
>>> - } else {
>>> - if (rs.length == 10) {
>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4);
>>> - } else {
>>> - error_fields += "\n - " + element.humanname + " is an invalid telephone number.";
>>> - }
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check a zip code
>>> - if (element.zipcode) {
>>> - if (!zipCodeCheck.test(element.value)) {
>>> - error_fields +="\n - " + element.humanname + " is an invalid zipcode.";
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check a password (sort of)
>>> - if (element.password) {
>>> - if (element.value.length < passwordLength) {
>>> - error_fields += "\n - " + element.humanname + " is too short";
>>> - error_fields += "\n Minimum length is " + passwordLength + " characters.";
>>> - continue;
>>> - }
>>> -
>>> - if (!passwordNumbers.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " must contain at least one number.";
>>> - continue;
>>> - }
>>> -
>>> - if (!passwordLetters.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " must contain at least one letter.";
>>> - continue;
>>> - }
>>> - }
>>> -
>>> - // Check for all numbers
>>> - if (element.numeric) {
>>> - if (!allNumbers.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " is not numeric.";
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check an email address for validity
>>> - if (element.email) {
>>> - element.value = element.value.replace(noSpaces, '');
>>> -
>>> - if (!emailPattern.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " is not a valid email address.";
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check a date
>>> - if (element.date) {
>>> - error_fields += dateCheck(element.value, element.humanname, element.format);
>>> - continue;
>>> - }
>>> -
>>> - // Check a time
>>> - if (element.time) {
>>> - // Check for 24 hour time
>>> - if (element.time24) {
>>> - // Check for valid
>>> - if (!time24Format.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " is not a valid 24 hour time.";
>>> - }
>>> - } else {
>>> - // Check for valid
>>> - if (!time12Format.test(element.value)) {
>>> - error_fields += "\n - " + element.humanname + " is not a valid 12 hour time.";
>>> - }
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check the lengths
>>> - if (element.minlen && (element.value.length < element.minlen)) {
>>> - error_fields += "\n - " + element.humanname + " is too short";
>>> - error_fields += "\n Minimum length is " + element.minlen + " characters.";
>>> - continue;
>>> - }
>>> -
>>> - if (element.maxlen && (element.value.length > element.maxlen)) {
>>> - error_fields +="\n - " + element.humanname + " is too long";
>>> - error_fields +="\n Maximum length is " + element.maxlen + " characters.";
>>> - continue;
>>> - }
>>> -
>>> - // Check for ip/network address
>>> - if (element.ipnetworkaddress) {
>>> - if (!ipNetworkAddress.test(element.value)) {
>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network address";
>>> - }
>>> - continue;
>>> - }
>>> -
>>> - // Check for ip/network port
>>> - if (element.ipnetworkport) {
>>> - if (!ipNetworkPort.test(element.value)) {
>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network port";
>>> - } else {
>>> - var searchChar = "";
>>> - var portArray = "";
>>> -
>>> - if (element.value.indexOf(":") > -1) {
>>> - searchChar = ":";
>>> - } else if (element.value.indexOf("-") > -1) {
>>> - searchChar = "-";
>>> - }
>>> -
>>> - if (searchChar != '') {
>>> - portArray = element.value.split(searchChar);
>>> -
>>> - if (portArray.length == 2) {
>>> - if (parseInt(portArray[0]) > parseInt(portArray[1])) {
>>> - error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port";
>>> - }
>>> - }
>>> - }
>>> - }
>>> - continue;
>>> - }
>>> - }
>>> -
>>> - // Check for any errors
>>> - if (error_fields == "") {
>>> - return true;
>>> - } else {
>>> - msg = "The following fields have errors:\n";
>>> - msg += error_fields;
>>> - alert(msg);
>>> - return false;
>>> - }
>>> -}
>>> -
>>> -// Clear data
>>> -function clearData(field, data) {
>>> - // Check if they equal
>>> - if (field.value == data) {
>>> - // Clear data
>>> - field.value = '';
>>> - }
>>> -}
>>> -
>>> -// Set empty data
>>> -function setEmptyData(field, data) {
>>> - // Check if they equal
>>> - if (! field.value.length) {
>>> - // Clear data
>>> - field.value = data;
>>> - }
>>> -}
>>> -
>>> -// Trim whitespace from beginning and end
>>> -function trim(data) {
>>> - var objRegExp = /^(\s*)$/;
>>> -
>>> - // Check for all spaces
>>> - if (objRegExp.test(data)) {
>>> - data = data.replace(objRegExp, '');
>>> -
>>> - if (data.length == 0)
>>> - return data;
>>> - }
>>> -
>>> - // Check for leading & trailing spaces
>>> - objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
>>> -
>>> - if (objRegExp.test(data)) {
>>> - // Remove leading and trailing whitespace characters
>>> - data = data.replace(objRegExp, '$2');
>>> - }
>>> -
>>> - return data;
>>> -}
>>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused snortupdateutility.js
2021-03-29 10:35 ` Michael Tremer
@ 2021-03-29 19:09 ` Leo Hofmann
0 siblings, 0 replies; 5+ messages in thread
From: Leo Hofmann @ 2021-03-29 19:09 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 28209 bytes --]
Hi Michael,
thank you! I'll add a note next time :)
Best regards,
Leo
Am 29.03.2021 um 12:35 schrieb Michael Tremer:
> Hello,
>
>> On 28 Mar 2021, at 13:23, Leo Hofmann <hofmann(a)leo-andres.de> wrote:
>>
>> Hello Peter,
>>
>> thank you for reviewing my work!
>>
>> Unfortunately I don't know how to remove files during an update. Can you take over for me?
> Done. You normally do not have to worry about these things. A note in the commit message will help me to remember.
>
> Best,
> -Michael
>
>> Best regards
>> Leo
>>
>> Am 27.03.2021 um 21:27 schrieb Peter Müller:
>>> Hello Leo,
>>>
>>> indeed, this is orphaned. Thank you for catching it. :-)
>>>
>>> We probably need to remove it during the upgrading procedure of the Core Update this patch will
>>> be included in, for good measures.
>>>
>>> Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>
>>> Thanks, and best regards,
>>> Peter Müller
>>>
>>>> This script doesn't seem to be maintained or used anywhere anymore.
>>>> The last reference to it was removed in commit 1772664.
>>>>
>>>> Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
>>>> ---
>>>> config/rootfiles/common/web-user-interface | 1 -
>>>> html/html/include/snortupdateutility.js | 744 ---------------------
>>>> 2 files changed, 745 deletions(-)
>>>> delete mode 100644 html/html/include/snortupdateutility.js
>>>>
>>>> diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface
>>>> index 9b2667676..540bf1e4b 100644
>>>> --- a/config/rootfiles/common/web-user-interface
>>>> +++ b/config/rootfiles/common/web-user-interface
>>>> @@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png
>>>> srv/web/ipfire/html/images/wakeup.gif
>>>> srv/web/ipfire/html/images/window-new.png
>>>> srv/web/ipfire/html/include
>>>> -srv/web/ipfire/html/include/snortupdateutility.js
>>>> srv/web/ipfire/html/include/zoneconf.js
>>>> srv/web/ipfire/html/index.cgi
>>>> srv/web/ipfire/html/redirect-templates
>>>> diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js
>>>> deleted file mode 100644
>>>> index 10750519c..000000000
>>>> --- a/html/html/include/snortupdateutility.js
>>>> +++ /dev/null
>>>> @@ -1,744 +0,0 @@
>>>> -/*
>>>> -File Info: utility.js - JavaScript library
>>>> -
>>>> -Author: Drew S. Dupont
>>>> -
>>>> -Date: 2/26/2003 - 8/12/2004 (or present day)
>>>> -
>>>> -Description: Utility functions in JavaScript
>>>> - Drew S. Dupont <dsdupont(a)alumni.indiana.edu>
>>>> -*/
>>>> -// Show/Hide HTML Span
>>>> -function showHideHTML(id, content) {
>>>> - // Browser variables
>>>> - var ie45, ns6, ns4, dom = false;
>>>> -
>>>> - // Basic browser parse
>>>> - if (navigator.appName == "Microsoft Internet Explorer") {
>>>> - ie45 = parseInt(navigator.appVersion) >= 4;
>>>> - } else if (navigator.appName == "Netscape") {
>>>> - ns6 = parseInt(navigator.appVersion) >= 5;
>>>> - ns4 = parseInt(navigator.appVersion) < 5;
>>>> - }
>>>> - dom = ie45 || ns6;
>>>> -
>>>> - // Return if using an old Netscape browser
>>>> - if(ns4) return;
>>>> -
>>>> - // Check for type of call supported
>>>> - el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
>>>> -
>>>> - // Check if content to be "switched" is ""
>>>> - if (content == "") {
>>>> - // Return old content and replace with ""
>>>> - content = el.innerHTML;
>>>> - el.innerHTML = "";
>>>> - } else {
>>>> - // Replace current content with new content and return ""
>>>> - el.innerHTML = content;
>>>> - content = "";
>>>> - }
>>>> -
>>>> - // Return content (either old or "")
>>>> - return content;
>>>> -}
>>>> -
>>>> -// Check for special chars
>>>> -function checkForSpecialChars(field, alphaStart, specialCheckChars) {
>>>> - // Local vars
>>>> - var alphaStartChars = /^[a-zA-Z]/;
>>>> - var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/;
>>>> -
>>>> - // Check if should start with an alpha char
>>>> - if (alphaStart) {
>>>> - // Make sure starts with a alpha char
>>>> - if (alphaStartChars.test(field.value)) {
>>>> - // Check for special chars
>>>> - if (noSpecialChars.test(field.value)) {
>>>> - // Return true
>>>> - return true;
>>>> - } else {
>>>> - // Check for specialCheckChars
>>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>>>> - // Return true
>>>> - return true;
>>>> - } else {
>>>> - // Return false
>>>> - return false;
>>>> - }
>>>> - }
>>>> - } else {
>>>> - // Return true
>>>> - return true;
>>>> - }
>>>> - } else {
>>>> - // Check if contains any special chars
>>>> - if (noSpecialChars.test(field.value)) {
>>>> - // Return true
>>>> - return true;
>>>> - } else {
>>>> - // Check for specialCheckChars
>>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) {
>>>> - // Return true
>>>> - return true;
>>>> - } else {
>>>> - // Return false
>>>> - return false;
>>>> - }
>>>> - }
>>>> - }
>>>> -} // End checkForSpecialChars
>>>> -
>>>> -// Launch help
>>>> -function launchHelp(helpSrc) {
>>>> - helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400")
>>>> - helpWindow.moveTo(25, 25);
>>>> - helpWindow.focus();
>>>> -}
>>>> -
>>>> -// Image On
>>>> -function imageOn(imageName) {
>>>> - document[imageName].src = eval(imageName + "_over.src");
>>>> -}
>>>> -
>>>> -// Image Off
>>>> -function imageOff(imageName) {
>>>> - document[imageName].src = eval(imageName + ".src");
>>>> -}
>>>> -
>>>> -// Image Down
>>>> -function imageDown(imageName) {
>>>> - document[imageName].src = eval(imageName + "_down.src");
>>>> -}
>>>> -
>>>> -// Image button On
>>>> -function imageButtonOn(item, imageName) {
>>>> - item.src = eval(imageName + "_over.src");
>>>> -}
>>>> -
>>>> -// Image button Off
>>>> -function imageButtonOff(item, imageName) {
>>>> - item.src = eval(imageName + ".src");
>>>> -}
>>>> -
>>>> -// Image button Down
>>>> -function imageButtonDown(item, imageName) {
>>>> - item.src = eval(imageName + "_down.src");
>>>> -}
>>>> -
>>>> -// changeStatus
>>>> -function changeStatus(message) {
>>>> - // Set window status
>>>> - window.status = message;
>>>> -
>>>> - // Return true
>>>> - return true;
>>>> -} // End changeStatus
>>>> -
>>>> -// isNumeric function
>>>> -function isNumeric(num) {
>>>> - // Boolean var
>>>> - var bolValidNum = true;
>>>> - var digits = "1234567890";
>>>> - var len = num.length;
>>>> -
>>>> - // Loop over num
>>>> - for (i = 0; i < len; ++i) {
>>>> - numSub = num.substring(i, i + 1);
>>>> -
>>>> - // Test for numeric match
>>>> - if (digits.indexOf(numSub) == -1) {
>>>> - bolValidNum = false;
>>>> - }
>>>> - }
>>>> -
>>>> - // Return boolean var
>>>> - return bolValidNum;
>>>> -} // End isNumeric
>>>> -
>>>> -// Check for numeric and display nice error
>>>> -function checkNumeric(field, message) {
>>>> - // Is it valid
>>>> - if (!isNumeric(field.value)) {
>>>> - alert(message);
>>>> - field.focus();
>>>> - }
>>>> -} // End checkNumeric
>>>> -
>>>> -// Function getInt which return numeric value of passed in string
>>>> -function getInt(str, i, minlength, maxlength) {
>>>> - for (x = maxlength; x >= minlength; --x) {
>>>> - var token = str.substring(i, i + x);
>>>> -
>>>> - // Check for numeric
>>>> - if (isNumeric(token)) {
>>>> - return token;
>>>> - }
>>>> - }
>>>> -
>>>> - // Return null
>>>> - return null;
>>>> -}
>>>> -
>>>> -// Function dateCheck, requires global err variable for passing error messages
>>>> -// and requires the isNumeric function
>>>> -function dateCheck(date, humanname, dateFormat) {
>>>> - // Date validation
>>>> - var date_s = date;
>>>> -
>>>> - // If no dateFormat, then set one
>>>> - if (dateFormat == null) {
>>>> - format = "mm/dd/yyyy";
>>>> - } else {
>>>> - format = dateFormat;
>>>> - }
>>>> -
>>>> - var date_err = 0; // Possible values are 0, 1
>>>> - var date_year_err = 0; // Possible values are 0, 1
>>>> - var date_month_err = 0; // Possible values are 1-12
>>>> - var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4
>>>> - var i_date_s = 0;
>>>> - var i_format = 0;
>>>> - var err = "";
>>>> - var c = "";
>>>> - var token = "";
>>>> - var token2 = "";
>>>> - var x, y;
>>>> - var year = 0;
>>>> - var month = 0;
>>>> - var date = 0;
>>>> - var bYearProvided = false;
>>>> - var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
>>>> -
>>>> - // Trim the leading spaces from the string
>>>> - while (date_s.charAt(0) == ' ') {
>>>> - date_s = date_s.slice(1);
>>>> - }
>>>> -
>>>> - while (i_format < format.length) {
>>>> - // Get next token from format string
>>>> - c = format.charAt(i_format);
>>>> - token = "";
>>>> -
>>>> - while ((format.charAt(i_format) == c) && (i_format < format.length)) {
>>>> - token += format.charAt(i_format);
>>>> - ++i_format;
>>>> - }
>>>> -
>>>> - // Extract contents of value based on format token
>>>> - if ((token == "yyyy") || (token == "yy") || (token == "y")) {
>>>> - if (token == "yyyy") { x = 4; y = 4; } // 4-digit year
>>>> - if (token == "yy") { x = 2; y = 2; } // 2-digit year
>>>> - if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year
>>>> -
>>>> - year = getInt(date_s, i_date_s, x, y);
>>>> - bYearProvided = true;
>>>> -
>>>> - if ((year == null) || (year.length != token.length)) {
>>>> - date_year_err = 1;
>>>> - }
>>>> -
>>>> - i_date_s += year.length;
>>>> - } else {
>>>> - if (token == "mmm") { // Month name
>>>> - month = 0;
>>>> -
>>>> - for (var i = 0; i < MONTH_NAMES.length; ++i) {
>>>> - var month_name = MONTH_NAMES[i];
>>>> -
>>>> - if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) {
>>>> - month = i + 1;
>>>> -
>>>> - if (month > 12) {
>>>> - month -= 12;
>>>> - }
>>>> -
>>>> - i_date_s += month_name.length;
>>>> - break;
>>>> - }
>>>> - }
>>>> -
>>>> - if ((month == 0) || (month < 1) || (month > 12)) {
>>>> - date_month_err = 1;
>>>> - }
>>>> - } else {
>>>> - if ((token == "mm") || (token == "m")) {
>>>> - x = token.length; y = 2;
>>>> - month = getInt(date_s, i_date_s, x, y);
>>>> -
>>>> - if ((month == null) || (month < 1) || (month > 12)) {
>>>> - date_month_err = 1;
>>>> - }
>>>> -
>>>> - i_date_s += month.length;
>>>> - } else {
>>>> - if (token=="dd" || token=="d") {
>>>> - x = token.length; y = 2;
>>>> - date = getInt(date_s, i_date_s, x, y);
>>>> -
>>>> - if ((date == null) || (date < 1) || (date > 31)) {
>>>> - date_day_err = 1;
>>>> - }
>>>> -
>>>> - i_date_s += date.length;
>>>> - } else {
>>>> - if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) {
>>>> - date_err = 1;
>>>> - } else {
>>>> - i_date_s += token.length;
>>>> - }
>>>> - }
>>>> - }
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // If there are any trailing characters left in the date_s, it doesn't match
>>>> - if (i_date_s != date_s.length) {
>>>> - date_err = 1;
>>>> - }
>>>> -
>>>> - // Is date valid for month?
>>>> - if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
>>>> - if (date > 30) {
>>>> - date_day_err = 2;
>>>> - }
>>>> - } else {
>>>> - if (month == 2) {
>>>> - // Check for leap year
>>>> - if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
>>>> - // Leap year
>>>> - if (date > 29) {
>>>> - date_day_err = 3
>>>> - }
>>>> - } else {
>>>> - if (date > 28) {
>>>> - date_day_err = 4;
>>>> - }
>>>> - }
>>>> - } else {
>>>> - if (date > 31) {
>>>> - date_day_err = 1;
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // Add to the error message, if needed
>>>> - if (date_err != 0) {
>>>> - err += "\n - The " + humanname + " must be a valid date in the format " + format + ".";
>>>> - }
>>>> -
>>>> - // Add to the error message, if needed
>>>> - if (date_month_err != 0) {
>>>> - err += "\n - The month must be between 1-12.";
>>>> - }
>>>> -
>>>> - // Add to the error message, if needed
>>>> - if (date_year_err != 0) {
>>>> - err += "\n - The " + humanname + " must have a valid year.";
>>>> - }
>>>> -
>>>> - // Add to the error message, if needed
>>>> - if (date_day_err != 0) {
>>>> - switch (date_day_err) {
>>>> - case 1:
>>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days.";
>>>> - break;
>>>> - case 2:
>>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days.";
>>>> - break;
>>>> - case 3:
>>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year.";
>>>> - break;
>>>> - default:
>>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year.";
>>>> - break;
>>>> - }
>>>> - }
>>>> -
>>>> - return err;
>>>> -} // End dateCheck
>>>> -
>>>> -// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or
>>>> -// greater than (1)
>>>> -function dateCompare(date1, date2) {
>>>> - var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5));
>>>> - var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5));
>>>> -
>>>> - // Greater than
>>>> - if (localDate1.getTime() > localDate2.getTime()) {
>>>> - return 1;
>>>> - } else {
>>>> - // Less than
>>>> - if (localDate1.getTime() < localDate2.getTime()) {
>>>> - return -1;
>>>> - } else {
>>>> - // Equal
>>>> - return 0;
>>>> - }
>>>> - }
>>>> -} // End dateCompare
>>>> -
>>>> -// All-purpose form validation script
>>>> -function checkForm(dataForm) {
>>>> - var msg = "";
>>>> - var stripBlanksStart = /^\s+/g;
>>>> - var stripBlanksEnd = /\s+$/g;
>>>> - var squeezeBlanks = /\s+/g;
>>>> - var stripNonNumbers = /\D+/g;
>>>> - var stripNotDollars = /[^0-9\.]/g;
>>>> - var noSpaces = /\s+/g;
>>>> - var allNumbers = /^\d+$/;
>>>> - var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/;
>>>> - var passwordNumbers = /\d{1,}/;
>>>> - var passwordLetters = /\D{1,}/;
>>>> - var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i;
>>>> - var replaceSeps = /[-,\.\/]/g;
>>>> - var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/;
>>>> - var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/;
>>>> - var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/;
>>>> - var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/;
>>>> - var passwordLength = 6;
>>>> - var error_fields = "";
>>>> - var errors = "";
>>>> -
>>>> - // Loop over form elements
>>>> - for (var i = 0; i < dataForm.length; ++i) {
>>>> - var element = dataForm.elements[i];
>>>> -
>>>> - // Check for select box
>>>> - if (element.selectbox) {
>>>> - // Check for required
>>>> - if (element.required) {
>>>> - // Check for value
>>>> - if (element.options[element.selectedIndex].value == "") {
>>>> - error_fields += "\n - " + element.humanname + " requires a selection.";
>>>> - }
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Strip the leading and trailing blanks
>>>> - element.value = element.value.replace(stripBlanksStart, '');
>>>> - element.value = element.value.replace(stripBlanksEnd, '');
>>>> -
>>>> - // If it is required and is empty, alert
>>>> - if (element.required && (!element.value.length)) {
>>>> - error_fields += "\n - " + element.humanname + " is required.";
>>>> - continue;
>>>> - } else {
>>>> - // If it isn't required and doesn't have any length, skip it
>>>> - if ((! element.required) && (! element.value.length)) {
>>>> - continue;
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for special characters
>>>> - if (element.checkspecialchars) {
>>>> - if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) {
>>>> - error_fields += "\n - " + element.humanname + " contains invalid characters.";
>>>> - continue;
>>>> - }
>>>> - }
>>>> -
>>>> - // Convert to uppercase if necessary
>>>> - if (element.uppercase) {
>>>> - element.value = element.value.toUpperCase();
>>>> - }
>>>> -
>>>> - // Convert to uppercase if necessary
>>>> - if (element.lowercase) {
>>>> - element.value = element.value.toLowerCase();
>>>> - }
>>>> -
>>>> - // UCFirst if necessary
>>>> - if (element.ucfirst) {
>>>> - // Squeeze the blanks
>>>> - rs = element.value.replace(squeezeBlanks, ' ');
>>>> - dsegs = rs.split(' ');
>>>> - element.value = "";
>>>> -
>>>> - // Loop over chars
>>>> - for (j = 0; j < dsegs.length; ++j) {
>>>> - if (dsegs[j].length > 1) {
>>>> - fl = dsegs[j].substr(0, 1);
>>>> - fl = fl.toUpperCase();
>>>> - rn = dsegs[j].substr(1);
>>>> - rn = rn.toLowerCase();
>>>> - dsegs[j] = fl + rn;
>>>> - }
>>>> -
>>>> - // Check for first value
>>>> - element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j];
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for equality test
>>>> - if (element.equalto) {
>>>> - // Check for truevalue and use if found, otherwise use value
>>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>>> - var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value;
>>>> -
>>>> - // Check for value equality
>>>> - if (elementValue1 != elementValue2) {
>>>> - error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname;
>>>> - continue;
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for less than
>>>> - if (element.lessthan) {
>>>> - // Check for truevalue and use if found, otherwise use value
>>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>>> - var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value;
>>>> -
>>>> - // Check for values
>>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>>> - // Check for value less than
>>>> - if (elementValue1 >= elementValue2) {
>>>> - error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname;
>>>> - continue;
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for less than equalto
>>>> - if (element.lessthanequalto) {
>>>> - // Check for truevalue and use if found, otherwise use value
>>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>>> - var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value;
>>>> -
>>>> - // Check for values
>>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>>> - // Check for value less than equalto
>>>> - if (elementValue1 > elementValue2) {
>>>> - error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname;
>>>> - continue;
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for greater than
>>>> - if (element.greaterthan) {
>>>> - // Check for truevalue and use if found, otherwise use value
>>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>>> - var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value;
>>>> -
>>>> - // Check for values
>>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>>> - // Check for value greater than
>>>> - if (elementValue1 <= elementValue2) {
>>>> - error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname;
>>>> - continue;
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for greater than equalto
>>>> - if (element.greaterthanequalto) {
>>>> - // Check for truevalue and use if found, otherwise use value
>>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value;
>>>> - var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value;
>>>> -
>>>> - // Check for values
>>>> - if ((elementValue1 != '') && (elementValue2 != '')) {
>>>> - // Check for value greater than equalto
>>>> - if (elementValue1 < elementValue2) {
>>>> - error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname;
>>>> - continue;
>>>> - }
>>>> - }
>>>> - }
>>>> -
>>>> - // Check a price (sort of)
>>>> - if (element.price) {
>>>> - // Strip out currency stuff
>>>> - element.value = element.value.replace(stripNotDollars, '');
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check a telephone number
>>>> - if (element.telephone) {
>>>> - // Strip out parens and spaces
>>>> - rs = element.value.replace(stripNonNumbers, '');
>>>> -
>>>> - if (rs.length == 7) {
>>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4);
>>>> - } else {
>>>> - if (rs.length == 10) {
>>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4);
>>>> - } else {
>>>> - error_fields += "\n - " + element.humanname + " is an invalid telephone number.";
>>>> - }
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check a zip code
>>>> - if (element.zipcode) {
>>>> - if (!zipCodeCheck.test(element.value)) {
>>>> - error_fields +="\n - " + element.humanname + " is an invalid zipcode.";
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check a password (sort of)
>>>> - if (element.password) {
>>>> - if (element.value.length < passwordLength) {
>>>> - error_fields += "\n - " + element.humanname + " is too short";
>>>> - error_fields += "\n Minimum length is " + passwordLength + " characters.";
>>>> - continue;
>>>> - }
>>>> -
>>>> - if (!passwordNumbers.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " must contain at least one number.";
>>>> - continue;
>>>> - }
>>>> -
>>>> - if (!passwordLetters.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " must contain at least one letter.";
>>>> - continue;
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for all numbers
>>>> - if (element.numeric) {
>>>> - if (!allNumbers.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " is not numeric.";
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check an email address for validity
>>>> - if (element.email) {
>>>> - element.value = element.value.replace(noSpaces, '');
>>>> -
>>>> - if (!emailPattern.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " is not a valid email address.";
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check a date
>>>> - if (element.date) {
>>>> - error_fields += dateCheck(element.value, element.humanname, element.format);
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check a time
>>>> - if (element.time) {
>>>> - // Check for 24 hour time
>>>> - if (element.time24) {
>>>> - // Check for valid
>>>> - if (!time24Format.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " is not a valid 24 hour time.";
>>>> - }
>>>> - } else {
>>>> - // Check for valid
>>>> - if (!time12Format.test(element.value)) {
>>>> - error_fields += "\n - " + element.humanname + " is not a valid 12 hour time.";
>>>> - }
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check the lengths
>>>> - if (element.minlen && (element.value.length < element.minlen)) {
>>>> - error_fields += "\n - " + element.humanname + " is too short";
>>>> - error_fields += "\n Minimum length is " + element.minlen + " characters.";
>>>> - continue;
>>>> - }
>>>> -
>>>> - if (element.maxlen && (element.value.length > element.maxlen)) {
>>>> - error_fields +="\n - " + element.humanname + " is too long";
>>>> - error_fields +="\n Maximum length is " + element.maxlen + " characters.";
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check for ip/network address
>>>> - if (element.ipnetworkaddress) {
>>>> - if (!ipNetworkAddress.test(element.value)) {
>>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network address";
>>>> - }
>>>> - continue;
>>>> - }
>>>> -
>>>> - // Check for ip/network port
>>>> - if (element.ipnetworkport) {
>>>> - if (!ipNetworkPort.test(element.value)) {
>>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network port";
>>>> - } else {
>>>> - var searchChar = "";
>>>> - var portArray = "";
>>>> -
>>>> - if (element.value.indexOf(":") > -1) {
>>>> - searchChar = ":";
>>>> - } else if (element.value.indexOf("-") > -1) {
>>>> - searchChar = "-";
>>>> - }
>>>> -
>>>> - if (searchChar != '') {
>>>> - portArray = element.value.split(searchChar);
>>>> -
>>>> - if (portArray.length == 2) {
>>>> - if (parseInt(portArray[0]) > parseInt(portArray[1])) {
>>>> - error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port";
>>>> - }
>>>> - }
>>>> - }
>>>> - }
>>>> - continue;
>>>> - }
>>>> - }
>>>> -
>>>> - // Check for any errors
>>>> - if (error_fields == "") {
>>>> - return true;
>>>> - } else {
>>>> - msg = "The following fields have errors:\n";
>>>> - msg += error_fields;
>>>> - alert(msg);
>>>> - return false;
>>>> - }
>>>> -}
>>>> -
>>>> -// Clear data
>>>> -function clearData(field, data) {
>>>> - // Check if they equal
>>>> - if (field.value == data) {
>>>> - // Clear data
>>>> - field.value = '';
>>>> - }
>>>> -}
>>>> -
>>>> -// Set empty data
>>>> -function setEmptyData(field, data) {
>>>> - // Check if they equal
>>>> - if (! field.value.length) {
>>>> - // Clear data
>>>> - field.value = data;
>>>> - }
>>>> -}
>>>> -
>>>> -// Trim whitespace from beginning and end
>>>> -function trim(data) {
>>>> - var objRegExp = /^(\s*)$/;
>>>> -
>>>> - // Check for all spaces
>>>> - if (objRegExp.test(data)) {
>>>> - data = data.replace(objRegExp, '');
>>>> -
>>>> - if (data.length == 0)
>>>> - return data;
>>>> - }
>>>> -
>>>> - // Check for leading & trailing spaces
>>>> - objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
>>>> -
>>>> - if (objRegExp.test(data)) {
>>>> - // Remove leading and trailing whitespace characters
>>>> - data = data.replace(objRegExp, '$2');
>>>> - }
>>>> -
>>>> - return data;
>>>> -}
>>>>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-03-29 19:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-25 16:33 [PATCH] Remove unused snortupdateutility.js Leo-Andres Hofmann
2021-03-27 20:27 ` Peter Müller
2021-03-28 12:23 ` Leo Hofmann
2021-03-29 10:35 ` Michael Tremer
2021-03-29 19:09 ` Leo Hofmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox