Alon Bar-Lev has uploaded a new change for review.

Change subject: extapi: switch sensitive scalar with flags mask, add non 
printable
......................................................................

extapi: switch sensitive scalar with flags mask, add non printable

there is a case of loops within the map especially when global context
and the context points to each other.

add a flag to skip dump of keys.

Change-Id: I9f9204d2b44af052196b0be0c4ad4ef3727c0768
Signed-off-by: Alon Bar-Lev <[email protected]>
---
M 
backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/Base.java
M 
backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtKey.java
M 
backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtMap.java
M 
backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/aaa/Authn.java
4 files changed, 29 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/27961/1

diff --git 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/Base.java
 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/Base.java
index e9bd9bf..3bf02c8 100644
--- 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/Base.java
+++ 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/Base.java
@@ -177,7 +177,7 @@
      */
     public static class ContextKeys {
         /** Global context. */
-        public static final ExtKey GLOBAL_CONTEXT = new 
ExtKey("EXTENSION_GLOBAL_CONTEXT", ExtMap.class, 
"9799e72f-7af6-4cf1-bf08-297bc8903676");
+        public static final ExtKey GLOBAL_CONTEXT = new 
ExtKey("EXTENSION_GLOBAL_CONTEXT", ExtMap.class, 
"9799e72f-7af6-4cf1-bf08-297bc8903676", ExtKey.Flags.SKIP_DUMP);
         /** Minimum usable interface version. */
         public static final ExtKey INTERFACE_VERSION_MIN = new 
ExtKey("EXTENSION_INTERFACE_VERSION_MIN", Integer.class, 
"2b84fc91-305b-497b-a1d7-d961b9d2ce0b");
         /** Maximum usable interface version. */
@@ -202,7 +202,7 @@
          * Extension configuration as loaded.
          * @see ConfigKeys
          */
-        public static final ExtKey CONFIGURATION = new 
ExtKey("EXTENSION_CONFIGURATION", Properties.class, 
"2d48ab72-f0a1-4312-b4ae-5068a226b0fc", true);
+        public static final ExtKey CONFIGURATION = new 
ExtKey("EXTENSION_CONFIGURATION", Properties.class, 
"2d48ab72-f0a1-4312-b4ae-5068a226b0fc", ExtKey.Flags.SENSITIVE);
         /**
          * Extension's build interface version.
          * Set by extension during {@link InvokeCommands#INITIALIZE} to {@link 
#INTERFACE_VERSION_CURRENT}.
@@ -288,7 +288,7 @@
         /** Extension reference. */
         public static final ExtKey EXTENSION = new 
ExtKey("EXTENSION_RECORD_EXTENSION", Extension.class, 
"fa110e1b-bf17-441d-8bd6-0fca24542405");
         /** Extension context. */
-        public static final ExtKey CONTEXT = new 
ExtKey("EXTENSION_RECORD_CONTEXT", ExtMap.class, 
"9003f5f6-ada6-4f5d-8b8b-3d4bbed39be8");
+        public static final ExtKey CONTEXT = new 
ExtKey("EXTENSION_RECORD_CONTEXT", ExtMap.class, 
"9003f5f6-ada6-4f5d-8b8b-3d4bbed39be8", ExtKey.Flags.SKIP_DUMP);
         /** Instance name. */
         public static final ExtKey INSTANCE_NAME = new 
ExtKey("EXTENSION_RECORD_INSTANCE_NAME", String.class, 
"6e1f2c27-b89e-42bd-94c1-e709eb8ce0d4");
         /**
diff --git 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtKey.java
 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtKey.java
index 5f91ecd..1a36b45 100644
--- 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtKey.java
+++ 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtKey.java
@@ -11,12 +11,17 @@
  */
 public class ExtKey implements Cloneable, Serializable {
 
+    public static class Flags {
+        public static final int SENSITIVE = 1<<0;
+        public static final int SKIP_DUMP = 1<<1;
+    }
+
     private static final long serialVersionUID = 7373830750276947742L;
 
     private transient Class type;
     private String typeName;
     private ExtUUID uuid;
-    private boolean sensitive;
+    private int flags;
 
     private void readObject(ObjectInputStream ois) throws 
ClassNotFoundException, IOException {
         ois.defaultReadObject();
@@ -34,12 +39,12 @@
      * Constructor.
      * @param type value type.
      * @param uuid unique identifier for key.
-     * @param sensitive do not print value.
+     * @param flags key flags see {@link Flags}.
      */
-    public ExtKey(Class type, ExtUUID uuid, boolean sensitive) {
+    public ExtKey(Class type, ExtUUID uuid, int flags) {
         this.type = type;
         this.uuid = uuid;
-        this.sensitive = sensitive;
+        this.flags = flags;
 
         this.typeName = this.type.getName();
     }
@@ -49,10 +54,10 @@
      * @param name key name, used only for debugging.
      * @param type value type.
      * @param uuid unique identifier for key.
-     * @param sensitive do not print value.
+     * @param flags key flags see {@link Flags}.
      */
-    public ExtKey(String name, Class type, UUID uuid, boolean sensitive) {
-        this(type, new ExtUUID(name, uuid), sensitive);
+    public ExtKey(String name, Class type, UUID uuid, int flags) {
+        this(type, new ExtUUID(name, uuid), flags);
     }
 
     /**
@@ -60,10 +65,10 @@
      * @param name key name, used only for debugging.
      * @param type value type.
      * @param uuid unique identifier for key.
-     * @param sensitive do not print value.
+     * @param flags key flags see {@link Flags}.
      */
-    public ExtKey(String name, Class type, String uuid, boolean sensitive) {
-        this(name, type, UUID.fromString(uuid), sensitive);
+    public ExtKey(String name, Class type, String uuid, int flags) {
+        this(name, type, UUID.fromString(uuid), flags);
     }
 
     /**
@@ -73,7 +78,7 @@
      * @param uuid unique identifier for key.
      */
     public ExtKey(String name, Class type, String uuid) {
-        this(name, type, uuid, false);
+        this(name, type, uuid, 0);
     }
 
     /**
@@ -117,7 +122,7 @@
         return new ExtKey(
             type,
             uuid,
-            sensitive
+            flags
         );
     }
 
@@ -138,10 +143,10 @@
     }
 
     /**
-     * Returns true if sensitive.
-     * @return true if sensitive.
+     * Returns flags see {@link Flags}.
+     * @return flags.
      */
-    public boolean isSensitive() {
-        return sensitive;
+    public int getFlags() {
+        return flags;
     }
 }
diff --git 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtMap.java
 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtMap.java
index ca2d89e..d145a15 100644
--- 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtMap.java
+++ 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/ExtMap.java
@@ -71,8 +71,10 @@
             }
             ret.append(entry.getKey());
             ret.append("=");
-            if (entry.getKey().isSensitive()) {
+            if ((entry.getKey().getFlags() & ExtKey.Flags.SENSITIVE) != 0) {
                 ret.append("***");
+            } else if ((entry.getKey().getFlags() & ExtKey.Flags.SKIP_DUMP) != 
0) {
+                ret.append("*skip*");
             } else {
                 ret.append(entry.getValue());
             }
diff --git 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/aaa/Authn.java
 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/aaa/Authn.java
index 4bc62c2..02eaa00 100644
--- 
a/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/aaa/Authn.java
+++ 
b/backend/manager/modules/extensions-api-root/extensions-api/src/main/java/org/ovirt/engine/api/extensions/aaa/Authn.java
@@ -32,9 +32,9 @@
         /** Principal user. */
         public static final ExtKey PRINCIPAL = new 
ExtKey("AAA_AUTHN_PRINCIPAL", String.class, 
"bc637d1d-f93f-45e1-bd04-646c6dc38279");
         /** Credentials to use. */
-        public static final ExtKey CREDENTIALS = new 
ExtKey("AAA_AUTHN_CREDENTIALS", String.class, 
"03b96485-4bb5-4592-8167-810a5c909706", true);
+        public static final ExtKey CREDENTIALS = new 
ExtKey("AAA_AUTHN_CREDENTIALS", String.class, 
"03b96485-4bb5-4592-8167-810a5c909706", ExtKey.Flags.SENSITIVE);
         /** Credentials to change. */
-        public static final ExtKey CREDENTIALS_NEW = new 
ExtKey("AAA_AUTHN_CREDENTIALS_NEW", String.class, 
"3455434d-63ab-42b0-b17b-a92621dd6dd1", true);
+        public static final ExtKey CREDENTIALS_NEW = new 
ExtKey("AAA_AUTHN_CREDENTIALS_NEW", String.class, 
"3455434d-63ab-42b0-b17b-a92621dd6dd1", ExtKey.Flags.SENSITIVE);
         /** HttpServletRequest. */
         public static final ExtKey HTTP_SERVLET_REQUEST = new 
ExtKey("AAA_AUTHN_HTTP_SERVLET_REQUEST", Object.class, 
"e1cd5eb2-8f63-4617-bcd4-9863bbc788d7");
         /** HttpServletResponse. */


-- 
To view, visit http://gerrit.ovirt.org/27961
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f9204d2b44af052196b0be0c4ad4ef3727c0768
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alon Bar-Lev <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to