You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ya...@apache.org on 2012/07/28 02:41:57 UTC
git commit: CS-15730: Prohibit create VPN connection from different
gateway to same customer gateway
Updated Branches:
refs/heads/vpc e8ad5b7d0 -> b410cbff5
CS-15730: Prohibit create VPN connection from different gateway to same customer gateway
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/b410cbff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/b410cbff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/b410cbff
Branch: refs/heads/vpc
Commit: b410cbff5fec2940aa80d68875edaf8cdd9579c7
Parents: e8ad5b7
Author: Sheng Yang <sh...@citrix.com>
Authored: Fri Jul 27 17:40:54 2012 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Fri Jul 27 17:41:47 2012 -0700
----------------------------------------------------------------------
.../network/dao/Site2SiteVpnConnectionDao.java | 1 +
.../network/dao/Site2SiteVpnConnectionDaoImpl.java | 7 +++++++
.../cloud/network/vpn/Site2SiteVpnManagerImpl.java | 6 ++++++
3 files changed, 14 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b410cbff/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDao.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDao.java b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDao.java
index 6954287..2239ec7 100644
--- a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDao.java
+++ b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDao.java
@@ -10,4 +10,5 @@ public interface Site2SiteVpnConnectionDao extends GenericDao<Site2SiteVpnConnec
List<Site2SiteVpnConnectionVO> listByVpnGatewayId(long id);
List<Site2SiteVpnConnectionVO> listByVpcId(long vpcId);
Site2SiteVpnConnectionVO findByVpnGatewayIdAndCustomerGatewayId(long vpnId, long customerId);
+ Site2SiteVpnConnectionVO findByCustomerGatewayId(long customerId);
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b410cbff/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
index 8940192..2d147d2 100644
--- a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
+++ b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
@@ -67,4 +67,11 @@ public class Site2SiteVpnConnectionDaoImpl extends GenericDaoBase<Site2SiteVpnCo
sc.setParameters("customerGatewayId", customerId);
return findOneBy(sc);
}
+
+ @Override
+ public Site2SiteVpnConnectionVO findByCustomerGatewayId(long customerId) {
+ SearchCriteria<Site2SiteVpnConnectionVO> sc = AllFieldsSearch.create();
+ sc.setParameters("customerGatewayId", customerId);
+ return findOneBy(sc);
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b410cbff/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
index 48bb387..e64962a 100644
--- a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
+++ b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
@@ -205,6 +205,12 @@ public class Site2SiteVpnManagerImpl implements Site2SiteVpnManager, Manager {
throw new InvalidParameterValueException("The vpn connection with customer gateway id " + customerGatewayId + " or vpn gateway id "
+ vpnGatewayId + " already existed!");
}
+ if (_vpnConnectionDao.findByCustomerGatewayId(customerGatewayId) != null) {
+ List<IdentityProxy> idList = new ArrayList<IdentityProxy>();
+ idList.add(new IdentityProxy(customerGateway, customerGatewayId, "customerGatewayId"));
+ throw new InvalidParameterValueException("The vpn connection with specified customer gateway id " +
+ " already exists!", idList);
+ }
Site2SiteVpnConnectionVO conn = new Site2SiteVpnConnectionVO(owner.getAccountId(), owner.getDomainId(), vpnGatewayId, customerGatewayId);
conn.setState(State.Pending);
_vpnConnectionDao.persist(conn);