
com.groupbyinc.flux.plugins.PluginSecurity.class Maven / Gradle / Ivy
???? 3 *com/groupbyinc/flux/plugins/PluginSecurity java/lang/Object PluginSecurity.java ,com/groupbyinc/flux/plugins/PluginSecurity$1 1com/groupbyinc/flux/common/cli/Terminal$Verbosity 'com/groupbyinc/flux/common/cli/Terminal
Verbosity java/security/Policy$Parameters
java/security/Policy
Parameters ()V
this ,Lcom/groupbyinc/flux/plugins/PluginSecurity;
readPolicy f(Ljava/nio/file/Path;Lcom/groupbyinc/flux/common/cli/Terminal;Lcom/groupbyinc/flux/env/Environment;Z)V java/io/IOException #com/groupbyinc/flux/env/Environment tmpFile ()Ljava/nio/file/Path;
parsePermissions w(Lcom/groupbyinc/flux/common/cli/Terminal;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/security/PermissionCollection; " #
$ "java/security/PermissionCollection & elements ()Ljava/util/Enumeration; ( )
' * java/util/Collections , list .(Ljava/util/Enumeration;)Ljava/util/ArrayList; . /
- 0 java/util/List 2 isEmpty ()Z 4 5 3 6 VERBOSE 3Lcom/groupbyinc/flux/common/cli/Terminal$Verbosity; 8 9 : 7plugin has a policy file with no additional permissions < print [(Lcom/groupbyinc/flux/common/cli/Terminal$Verbosity;Ljava/lang/String;[Ljava/lang/Object;)V > ?
@
sort )(Ljava/util/List;Ljava/util/Comparator;)V C D
- E NORMAL G 9 H ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ J println L ?
M ;@ WARNING: plugin requires additional permissions @ O iterator ()Ljava/util/Iterator; Q R 3 S java/util/Iterator U hasNext W 5 V X next ()Ljava/lang/Object; Z [ V \ java/security/Permission ^ * %s ` formatPermission .(Ljava/security/Permission;)Ljava/lang/String; b c
d SSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html f Jfor descriptions of what these permissions allow and the associated risks. h 6(Lcom/groupbyinc/flux/common/cli/Terminal$Verbosity;)V L j
k !Continue with installation? [y/N] m readText 9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; o p
q y s java/lang/String u equalsIgnoreCase (Ljava/lang/String;)Z w x
v y java/lang/RuntimeException { installation aborted by user } (Ljava/lang/String;)V
| ?
permission Ljava/security/Permission; text Ljava/lang/String; file Ljava/nio/file/Path; terminal )Lcom/groupbyinc/flux/common/cli/Terminal; environment %Lcom/groupbyinc/flux/env/Environment; batch Z permissions $Ljava/security/PermissionCollection; requested ,Ljava/util/List; Ljava/util/List; java/lang/StringBuilder ?
? "java/security/UnresolvedPermission ? getUnresolvedType ()Ljava/lang/String; ? ?
? ? getClass ()Ljava/lang/Class; ? ?
? java/lang/Class ? getName ? ?
? ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? getUnresolvedName ? ?
? ?
_ ? length ()I ? ?
v ? (C)Ljava/lang/StringBuilder; ? ?
? ? getUnresolvedActions ? ?
? ?
getActions ? ?
_ ? toString ? ?
? ? sb Ljava/lang/StringBuilder; clazz name actions &java/security/NoSuchAlgorithmException ? empty ? tmp ? %java/nio/file/attribute/FileAttribute ? java/nio/file/Files ? createTempFile v(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path; ? ?
? ?
JavaPolicy ? java/security/URIParameter ? java/nio/file/Path ? toUri ()Ljava/net/URI; ? ? ? ? (Ljava/net/URI;)V ?
? ? getInstance K(Ljava/lang/String;Ljava/security/Policy$Parameters;)Ljava/security/Policy; ? ?
? (Ljava/lang/Throwable;)V ?
| ? )com/groupbyinc/flux/plugins/PluginManager ? tryToDeletePath A(Lcom/groupbyinc/flux/common/cli/Terminal;[Ljava/nio/file/Path;)V ? ?
? ? getProtectionDomain "()Ljava/security/ProtectionDomain; ? ?
? ? getPermissions F(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection; ? ?
? UNSUPPORTED_EMPTY_COLLECTION ? ? ? 'java/lang/UnsupportedOperationException ? AJavaPolicy implementation does not support retrieving permissions ?
? ? java/security/Permissions ?
? java/util/ArrayList ?
? S implies =(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
add (Ljava/security/Permission;)V
' setReadOnly
' emptyPolicy Ljava/security/Policy; e (Ljava/security/NoSuchAlgorithmException; policy tmpDir emptyPolicyFile actualPermissions Code LocalVariableTable LineNumberTable LocalVariableTypeTable
StackMapTable
Exceptions
SourceFile InnerClasses / *? ? ( ? ?+*,? !? %:? +? 1:? 7 ? +? ;=? ? A?? Y? B? F+? IK? ? N+? IP? ? N+? IK? ? N? T :? Y ? '? ] ? _:+? Ia? Y? eS? N???+? Ig? ? N+? Ii? ? N? *+? I? l+n? ? r:t? z?
? |Y~? ??? R ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? R . / 0 1 , 2 - 6 9 T F U S V ` X Y ? Z ? [ ? \ ? ] ? ^ ? _ ? ` ? a ? d ? - ' 3? ; V? -? D b c [ ?? ?Y? ?LM*? ?? *? ?? ?M? *? ?? ?M+,? ?WN*? ?? *? ?? ?N? *? ?N-? -? ?? + ? ?W+-? ?W:*? ?? *? ?? ?:? *? ?:? ? ?? + ? ?W+? ?W+? ?? 4 ? ? ? ? ? ?
? ? ? , k ? ? ^ 9 ? ? V h j
k l n $ p * r , s 3 t > v C x N y U z [ } ^ ~ e q ? w ? ? ? ? ? ? ? ? ? v? v? v " #
?,??? ɸ ?Nѻ ?Y-? ? ? ܸ ?:? :? |Y? ?*? ?Y-S? ?ѻ ?Y+? ? ? ܸ ?:? :? |Y? ?? ?? ?:? ??
? ?Y?? ??? ?Y? ?:? +? 1? ?:? Y ? (? ] ? _: ? ? ??
?????
?
! $ ? <