Deployment Guide

Table Of Contents
{
if(is_int($key) && $node['name'] == $tag_name)
{
$tmp_arr = $node;
$res = true;
break;
}
}
if(!$res) {
return false;
}
}
if( isset($tmp_arr['value']) ) {
return $tmp_arr['value'];
} else {
return null;
}
}
function is_not_empty($string) {
return (isset($string) && (0 < strlen($string)));
}
//check token format
function tokenCheck($val){
return preg_match('/^([a-zA-Z0-9-_!]){0,24}$/', $val);
}
//check the mac address
function macCheck($val){
return preg_match("/^[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:
[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}$/", $val);
}
//encode the input string to avoid script attack
function convertUrlParam($input) {
return htmlentities($input, ENT_QUOTES);
}
?>
crypt_aws_s4.php
Note
The External Captive Portal and Extreme Campus Controller must be time synchronized.
AWS4 signature includes a time stamp; therefore, both systems must be configured with the
correct date and time when using AWS4 signature.
<?php
class SimpleAws {
const AWS4_ERROR_NONE=0;
const AWS4_ERROR_NULL_INPUT=1;
const AWS4_ERROR_INPUT_BUFFER_TOO_SMALL=2;
const AWS4_ERROR_INVALID_PROTOCOL=3;
const AWS4_ERROR_INPUT_URL_TOO_BIG=4;
const AWS4_ERROR_INPUT_ID_TOO_BIG=5;
const AWS4_ERROR_INPUT_KEY_TOO_BIG=6;
const AWS4_ERROR_INVALID_REGION=7;
const AWS4_ERROR_INVALID_SIGNATURE=8;
const AWS4_ERROR_MISSING_QUERY=9;
const AWS4_ERROR_MISSING_QUERY_DATE=10;
const AWS4_ERROR_MISSING_QUERY_SIGNED_HEADERS=11;
const AWS4_ERROR_MISSING_QUERY_EXPIRES=12;
const AWS4_ERROR_MISSING_QUERY_SIGNATURE=13;
const AWS4_ERROR_MISSING_QUERY_CREDENTIAL=14;
const AWS4_ERROR_MISSING_QUERY_ALGORITHM=15;
PHP External Captive Portal, Controller’s Firewall
Friendly API crypt_aws_s4.php
Extreme Campus Controller Deployment Guide for version 5.46.03 207