From: Jonathan Gathman Date: Thu, 19 Sep 2019 15:40:01 +0000 (+0000) Subject: Merge "AAFcli.java -Extract the assignment out of this expression" X-Git-Tag: 2.1.17~116 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=28fe822b2ac836ad3e75e0fa68fda29229ac4cfc;hp=63d17a4c0bb0cfe76b5d1f703a9ce3ec02a52674;p=aaf%2Fauthz.git Merge "AAFcli.java -Extract the assignment out of this expression" --- diff --git a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/Cached.java b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/Cached.java index a31e7b5b..5605d653 100644 --- a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/Cached.java +++ b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/Cached.java @@ -3,6 +3,8 @@ * org.onap.aaf * =========================================================================== * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * + * Modification Copyright (c) 2019 IBM * =========================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +39,6 @@ import org.onap.aaf.misc.env.Trans; public class Cached extends Cache { // Java does not allow creation of Arrays with Generics in them... - // private Map cache[]; protected final CIDAO info; private static Timer infoTimer; @@ -47,19 +48,8 @@ public class Cached extends Cache info, String name, int segSize, long expireIn) { this.name =name; this.segSize = segSize; @@ -71,6 +61,18 @@ public class Cached extends Cache data) { @SuppressWarnings("unchecked") @@ -83,14 +85,14 @@ public class Cached extends Cache map = ((Map)cache[cacheIdx]); -// if (map.remove(key)!=null) // Not seeming to remove all the time if (map!=null)map.clear(); -// System.err.println("Remove " + name + " " + key); return cacheIdx; } public Result invalidate(int segment) { - if (segment<0 || segment>=cache.length) return Result.err(Status.ERR_BadData,"Cache Segment %s is out of range",Integer.toString(segment)); + if (segment<0 || segment>=cache.length) { + return Result.err(Status.ERR_BadData,"Cache Segment %s is out of range",Integer.toString(segment)); + } @SuppressWarnings("unchecked") Map map = ((Map)cache[segment]); if (map!=null) { @@ -99,6 +101,7 @@ public class Cached extends Cache { public abstract Result> get(); }; @@ -125,8 +128,6 @@ public class Cached extends Cache extends Cache cidao; private int minRefresh; @@ -173,7 +174,7 @@ public class Cached extends Cache extends Cache rv = cidao.check(trans); diff --git a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/CassDAOImpl.java b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/CassDAOImpl.java index 72444c99..68ec2e8b 100644 --- a/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/CassDAOImpl.java +++ b/auth/auth-cass/src/main/java/org/onap/aaf/auth/dao/CassDAOImpl.java @@ -167,19 +167,27 @@ public class CassDAOImpl extends AbsCassDAO { // Certs in keystore versus Truststore. Separate in Version 2_0 if (cin.trustCAs()!=null) { for (String c : cin.trustCAs()) { - if (c!=null) { - if (!cout.getCerts().contains(c)) { - cout.getCerts().add(c); - } - } + if ((c!=null)&&(!cout.getCerts().contains(c))) { + cout.getCerts().add(c); + } } } if (cin.notes()!=null) { diff --git a/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/user/Delg.java b/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/user/Delg.java index e4ddc2b1..3d226f7e 100644 --- a/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/user/Delg.java +++ b/auth/auth-cmd/src/main/java/org/onap/aaf/auth/cmd/user/Delg.java @@ -45,7 +45,7 @@ public class Delg extends BaseCmd { static final String AUTHZ_DELG = "/authz/delegate"; private static final String[] options = {"add","upd","del"}; - public Delg(User user) throws APIException { + public Delg(User user){ super(user,"delegate", new Param(optionsToString(options),true), new Param("from",true), diff --git a/auth/auth-gui/src/main/java/org/onap/aaf/auth/cui/CUI.java b/auth/auth-gui/src/main/java/org/onap/aaf/auth/cui/CUI.java index cb44ab09..20a28cab 100644 --- a/auth/auth-gui/src/main/java/org/onap/aaf/auth/cui/CUI.java +++ b/auth/auth-gui/src/main/java/org/onap/aaf/auth/cui/CUI.java @@ -45,7 +45,7 @@ import org.onap.aaf.misc.env.TimeTaken; public class CUI extends HttpCode { private final AAF_GUI gui; - private final static Pattern userPerm = Pattern.compile("perm (create|delete).*@.*:id.*aaf.gui.*"); + private static final Pattern userPerm = Pattern.compile("perm (create|delete).*@.*:id.*aaf.gui.*"); public CUI(AAF_GUI gui) { @@ -90,6 +90,7 @@ public class CUI extends HttpCode { if(userPerm.matcher(cmdStr).matches()) { trans.clearCache(); Cookie cookie = new Cookie(Page.AAF_THEME,trans.getProperty(Page.AAF_THEME)); + cookie.setSecure(true); cookie.setMaxAge(-1); cookie.setComment("Remove AAF GUI Theme"); trans.hresp().addCookie(cookie); diff --git a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/RequestDetail.java b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/RequestDetail.java index 8b6c1376..09b583bf 100644 --- a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/RequestDetail.java +++ b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/RequestDetail.java @@ -73,7 +73,7 @@ public class RequestDetail extends Page { * */ private static class Model extends TableData { - final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L; + static final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L; private Slot sTicket; public Model(AuthzEnv env) { sTicket = env.slot(NAME+".ticket"); diff --git a/docs/sections/architecture/aaf_architecture.rst b/docs/sections/architecture/aaf_architecture.rst index 50d20eec..5513be8a 100644 --- a/docs/sections/architecture/aaf_architecture.rst +++ b/docs/sections/architecture/aaf_architecture.rst @@ -64,6 +64,17 @@ Enjoy stretching your mind AAF can support models of either side. In the meantime, enjoy the use of your mind to comtemplate things beyond tickets and this will help drive what you need to ask for in terms of Identities for your Apps. +Components +========== + +The running components of AAF include the following: + - "service" - RESTful HTTP/S - The main API Service for Authentication, Authorization and Management + - "locate" - RESTful HTTP/S - Provides Scaleble, Cross-Deployment Global location, inside or outside a container, of Registered Components (at minimum, AAF Components). Locate also provide Configuration information for Generated Configurations. + - "oauth" - RESTful HTTP/S - OAuth 2 implementation. Provides "token" and "introspection" methods, where Authorization data is included. + - "gui" - Browser HTTP/S - Management GUI, where user interactions occur, including a Web-based CMD-Line interface, API Docs, Approval pages, etc. + - "cm" - RESTful HTTP/S - Certificate Manager API, see more details below. + - "fs" - HTTP ONLY - File Server. This Component MUST NOT be HTTP/S, because it Provides HTTP Accessed RCLs as part of the TLS process. Other public information may be presented as well (such as Certificates, which are by definition Public) + Certificate Manager =================== diff --git a/docs/sections/architecture/security.rst b/docs/sections/architecture/security.rst index d1809935..ebfd63ba 100644 --- a/docs/sections/architecture/security.rst +++ b/docs/sections/architecture/security.rst @@ -33,6 +33,10 @@ Whenever two processing entities exist that need to communicate securely, it is Encryption is provided by HTTP/S with the TLS 1.2+ protocol. Lesser protocols can also be added, but it is highly recommended that the protocol go no lower than TLS 1.1 +ALL components of AAF are accessible only by HTTP/S (service, locate, oauth, gui, certman), EXCEPT the component "FS". + +FS *must* be HTTP, because it is responsible for being accessible DURING the TLS process for recent RCLs. (Revocation lists). Since it is part of the TLS process, it cannot be TLS itself. + .. image:: images/SecurityArchBasic_TLS.svg :width: 70% :align: center diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst index 72198931..ed91732c 100644 --- a/docs/sections/release-notes.rst +++ b/docs/sections/release-notes.rst @@ -5,7 +5,7 @@ Release Notes ============= -Version: 2.1.15 (El Alto, Early Drop, 5.0.0) +Version: 2.1.15 (El Alto, 5.0.1) --------------------------------------------- :Release Date: 2019-08-12