Skip to content

Commit fe0652c

Browse files
committed
Merge branch 'develop' into Azure
Conflicts: pom.xml
2 parents ed1e183 + ab1535a commit fe0652c

File tree

18 files changed

+1529
-1
lines changed

18 files changed

+1529
-1
lines changed

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,11 @@
250250
<artifactId>azure-management</artifactId>
251251
<version>0.8.0</version>
252252
</dependency>
253+
<dependency>
254+
<groupId>org.opensaml</groupId>
255+
<artifactId>opensaml</artifactId>
256+
<version>2.6.4</version>
257+
</dependency>
253258
</dependencies>
254259

255260
</project>

src/main/java/org/fogbowcloud/manager/core/ManagerController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1497,6 +1497,12 @@ public List<Resource> getAllResouces(String accessId) {
14971497
return ResourceRepository.getInstance().getAll();
14981498
}
14991499

1500+
/**
1501+
* This method will not be supported in next releases.
1502+
* @param request
1503+
* @param response
1504+
*/
1505+
@Deprecated
15001506
public void bypass(org.restlet.Request request, Response response) {
15011507
LOGGER.debug("Bypassing request: " + request);
15021508
computePlugin.bypass(request, response);

src/main/java/org/fogbowcloud/manager/core/plugins/ComputePlugin.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ public String requestInstance(Token token,List<Category> categories,
3737
*/
3838
public ResourcesInfo getResourcesInfo(Token token);
3939

40+
/**
41+
* This method will not be supported in next releases.
42+
* @param request
43+
* @param response
44+
*/
45+
@Deprecated
4046
public void bypass(Request request, Response response);
4147

4248
public void uploadImage(Token token, String imagePath, String imageName, String diskFormat);
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package org.fogbowcloud.manager.core.plugins.authorization.eduperson;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
import java.util.Properties;
6+
7+
import org.apache.log4j.Logger;
8+
import org.fogbowcloud.manager.core.plugins.AuthorizationPlugin;
9+
import org.fogbowcloud.manager.occi.model.Token;
10+
11+
public class EduPersonWhitelistAuthorizationPlugin implements AuthorizationPlugin {
12+
13+
private static final Logger LOGGER = Logger.getLogger(EduPersonWhitelistAuthorizationPlugin.class);
14+
private List<String> institutionWhiteList;
15+
16+
public EduPersonWhitelistAuthorizationPlugin(Properties properties) {
17+
String whiteListStr = properties.getProperty("authorization_eduperson_whitelist");
18+
if (whiteListStr == null) {
19+
LOGGER.error("Property authorization_eduperson_whitelist must be set.");
20+
throw new IllegalArgumentException(
21+
"Property authorization_eduperson_whitelist must be set.");
22+
}
23+
this.institutionWhiteList = Arrays.asList(whiteListStr.split(","));
24+
}
25+
26+
@Override
27+
public boolean isAuthorized(Token token) {
28+
if (token == null) {
29+
return false;
30+
}
31+
String eduPersonPrincipalName = token.get("eduPersonPrincipalName");
32+
if (eduPersonPrincipalName == null) {
33+
return false;
34+
}
35+
String[] eduPersonPrincipalNameSplit = eduPersonPrincipalName.split("@");
36+
if (eduPersonPrincipalNameSplit.length != 2) {
37+
return false;
38+
}
39+
String institutionIdP = eduPersonPrincipalNameSplit[1];
40+
return institutionWhiteList.contains(institutionIdP);
41+
}
42+
43+
}

src/main/java/org/fogbowcloud/manager/core/plugins/compute/ec2/EC2ComputePlugin.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,10 @@ private Map<String, Flavor> getFlavors() {
507507
try {
508508
content = new JSONObject(response.getContent());
509509
} catch (JSONException e) {
510-
510+
LOGGER.error("Couldn't retrieve flavours from AWS.", e);
511+
throw new OCCIException(ErrorType.BAD_REQUEST, ResponseConstants.INVALID_STATE);
511512
}
513+
512514
JSONArray regionsAr = content.optJSONObject("config").optJSONArray("regions");
513515
JSONObject regionJson = null;
514516
for (int i = 0; i < regionsAr.length(); i++) {

0 commit comments

Comments
 (0)