535 lines
16 KiB
HTML
535 lines
16 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4.0//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Inbound IP address</title>
|
|
<meta name="Copyright" content="Copyright (c) 2004 by IBM Corporation">
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
|
|
<!--
|
|
----------------------------------------------------------------------------
|
|
START_DESCRIPTION
|
|
Page Function: Collect client name and definition to apply to this policy.
|
|
|
|
Stored Values:
|
|
[myClientName](parent.hidden.clientInfo[clientNum][0])[any set of alpha characters]
|
|
[theIP](parent.hidden.clientInfo[clientNum][1]) [any valid IP address]
|
|
|
|
|
|
Next and Back:
|
|
[Next]:rzalladvqos20.htm
|
|
[Back]:rzalladvqos3.htm
|
|
END_DESCRIPTION
|
|
----------------------------------------------------------------------------
|
|
-->
|
|
<LINK rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
<script language = "Javascript" src = "../rzahg/iccommon.js"></script>
|
|
<script language="Javascript" type="text/javascript">
|
|
|
|
|
|
//START NON-TRANSLATABLE
|
|
var subnettype
|
|
var myClientName
|
|
//END NON-TRANSLATABLE
|
|
|
|
|
|
|
|
var error1 = "Segment must be between 0 and 255"
|
|
var error2 = "The first segment of your IP address must be greater than 0"
|
|
var error3 = "You must enter a valid client name"
|
|
var error13 = "You entered a client name of "
|
|
var error14 = ", which has already been used."
|
|
var error5 = "Segements cannot be blank values and must be a positive Integer between 0 and 256"
|
|
var error6 = "The first segment must be larger than 1"
|
|
var error7 = "No segment can be greater than 255"
|
|
var error8 = "Each segment must be an integer."
|
|
var error9 = "Segments cannot be blank values and must be a positive Integer between 0 and 256"
|
|
var error10 = "The first segment of an IP address must be larger than 1"
|
|
var error11 = "No segment can be greater than 255"
|
|
var error12 = "Each segment must be an integer."
|
|
var message1 = "All IP addresses"; // 8/27 - LJW
|
|
|
|
//START NON-TRANSLATABLE
|
|
clientNum = parent.hidden.retClientNumber()
|
|
|
|
var client = true;
|
|
var ip = true;
|
|
var goodname = true;
|
|
|
|
function onBack() {
|
|
|
|
window.location = "rzalladvqos2.htm";
|
|
}
|
|
|
|
|
|
function clearIt(whichForm) {
|
|
if ( whichForm == 1 ) {
|
|
for ( var i=4; i<12; i++ ) {
|
|
document.clients.elements[i].value = "";
|
|
}
|
|
|
|
}
|
|
else {
|
|
for ( var i=0; i<4; i++ ) {
|
|
document.clients.elements[i].value = "";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function hideIt() { //hides the iprange form; called onload
|
|
MM_showHideLayers('iprange','','hide');
|
|
MM_showHideLayers('ipstatic','','hide');//changed ljw 8/26
|
|
|
|
|
|
}
|
|
|
|
function changeLayer(layershow,layerhide) { //switches layers by hiding them
|
|
MM_showHideLayers(layershow,'','show');
|
|
MM_showHideLayers(layerhide,'','hide');
|
|
|
|
}
|
|
|
|
|
|
|
|
function isPosInteger(theSegment) { //checking for positive integer
|
|
|
|
theSegement = theSegment.toString();
|
|
|
|
for ( var i=0; i<theSegment.length; i++ ) {
|
|
var onechar = theSegment.charAt(i)
|
|
if ( onechar < "0" || onechar > "9" ) {
|
|
return false;
|
|
}
|
|
|
|
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
|
|
function onNext(){
|
|
var theIP="";
|
|
if (checkip() && checkName()){ //check to make sure form is filled out
|
|
|
|
//else{
|
|
if ( document.allclients.radio1.checked == true ) {
|
|
theIP = message1;
|
|
}
|
|
//above if added 8/26 by LJW
|
|
else if ( document.clients.myradio.checked == true ) { //static ip address selected
|
|
if ( isNS && !isNS6 ) {
|
|
theIP = document.ipstatic.document.ipstaticForm.static1.value + "." + document.ipstatic.document.ipstaticForm.static2.value + "." + document.ipstatic.document.ipstaticForm.static3.value + "." + document.ipstatic.document.ipstaticForm.static4.value
|
|
}
|
|
else{theIP = document.ipstaticForm.static1.value + "." + document.ipstaticForm.static2.value + "." + document.ipstaticForm.static3.value + "." + document.ipstaticForm.static4.value
|
|
}
|
|
}
|
|
|
|
else{ //range of ips
|
|
if ( isNS && !isNS6 ) {
|
|
seg1 = document.iprange.document.iprangeForm.range1a.value + "." + document.iprange.document.iprangeForm.range1b.value + "." + document.iprange.document.iprangeForm.range1c.value + "." + document.iprange.document.iprangeForm.range1d.value
|
|
seg2 = document.iprange.document.iprangeForm.range2a.value + "." + document.iprange.document.iprangeForm.range2b.value + "." + document.iprange.document.iprangeForm.range2c.value + "." + document.iprange.document.iprangeForm.range2d.value
|
|
theIP = seg1 + "-" + seg2
|
|
}
|
|
else{
|
|
seg1 = document.iprangeForm.range1a.value + "." + document.iprangeForm.range1b.value + "." + document.iprangeForm.range1c.value + "." + document.iprangeForm.range1d.value
|
|
seg2 = document.iprangeForm.range2a.value + "." + document.iprangeForm.range2b.value + "." + document.iprangeForm.range2c.value + "." + document.iprangeForm.range2d.value
|
|
}
|
|
|
|
theIP = seg1 + "-" + seg2
|
|
|
|
}
|
|
|
|
parent.hidden.clientInfo[clientNum][0] = document.clientnameform.clientname.value //storing clientname
|
|
parent.hidden.clientInfo[clientNum][1] = theIP
|
|
|
|
|
|
//}
|
|
|
|
window.location = "rzalladvqos3.htm"; //change to the next panel
|
|
|
|
}
|
|
|
|
|
|
}
|
|
/* end of the onNext function */
|
|
|
|
function checkName(){
|
|
|
|
//locating for duplicate client names
|
|
clientLength = parent.hidden.retClientLength();
|
|
myClientName = document.clientnameform.clientname.value
|
|
|
|
for ( var i=0; i<clientLength; i++ ) {
|
|
|
|
scanApp = parent.hidden.clientInfo[i][0];
|
|
if ( (scanApp == myClientName) && (clientNum != i)) {
|
|
if ( myClientName != '' ) { //found a duplicate name that isnt blank
|
|
alert(error13 + myClientName + error14)
|
|
}
|
|
else if ( myClientName == '' ) {
|
|
alert(error3) //no client name
|
|
}
|
|
document.clientnameform.clientname.focus()
|
|
return false;
|
|
break;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return true;
|
|
}
|
|
|
|
function checkip() { //syntax checking on IP address
|
|
|
|
if ( document.allclients.radio1.checked == true ) {return true;}//added ljw 8/26
|
|
|
|
if ( document.clients.myradio.checked == true ) { //checking single ip here
|
|
for ( var i=0; i<4; i++ ) {
|
|
|
|
if ( isNS && !isNS6 ) { //for netscrape
|
|
theSegment = document.ipstatic.document.ipstaticForm.elements[i].value
|
|
}
|
|
else{theSegment = document.ipstaticForm.elements[i].value}
|
|
|
|
// checking the segment for validity
|
|
if ( theSegment == '' || theSegment == null || isNaN(theSegment)) { //blank segments
|
|
alert(error5)
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[i].focus()
|
|
}
|
|
else {document.ipstaticForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;}
|
|
|
|
if ( i == 0 && theSegment <= 1 ) { //segment 1 is less than 0
|
|
alert(error6)
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[0].focus()
|
|
}
|
|
else{document.ipstaticForm.elements[0].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
|
|
}
|
|
|
|
if ( theSegment > 255 ) { //any segment is greater than 255
|
|
alert(error7)
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[i].focus()
|
|
}
|
|
else {document.ipstaticForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
positive = isPosInteger(theSegment)
|
|
if ( !positive ) {
|
|
alert(error8)
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[i].focus()
|
|
}
|
|
else {document.ipstaticForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
return true;
|
|
|
|
} // done checking single IP
|
|
|
|
/************************ Checking range ************************/
|
|
|
|
else{ //check IP range for validity
|
|
|
|
for ( var i=0; i<8; i++ ) {
|
|
if ( isNS && !isNS6 ) { //for netscrape
|
|
theSegment = document.iprange.document.iprangeForm.elements[i].value
|
|
}
|
|
else{theSegment = document.iprangeForm.elements[i].value}
|
|
|
|
|
|
if ( theSegment == '' || theSegment == null || isNaN(theSegment)) { //blank segments
|
|
alert(error9)
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[i].focus()
|
|
}
|
|
else {document.iprangeForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;}
|
|
|
|
if ( (i == 0 && theSegment <= 1) || (i == 4 && theSegment <= 1) ) { //segment 1 is less than 0
|
|
alert(error10)
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[i].focus()
|
|
}
|
|
else{document.iprangeForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
|
|
}
|
|
|
|
if ( theSegment > 255 ) { //any segment is greater than 255
|
|
alert(error11)
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[i].focus()
|
|
}
|
|
else {document.iprangeForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
positive = isPosInteger(theSegment) //checking for a positive integer
|
|
if ( !positive ) {
|
|
alert(error12)
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[i].focus()
|
|
}
|
|
else {document.iprangeForm.elements[i].focus()}
|
|
|
|
//var bad = false;
|
|
return false;
|
|
break;
|
|
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
//Obtain name of HTML file in parent frame.
|
|
var parentDir = parent.window.location.href.substring(0,location.href.lastIndexOf('/')+1);
|
|
var parentUrl = parent.window.location.href.substring(parentDir.length,parent.window.location.href.length+1);
|
|
if (parentUrl.indexOf("#") >= 0) { parentUrl = parentUrl.substring(0,parentUrl.indexOf("#"));}
|
|
|
|
function restoreValues() {
|
|
//Is the hidden frame already loaded with the correct html?
|
|
if (parentUrl != "rzalladvqoswelcome.htm") {
|
|
window.location = "rzalladvqoswelcome.htm"; //load advisor frameset
|
|
return;
|
|
} else {
|
|
//Obtain name of HTML file in hidden frame.
|
|
var hiddenDir = parent.hidden.window.location.href.substring(0,location.href.lastIndexOf('/')+1);
|
|
var hiddenUrl = parent.hidden.window.location.href.substring(hiddenDir.length,parent.hidden.window.location.href.length+1);
|
|
if (hiddenUrl.indexOf("#") >= 0) { hiddenUrl = hiddenUrl.substring(0,hiddenUrl.indexOf("#"));}
|
|
if (hiddenUrl != "rzalladvqoshidden.htm") {
|
|
//Correct HTML not loaded, load it
|
|
parent.hidden.window.location = "rzalladvqoshidden.htm";
|
|
} else { //already loaded
|
|
restoreValues2();
|
|
}
|
|
}
|
|
}
|
|
|
|
function restoreValues2() {
|
|
|
|
clearIPFields();
|
|
var segmentNum = 0
|
|
var segment = ''
|
|
prevClientName = parent.hidden.clientInfo[clientNum][0] //restoring clientname if it exists
|
|
if ( prevClientName != '' ) {
|
|
document.clientnameform.clientname.value = prevClientName
|
|
}
|
|
|
|
|
|
prevIP = parent.hidden.clientInfo[clientNum][1]
|
|
if ( prevIP != '' ) {
|
|
//staticIP = isStatic(prevIP) //does the IP address have a '-' in it?
|
|
|
|
kindIP = iptype(prevIP) //ljw 8/26
|
|
|
|
if ( kindIP == "all" ) { //ljw 8/26
|
|
document.allclients.radio1.checked = true;//ljw 8/26
|
|
|
|
}
|
|
|
|
else if ( kindIP == "static" ) { //dealing with a static ip here
|
|
var count = 0;
|
|
changeLayer('ipstatic','iprange');document.clients.myradio.checked = true;document.clients2.radio2.checked = false;document.allclients.radio1.checked = false;//added ljw 8/26
|
|
|
|
while ( count != prevIP.length ) {
|
|
var onechar = prevIP.charAt(count)
|
|
if ( onechar != '.' ) {
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[segmentNum].value = document.ipstatic.document.ipstaticForm.elements[segmentNum].value + onechar
|
|
}
|
|
else{document.ipstaticForm.elements[segmentNum].value = document.ipstaticForm.elements[segmentNum].value + onechar}
|
|
}
|
|
else {segmentNum++}
|
|
count++;
|
|
}
|
|
}
|
|
|
|
|
|
else { //dealing with an ip range here
|
|
|
|
var count = 0;
|
|
changeLayer('iprange','ipstatic');document.clients.myradio.checked = false;document.clients2.radio2.checked = true;document.allclients.radio1.checked = false;//edited ljw 8/26
|
|
|
|
while ( count != prevIP.length ) {
|
|
var onechar = prevIP.charAt(count)
|
|
if ( onechar != '.' && onechar != '-' ) {
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[segmentNum].value = document.iprange.document.iprangeForm.elements[segmentNum].value + onechar
|
|
}
|
|
else{document.iprangeForm.elements[segmentNum].value = document.iprangeForm.elements[segmentNum].value + onechar}
|
|
}
|
|
else {segmentNum++}
|
|
count++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function isStatic(prevIP) {
|
|
|
|
dash = prevIP.indexOf('-')
|
|
if ( dash >= 0 ) {
|
|
return false;
|
|
}
|
|
else {return true;}
|
|
|
|
}
|
|
|
|
function iptype(prevIP) {//added ljw 8/26
|
|
dash = prevIP.indexOf('-')
|
|
if ( dash >= 0 ) {
|
|
return "range";
|
|
}
|
|
else if ( prevIP.indexOf('.') >= 0 ) {
|
|
return "static";
|
|
}
|
|
else {return "all";}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function clearIPFields() {
|
|
|
|
//clear static fields
|
|
for ( var i=0; i<4; i++ ) {
|
|
if ( isNS && !isNS6 ) {
|
|
document.ipstatic.document.ipstaticForm.elements[i].value = ''
|
|
}
|
|
else{document.ipstaticForm.elements[i].value = ''
|
|
}
|
|
}
|
|
|
|
|
|
//clear range fields
|
|
|
|
for ( var i=0; i<8; i++ ) {
|
|
if ( isNS && !isNS6 ) {
|
|
document.iprange.document.iprangeForm.elements[i].value = ''
|
|
}
|
|
else{document.iprangeForm.elements[i].value = ''}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
//END NON-TRANSLATABLE
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
|
|
<BODY onload="hideIt();restoreValues()">
|
|
<h2>QoS planning advisor: Clients </h2>
|
|
|
|
<p>Specify the client's IP address information. The wizard allows you to define a client in multiple ways. If you do not want to specify a client, you should select Any IP address. Each segment of a valid IP address must be an integer between 0 and 255. You also need to create an identifying name for this client. This name should be something that will be easy to remember and representative of your client. For example, <tt>UCD_group</tt> or <tt>business_partner</tt>.</p>
|
|
|
|
<P>What is the client's IP address information? </P>
|
|
|
|
<form name="allclients">
|
|
<input type="radio" name="radio1" id="myradio1" onClick="document.clients2.radio2.checked = false;document.clients.myradio.checked = false;hideIt();" checked>
|
|
<b><label for="myradio1">Any IP address</label></b><br>
|
|
</form>
|
|
|
|
<form name="clients">
|
|
<input type="radio" name="myradio" id="myradio1" onClick="changeLayer('ipstatic','iprange');document.clients2.radio2.checked = false;document.allclients.radio1.checked = false;">
|
|
<b><label for="myradio1">IP address</label></b><br>
|
|
</form>
|
|
|
|
<div id="ipstatic" style="position:relative;" >
|
|
<form name="ipstaticForm">
|
|
|
|
|
|
<input type="text" name="static1" id="myradio1" size="3" maxlength="3">
|
|
.
|
|
<INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="static2" id="myradio1">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="static3" id="myradio1">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="static4" id="myradio1">
|
|
</form>
|
|
<p>
|
|
</div>
|
|
<form name="clients2">
|
|
<input type="radio" name="radio2" id="myradio2" value="range" onClick="changeLayer('iprange','ipstatic');document.clients.myradio.checked = false;document.allclients.radio1.checked = false;">
|
|
<b><label for="myradio2">IP address range</label></b>
|
|
<p>
|
|
</form>
|
|
<div id="iprange" style="position: relative;">
|
|
<form name="iprangeForm">
|
|
|
|
<INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range1a" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range1b" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range1c" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range1d" id="myradio2">
|
|
|
|
-
|
|
|
|
<INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range2a" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range2b" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range2c" id="myradio2">
|
|
. <INPUT TYPE="text" SIZE=3 MAXLENGTH=3 NAME="range2d" id="myradio2">
|
|
</form>
|
|
</div>
|
|
|
|
<P><label for ="clientname2">Enter an identifying name for the above address group, such as <tt>Development</tt>.</label></p>
|
|
<form name="clientnameform">
|
|
<INPUT TYPE="text" SIZE=15 MAXLENGTH=25 NAME="clientname" id="clientname2"><p></p>
|
|
|
|
<center><input name=submit type="button" value="<< Back " onClick="onBack()">
|
|
<input name=submit type="button" value=" Next >>" onClick="onNext(this.form)">
|
|
</center>
|
|
</form>
|
|
|
|
|
|
</BODY>
|
|
|
|
</html>
|
|
|