DNS SRV Record support. Only supported with MS DNS Provider
This commit is contained in:
parent
a327e27e15
commit
452fcb7f47
28 changed files with 6890 additions and 4002 deletions
|
@ -1 +0,0 @@
|
||||||
INSERT INTO Quotas (QuotaID, GroupID, QuotaOrder, QuotaName,QuotaDescription, QuotaTypeID, ServiceQuota) VALUES (400, 20, 3, 'HostedSharePoint.UseSharedSSL' ,'Use shared SSL Root', 1, 0)
|
|
|
@ -1174,7 +1174,7 @@ INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
||||||
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
||||||
WHERE D.IsInstantAlias = 0 AND
|
WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND
|
||||||
((@Recursive = 0 AND D.PackageID = @PackageID)
|
((@Recursive = 0 AND D.PackageID = @PackageID)
|
||||||
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1))
|
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1))
|
||||||
AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
|
AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
|
||||||
|
@ -3306,6 +3306,7 @@ CREATE PROCEDURE CheckDomain
|
||||||
(
|
(
|
||||||
@PackageID int,
|
@PackageID int,
|
||||||
@DomainName nvarchar(100),
|
@DomainName nvarchar(100),
|
||||||
|
@IsDomainPointer bit,
|
||||||
@Result int OUTPUT
|
@Result int OUTPUT
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
|
@ -3322,7 +3323,7 @@ SET @Result = 0 -- OK
|
||||||
-- check if the domain already exists
|
-- check if the domain already exists
|
||||||
IF EXISTS(
|
IF EXISTS(
|
||||||
SELECT DomainID FROM Domains
|
SELECT DomainID FROM Domains
|
||||||
WHERE DomainName = @DomainName
|
WHERE DomainName = @DomainName AND IsDomainPointer = @IsDomainPointer
|
||||||
)
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
SET @Result = -1
|
SET @Result = -1
|
||||||
|
@ -15772,6 +15773,9 @@ CREATE TABLE [dbo].[GlobalDnsRecords](
|
||||||
[ServerID] [int] NULL,
|
[ServerID] [int] NULL,
|
||||||
[PackageID] [int] NULL,
|
[PackageID] [int] NULL,
|
||||||
[IPAddressID] [int] NULL,
|
[IPAddressID] [int] NULL,
|
||||||
|
[SrvPriority] [int] NULL,
|
||||||
|
[SrvWeight] [int] NULL,
|
||||||
|
[SrvPort] [int] NULL,
|
||||||
CONSTRAINT [PK_GlobalDnsRecords] PRIMARY KEY CLUSTERED
|
CONSTRAINT [PK_GlobalDnsRecords] PRIMARY KEY CLUSTERED
|
||||||
(
|
(
|
||||||
[RecordID] ASC
|
[RecordID] ASC
|
||||||
|
@ -23347,6 +23351,9 @@ CREATE PROCEDURE UpdateDnsRecord
|
||||||
@RecordName nvarchar(50),
|
@RecordName nvarchar(50),
|
||||||
@RecordData nvarchar(500),
|
@RecordData nvarchar(500),
|
||||||
@MXPriority int,
|
@MXPriority int,
|
||||||
|
@SrvPriority int,
|
||||||
|
@SrvWeight int,
|
||||||
|
@SrvPort int,
|
||||||
@IPAddressID int
|
@IPAddressID int
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
|
@ -23377,6 +23384,9 @@ SET
|
||||||
RecordName = @RecordName,
|
RecordName = @RecordName,
|
||||||
RecordData = @RecordData,
|
RecordData = @RecordData,
|
||||||
MXPriority = @MXPriority,
|
MXPriority = @MXPriority,
|
||||||
|
SrvPriority = @SrvPriority,
|
||||||
|
SrvWeight = @SrvWeight,
|
||||||
|
SrvPort = @SrvPort,
|
||||||
IPAddressID = @IPAddressID
|
IPAddressID = @IPAddressID
|
||||||
WHERE
|
WHERE
|
||||||
RecordID = @RecordID
|
RecordID = @RecordID
|
||||||
|
@ -23484,6 +23494,9 @@ SELECT
|
||||||
NR.RecordName,
|
NR.RecordName,
|
||||||
NR.RecordData,
|
NR.RecordData,
|
||||||
NR.MXPriority,
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
NR.IPAddressID
|
NR.IPAddressID
|
||||||
FROM
|
FROM
|
||||||
GlobalDnsRecords AS NR
|
GlobalDnsRecords AS NR
|
||||||
|
@ -23669,6 +23682,9 @@ CREATE PROCEDURE AddDnsRecord
|
||||||
@RecordName nvarchar(50),
|
@RecordName nvarchar(50),
|
||||||
@RecordData nvarchar(500),
|
@RecordData nvarchar(500),
|
||||||
@MXPriority int,
|
@MXPriority int,
|
||||||
|
@SrvPriority int,
|
||||||
|
@SrvWeight int,
|
||||||
|
@SrvPort int,
|
||||||
@IPAddressID int
|
@IPAddressID int
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
|
@ -23693,8 +23709,12 @@ IF EXISTS
|
||||||
|
|
||||||
UPDATE GlobalDnsRecords
|
UPDATE GlobalDnsRecords
|
||||||
SET
|
SET
|
||||||
RecordData = RecordData,
|
RecordData = @RecordData,
|
||||||
MXPriority = MXPriority,
|
MXPriority = @MXPriority,
|
||||||
|
SrvPriority = @SrvPriority,
|
||||||
|
SrvWeight = @SrvWeight,
|
||||||
|
SrvPort = @SrvPort,
|
||||||
|
|
||||||
IPAddressID = @IPAddressID
|
IPAddressID = @IPAddressID
|
||||||
WHERE
|
WHERE
|
||||||
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
||||||
|
@ -23708,6 +23728,9 @@ ELSE
|
||||||
RecordName,
|
RecordName,
|
||||||
RecordData,
|
RecordData,
|
||||||
MXPriority,
|
MXPriority,
|
||||||
|
SrvPriority,
|
||||||
|
SrvWeight,
|
||||||
|
SrvPort,
|
||||||
IPAddressID
|
IPAddressID
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
|
@ -23719,6 +23742,9 @@ ELSE
|
||||||
@RecordName,
|
@RecordName,
|
||||||
@RecordData,
|
@RecordData,
|
||||||
@MXPriority,
|
@MXPriority,
|
||||||
|
@SrvPriority,
|
||||||
|
@SrvWeight,
|
||||||
|
@SrvPort,
|
||||||
@IPAddressID
|
@IPAddressID
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -35697,7 +35723,7 @@ BEGIN
|
||||||
GR.RecordName
|
GR.RecordName
|
||||||
FROM GlobalDNSRecords AS GR
|
FROM GlobalDNSRecords AS GR
|
||||||
WHERE GR.PackageID = @TmpPackageID
|
WHERE GR.PackageID = @TmpPackageID
|
||||||
AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records)
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
SET @ParentPackageID = NULL
|
SET @ParentPackageID = NULL
|
||||||
|
|
||||||
|
@ -35725,7 +35751,7 @@ SELECT
|
||||||
GR.RecordName
|
GR.RecordName
|
||||||
FROM GlobalDNSRecords AS GR
|
FROM GlobalDNSRecords AS GR
|
||||||
WHERE GR.ServerID = @ServerID
|
WHERE GR.ServerID = @ServerID
|
||||||
AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records)
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
|
|
||||||
-- select SERVICES DNS records
|
-- select SERVICES DNS records
|
||||||
|
@ -35739,7 +35765,7 @@ SELECT
|
||||||
GR.RecordName
|
GR.RecordName
|
||||||
FROM GlobalDNSRecords AS GR
|
FROM GlobalDNSRecords AS GR
|
||||||
WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID)
|
WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID)
|
||||||
AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records)
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -35751,12 +35777,16 @@ SELECT
|
||||||
NR.RecordName,
|
NR.RecordName,
|
||||||
NR.RecordData,
|
NR.RecordData,
|
||||||
NR.MXPriority,
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
NR.IPAddressID,
|
NR.IPAddressID,
|
||||||
ISNULL(IP.ExternalIP, '') AS ExternalIP,
|
ISNULL(IP.ExternalIP, '') AS ExternalIP,
|
||||||
ISNULL(IP.InternalIP, '') AS InternalIP,
|
ISNULL(IP.InternalIP, '') AS InternalIP,
|
||||||
CASE
|
CASE
|
||||||
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
ELSE NR.RecordData
|
ELSE NR.RecordData
|
||||||
END AS FullRecordData,
|
END AS FullRecordData,
|
||||||
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress
|
||||||
|
@ -35855,10 +35885,14 @@ SELECT
|
||||||
CASE
|
CASE
|
||||||
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
ELSE NR.RecordData
|
ELSE NR.RecordData
|
||||||
END AS FullRecordData,
|
END AS FullRecordData,
|
||||||
NR.RecordData,
|
NR.RecordData,
|
||||||
NR.MXPriority,
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
NR.IPAddressID,
|
NR.IPAddressID,
|
||||||
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
IP.ExternalIP,
|
IP.ExternalIP,
|
||||||
|
@ -35958,9 +35992,13 @@ SELECT
|
||||||
CASE
|
CASE
|
||||||
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
ELSE NR.RecordData
|
ELSE NR.RecordData
|
||||||
END AS FullRecordData,
|
END AS FullRecordData,
|
||||||
NR.MXPriority,
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
NR.IPAddressID,
|
NR.IPAddressID,
|
||||||
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
IP.ExternalIP,
|
IP.ExternalIP,
|
||||||
|
@ -36005,6 +36043,7 @@ RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
@ -36062,10 +36101,14 @@ SELECT
|
||||||
NR.RecordName,
|
NR.RecordName,
|
||||||
NR.RecordData,
|
NR.RecordData,
|
||||||
NR.MXPriority,
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
NR.IPAddressID,
|
NR.IPAddressID,
|
||||||
CASE
|
CASE
|
||||||
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
ELSE NR.RecordData
|
ELSE NR.RecordData
|
||||||
END AS FullRecordData,
|
END AS FullRecordData,
|
||||||
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
|
|
|
@ -854,3 +854,656 @@ BEGIN
|
||||||
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'')
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'')
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[GlobalDnsRecords] ADD
|
||||||
|
[SrvPriority] [int] NULL,
|
||||||
|
[SrvWeight] [int] NULL,
|
||||||
|
[SrvPort] [int] NULL
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[AddDnsRecord]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@ServiceID int,
|
||||||
|
@ServerID int,
|
||||||
|
@PackageID int,
|
||||||
|
@RecordType nvarchar(10),
|
||||||
|
@RecordName nvarchar(50),
|
||||||
|
@RecordData nvarchar(500),
|
||||||
|
@MXPriority int,
|
||||||
|
@SrvPriority int,
|
||||||
|
@SrvWeight int,
|
||||||
|
@SrvPort int,
|
||||||
|
@IPAddressID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
||||||
|
RAISERROR('You should have administrator role to perform such operation', 16, 1)
|
||||||
|
|
||||||
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
IF @ServiceID = 0 SET @ServiceID = NULL
|
||||||
|
IF @ServerID = 0 SET @ServerID = NULL
|
||||||
|
IF @PackageID = 0 SET @PackageID = NULL
|
||||||
|
IF @IPAddressID = 0 SET @IPAddressID = NULL
|
||||||
|
|
||||||
|
IF EXISTS
|
||||||
|
(
|
||||||
|
SELECT RecordID FROM GlobalDnsRecords WHERE
|
||||||
|
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
||||||
|
AND RecordName = @RecordName AND RecordType = @RecordType
|
||||||
|
)
|
||||||
|
|
||||||
|
UPDATE GlobalDnsRecords
|
||||||
|
SET
|
||||||
|
RecordData = RecordData,
|
||||||
|
MXPriority = MXPriority,
|
||||||
|
SrvPriority = SrvPriority,
|
||||||
|
SrvWeight = SrvWeight,
|
||||||
|
SrvPort = SrvPort,
|
||||||
|
|
||||||
|
IPAddressID = @IPAddressID
|
||||||
|
WHERE
|
||||||
|
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
||||||
|
ELSE
|
||||||
|
INSERT INTO GlobalDnsRecords
|
||||||
|
(
|
||||||
|
ServiceID,
|
||||||
|
ServerID,
|
||||||
|
PackageID,
|
||||||
|
RecordType,
|
||||||
|
RecordName,
|
||||||
|
RecordData,
|
||||||
|
MXPriority,
|
||||||
|
SrvPriority,
|
||||||
|
SrvWeight,
|
||||||
|
SrvPort,
|
||||||
|
IPAddressID
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
@ServiceID,
|
||||||
|
@ServerID,
|
||||||
|
@PackageID,
|
||||||
|
@RecordType,
|
||||||
|
@RecordName,
|
||||||
|
@RecordData,
|
||||||
|
@MXPriority,
|
||||||
|
@SrvPriority,
|
||||||
|
@SrvWeight,
|
||||||
|
@SrvPort,
|
||||||
|
@IPAddressID
|
||||||
|
)
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[CheckDomain]
|
||||||
|
(
|
||||||
|
@PackageID int,
|
||||||
|
@DomainName nvarchar(100),
|
||||||
|
@IsDomainPointer bit,
|
||||||
|
@Result int OUTPUT
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
/*
|
||||||
|
@Result values:
|
||||||
|
0 - OK
|
||||||
|
-1 - already exists
|
||||||
|
-2 - sub-domain of prohibited domain
|
||||||
|
*/
|
||||||
|
|
||||||
|
SET @Result = 0 -- OK
|
||||||
|
|
||||||
|
-- check if the domain already exists
|
||||||
|
IF EXISTS(
|
||||||
|
SELECT DomainID FROM Domains
|
||||||
|
WHERE DomainName = @DomainName AND IsDomainPointer = @IsDomainPointer
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
SET @Result = -1
|
||||||
|
RETURN
|
||||||
|
END
|
||||||
|
|
||||||
|
-- check if this is a sub-domain of other domain
|
||||||
|
-- that is not allowed for 3rd level hosting
|
||||||
|
|
||||||
|
DECLARE @UserID int
|
||||||
|
SELECT @UserID = UserID FROM Packages
|
||||||
|
WHERE PackageID = @PackageID
|
||||||
|
|
||||||
|
-- find sub-domains
|
||||||
|
DECLARE @DomainUserID int, @HostingAllowed bit
|
||||||
|
SELECT
|
||||||
|
@DomainUserID = P.UserID,
|
||||||
|
@HostingAllowed = D.HostingAllowed
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
WHERE CHARINDEX('.' + DomainName, @DomainName) > 0
|
||||||
|
AND (CHARINDEX('.' + DomainName, @DomainName) + LEN('.' + DomainName)) = LEN(@DomainName) + 1
|
||||||
|
|
||||||
|
-- this is a domain of other user
|
||||||
|
IF @UserID <> @DomainUserID AND @HostingAllowed = 0
|
||||||
|
BEGIN
|
||||||
|
SET @Result = -2
|
||||||
|
RETURN
|
||||||
|
END
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDnsRecord]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@RecordID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
DECLARE @ServiceID int, @ServerID int, @PackageID int
|
||||||
|
SELECT
|
||||||
|
@ServiceID = ServiceID,
|
||||||
|
@ServerID = ServerID,
|
||||||
|
@PackageID = PackageID
|
||||||
|
FROM GlobalDnsRecords
|
||||||
|
WHERE
|
||||||
|
RecordID = @RecordID
|
||||||
|
|
||||||
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
||||||
|
RAISERROR('You are not allowed to perform this operation', 16, 1)
|
||||||
|
|
||||||
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
NR.RecordID,
|
||||||
|
NR.ServiceID,
|
||||||
|
NR.ServerID,
|
||||||
|
NR.PackageID,
|
||||||
|
NR.RecordType,
|
||||||
|
NR.RecordName,
|
||||||
|
NR.RecordData,
|
||||||
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
|
NR.IPAddressID
|
||||||
|
FROM
|
||||||
|
GlobalDnsRecords AS NR
|
||||||
|
WHERE NR.RecordID = @RecordID
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByPackage]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@PackageID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
NR.RecordID,
|
||||||
|
NR.ServiceID,
|
||||||
|
NR.ServerID,
|
||||||
|
NR.PackageID,
|
||||||
|
NR.RecordType,
|
||||||
|
NR.RecordName,
|
||||||
|
NR.RecordData,
|
||||||
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
|
NR.IPAddressID,
|
||||||
|
CASE
|
||||||
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
|
ELSE NR.RecordData
|
||||||
|
END AS FullRecordData,
|
||||||
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
|
IP.ExternalIP,
|
||||||
|
IP.InternalIP
|
||||||
|
FROM
|
||||||
|
GlobalDnsRecords AS NR
|
||||||
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
||||||
|
WHERE NR.PackageID = @PackageID
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
USE [WebsitePanel]
|
||||||
|
GO
|
||||||
|
/****** Object: StoredProcedure [dbo].[GetDnsRecordsByServer] Script Date: 06/01/2011 23:42:41 ******/
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByServer]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@ServerID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
NR.RecordID,
|
||||||
|
NR.ServiceID,
|
||||||
|
NR.ServerID,
|
||||||
|
NR.PackageID,
|
||||||
|
NR.RecordType,
|
||||||
|
NR.RecordName,
|
||||||
|
NR.RecordData,
|
||||||
|
CASE
|
||||||
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
|
ELSE NR.RecordData
|
||||||
|
END AS FullRecordData,
|
||||||
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
|
NR.IPAddressID,
|
||||||
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
|
IP.ExternalIP,
|
||||||
|
IP.InternalIP
|
||||||
|
FROM
|
||||||
|
GlobalDnsRecords AS NR
|
||||||
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
||||||
|
WHERE
|
||||||
|
NR.ServerID = @ServerID
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByService]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@ServiceID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
NR.RecordID,
|
||||||
|
NR.ServiceID,
|
||||||
|
NR.ServerID,
|
||||||
|
NR.PackageID,
|
||||||
|
NR.RecordType,
|
||||||
|
NR.RecordName,
|
||||||
|
CASE
|
||||||
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
|
ELSE NR.RecordData
|
||||||
|
END AS FullRecordData,
|
||||||
|
NR.RecordData,
|
||||||
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
|
NR.IPAddressID,
|
||||||
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
||||||
|
IP.ExternalIP,
|
||||||
|
IP.InternalIP
|
||||||
|
FROM
|
||||||
|
GlobalDnsRecords AS NR
|
||||||
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
||||||
|
WHERE
|
||||||
|
NR.ServiceID = @ServiceID
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDnsRecordsTotal]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@PackageID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
-- create temp table for DNS records
|
||||||
|
DECLARE @Records TABLE
|
||||||
|
(
|
||||||
|
RecordID int,
|
||||||
|
RecordType nvarchar(10) COLLATE DATABASE_DEFAULT,
|
||||||
|
RecordName nvarchar(50) COLLATE DATABASE_DEFAULT
|
||||||
|
)
|
||||||
|
|
||||||
|
-- select PACKAGES DNS records
|
||||||
|
DECLARE @ParentPackageID int, @TmpPackageID int
|
||||||
|
SET @TmpPackageID = @PackageID
|
||||||
|
|
||||||
|
WHILE 10 = 10
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
-- get DNS records for the current package
|
||||||
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
||||||
|
SELECT
|
||||||
|
GR.RecordID,
|
||||||
|
GR.RecordType,
|
||||||
|
GR.RecordName
|
||||||
|
FROM GlobalDNSRecords AS GR
|
||||||
|
WHERE GR.PackageID = @TmpPackageID
|
||||||
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
|
SET @ParentPackageID = NULL
|
||||||
|
|
||||||
|
-- get parent package
|
||||||
|
SELECT
|
||||||
|
@ParentPackageID = ParentPackageID
|
||||||
|
FROM Packages
|
||||||
|
WHERE PackageID = @TmpPackageID
|
||||||
|
|
||||||
|
IF @ParentPackageID IS NULL -- the last parent
|
||||||
|
BREAK
|
||||||
|
|
||||||
|
SET @TmpPackageID = @ParentPackageID
|
||||||
|
END
|
||||||
|
|
||||||
|
-- select SERVER DNS records
|
||||||
|
DECLARE @ServerID int
|
||||||
|
SELECT @ServerID = ServerID FROM Packages
|
||||||
|
WHERE PackageID = @PackageID
|
||||||
|
|
||||||
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
||||||
|
SELECT
|
||||||
|
GR.RecordID,
|
||||||
|
GR.RecordType,
|
||||||
|
GR.RecordName
|
||||||
|
FROM GlobalDNSRecords AS GR
|
||||||
|
WHERE GR.ServerID = @ServerID
|
||||||
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
|
|
||||||
|
-- select SERVICES DNS records
|
||||||
|
-- re-distribute package services
|
||||||
|
EXEC DistributePackageServices @ActorID, @PackageID
|
||||||
|
|
||||||
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
||||||
|
SELECT
|
||||||
|
GR.RecordID,
|
||||||
|
GR.RecordType,
|
||||||
|
GR.RecordName
|
||||||
|
FROM GlobalDNSRecords AS GR
|
||||||
|
WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID)
|
||||||
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
||||||
|
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
NR.RecordID,
|
||||||
|
NR.ServiceID,
|
||||||
|
NR.ServerID,
|
||||||
|
NR.PackageID,
|
||||||
|
NR.RecordType,
|
||||||
|
NR.RecordName,
|
||||||
|
NR.RecordData,
|
||||||
|
NR.MXPriority,
|
||||||
|
NR.SrvPriority,
|
||||||
|
NR.SrvWeight,
|
||||||
|
NR.SrvPort,
|
||||||
|
NR.IPAddressID,
|
||||||
|
ISNULL(IP.ExternalIP, '') AS ExternalIP,
|
||||||
|
ISNULL(IP.InternalIP, '') AS InternalIP,
|
||||||
|
CASE
|
||||||
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
||||||
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
||||||
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
||||||
|
ELSE NR.RecordData
|
||||||
|
END AS FullRecordData,
|
||||||
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress
|
||||||
|
FROM @Records AS TR
|
||||||
|
INNER JOIN GlobalDnsRecords AS NR ON TR.RecordID = NR.RecordID
|
||||||
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomainsPaged]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@PackageID int,
|
||||||
|
@ServerID int,
|
||||||
|
@Recursive bit,
|
||||||
|
@FilterColumn nvarchar(50) = '',
|
||||||
|
@FilterValue nvarchar(50) = '',
|
||||||
|
@SortColumn nvarchar(50),
|
||||||
|
@StartRow int,
|
||||||
|
@MaximumRows int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
SET NOCOUNT ON
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
-- build query and run it to the temporary table
|
||||||
|
DECLARE @sql nvarchar(2000)
|
||||||
|
|
||||||
|
IF @SortColumn = '' OR @SortColumn IS NULL
|
||||||
|
SET @SortColumn = 'DomainName'
|
||||||
|
|
||||||
|
SET @sql = '
|
||||||
|
DECLARE @Domains TABLE
|
||||||
|
(
|
||||||
|
ItemPosition int IDENTITY(1,1),
|
||||||
|
DomainID int
|
||||||
|
)
|
||||||
|
INSERT INTO @Domains (DomainID)
|
||||||
|
SELECT
|
||||||
|
D.DomainID
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
||||||
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
||||||
|
WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND
|
||||||
|
((@Recursive = 0 AND D.PackageID = @PackageID)
|
||||||
|
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1))
|
||||||
|
AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
|
||||||
|
'
|
||||||
|
|
||||||
|
IF @FilterColumn <> '' AND @FilterValue <> ''
|
||||||
|
SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
|
||||||
|
|
||||||
|
IF @SortColumn <> '' AND @SortColumn IS NOT NULL
|
||||||
|
SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' '
|
||||||
|
|
||||||
|
SET @sql = @sql + ' SELECT COUNT(DomainID) FROM @Domains;SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer,
|
||||||
|
|
||||||
|
-- packages
|
||||||
|
P.PackageName,
|
||||||
|
|
||||||
|
-- server
|
||||||
|
ISNULL(SRV.ServerID, 0) AS ServerID,
|
||||||
|
ISNULL(SRV.ServerName, '''') AS ServerName,
|
||||||
|
ISNULL(SRV.Comments, '''') AS ServerComments,
|
||||||
|
ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
|
||||||
|
|
||||||
|
-- user
|
||||||
|
P.UserID,
|
||||||
|
U.Username,
|
||||||
|
U.FirstName,
|
||||||
|
U.LastName,
|
||||||
|
U.FullName,
|
||||||
|
U.RoleID,
|
||||||
|
U.Email
|
||||||
|
FROM @Domains AS SD
|
||||||
|
INNER JOIN Domains AS D ON SD.DomainID = D.DomainID
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
||||||
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
||||||
|
WHERE SD.ItemPosition BETWEEN @StartRow + 1 AND @StartRow + @MaximumRows'
|
||||||
|
|
||||||
|
exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ServerID int, @Recursive bit',
|
||||||
|
@StartRow, @MaximumRows, @PackageID, @FilterValue, @ServerID, @Recursive
|
||||||
|
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[UpdateDnsRecord]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@RecordID int,
|
||||||
|
@RecordType nvarchar(10),
|
||||||
|
@RecordName nvarchar(50),
|
||||||
|
@RecordData nvarchar(500),
|
||||||
|
@MXPriority int,
|
||||||
|
@SrvPriority int,
|
||||||
|
@SrvWeight int,
|
||||||
|
@SrvPort int,
|
||||||
|
@IPAddressID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
IF @IPAddressID = 0 SET @IPAddressID = NULL
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
DECLARE @ServiceID int, @ServerID int, @PackageID int
|
||||||
|
SELECT
|
||||||
|
@ServiceID = ServiceID,
|
||||||
|
@ServerID = ServerID,
|
||||||
|
@PackageID = PackageID
|
||||||
|
FROM GlobalDnsRecords
|
||||||
|
WHERE
|
||||||
|
RecordID = @RecordID
|
||||||
|
|
||||||
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
||||||
|
RAISERROR('You are not allowed to perform this operation', 16, 1)
|
||||||
|
|
||||||
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
|
||||||
|
-- update record
|
||||||
|
UPDATE GlobalDnsRecords
|
||||||
|
SET
|
||||||
|
RecordType = @RecordType,
|
||||||
|
RecordName = @RecordName,
|
||||||
|
RecordData = @RecordData,
|
||||||
|
MXPriority = @MXPriority,
|
||||||
|
SrvPriority = @SrvPriority,
|
||||||
|
SrvWeight = @SrvWeight,
|
||||||
|
SrvPort = @SrvPort,
|
||||||
|
IPAddressID = @IPAddressID
|
||||||
|
WHERE
|
||||||
|
RecordID = @RecordID
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
|
@ -36,6 +36,22 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
public class GlobalDnsRecord
|
public class GlobalDnsRecord
|
||||||
{
|
{
|
||||||
private int recordId;
|
private int recordId;
|
||||||
|
private string internalIP;
|
||||||
|
private string externalIP;
|
||||||
|
private int recordOrder;
|
||||||
|
private int groupId;
|
||||||
|
private int serviceId;
|
||||||
|
private int serverId;
|
||||||
|
private int packageId;
|
||||||
|
private string recordType;
|
||||||
|
private string recordName;
|
||||||
|
private string recordData;
|
||||||
|
private int mxPriority;
|
||||||
|
private int ipAddressId;
|
||||||
|
private int srvPriority;
|
||||||
|
private int srvWeight;
|
||||||
|
private int srvPort;
|
||||||
|
|
||||||
|
|
||||||
public int RecordId
|
public int RecordId
|
||||||
{
|
{
|
||||||
|
@ -43,63 +59,54 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
set { recordId = value; }
|
set { recordId = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private int recordOrder;
|
|
||||||
|
|
||||||
public int RecordOrder
|
public int RecordOrder
|
||||||
{
|
{
|
||||||
get { return recordOrder; }
|
get { return recordOrder; }
|
||||||
set { recordOrder = value; }
|
set { recordOrder = value; }
|
||||||
}
|
}
|
||||||
private int groupId;
|
|
||||||
|
|
||||||
public int GroupId
|
public int GroupId
|
||||||
{
|
{
|
||||||
get { return groupId; }
|
get { return groupId; }
|
||||||
set { groupId = value; }
|
set { groupId = value; }
|
||||||
}
|
}
|
||||||
private int serviceId;
|
|
||||||
|
|
||||||
public int ServiceId
|
public int ServiceId
|
||||||
{
|
{
|
||||||
get { return serviceId; }
|
get { return serviceId; }
|
||||||
set { serviceId = value; }
|
set { serviceId = value; }
|
||||||
}
|
}
|
||||||
private int serverId;
|
|
||||||
|
|
||||||
public int ServerId
|
public int ServerId
|
||||||
{
|
{
|
||||||
get { return serverId; }
|
get { return serverId; }
|
||||||
set { serverId = value; }
|
set { serverId = value; }
|
||||||
}
|
}
|
||||||
private int packageId;
|
|
||||||
|
|
||||||
public int PackageId
|
public int PackageId
|
||||||
{
|
{
|
||||||
get { return packageId; }
|
get { return packageId; }
|
||||||
set { packageId = value; }
|
set { packageId = value; }
|
||||||
}
|
}
|
||||||
private string recordType;
|
|
||||||
|
|
||||||
public string RecordType
|
public string RecordType
|
||||||
{
|
{
|
||||||
get { return recordType; }
|
get { return recordType; }
|
||||||
set { recordType = value; }
|
set { recordType = value; }
|
||||||
}
|
}
|
||||||
private string recordName;
|
|
||||||
|
|
||||||
public string RecordName
|
public string RecordName
|
||||||
{
|
{
|
||||||
get { return recordName; }
|
get { return recordName; }
|
||||||
set { recordName = value; }
|
set { recordName = value; }
|
||||||
}
|
}
|
||||||
private string recordData;
|
|
||||||
|
|
||||||
public string RecordData
|
public string RecordData
|
||||||
{
|
{
|
||||||
get { return recordData; }
|
get { return recordData; }
|
||||||
set { recordData = value; }
|
set { recordData = value; }
|
||||||
}
|
}
|
||||||
private int mxPriority;
|
|
||||||
|
|
||||||
public int MxPriority
|
public int MxPriority
|
||||||
{
|
{
|
||||||
|
@ -107,7 +114,6 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
set { mxPriority = value; }
|
set { mxPriority = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private int ipAddressId;
|
|
||||||
|
|
||||||
public int IpAddressId
|
public int IpAddressId
|
||||||
{
|
{
|
||||||
|
@ -115,9 +121,6 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
set { ipAddressId = value; }
|
set { ipAddressId = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private string internalIP;
|
|
||||||
private string externalIP;
|
|
||||||
|
|
||||||
public GlobalDnsRecord()
|
public GlobalDnsRecord()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -133,5 +136,24 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
get { return this.externalIP; }
|
get { return this.externalIP; }
|
||||||
set { this.externalIP = value; }
|
set { this.externalIP = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int SrvPriority
|
||||||
|
{
|
||||||
|
get { return srvPriority; }
|
||||||
|
set { srvPriority = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SrvWeight
|
||||||
|
{
|
||||||
|
get { return srvWeight; }
|
||||||
|
set { srvWeight = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SrvPort
|
||||||
|
{
|
||||||
|
get { return srvPort; }
|
||||||
|
set { srvPort = value; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load diff
|
@ -675,7 +675,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddDnsRecord(int actorId, int serviceId, int serverId, int packageId, string recordType,
|
public static void AddDnsRecord(int actorId, int serviceId, int serverId, int packageId, string recordType,
|
||||||
string recordName, string recordData, int mxPriority, int ipAddressId)
|
string recordName, string recordData, int mxPriority, int SrvPriority, int SrvWeight, int SrvPort, int ipAddressId)
|
||||||
{
|
{
|
||||||
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
||||||
ObjectQualifier + "AddDnsRecord",
|
ObjectQualifier + "AddDnsRecord",
|
||||||
|
@ -687,11 +687,14 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
new SqlParameter("@RecordName", recordName),
|
new SqlParameter("@RecordName", recordName),
|
||||||
new SqlParameter("@RecordData", recordData),
|
new SqlParameter("@RecordData", recordData),
|
||||||
new SqlParameter("@MXPriority", mxPriority),
|
new SqlParameter("@MXPriority", mxPriority),
|
||||||
|
new SqlParameter("@SrvPriority", SrvPriority),
|
||||||
|
new SqlParameter("@SrvWeight", SrvWeight),
|
||||||
|
new SqlParameter("@SrvPort", SrvPort),
|
||||||
new SqlParameter("@IpAddressId", ipAddressId));
|
new SqlParameter("@IpAddressId", ipAddressId));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateDnsRecord(int actorId, int recordId, string recordType,
|
public static void UpdateDnsRecord(int actorId, int recordId, string recordType,
|
||||||
string recordName, string recordData, int mxPriority, int ipAddressId)
|
string recordName, string recordData, int mxPriority, int SrvPriority, int SrvWeight, int SrvPort, int ipAddressId)
|
||||||
{
|
{
|
||||||
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
||||||
ObjectQualifier + "UpdateDnsRecord",
|
ObjectQualifier + "UpdateDnsRecord",
|
||||||
|
@ -701,9 +704,13 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
new SqlParameter("@RecordName", recordName),
|
new SqlParameter("@RecordName", recordName),
|
||||||
new SqlParameter("@RecordData", recordData),
|
new SqlParameter("@RecordData", recordData),
|
||||||
new SqlParameter("@MXPriority", mxPriority),
|
new SqlParameter("@MXPriority", mxPriority),
|
||||||
|
new SqlParameter("@SrvPriority", SrvPriority),
|
||||||
|
new SqlParameter("@SrvWeight", SrvWeight),
|
||||||
|
new SqlParameter("@SrvPort", SrvPort),
|
||||||
new SqlParameter("@IpAddressId", ipAddressId));
|
new SqlParameter("@IpAddressId", ipAddressId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void DeleteDnsRecord(int actorId, int recordId)
|
public static void DeleteDnsRecord(int actorId, int recordId)
|
||||||
{
|
{
|
||||||
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
||||||
|
@ -763,7 +770,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
new SqlParameter("@domainName", domainName));
|
new SqlParameter("@domainName", domainName));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int CheckDomain(int packageId, string domainName)
|
public static int CheckDomain(int packageId, string domainName, bool isDomainPointer)
|
||||||
{
|
{
|
||||||
SqlParameter prmId = new SqlParameter("@Result", SqlDbType.Int);
|
SqlParameter prmId = new SqlParameter("@Result", SqlDbType.Int);
|
||||||
prmId.Direction = ParameterDirection.Output;
|
prmId.Direction = ParameterDirection.Output;
|
||||||
|
@ -772,7 +779,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
ObjectQualifier + "CheckDomain",
|
ObjectQualifier + "CheckDomain",
|
||||||
prmId,
|
prmId,
|
||||||
new SqlParameter("@packageId", packageId),
|
new SqlParameter("@packageId", packageId),
|
||||||
new SqlParameter("@domainName", domainName));
|
new SqlParameter("@domainName", domainName),
|
||||||
|
new SqlParameter("@isDomainPointer", isDomainPointer));
|
||||||
|
|
||||||
return Convert.ToInt32(prmId.Value);
|
return Convert.ToInt32(prmId.Value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,8 +149,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
// add all other records
|
// add all other records
|
||||||
zoneRecords.AddRange(
|
zoneRecords.AddRange(BuildDnsResourceRecords(records, zoneName, ""));
|
||||||
BuildDnsResourceRecords(records, zoneName, ""));
|
|
||||||
|
|
||||||
// add zone records
|
// add zone records
|
||||||
dns.AddZoneRecords(zoneName, zoneRecords.ToArray());
|
dns.AddZoneRecords(zoneName, zoneRecords.ToArray());
|
||||||
|
@ -272,8 +271,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<DnsRecord> BuildDnsResourceRecords(List<GlobalDnsRecord> records,
|
public static List<DnsRecord> BuildDnsResourceRecords(List<GlobalDnsRecord> records, string domainName, string serviceIP)
|
||||||
string domainName, string serviceIP)
|
|
||||||
{
|
{
|
||||||
List<DnsRecord> zoneRecords = new List<DnsRecord>();
|
List<DnsRecord> zoneRecords = new List<DnsRecord>();
|
||||||
|
|
||||||
|
@ -291,6 +289,14 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (String.IsNullOrEmpty(rr.RecordData) && !String.IsNullOrEmpty(serviceIP))
|
if (String.IsNullOrEmpty(rr.RecordData) && !String.IsNullOrEmpty(serviceIP))
|
||||||
rr.RecordData = serviceIP;
|
rr.RecordData = serviceIP;
|
||||||
}
|
}
|
||||||
|
else if (record.RecordType == "SRV")
|
||||||
|
{
|
||||||
|
rr.SrvPriority = record.SrvPriority;
|
||||||
|
rr.SrvWeight = record.SrvWeight;
|
||||||
|
rr.SrvPort = record.SrvPort;
|
||||||
|
rr.RecordText = record.RecordData;
|
||||||
|
rr.RecordData = record.RecordData;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rr.RecordData = record.RecordData;
|
rr.RecordData = record.RecordData;
|
||||||
|
|
|
@ -74,7 +74,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int res = ServerController.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, ip, 0);
|
int res = ServerController.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, ip, 0, 0, 0, 0);
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
{
|
{
|
||||||
CompleteTask(ret, CrmErrorCodes.CANNOT_CREATE_DNS_ZONE, null,
|
CompleteTask(ret, CrmErrorCodes.CANNOT_CREATE_DNS_ZONE, null,
|
||||||
|
|
|
@ -460,7 +460,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
domain.PackageId = packageId;
|
domain.PackageId = packageId;
|
||||||
domain.DomainName = domainName;
|
domain.DomainName = domainName;
|
||||||
domain.HostingAllowed = false;
|
domain.HostingAllowed = false;
|
||||||
domainId = ServerController.AddDomain(domain, createInstantAlias);
|
domainId = ServerController.AddDomain(domain, createInstantAlias, true);
|
||||||
if (domainId < 0)
|
if (domainId < 0)
|
||||||
{
|
{
|
||||||
result.Result = domainId;
|
result.Result = domainId;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2012, Outercurve Foundation.
|
// Copyright (c) 2011, Outercurve Foundation.
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
@ -854,7 +854,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
res = ad.IsInstalled(provider.ProviderType);
|
res = ad.IsInstalled(provider.ProviderType);
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_CHECK_IF_PROVIDER_SOFTWARE_INSTALLED, ex);
|
TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_CHECK_IF_PROVIDER_SOFTWARE_INSTALLED, ex);
|
||||||
|
|
||||||
|
@ -1521,7 +1521,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
TaskManager.WriteParameter("Data", record.RecordData);
|
TaskManager.WriteParameter("Data", record.RecordData);
|
||||||
|
|
||||||
DataProvider.AddDnsRecord(SecurityContext.User.UserId, record.ServiceId, record.ServerId, record.PackageId,
|
DataProvider.AddDnsRecord(SecurityContext.User.UserId, record.ServiceId, record.ServerId, record.PackageId,
|
||||||
record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.IpAddressId);
|
record.RecordType, record.RecordName, record.RecordData, record.MxPriority,
|
||||||
|
record.SrvPriority, record.SrvWeight, record.SrvPort, record.IpAddressId);
|
||||||
|
|
||||||
TaskManager.CompleteTask();
|
TaskManager.CompleteTask();
|
||||||
|
|
||||||
|
@ -1540,7 +1541,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
TaskManager.WriteParameter("Data", record.RecordData);
|
TaskManager.WriteParameter("Data", record.RecordData);
|
||||||
|
|
||||||
DataProvider.UpdateDnsRecord(SecurityContext.User.UserId, record.RecordId,
|
DataProvider.UpdateDnsRecord(SecurityContext.User.UserId, record.RecordId,
|
||||||
record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.IpAddressId);
|
record.RecordType, record.RecordName, record.RecordData, record.MxPriority,
|
||||||
|
record.SrvPriority, record.SrvWeight, record.SrvPort, record.IpAddressId);
|
||||||
|
|
||||||
TaskManager.CompleteTask();
|
TaskManager.CompleteTask();
|
||||||
|
|
||||||
|
@ -1571,7 +1573,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
#region Domains
|
#region Domains
|
||||||
public static int CheckDomain(string domainName)
|
public static int CheckDomain(string domainName)
|
||||||
{
|
{
|
||||||
int checkDomainResult = DataProvider.CheckDomain(-10, domainName);
|
int checkDomainResult = DataProvider.CheckDomain(-10, domainName, false);
|
||||||
|
|
||||||
if (checkDomainResult == -1)
|
if (checkDomainResult == -1)
|
||||||
return BusinessErrorCodes.ERROR_DOMAIN_ALREADY_EXISTS;
|
return BusinessErrorCodes.ERROR_DOMAIN_ALREADY_EXISTS;
|
||||||
|
@ -1677,8 +1679,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType,
|
public static int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType,
|
||||||
bool createWebSite, int pointWebSiteId, int pointMailDomainId,
|
bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains)
|
||||||
bool createDnsZone, bool createInstantAlias, bool allowSubDomains)
|
|
||||||
{
|
{
|
||||||
// check account
|
// check account
|
||||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||||
|
@ -1748,10 +1749,10 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
public static int AddDomain(DomainInfo domain)
|
public static int AddDomain(DomainInfo domain)
|
||||||
{
|
{
|
||||||
return AddDomain(domain, false);
|
return AddDomain(domain, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int AddDomain(DomainInfo domain, bool createInstantAlias)
|
public static int AddDomain(DomainInfo domain, bool createInstantAlias, bool createZone)
|
||||||
{
|
{
|
||||||
// check account
|
// check account
|
||||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||||
|
@ -1762,7 +1763,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (packageCheck < 0) return packageCheck;
|
if (packageCheck < 0) return packageCheck;
|
||||||
|
|
||||||
// add main domain
|
// add main domain
|
||||||
int domainId = AddDomainInternal(domain.PackageId, domain.DomainName, true,
|
int domainId = AddDomainInternal(domain.PackageId, domain.DomainName, createZone,
|
||||||
domain.IsSubDomain, false, domain.IsDomainPointer, false);
|
domain.IsSubDomain, false, domain.IsDomainPointer, false);
|
||||||
|
|
||||||
if (domainId < 0)
|
if (domainId < 0)
|
||||||
|
@ -1805,7 +1806,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if the domain already exists
|
// check if the domain already exists
|
||||||
int checkResult = DataProvider.CheckDomain(packageId, domainName);
|
int checkResult = DataProvider.CheckDomain(packageId, domainName, isDomainPointer);
|
||||||
|
|
||||||
if (checkResult < 0)
|
if (checkResult < 0)
|
||||||
{
|
{
|
||||||
|
@ -1816,15 +1817,18 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
else
|
else
|
||||||
return checkResult;
|
return checkResult;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if (domainName.ToLower().StartsWith("www."))
|
if (domainName.ToLower().StartsWith("www."))
|
||||||
return BusinessErrorCodes.ERROR_DOMAIN_STARTS_WWW;
|
return BusinessErrorCodes.ERROR_DOMAIN_STARTS_WWW;
|
||||||
|
*/
|
||||||
|
|
||||||
// place log record
|
// place log record
|
||||||
TaskManager.StartTask("DOMAIN", "ADD", domainName);
|
TaskManager.StartTask("DOMAIN", "ADD", domainName);
|
||||||
TaskManager.PackageId = packageId;
|
TaskManager.PackageId = packageId;
|
||||||
TaskManager.TaskParameters["CreateZone"] = createDnsZone;
|
TaskManager.TaskParameters["CreateZone"] = createDnsZone;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// create DNS zone
|
// create DNS zone
|
||||||
int zoneItemId = 0;
|
int zoneItemId = 0;
|
||||||
if (createDnsZone)
|
if (createDnsZone)
|
||||||
|
@ -2096,7 +2100,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
// add web site DNS records
|
// add web site DNS records
|
||||||
int res = AddWebSiteZoneRecords(domainId);
|
int res = AddWebSiteZoneRecords("", domainId);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
|
@ -2112,7 +2116,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int AddWebSiteZoneRecords(int domainId)
|
private static int AddWebSiteZoneRecords(string hostName, int domainId)
|
||||||
{
|
{
|
||||||
// load domain
|
// load domain
|
||||||
DomainInfo domain = GetDomainItem(domainId);
|
DomainInfo domain = GetDomainItem(domainId);
|
||||||
|
@ -2126,7 +2130,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int CreateDomainInstantAlias(int domainId)
|
public static int CreateDomainInstantAlias(string hostName, int domainId)
|
||||||
{
|
{
|
||||||
// check account
|
// check account
|
||||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo);
|
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo);
|
||||||
|
@ -2166,7 +2170,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (webRes < 0)
|
if (webRes < 0)
|
||||||
return webRes;
|
return webRes;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
// add mail domain pointer
|
// add mail domain pointer
|
||||||
if (domain.MailDomainId > 0 && instantAlias.MailDomainId == 0)
|
if (domain.MailDomainId > 0 && instantAlias.MailDomainId == 0)
|
||||||
{
|
{
|
||||||
|
@ -2174,6 +2178,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (mailRes < 0)
|
if (mailRes < 0)
|
||||||
return mailRes;
|
return mailRes;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2214,7 +2219,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (webRes < 0)
|
if (webRes < 0)
|
||||||
return webRes;
|
return webRes;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
// remove from mail domain pointers
|
// remove from mail domain pointers
|
||||||
if (instantAlias.MailDomainId > 0)
|
if (instantAlias.MailDomainId > 0)
|
||||||
{
|
{
|
||||||
|
@ -2222,6 +2227,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (mailRes < 0)
|
if (mailRes < 0)
|
||||||
return mailRes;
|
return mailRes;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// delete instant alias
|
// delete instant alias
|
||||||
int res = DeleteDomain(instantAlias.DomainId);
|
int res = DeleteDomain(instantAlias.DomainId);
|
||||||
|
@ -2272,12 +2278,15 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
dt.Columns.Add("RecordName", typeof(string));
|
dt.Columns.Add("RecordName", typeof(string));
|
||||||
dt.Columns.Add("RecordData", typeof(string));
|
dt.Columns.Add("RecordData", typeof(string));
|
||||||
dt.Columns.Add("MxPriority", typeof(int));
|
dt.Columns.Add("MxPriority", typeof(int));
|
||||||
|
dt.Columns.Add("SrvPriority", typeof(int));
|
||||||
|
dt.Columns.Add("SrvWeight", typeof(int));
|
||||||
|
dt.Columns.Add("SrvPort", typeof(int));
|
||||||
|
|
||||||
// add rows
|
// add rows
|
||||||
DnsRecord[] records = GetDnsZoneRecords(domainId);
|
DnsRecord[] records = GetDnsZoneRecords(domainId);
|
||||||
foreach (DnsRecord record in records)
|
foreach (DnsRecord record in records)
|
||||||
{
|
{
|
||||||
dt.Rows.Add(record.RecordType, record.RecordName, record.RecordData, record.MxPriority);
|
dt.Rows.Add(record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.SrvPriority, record.SrvWeight, record.SrvPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ds;
|
return ds;
|
||||||
|
@ -2299,7 +2308,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType,
|
public static int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType,
|
||||||
string recordData, int mxPriority)
|
string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPort)
|
||||||
{
|
{
|
||||||
// check account
|
// check account
|
||||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||||
|
@ -2315,7 +2324,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// get DNS service
|
// get DNS service
|
||||||
DnsZone zoneItem = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
DnsZone zoneItem = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
||||||
|
|
||||||
if(zoneItem == null)
|
if (zoneItem == null)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// place log record
|
// place log record
|
||||||
|
@ -2337,6 +2346,9 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
record.RecordName = recordName;
|
record.RecordName = recordName;
|
||||||
record.RecordData = recordData;
|
record.RecordData = recordData;
|
||||||
record.MxPriority = mxPriority;
|
record.MxPriority = mxPriority;
|
||||||
|
record.SrvPriority = srvPriority;
|
||||||
|
record.SrvWeight = srvWeight;
|
||||||
|
record.SrvPort = srvPort;
|
||||||
dns.AddZoneRecord(zoneItem.Name, record);
|
dns.AddZoneRecord(zoneItem.Name, record);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2353,7 +2365,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
public static int UpdateDnsZoneRecord(int domainId,
|
public static int UpdateDnsZoneRecord(int domainId,
|
||||||
string originalRecordName, string originalRecordData,
|
string originalRecordName, string originalRecordData,
|
||||||
string recordName, DnsRecordType recordType, string recordData, int mxPriority)
|
string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber)
|
||||||
{
|
{
|
||||||
// place log record
|
// place log record
|
||||||
DomainInfo domain = GetDomain(domainId);
|
DomainInfo domain = GetDomain(domainId);
|
||||||
|
@ -2367,7 +2379,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
DeleteDnsZoneRecord(domainId, originalRecordName, recordType, originalRecordData);
|
DeleteDnsZoneRecord(domainId, originalRecordName, recordType, originalRecordData);
|
||||||
|
|
||||||
// add new record
|
// add new record
|
||||||
AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority);
|
AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,7 +346,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0);
|
ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
domain.PackageId = createdPackageId;
|
domain.PackageId = createdPackageId;
|
||||||
domain.DomainName = domainName;
|
domain.DomainName = domainName;
|
||||||
domain.HostingAllowed = false;
|
domain.HostingAllowed = false;
|
||||||
domainId = ServerController.AddDomain(domain, !tempDomain);
|
domainId = ServerController.AddDomain(domain, false, !tempDomain);
|
||||||
if (domainId < 0)
|
if (domainId < 0)
|
||||||
{
|
{
|
||||||
// rollback wizard
|
// rollback wizard
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2012, Outercurve Foundation.
|
// Copyright (c) 2011, Outercurve Foundation.
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
@ -587,9 +587,9 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public int CreateDomainInstantAlias(int domainId)
|
public int CreateDomainInstantAlias(string hostName, int domainId)
|
||||||
{
|
{
|
||||||
return ServerController.CreateDomainInstantAlias(domainId);
|
return ServerController.CreateDomainInstantAlias(hostName, domainId);
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
|
@ -614,18 +614,18 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType,
|
public int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType,
|
||||||
string recordData, int mxPriority)
|
string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber)
|
||||||
{
|
{
|
||||||
return ServerController.AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority);
|
return ServerController.AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public int UpdateDnsZoneRecord(int domainId,
|
public int UpdateDnsZoneRecord(int domainId,
|
||||||
string originalRecordName, string originalRecordData,
|
string originalRecordName, string originalRecordData,
|
||||||
string recordName, DnsRecordType recordType, string recordData, int mxPriority)
|
string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber)
|
||||||
{
|
{
|
||||||
return ServerController.UpdateDnsZoneRecord(domainId, originalRecordName, originalRecordData,
|
return ServerController.UpdateDnsZoneRecord(domainId, originalRecordName, originalRecordData,
|
||||||
recordName, recordType, recordData, mxPriority);
|
recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
|
|
|
@ -39,6 +39,10 @@ namespace WebsitePanel.Providers.DNS
|
||||||
private string recordData;
|
private string recordData;
|
||||||
private int mxPriority;
|
private int mxPriority;
|
||||||
private string recordText;
|
private string recordText;
|
||||||
|
private int srvPriority;
|
||||||
|
private int srvWeight;
|
||||||
|
private int srvPort;
|
||||||
|
|
||||||
|
|
||||||
public string RecordName
|
public string RecordName
|
||||||
{
|
{
|
||||||
|
@ -69,5 +73,25 @@ namespace WebsitePanel.Providers.DNS
|
||||||
get { return this.recordText; }
|
get { return this.recordText; }
|
||||||
set { this.recordText = value; }
|
set { this.recordText = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int SrvPriority
|
||||||
|
{
|
||||||
|
get { return this.srvPriority; }
|
||||||
|
set { this.srvPriority = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SrvWeight
|
||||||
|
{
|
||||||
|
get { return this.srvWeight; }
|
||||||
|
set { this.srvWeight = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SrvPort
|
||||||
|
{
|
||||||
|
get { return this.srvPort; }
|
||||||
|
set { this.srvPort = value; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,8 @@ namespace WebsitePanel.Providers.DNS
|
||||||
CNAME,
|
CNAME,
|
||||||
SOA,
|
SOA,
|
||||||
TXT,
|
TXT,
|
||||||
|
SRV,
|
||||||
Other
|
Other
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
List<string> zones = new List<string>();
|
List<string> zones = new List<string>();
|
||||||
using (ManagementObjectCollection objZones = wmi.GetClass("MicrosoftDNS_Zone").GetInstances())
|
using (ManagementObjectCollection objZones = wmi.GetClass("MicrosoftDNS_Zone").GetInstances())
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objZone in objZones) using(objZone)
|
foreach (ManagementObject objZone in objZones) using (objZone)
|
||||||
{
|
{
|
||||||
if ((uint)objZone.Properties["ZoneType"].Value == 1)
|
if ((uint)objZone.Properties["ZoneType"].Value == 1)
|
||||||
zones.Add((string)objZone.Properties["Name"].Value);
|
zones.Add((string)objZone.Properties["Name"].Value);
|
||||||
|
@ -138,6 +138,14 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
ManagementObjectCollection rrsTXT = wmi.GetWmiObjects("MicrosoftDNS_TXTType", "DomainName='{0}'", zoneName);
|
ManagementObjectCollection rrsTXT = wmi.GetWmiObjects("MicrosoftDNS_TXTType", "DomainName='{0}'", zoneName);
|
||||||
|
|
||||||
|
ManagementObjectCollection rrsSRV = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='{0}'", zoneName);
|
||||||
|
|
||||||
|
ManagementObjectCollection rrsSRV_tcp = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_tcp.{0}'", zoneName);
|
||||||
|
|
||||||
|
ManagementObjectCollection rrsSRV_udp = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_udp.{0}'", zoneName);
|
||||||
|
|
||||||
|
ManagementObjectCollection rrsSRV_tls = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_tls.{0}'", zoneName);
|
||||||
|
|
||||||
List<DnsRecord> records = new List<DnsRecord>();
|
List<DnsRecord> records = new List<DnsRecord>();
|
||||||
DnsRecord record = new DnsRecord();
|
DnsRecord record = new DnsRecord();
|
||||||
|
|
||||||
|
@ -188,8 +196,58 @@ namespace WebsitePanel.Providers.DNS
|
||||||
records.Add(record);
|
records.Add(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
return records.ToArray();
|
foreach (ManagementObject rr in rrsSRV)
|
||||||
|
{
|
||||||
|
record = new DnsRecord();
|
||||||
|
record.RecordType = DnsRecordType.SRV;
|
||||||
|
record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value);
|
||||||
|
record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value);
|
||||||
|
record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value);
|
||||||
|
record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value);
|
||||||
|
record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value);
|
||||||
|
records.Add(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (ManagementObject rr in rrsSRV_tcp)
|
||||||
|
{
|
||||||
|
record = new DnsRecord();
|
||||||
|
record.RecordType = DnsRecordType.SRV;
|
||||||
|
record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value);
|
||||||
|
record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value);
|
||||||
|
record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value);
|
||||||
|
record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value);
|
||||||
|
record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value);
|
||||||
|
records.Add(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (ManagementObject rr in rrsSRV_udp)
|
||||||
|
{
|
||||||
|
record = new DnsRecord();
|
||||||
|
record.RecordType = DnsRecordType.SRV;
|
||||||
|
record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value);
|
||||||
|
record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value);
|
||||||
|
record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value);
|
||||||
|
record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value);
|
||||||
|
record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value);
|
||||||
|
records.Add(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (ManagementObject rr in rrsSRV_tls)
|
||||||
|
{
|
||||||
|
record = new DnsRecord();
|
||||||
|
record.RecordType = DnsRecordType.SRV;
|
||||||
|
record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value);
|
||||||
|
record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value);
|
||||||
|
record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value);
|
||||||
|
record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value);
|
||||||
|
record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value);
|
||||||
|
records.Add(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return records.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -223,7 +281,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
new object[] { zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName });
|
new object[] { zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName });
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
objZone = null;
|
objZone = null;
|
||||||
Log.WriteError("Could not get DNS Zone", ex);
|
Log.WriteError("Could not get DNS Zone", ex);
|
||||||
|
@ -398,6 +456,9 @@ namespace WebsitePanel.Providers.DNS
|
||||||
AddNsRecord(zoneName, record.RecordName, record.RecordData);
|
AddNsRecord(zoneName, record.RecordName, record.RecordData);
|
||||||
else if (record.RecordType == DnsRecordType.TXT)
|
else if (record.RecordType == DnsRecordType.TXT)
|
||||||
AddTxtRecord(zoneName, record.RecordName, record.RecordData);
|
AddTxtRecord(zoneName, record.RecordName, record.RecordData);
|
||||||
|
else if (record.RecordType == DnsRecordType.SRV)
|
||||||
|
AddSrvRecord(zoneName, record.RecordName, record.SrvPriority, record.SrvWeight, record.SrvPort, record.RecordData);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -428,6 +489,9 @@ namespace WebsitePanel.Providers.DNS
|
||||||
DeleteNsRecord(zoneName, record.RecordName, record.RecordData);
|
DeleteNsRecord(zoneName, record.RecordName, record.RecordData);
|
||||||
else if (record.RecordType == DnsRecordType.TXT)
|
else if (record.RecordType == DnsRecordType.TXT)
|
||||||
DeleteTxtRecord(zoneName, record.RecordName, record.RecordData);
|
DeleteTxtRecord(zoneName, record.RecordName, record.RecordData);
|
||||||
|
else if (record.RecordType == DnsRecordType.SRV)
|
||||||
|
DeleteSrvRecord(zoneName, record.RecordName, record.RecordData);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -522,9 +586,9 @@ namespace WebsitePanel.Providers.DNS
|
||||||
{
|
{
|
||||||
if (objSoa.Properties["OwnerName"].Value.Equals(zoneName))
|
if (objSoa.Properties["OwnerName"].Value.Equals(zoneName))
|
||||||
{
|
{
|
||||||
string primaryServer = (string) objSoa.Properties["PrimaryServer"].Value;
|
string primaryServer = (string)objSoa.Properties["PrimaryServer"].Value;
|
||||||
string responsibleParty = (string) objSoa.Properties["ResponsibleParty"].Value;
|
string responsibleParty = (string)objSoa.Properties["ResponsibleParty"].Value;
|
||||||
UInt32 serialNumber = (UInt32) objSoa.Properties["SerialNumber"].Value;
|
UInt32 serialNumber = (UInt32)objSoa.Properties["SerialNumber"].Value;
|
||||||
|
|
||||||
// update record's serial number
|
// update record's serial number
|
||||||
string sn = serialNumber.ToString();
|
string sn = serialNumber.ToString();
|
||||||
|
@ -615,7 +679,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs) using(objRR)
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
objRR.Delete();
|
objRR.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -670,7 +734,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs) using(objRR)
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
objRR.Delete();
|
objRR.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -726,7 +790,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs) using(objRR)
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
objRR.Delete();
|
objRR.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -779,7 +843,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs) using(objRR)
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
objRR.Delete();
|
objRR.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -800,7 +864,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
String.Format("SELECT * FROM MicrosoftDNS_NSType WHERE DomainName = '{0}'", zoneName)))
|
String.Format("SELECT * FROM MicrosoftDNS_NSType WHERE DomainName = '{0}'", zoneName)))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs)
|
foreach (ManagementObject objRR in objRRs)
|
||||||
using(objRR)
|
using (objRR)
|
||||||
{
|
{
|
||||||
string ns = ((string)objRR.Properties["NSHost"].Value).ToLower();
|
string ns = ((string)objRR.Properties["NSHost"].Value).ToLower();
|
||||||
if (ns.StartsWith(machineName) || ns.StartsWith(computerName))
|
if (ns.StartsWith(machineName) || ns.StartsWith(computerName))
|
||||||
|
@ -853,7 +917,7 @@ namespace WebsitePanel.Providers.DNS
|
||||||
|
|
||||||
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
{
|
{
|
||||||
foreach (ManagementObject objRR in objRRs) using(objRR)
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
{
|
{
|
||||||
objRR.Delete();
|
objRR.Delete();
|
||||||
}
|
}
|
||||||
|
@ -864,6 +928,78 @@ namespace WebsitePanel.Providers.DNS
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region SRV Record
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="zoneName"></param>
|
||||||
|
/// <param name="host"></param>
|
||||||
|
/// <param name="mailServer"></param>
|
||||||
|
/// <param name="mailServerPriority"></param>
|
||||||
|
/// <remarks>Supports managed resources disposal</remarks>
|
||||||
|
private void AddSrvRecord(string zoneName, string host, int priority, int weight, int port, string domainName)
|
||||||
|
{
|
||||||
|
// add record
|
||||||
|
using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_SRVType"))
|
||||||
|
{
|
||||||
|
|
||||||
|
clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] {
|
||||||
|
GetDnsServerName(),
|
||||||
|
zoneName,
|
||||||
|
CorrectHostName(zoneName, host),
|
||||||
|
1,
|
||||||
|
MinimumTTL,
|
||||||
|
priority,
|
||||||
|
weight,
|
||||||
|
port,
|
||||||
|
domainName
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// update SOA record
|
||||||
|
if (bulkRecords) return;
|
||||||
|
UpdateSoaRecord(zoneName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Supports managed resources disposal
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="zoneName"></param>
|
||||||
|
/// <param name="host"></param>
|
||||||
|
/// <param name="mailServer"></param>
|
||||||
|
private void DeleteSrvRecord(string zoneName, string host, string domainName)
|
||||||
|
{
|
||||||
|
|
||||||
|
string query = string.Empty;
|
||||||
|
if ((host.Contains("._tcp")) | (host.Contains("._udp")) | (host.Contains("._tls")))
|
||||||
|
{
|
||||||
|
query = String.Format("SELECT * FROM MicrosoftDNS_SRVType " +
|
||||||
|
"WHERE ContainerName = '{0}' AND OwnerName ='{1}.{0}'",
|
||||||
|
zoneName, CorrectHostName(zoneName, host));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query = String.Format("SELECT * FROM MicrosoftDNS_SRVType " +
|
||||||
|
"WHERE ContainerName = '{0}' AND OwnerName ='{1}'",
|
||||||
|
zoneName, CorrectHostName(zoneName, host));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (domainName != null)
|
||||||
|
query += String.Format(" AND SRVDomainName = '{0}.'", domainName);
|
||||||
|
|
||||||
|
using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query))
|
||||||
|
{
|
||||||
|
foreach (ManagementObject objRR in objRRs) using (objRR)
|
||||||
|
objRR.Delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
// update SOA record
|
||||||
|
UpdateSoaRecord(zoneName);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region private helper methods
|
#region private helper methods
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Supports managed resources disposal
|
/// Supports managed resources disposal
|
||||||
|
|
|
@ -39,7 +39,8 @@
|
||||||
//
|
//
|
||||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||||
//
|
//
|
||||||
namespace WebsitePanel.Providers.DNS {
|
namespace WebsitePanel.Providers.DNS
|
||||||
|
{
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Web.Services;
|
using System.Web.Services;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
@ -52,8 +53,9 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
[System.Web.Services.WebServiceBindingAttribute(Name="DNSServerSoap", Namespace="http://smbsaas/websitepanel/server/")]
|
[System.Web.Services.WebServiceBindingAttribute(Name = "DNSServerSoap", Namespace = "http://smbsaas/websitepanel/server/")]
|
||||||
public partial class DNSServer : Microsoft.Web.Services3.WebServicesClientProtocol {
|
public partial class DNSServer : Microsoft.Web.Services3.WebServicesClientProtocol
|
||||||
|
{
|
||||||
|
|
||||||
public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
|
public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
|
||||||
|
|
||||||
|
@ -80,7 +82,8 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
private System.Threading.SendOrPostCallback DeleteZoneRecordsOperationCompleted;
|
private System.Threading.SendOrPostCallback DeleteZoneRecordsOperationCompleted;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public DNSServer() {
|
public DNSServer()
|
||||||
|
{
|
||||||
this.Url = "http://localhost/WebsitePanelServer11/DnsServer.asmx";
|
this.Url = "http://localhost/WebsitePanelServer11/DnsServer.asmx";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,41 +122,49 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ZoneExists", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ZoneExists", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public bool ZoneExists(string zoneName) {
|
public bool ZoneExists(string zoneName)
|
||||||
|
{
|
||||||
object[] results = this.Invoke("ZoneExists", new object[] {
|
object[] results = this.Invoke("ZoneExists", new object[] {
|
||||||
zoneName});
|
zoneName});
|
||||||
return ((bool)(results[0]));
|
return ((bool)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginZoneExists(string zoneName, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginZoneExists(string zoneName, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("ZoneExists", new object[] {
|
return this.BeginInvoke("ZoneExists", new object[] {
|
||||||
zoneName}, callback, asyncState);
|
zoneName}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public bool EndZoneExists(System.IAsyncResult asyncResult) {
|
public bool EndZoneExists(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
object[] results = this.EndInvoke(asyncResult);
|
object[] results = this.EndInvoke(asyncResult);
|
||||||
return ((bool)(results[0]));
|
return ((bool)(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void ZoneExistsAsync(string zoneName) {
|
public void ZoneExistsAsync(string zoneName)
|
||||||
|
{
|
||||||
this.ZoneExistsAsync(zoneName, null);
|
this.ZoneExistsAsync(zoneName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void ZoneExistsAsync(string zoneName, object userState) {
|
public void ZoneExistsAsync(string zoneName, object userState)
|
||||||
if ((this.ZoneExistsOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.ZoneExistsOperationCompleted == null))
|
||||||
|
{
|
||||||
this.ZoneExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnZoneExistsOperationCompleted);
|
this.ZoneExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnZoneExistsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("ZoneExists", new object[] {
|
this.InvokeAsync("ZoneExists", new object[] {
|
||||||
zoneName}, this.ZoneExistsOperationCompleted, userState);
|
zoneName}, this.ZoneExistsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnZoneExistsOperationCompleted(object arg) {
|
private void OnZoneExistsOperationCompleted(object arg)
|
||||||
if ((this.ZoneExistsCompleted != null)) {
|
{
|
||||||
|
if ((this.ZoneExistsCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.ZoneExistsCompleted(this, new ZoneExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.ZoneExistsCompleted(this, new ZoneExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -161,38 +172,46 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZones", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZones", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public string[] GetZones() {
|
public string[] GetZones()
|
||||||
|
{
|
||||||
object[] results = this.Invoke("GetZones", new object[0]);
|
object[] results = this.Invoke("GetZones", new object[0]);
|
||||||
return ((string[])(results[0]));
|
return ((string[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetZones(System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetZones(System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("GetZones", new object[0], callback, asyncState);
|
return this.BeginInvoke("GetZones", new object[0], callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public string[] EndGetZones(System.IAsyncResult asyncResult) {
|
public string[] EndGetZones(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
object[] results = this.EndInvoke(asyncResult);
|
object[] results = this.EndInvoke(asyncResult);
|
||||||
return ((string[])(results[0]));
|
return ((string[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetZonesAsync() {
|
public void GetZonesAsync()
|
||||||
|
{
|
||||||
this.GetZonesAsync(null);
|
this.GetZonesAsync(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetZonesAsync(object userState) {
|
public void GetZonesAsync(object userState)
|
||||||
if ((this.GetZonesOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.GetZonesOperationCompleted == null))
|
||||||
|
{
|
||||||
this.GetZonesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZonesOperationCompleted);
|
this.GetZonesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZonesOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetZones", new object[0], this.GetZonesOperationCompleted, userState);
|
this.InvokeAsync("GetZones", new object[0], this.GetZonesOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnGetZonesOperationCompleted(object arg) {
|
private void OnGetZonesOperationCompleted(object arg)
|
||||||
if ((this.GetZonesCompleted != null)) {
|
{
|
||||||
|
if ((this.GetZonesCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.GetZonesCompleted(this, new GetZonesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.GetZonesCompleted(this, new GetZonesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -200,33 +219,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddPrimaryZone", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddPrimaryZone", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void AddPrimaryZone(string zoneName, string[] secondaryServers) {
|
public void AddPrimaryZone(string zoneName, string[] secondaryServers)
|
||||||
|
{
|
||||||
this.Invoke("AddPrimaryZone", new object[] {
|
this.Invoke("AddPrimaryZone", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
secondaryServers});
|
secondaryServers});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginAddPrimaryZone(string zoneName, string[] secondaryServers, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginAddPrimaryZone(string zoneName, string[] secondaryServers, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("AddPrimaryZone", new object[] {
|
return this.BeginInvoke("AddPrimaryZone", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
secondaryServers}, callback, asyncState);
|
secondaryServers}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndAddPrimaryZone(System.IAsyncResult asyncResult) {
|
public void EndAddPrimaryZone(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers) {
|
public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers)
|
||||||
|
{
|
||||||
this.AddPrimaryZoneAsync(zoneName, secondaryServers, null);
|
this.AddPrimaryZoneAsync(zoneName, secondaryServers, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers, object userState) {
|
public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers, object userState)
|
||||||
if ((this.AddPrimaryZoneOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.AddPrimaryZoneOperationCompleted == null))
|
||||||
|
{
|
||||||
this.AddPrimaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPrimaryZoneOperationCompleted);
|
this.AddPrimaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPrimaryZoneOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("AddPrimaryZone", new object[] {
|
this.InvokeAsync("AddPrimaryZone", new object[] {
|
||||||
|
@ -234,8 +259,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
secondaryServers}, this.AddPrimaryZoneOperationCompleted, userState);
|
secondaryServers}, this.AddPrimaryZoneOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAddPrimaryZoneOperationCompleted(object arg) {
|
private void OnAddPrimaryZoneOperationCompleted(object arg)
|
||||||
if ((this.AddPrimaryZoneCompleted != null)) {
|
{
|
||||||
|
if ((this.AddPrimaryZoneCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.AddPrimaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.AddPrimaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -243,33 +270,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddSecondaryZone", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddSecondaryZone", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void AddSecondaryZone(string zoneName, string[] masterServers) {
|
public void AddSecondaryZone(string zoneName, string[] masterServers)
|
||||||
|
{
|
||||||
this.Invoke("AddSecondaryZone", new object[] {
|
this.Invoke("AddSecondaryZone", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
masterServers});
|
masterServers});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginAddSecondaryZone(string zoneName, string[] masterServers, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginAddSecondaryZone(string zoneName, string[] masterServers, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("AddSecondaryZone", new object[] {
|
return this.BeginInvoke("AddSecondaryZone", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
masterServers}, callback, asyncState);
|
masterServers}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndAddSecondaryZone(System.IAsyncResult asyncResult) {
|
public void EndAddSecondaryZone(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddSecondaryZoneAsync(string zoneName, string[] masterServers) {
|
public void AddSecondaryZoneAsync(string zoneName, string[] masterServers)
|
||||||
|
{
|
||||||
this.AddSecondaryZoneAsync(zoneName, masterServers, null);
|
this.AddSecondaryZoneAsync(zoneName, masterServers, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddSecondaryZoneAsync(string zoneName, string[] masterServers, object userState) {
|
public void AddSecondaryZoneAsync(string zoneName, string[] masterServers, object userState)
|
||||||
if ((this.AddSecondaryZoneOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.AddSecondaryZoneOperationCompleted == null))
|
||||||
|
{
|
||||||
this.AddSecondaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddSecondaryZoneOperationCompleted);
|
this.AddSecondaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddSecondaryZoneOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("AddSecondaryZone", new object[] {
|
this.InvokeAsync("AddSecondaryZone", new object[] {
|
||||||
|
@ -277,8 +310,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
masterServers}, this.AddSecondaryZoneOperationCompleted, userState);
|
masterServers}, this.AddSecondaryZoneOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAddSecondaryZoneOperationCompleted(object arg) {
|
private void OnAddSecondaryZoneOperationCompleted(object arg)
|
||||||
if ((this.AddSecondaryZoneCompleted != null)) {
|
{
|
||||||
|
if ((this.AddSecondaryZoneCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.AddSecondaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.AddSecondaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -286,39 +321,47 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZone", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZone", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void DeleteZone(string zoneName) {
|
public void DeleteZone(string zoneName)
|
||||||
|
{
|
||||||
this.Invoke("DeleteZone", new object[] {
|
this.Invoke("DeleteZone", new object[] {
|
||||||
zoneName});
|
zoneName});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginDeleteZone(string zoneName, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginDeleteZone(string zoneName, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("DeleteZone", new object[] {
|
return this.BeginInvoke("DeleteZone", new object[] {
|
||||||
zoneName}, callback, asyncState);
|
zoneName}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndDeleteZone(System.IAsyncResult asyncResult) {
|
public void EndDeleteZone(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneAsync(string zoneName) {
|
public void DeleteZoneAsync(string zoneName)
|
||||||
|
{
|
||||||
this.DeleteZoneAsync(zoneName, null);
|
this.DeleteZoneAsync(zoneName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneAsync(string zoneName, object userState) {
|
public void DeleteZoneAsync(string zoneName, object userState)
|
||||||
if ((this.DeleteZoneOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.DeleteZoneOperationCompleted == null))
|
||||||
|
{
|
||||||
this.DeleteZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneOperationCompleted);
|
this.DeleteZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("DeleteZone", new object[] {
|
this.InvokeAsync("DeleteZone", new object[] {
|
||||||
zoneName}, this.DeleteZoneOperationCompleted, userState);
|
zoneName}, this.DeleteZoneOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDeleteZoneOperationCompleted(object arg) {
|
private void OnDeleteZoneOperationCompleted(object arg)
|
||||||
if ((this.DeleteZoneCompleted != null)) {
|
{
|
||||||
|
if ((this.DeleteZoneCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.DeleteZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.DeleteZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -326,8 +369,9 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateSoaRecord", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateSoaRecord", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void UpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson) {
|
public void UpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson)
|
||||||
|
{
|
||||||
this.Invoke("UpdateSoaRecord", new object[] {
|
this.Invoke("UpdateSoaRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
host,
|
host,
|
||||||
|
@ -336,7 +380,8 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginUpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginUpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("UpdateSoaRecord", new object[] {
|
return this.BeginInvoke("UpdateSoaRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
host,
|
host,
|
||||||
|
@ -345,18 +390,22 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndUpdateSoaRecord(System.IAsyncResult asyncResult) {
|
public void EndUpdateSoaRecord(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson) {
|
public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson)
|
||||||
|
{
|
||||||
this.UpdateSoaRecordAsync(zoneName, host, primaryNsServer, primaryPerson, null);
|
this.UpdateSoaRecordAsync(zoneName, host, primaryNsServer, primaryPerson, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson, object userState) {
|
public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson, object userState)
|
||||||
if ((this.UpdateSoaRecordOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.UpdateSoaRecordOperationCompleted == null))
|
||||||
|
{
|
||||||
this.UpdateSoaRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSoaRecordOperationCompleted);
|
this.UpdateSoaRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSoaRecordOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("UpdateSoaRecord", new object[] {
|
this.InvokeAsync("UpdateSoaRecord", new object[] {
|
||||||
|
@ -366,8 +415,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
primaryPerson}, this.UpdateSoaRecordOperationCompleted, userState);
|
primaryPerson}, this.UpdateSoaRecordOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnUpdateSoaRecordOperationCompleted(object arg) {
|
private void OnUpdateSoaRecordOperationCompleted(object arg)
|
||||||
if ((this.UpdateSoaRecordCompleted != null)) {
|
{
|
||||||
|
if ((this.UpdateSoaRecordCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.UpdateSoaRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.UpdateSoaRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -375,41 +426,49 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZoneRecords", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZoneRecords", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public DnsRecord[] GetZoneRecords(string zoneName) {
|
public DnsRecord[] GetZoneRecords(string zoneName)
|
||||||
|
{
|
||||||
object[] results = this.Invoke("GetZoneRecords", new object[] {
|
object[] results = this.Invoke("GetZoneRecords", new object[] {
|
||||||
zoneName});
|
zoneName});
|
||||||
return ((DnsRecord[])(results[0]));
|
return ((DnsRecord[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginGetZoneRecords(string zoneName, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginGetZoneRecords(string zoneName, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("GetZoneRecords", new object[] {
|
return this.BeginInvoke("GetZoneRecords", new object[] {
|
||||||
zoneName}, callback, asyncState);
|
zoneName}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public DnsRecord[] EndGetZoneRecords(System.IAsyncResult asyncResult) {
|
public DnsRecord[] EndGetZoneRecords(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
object[] results = this.EndInvoke(asyncResult);
|
object[] results = this.EndInvoke(asyncResult);
|
||||||
return ((DnsRecord[])(results[0]));
|
return ((DnsRecord[])(results[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetZoneRecordsAsync(string zoneName) {
|
public void GetZoneRecordsAsync(string zoneName)
|
||||||
|
{
|
||||||
this.GetZoneRecordsAsync(zoneName, null);
|
this.GetZoneRecordsAsync(zoneName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void GetZoneRecordsAsync(string zoneName, object userState) {
|
public void GetZoneRecordsAsync(string zoneName, object userState)
|
||||||
if ((this.GetZoneRecordsOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.GetZoneRecordsOperationCompleted == null))
|
||||||
|
{
|
||||||
this.GetZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZoneRecordsOperationCompleted);
|
this.GetZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZoneRecordsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("GetZoneRecords", new object[] {
|
this.InvokeAsync("GetZoneRecords", new object[] {
|
||||||
zoneName}, this.GetZoneRecordsOperationCompleted, userState);
|
zoneName}, this.GetZoneRecordsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnGetZoneRecordsOperationCompleted(object arg) {
|
private void OnGetZoneRecordsOperationCompleted(object arg)
|
||||||
if ((this.GetZoneRecordsCompleted != null)) {
|
{
|
||||||
|
if ((this.GetZoneRecordsCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.GetZoneRecordsCompleted(this, new GetZoneRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.GetZoneRecordsCompleted(this, new GetZoneRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -417,33 +476,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecord", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecord", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void AddZoneRecord(string zoneName, DnsRecord record) {
|
public void AddZoneRecord(string zoneName, DnsRecord record)
|
||||||
|
{
|
||||||
this.Invoke("AddZoneRecord", new object[] {
|
this.Invoke("AddZoneRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
record});
|
record});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginAddZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginAddZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("AddZoneRecord", new object[] {
|
return this.BeginInvoke("AddZoneRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
record}, callback, asyncState);
|
record}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndAddZoneRecord(System.IAsyncResult asyncResult) {
|
public void EndAddZoneRecord(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddZoneRecordAsync(string zoneName, DnsRecord record) {
|
public void AddZoneRecordAsync(string zoneName, DnsRecord record)
|
||||||
|
{
|
||||||
this.AddZoneRecordAsync(zoneName, record, null);
|
this.AddZoneRecordAsync(zoneName, record, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddZoneRecordAsync(string zoneName, DnsRecord record, object userState) {
|
public void AddZoneRecordAsync(string zoneName, DnsRecord record, object userState)
|
||||||
if ((this.AddZoneRecordOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.AddZoneRecordOperationCompleted == null))
|
||||||
|
{
|
||||||
this.AddZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordOperationCompleted);
|
this.AddZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("AddZoneRecord", new object[] {
|
this.InvokeAsync("AddZoneRecord", new object[] {
|
||||||
|
@ -451,8 +516,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
record}, this.AddZoneRecordOperationCompleted, userState);
|
record}, this.AddZoneRecordOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAddZoneRecordOperationCompleted(object arg) {
|
private void OnAddZoneRecordOperationCompleted(object arg)
|
||||||
if ((this.AddZoneRecordCompleted != null)) {
|
{
|
||||||
|
if ((this.AddZoneRecordCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.AddZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.AddZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -460,33 +527,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecord", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecord", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void DeleteZoneRecord(string zoneName, DnsRecord record) {
|
public void DeleteZoneRecord(string zoneName, DnsRecord record)
|
||||||
|
{
|
||||||
this.Invoke("DeleteZoneRecord", new object[] {
|
this.Invoke("DeleteZoneRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
record});
|
record});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginDeleteZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginDeleteZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("DeleteZoneRecord", new object[] {
|
return this.BeginInvoke("DeleteZoneRecord", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
record}, callback, asyncState);
|
record}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndDeleteZoneRecord(System.IAsyncResult asyncResult) {
|
public void EndDeleteZoneRecord(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneRecordAsync(string zoneName, DnsRecord record) {
|
public void DeleteZoneRecordAsync(string zoneName, DnsRecord record)
|
||||||
|
{
|
||||||
this.DeleteZoneRecordAsync(zoneName, record, null);
|
this.DeleteZoneRecordAsync(zoneName, record, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneRecordAsync(string zoneName, DnsRecord record, object userState) {
|
public void DeleteZoneRecordAsync(string zoneName, DnsRecord record, object userState)
|
||||||
if ((this.DeleteZoneRecordOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.DeleteZoneRecordOperationCompleted == null))
|
||||||
|
{
|
||||||
this.DeleteZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordOperationCompleted);
|
this.DeleteZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("DeleteZoneRecord", new object[] {
|
this.InvokeAsync("DeleteZoneRecord", new object[] {
|
||||||
|
@ -494,8 +567,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
record}, this.DeleteZoneRecordOperationCompleted, userState);
|
record}, this.DeleteZoneRecordOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDeleteZoneRecordOperationCompleted(object arg) {
|
private void OnDeleteZoneRecordOperationCompleted(object arg)
|
||||||
if ((this.DeleteZoneRecordCompleted != null)) {
|
{
|
||||||
|
if ((this.DeleteZoneRecordCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.DeleteZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.DeleteZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -503,33 +578,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecords", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecords", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void AddZoneRecords(string zoneName, DnsRecord[] records) {
|
public void AddZoneRecords(string zoneName, DnsRecord[] records)
|
||||||
|
{
|
||||||
this.Invoke("AddZoneRecords", new object[] {
|
this.Invoke("AddZoneRecords", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
records});
|
records});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginAddZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginAddZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("AddZoneRecords", new object[] {
|
return this.BeginInvoke("AddZoneRecords", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
records}, callback, asyncState);
|
records}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndAddZoneRecords(System.IAsyncResult asyncResult) {
|
public void EndAddZoneRecords(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records) {
|
public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records)
|
||||||
|
{
|
||||||
this.AddZoneRecordsAsync(zoneName, records, null);
|
this.AddZoneRecordsAsync(zoneName, records, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) {
|
public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState)
|
||||||
if ((this.AddZoneRecordsOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.AddZoneRecordsOperationCompleted == null))
|
||||||
|
{
|
||||||
this.AddZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordsOperationCompleted);
|
this.AddZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("AddZoneRecords", new object[] {
|
this.InvokeAsync("AddZoneRecords", new object[] {
|
||||||
|
@ -537,8 +618,10 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
records}, this.AddZoneRecordsOperationCompleted, userState);
|
records}, this.AddZoneRecordsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAddZoneRecordsOperationCompleted(object arg) {
|
private void OnAddZoneRecordsOperationCompleted(object arg)
|
||||||
if ((this.AddZoneRecordsCompleted != null)) {
|
{
|
||||||
|
if ((this.AddZoneRecordsCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.AddZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.AddZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
|
@ -546,33 +629,39 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecords", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecords", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public void DeleteZoneRecords(string zoneName, DnsRecord[] records) {
|
public void DeleteZoneRecords(string zoneName, DnsRecord[] records)
|
||||||
|
{
|
||||||
this.Invoke("DeleteZoneRecords", new object[] {
|
this.Invoke("DeleteZoneRecords", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
records});
|
records});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public System.IAsyncResult BeginDeleteZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) {
|
public System.IAsyncResult BeginDeleteZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState)
|
||||||
|
{
|
||||||
return this.BeginInvoke("DeleteZoneRecords", new object[] {
|
return this.BeginInvoke("DeleteZoneRecords", new object[] {
|
||||||
zoneName,
|
zoneName,
|
||||||
records}, callback, asyncState);
|
records}, callback, asyncState);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void EndDeleteZoneRecords(System.IAsyncResult asyncResult) {
|
public void EndDeleteZoneRecords(System.IAsyncResult asyncResult)
|
||||||
|
{
|
||||||
this.EndInvoke(asyncResult);
|
this.EndInvoke(asyncResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records) {
|
public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records)
|
||||||
|
{
|
||||||
this.DeleteZoneRecordsAsync(zoneName, records, null);
|
this.DeleteZoneRecordsAsync(zoneName, records, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) {
|
public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState)
|
||||||
if ((this.DeleteZoneRecordsOperationCompleted == null)) {
|
{
|
||||||
|
if ((this.DeleteZoneRecordsOperationCompleted == null))
|
||||||
|
{
|
||||||
this.DeleteZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordsOperationCompleted);
|
this.DeleteZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordsOperationCompleted);
|
||||||
}
|
}
|
||||||
this.InvokeAsync("DeleteZoneRecords", new object[] {
|
this.InvokeAsync("DeleteZoneRecords", new object[] {
|
||||||
|
@ -580,15 +669,18 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
records}, this.DeleteZoneRecordsOperationCompleted, userState);
|
records}, this.DeleteZoneRecordsOperationCompleted, userState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDeleteZoneRecordsOperationCompleted(object arg) {
|
private void OnDeleteZoneRecordsOperationCompleted(object arg)
|
||||||
if ((this.DeleteZoneRecordsCompleted != null)) {
|
{
|
||||||
|
if ((this.DeleteZoneRecordsCompleted != null))
|
||||||
|
{
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
this.DeleteZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
this.DeleteZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public new void CancelAsync(object userState) {
|
public new void CancelAsync(object userState)
|
||||||
|
{
|
||||||
base.CancelAsync(userState);
|
base.CancelAsync(userState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -601,18 +693,22 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
public partial class ZoneExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
public partial class ZoneExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||||
|
{
|
||||||
|
|
||||||
private object[] results;
|
private object[] results;
|
||||||
|
|
||||||
internal ZoneExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
internal ZoneExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||||
base(exception, cancelled, userState) {
|
base(exception, cancelled, userState)
|
||||||
|
{
|
||||||
this.results = results;
|
this.results = results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public bool Result {
|
public bool Result
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
this.RaiseExceptionIfNecessary();
|
this.RaiseExceptionIfNecessary();
|
||||||
return ((bool)(this.results[0]));
|
return ((bool)(this.results[0]));
|
||||||
}
|
}
|
||||||
|
@ -627,18 +723,22 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
public partial class GetZonesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
public partial class GetZonesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||||
|
{
|
||||||
|
|
||||||
private object[] results;
|
private object[] results;
|
||||||
|
|
||||||
internal GetZonesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
internal GetZonesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||||
base(exception, cancelled, userState) {
|
base(exception, cancelled, userState)
|
||||||
|
{
|
||||||
this.results = results;
|
this.results = results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public string[] Result {
|
public string[] Result
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
this.RaiseExceptionIfNecessary();
|
this.RaiseExceptionIfNecessary();
|
||||||
return ((string[])(this.results[0]));
|
return ((string[])(this.results[0]));
|
||||||
}
|
}
|
||||||
|
@ -669,18 +769,22 @@ namespace WebsitePanel.Providers.DNS {
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
public partial class GetZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
public partial class GetZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||||
|
{
|
||||||
|
|
||||||
private object[] results;
|
private object[] results;
|
||||||
|
|
||||||
internal GetZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
internal GetZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||||
base(exception, cancelled, userState) {
|
base(exception, cancelled, userState)
|
||||||
|
{
|
||||||
this.results = results;
|
this.results = results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public DnsRecord[] Result {
|
public DnsRecord[] Result
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
this.RaiseExceptionIfNecessary();
|
this.RaiseExceptionIfNecessary();
|
||||||
return ((DnsRecord[])(this.results[0]));
|
return ((DnsRecord[])(this.results[0]));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DnsZoneRecords.ascx.cs" Inherits="WebsitePanel.Portal.DnsZoneRecords" %>
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DnsZoneRecords.ascx.cs" Inherits="WebsitePanel.Portal.DnsZoneRecords" %>
|
||||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||||
TagPrefix="wsp" %>
|
|
||||||
|
|
||||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
function confirmation()
|
function confirmation() {
|
||||||
{
|
|
||||||
if (!confirm('Are you sure you want to delete this DNS Zone Record?')) return false; else ShowProgressDialog('Deleting DNS Zone Record...');
|
if (!confirm('Are you sure you want to delete this DNS Zone Record?')) return false; else ShowProgressDialog('Deleting DNS Zone Record...');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<asp:Panel ID="pnlRecords" runat="server">
|
<asp:Panel ID="pnlRecords" runat="server">
|
||||||
<div class="FormBody">
|
<div class="FormBody">
|
||||||
|
@ -33,6 +31,9 @@ function confirmation()
|
||||||
<asp:Literal ID="litRecordName" runat="server" Text='<%# Eval("RecordName") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordName" runat="server" Text='<%# Eval("RecordName") %>' Visible="false"></asp:Literal>
|
||||||
<asp:Literal ID="litRecordType" runat="server" Text='<%# Eval("RecordType") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordType" runat="server" Text='<%# Eval("RecordType") %>' Visible="false"></asp:Literal>
|
||||||
<asp:Literal ID="litRecordData" runat="server" Text='<%# Eval("RecordData") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordData" runat="server" Text='<%# Eval("RecordData") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvPriority" runat="server" Text='<%# Eval("SrvPriority") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvWeight" runat="server" Text='<%# Eval("SrvWeight") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvPort" runat="server" Text='<%# Eval("SrvPort") %>' Visible="false"></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle CssClass="NormalBold" Wrap="False" />
|
<ItemStyle CssClass="NormalBold" Wrap="False" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
@ -41,7 +42,7 @@ function confirmation()
|
||||||
<asp:TemplateField SortExpression="RecordData" HeaderText="gvRecordsData" >
|
<asp:TemplateField SortExpression="RecordData" HeaderText="gvRecordsData" >
|
||||||
<ItemStyle Width="100%" />
|
<ItemStyle Width="100%" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority")) %>
|
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority"), (int)Eval("SrvPort"))%>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
@ -77,6 +78,7 @@ function confirmation()
|
||||||
<asp:ListItem>NS</asp:ListItem>
|
<asp:ListItem>NS</asp:ListItem>
|
||||||
<asp:ListItem>TXT</asp:ListItem>
|
<asp:ListItem>TXT</asp:ListItem>
|
||||||
<asp:ListItem>CNAME</asp:ListItem>
|
<asp:ListItem>CNAME</asp:ListItem>
|
||||||
|
<asp:ListItem>SRV</asp:ListItem>
|
||||||
</asp:DropDownList><asp:Literal ID="litRecordType" runat="server"></asp:Literal>
|
</asp:DropDownList><asp:Literal ID="litRecordType" runat="server"></asp:Literal>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -106,10 +108,43 @@ function confirmation()
|
||||||
<asp:RegularExpressionValidator ID="valRequireCorrectPriority" runat="server" ControlToValidate="txtMXPriority"
|
<asp:RegularExpressionValidator ID="valRequireCorrectPriority" runat="server" ControlToValidate="txtMXPriority"
|
||||||
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPriority" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPriority" runat="server" meta:resourcekey="lblSRVPriority" Text="Priority:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVWeight" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVWeight" runat="server" meta:resourcekey="lblSRVWeight" Text="Weight:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVWeight" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPort" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPort" runat="server" meta:resourcekey="lblSRVPort" Text="Port Number:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVPort" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvPort" runat="server" ControlToValidate="txtSRVPort"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPort" runat="server" ControlToValidate="txtSRVPort"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="FormFooter">
|
<div class="FormFooter">
|
||||||
<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="Save" CssClass="Button1" OnClick="btnSave_Click" OnClientClick = "ShowProgressDialog('Saving DNS Zone Record ...');" ValidationGroup="DnsZoneRecord" />
|
<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="Save" CssClass="Button1" OnClick="btnSave_Click" OnClientClick = "ShowProgressDialog('Saving DNS Zone Record ...');" ValidationGroup="DnsZoneRecord" />
|
||||||
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" Text="Cancel" CssClass="Button1" OnClick="btnCancel_Click" CausesValidation="False" /></td>
|
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" Text="Cancel" CssClass="Button1" OnClick="btnCancel_Click" CausesValidation="False" />
|
||||||
</div>
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
|
@ -60,19 +60,29 @@ namespace WebsitePanel.Portal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetRecordFullData(string recordType, string recordData, int mxPriority)
|
public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port)
|
||||||
{
|
{
|
||||||
return (String.Compare(recordType, "mx", true) == 0)
|
|
||||||
? String.Format("[{0}], {1}", mxPriority, recordData) : recordData;
|
switch (recordType)
|
||||||
|
{
|
||||||
|
case "MX":
|
||||||
|
return String.Format("[{0}], {1}", mxPriority, recordData);
|
||||||
|
case "SRV":
|
||||||
|
return String.Format("[{0}], {1}", port, recordData);
|
||||||
|
default:
|
||||||
|
return recordData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GetRecordsDetails(int recordIndex)
|
private void GetRecordsDetails(int recordIndex)
|
||||||
{
|
{
|
||||||
GridViewRow row = gvRecords.Rows[recordIndex];
|
GridViewRow row = gvRecords.Rows[recordIndex];
|
||||||
|
ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text;
|
||||||
|
ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text;
|
||||||
|
ViewState["SrvPriority"] = ((Literal)row.Cells[0].FindControl("litSrvPriority")).Text;
|
||||||
ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text;
|
ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text;
|
||||||
ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ;
|
ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ;
|
||||||
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType),
|
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
|
||||||
((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
|
|
||||||
ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text;
|
ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +98,9 @@ namespace WebsitePanel.Portal
|
||||||
txtRecordName.Text = ViewState["RecordName"].ToString();
|
txtRecordName.Text = ViewState["RecordName"].ToString();
|
||||||
txtRecordData.Text = ViewState["RecordData"].ToString();
|
txtRecordData.Text = ViewState["RecordData"].ToString();
|
||||||
txtMXPriority.Text = ViewState["MxPriority"].ToString();
|
txtMXPriority.Text = ViewState["MxPriority"].ToString();
|
||||||
|
txtSRVPriority.Text = ViewState["SrvPriority"].ToString();
|
||||||
|
txtSRVWeight.Text = ViewState["SrvWeight"].ToString();
|
||||||
|
txtSRVPort.Text = ViewState["SrvPort"].ToString();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -103,24 +116,39 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
private void ToggleRecordControls()
|
private void ToggleRecordControls()
|
||||||
{
|
{
|
||||||
rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX");
|
rowMXPriority.Visible = false;
|
||||||
if (ddlRecordType.SelectedValue == "A")
|
rowSRVPriority.Visible = false;
|
||||||
{
|
rowSRVWeight.Visible = false;
|
||||||
lblRecordData.Text = "IP:";
|
rowSRVPort.Visible = false;
|
||||||
IPValidator.Enabled = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lblRecordData.Text = "Record Data:";
|
lblRecordData.Text = "Record Data:";
|
||||||
IPValidator.Enabled = false;
|
IPValidator.Enabled = false;
|
||||||
|
|
||||||
|
switch (ddlRecordType.SelectedValue)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
lblRecordData.Text = "IP:";
|
||||||
|
IPValidator.Enabled = true;
|
||||||
|
break;
|
||||||
|
case "MX":
|
||||||
|
rowMXPriority.Visible = true;
|
||||||
|
break;
|
||||||
|
case "SRV":
|
||||||
|
rowSRVPriority.Visible = true;
|
||||||
|
rowSRVWeight.Visible = true;
|
||||||
|
rowSRVPort.Visible = true;
|
||||||
|
lblRecordData.Text = "Host offering this service:";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveRecord()
|
private void SaveRecord()
|
||||||
{
|
{
|
||||||
if (Page.IsValid)
|
if (Page.IsValid)
|
||||||
{
|
{
|
||||||
bool newRecord = (bool) ViewState["NewRecord"];
|
bool newRecord = (bool)ViewState["NewRecord"];
|
||||||
|
|
||||||
if (newRecord)
|
if (newRecord)
|
||||||
{
|
{
|
||||||
|
@ -130,10 +158,13 @@ namespace WebsitePanel.Portal
|
||||||
int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID,
|
int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID,
|
||||||
txtRecordName.Text.Trim(),
|
txtRecordName.Text.Trim(),
|
||||||
(DnsRecordType)
|
(DnsRecordType)
|
||||||
Enum.Parse(typeof (DnsRecordType),
|
Enum.Parse(typeof(DnsRecordType),
|
||||||
ddlRecordType.SelectedValue, true),
|
ddlRecordType.SelectedValue, true),
|
||||||
txtRecordData.Text.Trim(),
|
txtRecordData.Text.Trim(),
|
||||||
Int32.Parse(txtMXPriority.Text.Trim()));
|
Int32.Parse(txtMXPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVWeight.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPort.Text.Trim()));
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
|
@ -156,9 +187,12 @@ namespace WebsitePanel.Portal
|
||||||
ViewState["RecordName"].ToString(),
|
ViewState["RecordName"].ToString(),
|
||||||
ViewState["RecordData"].ToString(),
|
ViewState["RecordData"].ToString(),
|
||||||
txtRecordName.Text.Trim(),
|
txtRecordName.Text.Trim(),
|
||||||
(DnsRecordType) ViewState["RecordType"],
|
(DnsRecordType)ViewState["RecordType"],
|
||||||
txtRecordData.Text.Trim(),
|
txtRecordData.Text.Trim(),
|
||||||
Int32.Parse(txtMXPriority.Text.Trim()));
|
Int32.Parse(txtMXPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVWeight.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPort.Text.Trim()));
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
|
@ -217,6 +251,10 @@ namespace WebsitePanel.Portal
|
||||||
txtRecordName.Text = "";
|
txtRecordName.Text = "";
|
||||||
txtRecordData.Text = "";
|
txtRecordData.Text = "";
|
||||||
txtMXPriority.Text = "1";
|
txtMXPriority.Text = "1";
|
||||||
|
txtSRVPriority.Text = "0";
|
||||||
|
txtSRVWeight.Text = "0";
|
||||||
|
txtSRVPort.Text = "0";
|
||||||
|
|
||||||
|
|
||||||
ShowPanels(true);
|
ShowPanels(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.3074
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -220,6 +219,141 @@ namespace WebsitePanel.Portal {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority;
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPort;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnSave control.
|
/// btnSave control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -304,7 +304,7 @@ namespace WebsitePanel.Portal
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// create instant alias
|
// create instant alias
|
||||||
int result = ES.Services.Servers.CreateDomainInstantAlias(PanelRequest.DomainID);
|
int result = ES.Services.Servers.CreateDomainInstantAlias("", PanelRequest.DomainID);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
ShowResultMessage(result);
|
ShowResultMessage(result);
|
||||||
|
|
|
@ -53,6 +53,9 @@
|
||||||
<asp:Literal ID="litRecordName" runat="server" Text='<%# Eval("RecordName") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordName" runat="server" Text='<%# Eval("RecordName") %>' Visible="false"></asp:Literal>
|
||||||
<asp:Literal ID="litRecordType" runat="server" Text='<%# Eval("RecordType") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordType" runat="server" Text='<%# Eval("RecordType") %>' Visible="false"></asp:Literal>
|
||||||
<asp:Literal ID="litRecordData" runat="server" Text='<%# Eval("RecordData") %>' Visible="false"></asp:Literal>
|
<asp:Literal ID="litRecordData" runat="server" Text='<%# Eval("RecordData") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvPriority" runat="server" Text='<%# Eval("SrvPriority") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvWeight" runat="server" Text='<%# Eval("SrvWeight") %>' Visible="false"></asp:Literal>
|
||||||
|
<asp:Literal ID="litSrvPort" runat="server" Text='<%# Eval("SrvPort") %>' Visible="false"></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle CssClass="NormalBold" Wrap="False" />
|
<ItemStyle CssClass="NormalBold" Wrap="False" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
@ -61,7 +64,7 @@
|
||||||
<asp:TemplateField SortExpression="RecordData" HeaderText="gvRecordsData" >
|
<asp:TemplateField SortExpression="RecordData" HeaderText="gvRecordsData" >
|
||||||
<ItemStyle Width="100%" />
|
<ItemStyle Width="100%" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority")) %>
|
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority"), (int)Eval("SrvPort"))%>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
@ -117,6 +120,7 @@
|
||||||
<asp:ListItem>NS</asp:ListItem>
|
<asp:ListItem>NS</asp:ListItem>
|
||||||
<asp:ListItem>TXT</asp:ListItem>
|
<asp:ListItem>TXT</asp:ListItem>
|
||||||
<asp:ListItem>CNAME</asp:ListItem>
|
<asp:ListItem>CNAME</asp:ListItem>
|
||||||
|
<asp:ListItem>SRV</asp:ListItem>
|
||||||
</asp:DropDownList><asp:Literal ID="litRecordType" runat="server"></asp:Literal>
|
</asp:DropDownList><asp:Literal ID="litRecordType" runat="server"></asp:Literal>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -132,7 +136,10 @@
|
||||||
<asp:TextBox ID="txtRecordData" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
|
<asp:TextBox ID="txtRecordData" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
<asp:RequiredFieldValidator ID="valRequireData" runat="server" ControlToValidate="txtRecordData"
|
<asp:RequiredFieldValidator ID="valRequireData" runat="server" ControlToValidate="txtRecordData"
|
||||||
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:regularexpressionvalidator id="IPValidator" runat="server" ValidationExpression="^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"
|
||||||
|
Display="Dynamic" ErrorMessage="Please enter a valid IP" ValidationGroup="DnsZoneRecord" ControlToValidate="txtRecordData" CssClass="NormalBold"></asp:regularexpressionvalidator>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<asp:regularexpressionvalidator id="IPValidator1" runat="server" ValidationExpression="^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"
|
<asp:regularexpressionvalidator id="IPValidator1" runat="server" ValidationExpression="^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"
|
||||||
|
@ -147,6 +154,36 @@
|
||||||
<asp:RegularExpressionValidator ID="valRequireCorrectPriority" runat="server" ControlToValidate="txtMXPriority"
|
<asp:RegularExpressionValidator ID="valRequireCorrectPriority" runat="server" ControlToValidate="txtMXPriority"
|
||||||
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPriority" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPriority" runat="server" meta:resourcekey="lblSRVPriority" Text="Priority:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVWeight" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVWeight" runat="server" meta:resourcekey="lblSRVWeight" Text="Weight:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVWeight" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPort" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPort" runat="server" meta:resourcekey="lblSRVPort" Text="Port Number:"></asp:Label></td>
|
||||||
|
<td class="NormalBold">
|
||||||
|
<asp:TextBox ID="txtSRVPort" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="valRequireSrvPort" runat="server" ControlToValidate="txtSRVPort"
|
||||||
|
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||||
|
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPort" runat="server" ControlToValidate="txtSRVPort"
|
||||||
|
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
|
|
|
@ -59,19 +59,28 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetRecordFullData(string recordType, string recordData, int mxPriority)
|
public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port)
|
||||||
{
|
{
|
||||||
return (String.Compare(recordType, "mx", true) == 0)
|
switch (recordType)
|
||||||
? String.Format("[{0}], {1}", mxPriority, recordData) : recordData;
|
{
|
||||||
|
case "MX":
|
||||||
|
return String.Format("[{0}], {1}", mxPriority, recordData);
|
||||||
|
case "SRV":
|
||||||
|
return String.Format("[{0}], {1}", port, recordData);
|
||||||
|
default:
|
||||||
|
return recordData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GetRecordsDetails(int recordIndex)
|
private void GetRecordsDetails(int recordIndex)
|
||||||
{
|
{
|
||||||
GridViewRow row = gvRecords.Rows[recordIndex];
|
GridViewRow row = gvRecords.Rows[recordIndex];
|
||||||
|
ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text;
|
||||||
|
ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text;
|
||||||
|
ViewState["SrvPriority"] = ((Literal)row.Cells[0].FindControl("litSrvPriority")).Text;
|
||||||
ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text;
|
ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text;
|
||||||
ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ;
|
ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ;
|
||||||
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType),
|
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
|
||||||
((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
|
|
||||||
ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text;
|
ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,9 +88,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
litRecordType.Visible = true;
|
ViewState["NewRecord"] = false;
|
||||||
ddlRecordType.Visible = false;
|
|
||||||
|
|
||||||
GetRecordsDetails(recordIndex);
|
GetRecordsDetails(recordIndex);
|
||||||
|
|
||||||
ddlRecordType.SelectedValue = ViewState["RecordType"].ToString();
|
ddlRecordType.SelectedValue = ViewState["RecordType"].ToString();
|
||||||
|
@ -89,11 +96,13 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
txtRecordName.Text = ViewState["RecordName"].ToString();
|
txtRecordName.Text = ViewState["RecordName"].ToString();
|
||||||
txtRecordData.Text = ViewState["RecordData"].ToString();
|
txtRecordData.Text = ViewState["RecordData"].ToString();
|
||||||
txtMXPriority.Text = ViewState["MxPriority"].ToString();
|
txtMXPriority.Text = ViewState["MxPriority"].ToString();
|
||||||
ToggleRecordControls();
|
txtSRVPriority.Text = ViewState["SrvPriority"].ToString();
|
||||||
|
txtSRVWeight.Text = ViewState["SrvWeight"].ToString();
|
||||||
|
txtSRVPort.Text = ViewState["SrvPort"].ToString();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
messageBox.ShowErrorMessage("GDNS_GET_RECORD", ex);
|
ShowErrorMessage("GDNS_GET_RECORD", ex);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,17 +114,30 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
|
|
||||||
private void ToggleRecordControls()
|
private void ToggleRecordControls()
|
||||||
{
|
{
|
||||||
rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX");
|
rowMXPriority.Visible = false;
|
||||||
|
rowSRVPriority.Visible = false;
|
||||||
if (ddlRecordType.SelectedValue == "A")
|
rowSRVWeight.Visible = false;
|
||||||
{
|
rowSRVPort.Visible = false;
|
||||||
lblRecordData.Text = "IP:";
|
|
||||||
IPValidator1.Enabled = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lblRecordData.Text = "Record Data:";
|
lblRecordData.Text = "Record Data:";
|
||||||
IPValidator1.Enabled = false;
|
IPValidator.Enabled = false;
|
||||||
|
|
||||||
|
switch (ddlRecordType.SelectedValue)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
lblRecordData.Text = "IP:";
|
||||||
|
IPValidator.Enabled = true;
|
||||||
|
break;
|
||||||
|
case "MX":
|
||||||
|
rowMXPriority.Visible = true;
|
||||||
|
break;
|
||||||
|
case "SRV":
|
||||||
|
rowSRVPriority.Visible = true;
|
||||||
|
rowSRVWeight.Visible = true;
|
||||||
|
rowSRVPort.Visible = true;
|
||||||
|
lblRecordData.Text = "Host offering this service:";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,9 +155,14 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
{
|
{
|
||||||
int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID,
|
int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID,
|
||||||
txtRecordName.Text.Trim(),
|
txtRecordName.Text.Trim(),
|
||||||
(DnsRecordType)Enum.Parse(typeof(DnsRecordType), ddlRecordType.SelectedValue, true),
|
(DnsRecordType)
|
||||||
|
Enum.Parse(typeof(DnsRecordType),
|
||||||
|
ddlRecordType.SelectedValue, true),
|
||||||
txtRecordData.Text.Trim(),
|
txtRecordData.Text.Trim(),
|
||||||
Utils.ParseInt(txtMXPriority.Text.Trim(), 0));
|
Int32.Parse(txtMXPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVWeight.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPort.Text.Trim()));
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
|
@ -160,7 +187,10 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
txtRecordName.Text.Trim(),
|
txtRecordName.Text.Trim(),
|
||||||
(DnsRecordType)ViewState["RecordType"],
|
(DnsRecordType)ViewState["RecordType"],
|
||||||
txtRecordData.Text.Trim(),
|
txtRecordData.Text.Trim(),
|
||||||
Utils.ParseInt(txtMXPriority.Text.Trim(), 0));
|
Int32.Parse(txtMXPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPriority.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVWeight.Text.Trim()),
|
||||||
|
Int32.Parse(txtSRVPort.Text.Trim()));
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
|
@ -230,6 +260,9 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
txtRecordName.Text = "";
|
txtRecordName.Text = "";
|
||||||
txtRecordData.Text = "";
|
txtRecordData.Text = "";
|
||||||
txtMXPriority.Text = "1";
|
txtMXPriority.Text = "1";
|
||||||
|
txtSRVPriority.Text = "0";
|
||||||
|
txtSRVWeight.Text = "0";
|
||||||
|
txtSRVPort.Text = "0";
|
||||||
ToggleRecordControls();
|
ToggleRecordControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.1433
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -229,6 +228,15 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireData;
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireData;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// IPValidator control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator IPValidator;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// IPValidator1 control.
|
/// IPValidator1 control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -283,6 +291,141 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority;
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireSrvPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// valRequireCorrectSrvPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPort;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnSave control.
|
/// btnSave control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
<asp:ListItem>NS</asp:ListItem>
|
<asp:ListItem>NS</asp:ListItem>
|
||||||
<asp:ListItem>TXT</asp:ListItem>
|
<asp:ListItem>TXT</asp:ListItem>
|
||||||
<asp:ListItem>CNAME</asp:ListItem>
|
<asp:ListItem>CNAME</asp:ListItem>
|
||||||
|
<asp:ListItem>SRV</asp:ListItem>
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -60,6 +61,28 @@
|
||||||
<asp:TextBox ID="txtMXPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
<asp:TextBox ID="txtMXPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPriority" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPriority" runat="server" meta:resourcekey="lblSRVPriority" Text="SRV Priority:"></asp:Label></td>
|
||||||
|
<td class="Normal">
|
||||||
|
<asp:TextBox ID="txtSRVPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVWeight" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVWeight" runat="server" meta:resourcekey="lblSRVWeight" Text="Weight:"></asp:Label></td>
|
||||||
|
<td class="Normal">
|
||||||
|
<asp:TextBox ID="txtSRVWeight" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr id="rowSRVPort" runat="server">
|
||||||
|
<td class="SubHead"><asp:Label ID="lblSRVPort" runat="server" meta:resourcekey="lblSRVPort" Text="Port Number:"></asp:Label></td>
|
||||||
|
<td class="Normal">
|
||||||
|
<asp:TextBox ID="txtSRVPort" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="Save" CssClass="Button1" OnClick="btnSave_Click" ValidationGroup="DnsRecord" />
|
<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="Save" CssClass="Button1" OnClick="btnSave_Click" ValidationGroup="DnsRecord" />
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2012, Outercurve Foundation.
|
// Copyright (c) 2011, Outercurve Foundation.
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
@ -86,6 +86,7 @@ namespace WebsitePanel.Portal
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindDnsRecords()
|
private void BindDnsRecords()
|
||||||
|
@ -104,6 +105,8 @@ namespace WebsitePanel.Portal
|
||||||
gvRecords.DataSource = ds;
|
gvRecords.DataSource = ds;
|
||||||
gvRecords.DataBind();
|
gvRecords.DataBind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ToggleRecordControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindDnsRecord(int recordId)
|
private void BindDnsRecord(int recordId)
|
||||||
|
@ -119,6 +122,9 @@ namespace WebsitePanel.Portal
|
||||||
txtRecordName.Text = record.RecordName;
|
txtRecordName.Text = record.RecordName;
|
||||||
txtRecordData.Text = record.RecordData;
|
txtRecordData.Text = record.RecordData;
|
||||||
txtMXPriority.Text = record.MxPriority.ToString();
|
txtMXPriority.Text = record.MxPriority.ToString();
|
||||||
|
txtSRVPriority.Text = record.SrvPriority.ToString();
|
||||||
|
txtSRVWeight.Text = record.SrvWeight.ToString();
|
||||||
|
txtSRVPort.Text = record.SrvPort.ToString();
|
||||||
ipAddress.AddressId = record.IpAddressId;
|
ipAddress.AddressId = record.IpAddressId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,9 +144,32 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
private void ToggleRecordControls()
|
private void ToggleRecordControls()
|
||||||
{
|
{
|
||||||
ipAddress.Visible = (ddlRecordType.SelectedValue == "A");
|
|
||||||
//rowData.Visible = (ddlRecordType.SelectedValue != "A");
|
rowMXPriority.Visible = false;
|
||||||
rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX");
|
rowSRVPriority.Visible = false;
|
||||||
|
rowSRVWeight.Visible = false;
|
||||||
|
rowSRVPort.Visible = false;
|
||||||
|
lblRecordData.Text = "Record Data:";
|
||||||
|
ipAddress.Visible = false;
|
||||||
|
|
||||||
|
switch (ddlRecordType.SelectedValue)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
lblRecordData.Text = "IP:";
|
||||||
|
ipAddress.Visible = true;
|
||||||
|
break;
|
||||||
|
case "MX":
|
||||||
|
rowMXPriority.Visible = true;
|
||||||
|
break;
|
||||||
|
case "SRV":
|
||||||
|
rowSRVPriority.Visible = true;
|
||||||
|
rowSRVWeight.Visible = true;
|
||||||
|
rowSRVPort.Visible = true;
|
||||||
|
lblRecordData.Text = "Host offering this service:";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveRecord()
|
private void SaveRecord()
|
||||||
|
@ -151,6 +180,9 @@ namespace WebsitePanel.Portal
|
||||||
record.RecordName = txtRecordName.Text.Trim();
|
record.RecordName = txtRecordName.Text.Trim();
|
||||||
record.RecordData = txtRecordData.Text.Trim();
|
record.RecordData = txtRecordData.Text.Trim();
|
||||||
record.MxPriority = Utils.ParseInt(txtMXPriority.Text, 0);
|
record.MxPriority = Utils.ParseInt(txtMXPriority.Text, 0);
|
||||||
|
record.SrvPriority = Utils.ParseInt(txtSRVPriority.Text, 0);
|
||||||
|
record.SrvWeight = Utils.ParseInt(txtSRVWeight.Text, 0);
|
||||||
|
record.SrvPort = Utils.ParseInt(txtSRVPort.Text, 0);
|
||||||
record.IpAddressId = ipAddress.AddressId;
|
record.IpAddressId = ipAddress.AddressId;
|
||||||
|
|
||||||
if (ServiceIdParam != null)
|
if (ServiceIdParam != null)
|
||||||
|
@ -230,6 +262,11 @@ namespace WebsitePanel.Portal
|
||||||
txtRecordName.Text = "";
|
txtRecordName.Text = "";
|
||||||
txtRecordData.Text = "";
|
txtRecordData.Text = "";
|
||||||
txtMXPriority.Text = "0";
|
txtMXPriority.Text = "0";
|
||||||
|
txtSRVPriority.Text = "0";
|
||||||
|
txtSRVWeight.Text = "0";
|
||||||
|
txtSRVPort.Text = "0";
|
||||||
|
|
||||||
|
ToggleRecordControls();
|
||||||
|
|
||||||
ShowPanels(true);
|
ShowPanels(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.42
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -10,23 +9,241 @@
|
||||||
|
|
||||||
namespace WebsitePanel.Portal {
|
namespace WebsitePanel.Portal {
|
||||||
|
|
||||||
|
|
||||||
public partial class GlobalDnsRecordsControl {
|
public partial class GlobalDnsRecordsControl {
|
||||||
protected System.Web.UI.WebControls.Panel pnlRecords;
|
|
||||||
protected System.Web.UI.WebControls.Button btnAdd;
|
/// <summary>
|
||||||
protected System.Web.UI.WebControls.GridView gvRecords;
|
/// pnlRecords control.
|
||||||
protected System.Web.UI.WebControls.Panel pnlEdit;
|
/// </summary>
|
||||||
protected System.Web.UI.WebControls.Label lblRecordType;
|
/// <remarks>
|
||||||
protected System.Web.UI.WebControls.DropDownList ddlRecordType;
|
/// Auto-generated field.
|
||||||
protected System.Web.UI.WebControls.Label lblRecordName;
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
protected System.Web.UI.WebControls.TextBox txtRecordName;
|
/// </remarks>
|
||||||
protected System.Web.UI.HtmlControls.HtmlTableRow rowData;
|
protected global::System.Web.UI.WebControls.Panel pnlRecords;
|
||||||
protected System.Web.UI.WebControls.Label lblRecordData;
|
|
||||||
protected System.Web.UI.WebControls.TextBox txtRecordData;
|
/// <summary>
|
||||||
protected WebsitePanel.Portal.SelectIPAddress ipAddress;
|
/// btnAdd control.
|
||||||
protected System.Web.UI.HtmlControls.HtmlTableRow rowMXPriority;
|
/// </summary>
|
||||||
protected System.Web.UI.WebControls.Label lblMXPriority;
|
/// <remarks>
|
||||||
protected System.Web.UI.WebControls.TextBox txtMXPriority;
|
/// Auto-generated field.
|
||||||
protected System.Web.UI.WebControls.Button btnSave;
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
protected System.Web.UI.WebControls.Button btnCancel;
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnAdd;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// gvRecords control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.GridView gvRecords;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// pnlEdit control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel pnlEdit;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblRecordType control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblRecordType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ddlRecordType control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.DropDownList ddlRecordType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblRecordName control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblRecordName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRecordName control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtRecordName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowData control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowData;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblRecordData control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblRecordData;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRecordData control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtRecordData;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ipAddress control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.SelectIPAddress ipAddress;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowMXPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowMXPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblMXPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblMXPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtMXPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtMXPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPriority control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPriority;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVWeight control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVWeight;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// rowSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSRVPort control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.TextBox txtSRVPort;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSave control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnSave;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCancel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2011, Outercurve Foundation.
|
// Copyright (c) 2012, Outercurve Foundation.
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
@ -273,7 +273,7 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
private void AddDnsRecord(int domainId, string recordName, string recordData)
|
private void AddDnsRecord(int domainId, string recordName, string recordData)
|
||||||
{
|
{
|
||||||
int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0);
|
int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0, 0, 0, 0);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
ShowResultMessage(result);
|
ShowResultMessage(result);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue