renamed MasterNameServer to PrimaryNameServer.

This commit is contained in:
Shreyas Zare
2020-06-14 12:40:40 +05:30
parent 7c38ddac37
commit 07c7a8c5b7
12 changed files with 65 additions and 65 deletions

View File

@@ -1037,7 +1037,7 @@ namespace DnsServerCore.Dns
try
{
DnsDatagram response = DirectQuery(new DnsQuestionRecord((soaRecord.RDATA as DnsSOARecord).MasterNameServer, type, DnsClass.IN));
DnsDatagram response = DirectQuery(new DnsQuestionRecord((soaRecord.RDATA as DnsSOARecord).PrimaryNameServer, type, DnsClass.IN));
if (response != null)
{
IReadOnlyList<IPAddress> addresses;

View File

@@ -56,7 +56,7 @@ namespace DnsServerCore.Dns.ResourceRecords
break;
case DnsResourceRecordType.SOA:
domain = (record.RDATA as DnsSOARecord).MasterNameServer;
domain = (record.RDATA as DnsSOARecord).PrimaryNameServer;
break;
default:
@@ -100,7 +100,7 @@ namespace DnsServerCore.Dns.ResourceRecords
break;
case DnsResourceRecordType.SOA:
domain = (record.RDATA as DnsSOARecord).MasterNameServer;
domain = (record.RDATA as DnsSOARecord).PrimaryNameServer;
break;
default:

View File

@@ -59,7 +59,7 @@ namespace DnsServerCore.Dns.ZoneManagers
private void UpdateServerDomain(string serverDomain)
{
_soaRecord = new DnsSOARecord(serverDomain, "hostmaster." + serverDomain, 1, 14400, 3600, 604800, 900);
_soaRecord = new DnsSOARecord(serverDomain, "hostadmin." + serverDomain, 1, 14400, 3600, 604800, 900);
_nsRecord = new DnsNSRecord(serverDomain);
}
@@ -187,7 +187,7 @@ namespace DnsServerCore.Dns.ZoneManagers
public string ServerDomain
{
get { return _soaRecord.MasterNameServer; }
get { return _soaRecord.PrimaryNameServer; }
set { UpdateServerDomain(value); }
}

View File

@@ -106,7 +106,7 @@ namespace DnsServerCore.Dns.ZoneManagers
DnsResourceRecord record = zone.GetRecords(DnsResourceRecordType.SOA)[0];
DnsSOARecord soa = record.RDATA as DnsSOARecord;
if (soa.MasterNameServer.Equals(_serverDomain, StringComparison.OrdinalIgnoreCase))
if (soa.PrimaryNameServer.Equals(_serverDomain, StringComparison.OrdinalIgnoreCase))
{
string responsiblePerson = soa.ResponsiblePerson;
if (responsiblePerson.EndsWith(_serverDomain))
@@ -373,9 +373,9 @@ namespace DnsServerCore.Dns.ZoneManagers
#region public
public AuthZoneInfo CreatePrimaryZone(string domain, string masterNameServer, bool @internal)
public AuthZoneInfo CreatePrimaryZone(string domain, string primaryNameServer, bool @internal)
{
AuthZone authZone = new PrimaryZone(_dnsServer, domain, masterNameServer, @internal);
AuthZone authZone = new PrimaryZone(_dnsServer, domain, primaryNameServer, @internal);
if (_root.TryAdd(authZone))
return new AuthZoneInfo(authZone);
@@ -393,9 +393,9 @@ namespace DnsServerCore.Dns.ZoneManagers
return null;
}
public AuthZoneInfo CreateSecondaryZone(string domain, string masterNameServer = null, string glueAddresses = null)
public AuthZoneInfo CreateSecondaryZone(string domain, string primaryNameServer = null, string glueAddresses = null)
{
AuthZone authZone = new SecondaryZone(_dnsServer, domain, masterNameServer, glueAddresses);
AuthZone authZone = new SecondaryZone(_dnsServer, domain, primaryNameServer, glueAddresses);
if (_root.TryAdd(authZone))
{
@@ -406,9 +406,9 @@ namespace DnsServerCore.Dns.ZoneManagers
return null;
}
public AuthZoneInfo CreateStubZone(string domain, string masterNameServer = null, string glueAddresses = null)
public AuthZoneInfo CreateStubZone(string domain, string primaryNameServer = null, string glueAddresses = null)
{
AuthZone authZone = new StubZone(_dnsServer, domain, masterNameServer, glueAddresses);
AuthZone authZone = new StubZone(_dnsServer, domain, primaryNameServer, glueAddresses);
if (_root.TryAdd(authZone))
{

View File

@@ -69,7 +69,7 @@ namespace DnsServerCore.Dns.ZoneManagers
private void UpdateServerDomain(string serverDomain)
{
_soaRecord = new DnsSOARecord(serverDomain, "hostmaster." + serverDomain, 1, 14400, 3600, 604800, 900);
_soaRecord = new DnsSOARecord(serverDomain, "hostadmin." + serverDomain, 1, 14400, 3600, 604800, 900);
_nsRecord = new DnsNSRecord(serverDomain);
}
@@ -406,7 +406,7 @@ namespace DnsServerCore.Dns.ZoneManagers
public string ServerDomain
{
get { return _soaRecord.MasterNameServer; }
get { return _soaRecord.PrimaryNameServer; }
set { UpdateServerDomain(value); }
}

View File

@@ -59,7 +59,7 @@ namespace DnsServerCore.Dns.ZoneManagers
private void UpdateServerDomain(string serverDomain)
{
_soaRecord = new DnsSOARecord(serverDomain, "hostmaster." + serverDomain, 1, 14400, 3600, 604800, 900);
_soaRecord = new DnsSOARecord(serverDomain, "hostadmin." + serverDomain, 1, 14400, 3600, 604800, 900);
_nsRecord = new DnsNSRecord(serverDomain);
}
@@ -189,7 +189,7 @@ namespace DnsServerCore.Dns.ZoneManagers
public string ServerDomain
{
get { return _soaRecord.MasterNameServer; }
get { return _soaRecord.PrimaryNameServer; }
set { UpdateServerDomain(value); }
}

View File

@@ -55,16 +55,16 @@ namespace DnsServerCore.Dns.Zones
_notifyTimer = new Timer(NotifyTimerCallback, null, Timeout.Infinite, Timeout.Infinite);
}
public PrimaryZone(DnsServer dnsServer, string name, string masterNameServer, bool @internal)
public PrimaryZone(DnsServer dnsServer, string name, string primaryNameServer, bool @internal)
: base(name)
{
_dnsServer = dnsServer;
_internal = @internal;
DnsSOARecord soa = new DnsSOARecord(masterNameServer, "hostmaster." + masterNameServer, 1, 14400, 3600, 604800, 900);
DnsSOARecord soa = new DnsSOARecord(primaryNameServer, "hostadmin." + primaryNameServer, 1, 14400, 3600, 604800, 900);
_entries[DnsResourceRecordType.SOA] = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.SOA, DnsClass.IN, soa.Refresh, soa) };
_entries[DnsResourceRecordType.NS] = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.MasterNameServer)) };
_entries[DnsResourceRecordType.NS] = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.PrimaryNameServer)) };
_notifyTimer = new Timer(NotifyTimerCallback, null, Timeout.Infinite, Timeout.Infinite);
}
@@ -115,7 +115,7 @@ namespace DnsServerCore.Dns.Zones
{
string nsDomain = (nsRecord.RDATA as DnsNSRecord).NameServer;
if (soa.MasterNameServer.Equals(nsDomain, StringComparison.OrdinalIgnoreCase))
if (soa.PrimaryNameServer.Equals(nsDomain, StringComparison.OrdinalIgnoreCase))
continue; //dont notify self
IReadOnlyList<DnsResourceRecord> glueRecords = nsRecord.GetGlueRecords();
@@ -243,7 +243,7 @@ namespace DnsServerCore.Dns.Zones
else
serial = 0;
DnsResourceRecord newRecord = new DnsResourceRecord(record.Name, record.Type, record.Class, record.TtlValue, new DnsSOARecord(soa.MasterNameServer, soa.ResponsiblePerson, serial, soa.Refresh, soa.Retry, soa.Expire, soa.Minimum)) { Tag = record.Tag };
DnsResourceRecord newRecord = new DnsResourceRecord(record.Name, record.Type, record.Class, record.TtlValue, new DnsSOARecord(soa.PrimaryNameServer, soa.ResponsiblePerson, serial, soa.Refresh, soa.Retry, soa.Expire, soa.Minimum)) { Tag = record.Tag };
_entries[DnsResourceRecordType.SOA] = new DnsResourceRecord[] { newRecord };
}

View File

@@ -58,12 +58,12 @@ namespace DnsServerCore.Dns.Zones
_refreshTimer = new Timer(RefreshTimerCallback, null, Timeout.Infinite, Timeout.Infinite);
}
public SecondaryZone(DnsServer dnsServer, string name, string masterNameServer = null, string glueAddresses = null)
public SecondaryZone(DnsServer dnsServer, string name, string primaryNameServer = null, string glueAddresses = null)
: base(name)
{
_dnsServer = dnsServer;
if (masterNameServer == null)
if (primaryNameServer == null)
{
DnsDatagram soaResponse = _dnsServer.DirectQuery(new DnsQuestionRecord(name, DnsResourceRecordType.SOA, DnsClass.IN));
if ((soaResponse == null) || (soaResponse.Answer.Count == 0) || (soaResponse.Answer[0].Type != DnsResourceRecordType.SOA))
@@ -98,10 +98,10 @@ namespace DnsServerCore.Dns.Zones
}
else
{
DnsSOARecord soa = new DnsSOARecord(masterNameServer, "hostmaster." + masterNameServer, 1, 14400, 3600, 604800, 900);
DnsSOARecord soa = new DnsSOARecord(primaryNameServer, "hostadmin." + primaryNameServer, 1, 14400, 3600, 604800, 900);
DnsResourceRecord[] soaRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.SOA, DnsClass.IN, soa.Refresh, soa) };
DnsResourceRecord[] nsRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.MasterNameServer)) }; ;
DnsResourceRecord[] nsRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.PrimaryNameServer)) }; ;
if (glueAddresses != null)
{
@@ -154,7 +154,7 @@ namespace DnsServerCore.Dns.Zones
_isExpired = DateTime.UtcNow > _expiry;
//get primary name server addresses
string primaryNameServer = soa.MasterNameServer;
string primaryNameServer = soa.PrimaryNameServer;
List<NameServerAddress> primaryNameServers = new List<NameServerAddress>();
IReadOnlyList<DnsResourceRecord> glueRecords = soaRecord.GetGlueRecords();

View File

@@ -58,12 +58,12 @@ namespace DnsServerCore.Dns.Zones
_refreshTimer = new Timer(RefreshTimerCallback, null, Timeout.Infinite, Timeout.Infinite);
}
public StubZone(DnsServer dnsServer, string name, string masterNameServer = null, string glueAddresses = null)
public StubZone(DnsServer dnsServer, string name, string primaryNameServer = null, string glueAddresses = null)
: base(name)
{
_dnsServer = dnsServer;
if (masterNameServer == null)
if (primaryNameServer == null)
{
DnsDatagram soaResponse = _dnsServer.DirectQuery(new DnsQuestionRecord(name, DnsResourceRecordType.SOA, DnsClass.IN));
if ((soaResponse == null) || (soaResponse.Answer.Count == 0) || (soaResponse.Answer[0].Type != DnsResourceRecordType.SOA))
@@ -101,10 +101,10 @@ namespace DnsServerCore.Dns.Zones
}
else
{
DnsSOARecord soa = new DnsSOARecord(masterNameServer, "hostmaster." + masterNameServer, 1, 14400, 3600, 604800, 900);
DnsSOARecord soa = new DnsSOARecord(primaryNameServer, "hostadmin." + primaryNameServer, 1, 14400, 3600, 604800, 900);
DnsResourceRecord[] soaRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.SOA, DnsClass.IN, soa.Refresh, soa) };
DnsResourceRecord[] nsRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.MasterNameServer)) }; ;
DnsResourceRecord[] nsRR = new DnsResourceRecord[] { new DnsResourceRecord(_name, DnsResourceRecordType.NS, DnsClass.IN, soa.Refresh, new DnsNSRecord(soa.PrimaryNameServer)) }; ;
if (glueAddresses != null)
{

View File

@@ -2071,15 +2071,15 @@ namespace DnsServerCore
case AuthZoneType.Secondary:
{
string strMasterNameServer = request.QueryString["masterNameServer"];
if (string.IsNullOrEmpty(strMasterNameServer))
strMasterNameServer = null;
string strPrimaryNameServer = request.QueryString["primaryNameServer"];
if (string.IsNullOrEmpty(strPrimaryNameServer))
strPrimaryNameServer = null;
string strGlueAddresses = request.QueryString["glueAddresses"];
if (string.IsNullOrEmpty(strGlueAddresses))
strGlueAddresses = null;
if (_dnsServer.AuthZoneManager.CreateSecondaryZone(domain, strMasterNameServer, strGlueAddresses) != null)
if (_dnsServer.AuthZoneManager.CreateSecondaryZone(domain, strPrimaryNameServer, strGlueAddresses) != null)
{
_log.Write(GetRequestRemoteEndPoint(request), "[" + GetSession(request).Username + "] Authoritative secondary zone was created: " + domain);
_dnsServer.AuthZoneManager.SaveZoneFile(domain);
@@ -2089,15 +2089,15 @@ namespace DnsServerCore
case AuthZoneType.Stub:
{
string strMasterNameServer = request.QueryString["masterNameServer"];
if (string.IsNullOrEmpty(strMasterNameServer))
strMasterNameServer = null;
string strPrimaryNameServer = request.QueryString["primaryNameServer"];
if (string.IsNullOrEmpty(strPrimaryNameServer))
strPrimaryNameServer = null;
string strGlueAddresses = request.QueryString["glueAddresses"];
if (string.IsNullOrEmpty(strGlueAddresses))
strGlueAddresses = null;
if (_dnsServer.AuthZoneManager.CreateStubZone(domain, strMasterNameServer, strGlueAddresses) != null)
if (_dnsServer.AuthZoneManager.CreateStubZone(domain, strPrimaryNameServer, strGlueAddresses) != null)
{
_log.Write(GetRequestRemoteEndPoint(request), "[" + GetSession(request).Username + "] Stub zone was created: " + domain);
_dnsServer.AuthZoneManager.SaveZoneFile(domain);
@@ -2490,8 +2490,8 @@ namespace DnsServerCore
DnsSOARecord rdata = record.RDATA as DnsSOARecord;
if (rdata != null)
{
jsonWriter.WritePropertyName("masterNameServer");
jsonWriter.WriteValue(rdata.MasterNameServer);
jsonWriter.WritePropertyName("primaryNameServer");
jsonWriter.WriteValue(rdata.PrimaryNameServer);
jsonWriter.WritePropertyName("responsiblePerson");
jsonWriter.WriteValue(rdata.ResponsiblePerson);
@@ -2938,9 +2938,9 @@ namespace DnsServerCore
case DnsResourceRecordType.SOA:
{
string masterNameServer = request.QueryString["masterNameServer"];
if (string.IsNullOrEmpty(masterNameServer))
throw new WebServiceException("Parameter 'masterNameServer' missing.");
string primaryNameServer = request.QueryString["primaryNameServer"];
if (string.IsNullOrEmpty(primaryNameServer))
throw new WebServiceException("Parameter 'primaryNameServer' missing.");
string responsiblePerson = request.QueryString["responsiblePerson"];
if (string.IsNullOrEmpty(responsiblePerson))
@@ -2966,7 +2966,7 @@ namespace DnsServerCore
if (string.IsNullOrEmpty(minimum))
throw new WebServiceException("Parameter 'minimum' missing.");
DnsResourceRecord soaRecord = new DnsResourceRecord(domain, type, DnsClass.IN, ttl, new DnsSOARecord(masterNameServer, responsiblePerson, uint.Parse(serial), uint.Parse(refresh), uint.Parse(retry), uint.Parse(expire), uint.Parse(minimum)));
DnsResourceRecord soaRecord = new DnsResourceRecord(domain, type, DnsClass.IN, ttl, new DnsSOARecord(primaryNameServer, responsiblePerson, uint.Parse(serial), uint.Parse(refresh), uint.Parse(retry), uint.Parse(expire), uint.Parse(minimum)));
string glueAddresses = request.QueryString["glue"];
if (!string.IsNullOrEmpty(glueAddresses))

View File

@@ -1456,10 +1456,10 @@
</div>
<div class="form-group" id="divAddZoneMasterNameServer">
<label for="txtAddZoneMasterNameServer" class="col-sm-4 control-label">Master Name Server (Optional)</label>
<div class="form-group" id="divAddZonePrimaryNameServer">
<label for="txtAddZonePrimaryNameServer" class="col-sm-4 control-label">Primary Name Server (Optional)</label>
<div class="col-sm-7">
<input id="txtAddZoneMasterNameServer" type="text" class="form-control" placeholder="ns1.example.com">
<input id="txtAddZonePrimaryNameServer" type="text" class="form-control" placeholder="ns1.example.com">
</div>
</div>
@@ -1608,9 +1608,9 @@
<div id="divEditRecordDataSoa" style="display: none;">
<div class="form-group">
<label for="txtEditRecordDataSoaMasterNameServer" class="col-sm-4 control-label">Master Name Server</label>
<label for="txtEditRecordDataSoaPrimaryNameServer" class="col-sm-4 control-label">Primary Name Server</label>
<div class="col-sm-7">
<input id="txtEditRecordDataSoaMasterNameServer" type="text" class="form-control">
<input id="txtEditRecordDataSoaPrimaryNameServer" type="text" class="form-control">
</div>
</div>
<div class="form-group">

View File

@@ -23,7 +23,7 @@ $(function () {
var zoneType = $('input[name=rdAddZoneType]:checked').val();
switch (zoneType) {
case "Primary":
$("#divAddZoneMasterNameServer").hide();
$("#divAddZonePrimaryNameServer").hide();
$("#divAddZoneGlueAddresses").hide();
$("#divAddZoneForwarderProtocol").hide();
$("#divAddZoneForwarder").hide();
@@ -31,14 +31,14 @@ $(function () {
case "Secondary":
case "Stub":
$("#divAddZoneMasterNameServer").show();
$("#divAddZonePrimaryNameServer").show();
$("#divAddZoneGlueAddresses").show();
$("#divAddZoneForwarderProtocol").hide();
$("#divAddZoneForwarder").hide();
break;
case "Forwarder":
$("#divAddZoneMasterNameServer").hide();
$("#divAddZonePrimaryNameServer").hide();
$("#divAddZoneGlueAddresses").hide();
$("#divAddZoneForwarderProtocol").show();
$("#divAddZoneForwarder").show();
@@ -222,12 +222,12 @@ function showAddZoneModal() {
$("#txtAddZone").val("");
$("#rdAddZoneTypePrimary").prop("checked", true);
$("#txtAddZoneMasterNameServer").val("");
$("#txtAddZonePrimaryNameServer").val("");
$("#txtAddZoneGlueAddresses").val("");
$("#rdAddZoneForwarderProtocolUdp").prop("checked", true);
$("#txtAddZoneForwarder").val("");
$("#divAddZoneMasterNameServer").hide();
$("#divAddZonePrimaryNameServer").hide();
$("#divAddZoneGlueAddresses").hide();
$("#divAddZoneForwarderProtocol").hide();
$("#divAddZoneForwarder").hide();
@@ -254,7 +254,7 @@ function addZone() {
switch (type) {
case "Secondary":
case "Stub":
parameters = "&masterNameServer=" + $("#txtAddZoneMasterNameServer").val() + "&glueAddresses=" + $("#txtAddZoneGlueAddresses").val();
parameters = "&primaryNameServer=" + $("#txtAddZonePrimaryNameServer").val() + "&glueAddresses=" + $("#txtAddZoneGlueAddresses").val();
break;
case "Forwarder":
@@ -414,7 +414,7 @@ function showEditZone(domain) {
break;
case "SOA":
tableHtmlRows += "<td style=\"overflow-wrap: anywhere;\"><b>Master Name Server:</b> " + htmlEncode(records[i].rData.masterNameServer) +
tableHtmlRows += "<td style=\"overflow-wrap: anywhere;\"><b>Primary Name Server:</b> " + htmlEncode(records[i].rData.primaryNameServer) +
"<br /><b>Responsible Person:</b> " + htmlEncode(records[i].rData.responsiblePerson) +
"<br /><b>Serial:</b> " + htmlEncode(records[i].rData.serial) +
"<br /><b>Refresh:</b> " + htmlEncode(records[i].rData.refresh) +
@@ -432,7 +432,7 @@ function showEditZone(domain) {
tableHtmlRows += "</td>";
additionalDataAttributes += "data-record-mname=\"" + htmlEncode(records[i].rData.masterNameServer) + "\" " +
additionalDataAttributes += "data-record-mname=\"" + htmlEncode(records[i].rData.primaryNameServer) + "\" " +
"data-record-rperson=\"" + htmlEncode(records[i].rData.responsiblePerson) + "\" " +
"data-record-serial=\"" + htmlEncode(records[i].rData.serial) + "\" " +
"data-record-refresh=\"" + htmlEncode(records[i].rData.refresh) + "\" " +
@@ -539,7 +539,7 @@ function clearAddEditForm() {
$("#txtAddEditRecordDataNsGlue").val("");
$("#divEditRecordDataSoa").hide();
$("#txtEditRecordDataSoaMasterNameServer").val("");
$("#txtEditRecordDataSoaPrimaryNameServer").val("");
$("#txtEditRecordDataSoaResponsiblePerson").val("");
$("#txtEditRecordDataSoaSerial").val("");
$("#txtEditRecordDataSoaRefresh").val("");
@@ -622,7 +622,7 @@ function modifyAddRecordForm() {
break;
case "SOA":
$("#txtEditRecordDataSoaMasterNameServer").val("");
$("#txtEditRecordDataSoaPrimaryNameServer").val("");
$("#txtEditRecordDataSoaResponsiblePerson").val("");
$("#txtEditRecordDataSoaSerial").val("");
$("#txtEditRecordDataSoaRefresh").val("");
@@ -910,7 +910,7 @@ function showEditRecordModal(objBtn) {
break;
case "SOA":
$("#txtEditRecordDataSoaMasterNameServer").val(divData.attr("data-record-mname"));
$("#txtEditRecordDataSoaPrimaryNameServer").val(divData.attr("data-record-mname"));
$("#txtEditRecordDataSoaResponsiblePerson").val(divData.attr("data-record-rperson"));
$("#txtEditRecordDataSoaSerial").val(divData.attr("data-record-serial"));
$("#txtEditRecordDataSoaRefresh").val(divData.attr("data-record-refresh"));
@@ -1053,10 +1053,10 @@ function updateRecord() {
break;
case "SOA":
var masterNameServer = $("#txtEditRecordDataSoaMasterNameServer").val();
if (masterNameServer === "") {
showAlert("warning", "Missing!", "Please enter a value for master name server.", divAddEditRecordAlert);
$("#txtEditRecordDataSoaMasterNameServer").focus();
var primaryNameServer = $("#txtEditRecordDataSoaPrimaryNameServer").val();
if (primaryNameServer === "") {
showAlert("warning", "Missing!", "Please enter a value for primary name server.", divAddEditRecordAlert);
$("#txtEditRecordDataSoaPrimaryNameServer").focus();
return;
}
@@ -1104,7 +1104,7 @@ function updateRecord() {
var glue = $("#txtEditRecordDataSoaGlue").val();
apiUrl += "&masterNameServer=" + encodeURIComponent(masterNameServer) +
apiUrl += "&primaryNameServer=" + encodeURIComponent(primaryNameServer) +
"&responsiblePerson=" + encodeURIComponent(responsiblePerson) +
"&serial=" + encodeURIComponent(serial) +
"&refresh=" + encodeURIComponent(refresh) +