
com.groupbyinc.flux.bootstrap.Seccomp.class Maven / Gradle / Ivy
???? 3x %com/groupbyinc/flux/bootstrap/Seccomp java/lang/Object Seccomp.java 4com/groupbyinc/flux/bootstrap/Seccomp$SolarisLibrary SolarisLibrary 0com/groupbyinc/flux/bootstrap/Seccomp$MacLibrary
MacLibrary *com/groupbyinc/flux/bootstrap/Seccomp$Arch Arch /com/groupbyinc/flux/bootstrap/Seccomp$SockFProg SockFProg 0com/groupbyinc/flux/bootstrap/Seccomp$SockFilter
SockFilter 2com/groupbyinc/flux/bootstrap/Seccomp$LinuxLibrary LinuxLibrary 0com/groupbyinc/flux/bootstrap/JNACLibrary$Rlimit )com/groupbyinc/flux/bootstrap/JNACLibrary Rlimit Rcom/groupbyinc/flux/bootstrap/JNAKernel32Library$JOBOBJECT_BASIC_LIMIT_INFORMATION 0com/groupbyinc/flux/bootstrap/JNAKernel32Library !JOBOBJECT_BASIC_LIMIT_INFORMATION logger -Lcom/groupbyinc/flux/common/logging/ESLogger;
linux_libc 4Lcom/groupbyinc/flux/bootstrap/Seccomp$LinuxLibrary; SECCOMP_SET_MODE_FILTER I SECCOMP_FILTER_FLAG_TSYNC PR_GET_NO_NEW_PRIVS ' PR_SET_NO_NEW_PRIVS & PR_GET_SECCOMP PR_SET_SECCOMP SECCOMP_MODE_FILTER J BPF_LD BPF_W BPF_ABS BPF_JMP BPF_JEQ BPF_JGE 0 BPF_JGT BPF_RET BPF_K SECCOMP_RET_ERRNO SECCOMP_RET_DATA ?? SECCOMP_RET_ALLOW? EACCES
EFAULT EINVAL ENOSYS SECCOMP_DATA_NR_OFFSET SECCOMP_DATA_ARCH_OFFSET
ARCHITECTURES Ljava/util/Map; OLjava/util/Map; libc_mac 2Lcom/groupbyinc/flux/bootstrap/Seccomp$MacLibrary;
SANDBOX_NAMED
SANDBOX_RULES Ljava/lang/String; C(version 1) (allow default) (deny process-fork) (deny process-exec) \ libc_solaris 6Lcom/groupbyinc/flux/bootstrap/Seccomp$SolarisLibrary; PRIV_OFF PRIV_ALLSETS PRIV_PROC_FORK proc_fork c PRIV_PROC_EXEC proc_exec f OPENBSD Z RLIMIT_NPROC ()V l m
n this 'Lcom/groupbyinc/flux/bootstrap/Seccomp; BPF_STMT 6(II)Lcom/groupbyinc/flux/bootstrap/Seccomp$SockFilter; (SBBI)V l t
u code k BPF_JUMP 8(IIII)Lcom/groupbyinc/flux/bootstrap/Seccomp$SockFilter; jt jf linux_prctl (IJJJJ)I $ % -com/groupbyinc/flux/common/sun/jna/NativeLong ? (J)V l ?
? ? prctl ?(ILcom/groupbyinc/flux/common/sun/jna/NativeLong;Lcom/groupbyinc/flux/common/sun/jna/NativeLong;Lcom/groupbyinc/flux/common/sun/jna/NativeLong;Lcom/groupbyinc/flux/common/sun/jna/NativeLong;)I ? ? ? option arg2 arg3 arg4 arg5
linux_syscall (J[Ljava/lang/Object;)J syscall s(Lcom/groupbyinc/flux/common/sun/jna/NativeLong;[Ljava/lang/Object;)Lcom/groupbyinc/flux/common/sun/jna/NativeLong; ? ? ? longValue ()J ? ?
? ? number args [Ljava/lang/Object; linuxImpl ()I T U ? 7com/groupbyinc/flux/common/apache/lucene/util/Constants ? OS_ARCH ? [ ? ?
java/util/Map ? get &(Ljava/lang/Object;)Ljava/lang/Object; ? ? ? ? LINUX ? i ? ? 'java/lang/UnsupportedOperationException ? java/lang/StringBuilder ?
? n seccomp unavailable: ' ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? ' architecture unsupported ? toString ()Ljava/lang/String; ? ?
? ? (Ljava/lang/String;)V l ?
? ? {seccomp unavailable: could not link methods. requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in ? ? ? ?
? )com/groupbyinc/flux/common/sun/jna/Native ? getLastError ? ?
? ? @seccomp unavailable: your kernel is buggy and you should upgrade ???j\ seccomp ? '
? java/lang/Integer ? valueOf (I)Ljava/lang/Integer; ? ?
? ????????? 7seccomp unavailable: seccomp(BOGUS_OPERATION) returned ? (J)Ljava/lang/StringBuilder; ? ?
? ? seccomp(BOGUS_OPERATION): ? strerror (I)Ljava/lang/String; ? ?
? Kseccomp unavailable: seccomp(SECCOMP_SET_MODE_FILTER, BOGUS_FLAG) returned ? .seccomp(SECCOMP_SET_MODE_FILTER, BOGUS_FLAG): ? } ~
? 2seccomp unavailable: prctl(BOGUS_OPTION) returned ? prctl(BOGUS_OPTION): ? cseccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in ? prctl(PR_GET_NO_NEW_PRIVS): ? qseccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed ? prctl(PR_GET_SECCOMP): ? xseccomp unavailable: CONFIG_SECCOMP_FILTER not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed ? prctl(PR_SET_SECCOMP): ? prctl(PR_SET_NO_NEW_PRIVS): ? Cseccomp filter did not really succeed: prctl(PR_GET_NO_NEW_PRIVS): ? r s
audit '
y z
limit '
fork
'
vfork
'
execve '
execveat '
6([Lcom/groupbyinc/flux/bootstrap/Seccomp$SockFilter;)V l
write m
getPointer .()Lcom/groupbyinc/flux/common/sun/jna/Pointer;
*com/groupbyinc/flux/common/sun/jna/Pointer! nativeValue /(Lcom/groupbyinc/flux/common/sun/jna/Pointer;)J#$
"% " # ' +com/groupbyinc/flux/common/logging/ESLogger) isDebugEnabled ()Z+,*- "seccomp(SECCOMP_SET_MODE_FILTER): / *, falling back to prctl(PR_SET_SECCOMP)...1 debug ((Ljava/lang/String;[Ljava/lang/Object;)V34*5 3[Lcom/groupbyinc/flux/bootstrap/Seccomp$SockFilter;7 , prctl(PR_SET_SECCOMP): 9 Mseccomp filter installation did not really succeed. seccomp(PR_GET_SECCOMP): ; ;Linux seccomp filter installation successful, threads: [{}]= all? java/lang/StringA ? appD errno errno2 errno1 arch ,Lcom/groupbyinc/flux/bootstrap/Seccomp$Arch; supported bogusArg ret insns prog 1Lcom/groupbyinc/flux/bootstrap/Seccomp$SockFProg; pointer method macImpl (Ljava/nio/file/Path;)V java/io/IOExceptionU MAC_OS_XW i ?X java/lang/IllegalStateExceptionZ Fbug: should not be trying to initialize seatbelt for an unsupported OS\
[ ? W X _ Hseatbelt unavailable: could not link methods. requires Leopard or above.a esc sbe %java/nio/file/attribute/FileAttributeg java/nio/file/Filesi createTempFile v(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;kl
jm java/util/Collectionso singleton #(Ljava/lang/Object;)Ljava/util/Set;qr
ps !java/nio/charset/StandardCharsetsu UTF_8 Ljava/nio/charset/Charset;wx vy java/nio/file/OpenOption{ s(Ljava/nio/file/Path;Ljava/lang/Iterable;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;}
j~ 9com/groupbyinc/flux/common/sun/jna/ptr/PointerByReference?
? n java/nio/file/Path? toAbsolutePath ()Ljava/nio/file/Path;????? ? sandbox_init Q(Ljava/lang/String;JLcom/groupbyinc/flux/common/sun/jna/ptr/PointerByReference;)I??
? getValue?
?? sandbox_init(): ? getString (J)Ljava/lang/String;??
"? sandbox_free_error /(Lcom/groupbyinc/flux/common/sun/jna/Pointer;)V??
? 'OS X seatbelt initialization successful? delete?T
j? 5com/groupbyinc/flux/common/apache/lucene/util/IOUtils? deleteFilesIgnoringExceptions ([Ljava/nio/file/Path;)V??
?? java/lang/Throwable? errorBuf ,Lcom/groupbyinc/flux/common/sun/jna/Pointer; e Ljava/lang/RuntimeException; errorRef ;Lcom/groupbyinc/flux/common/sun/jna/ptr/PointerByReference; tmpFile Ljava/nio/file/Path; rules success solarisImpl SUN_OS? i ?? Fbug: should not be trying to initialize priv_set for an unsupported OS? ^ _ ? Bpriv_set unavailable: could not link methods. requires Solaris 10+? a [ ? priv_set )(ILjava/lang/String;[Ljava/lang/String;)I?? ? "priv_set unavailable: priv_set(): ? *Solaris priv_set initialization successful? bsdImpl FREE_BSD? i ?? h i ? Jbug: should not be trying to initialize RLIMIT_NPROC for an unsupported OS?
n rlim_cur /Lcom/groupbyinc/flux/common/sun/jna/NativeLong;?? ? setValue? ?
?? rlim_max?? ? setrlimit 6(ILcom/groupbyinc/flux/bootstrap/JNACLibrary$Rlimit;)I??
? RLIMIT_NPROC unavailable: ? *BSD RLIMIT_NPROC initialization successful? 2Lcom/groupbyinc/flux/bootstrap/JNACLibrary$Rlimit; windowsImpl WINDOWS? i ?? Pbug: should not be trying to initialize ActiveProcessLimit for an unsupported OS? getInstance 4()Lcom/groupbyinc/flux/bootstrap/JNAKernel32Library;??
? CreateJobObjectW l(Lcom/groupbyinc/flux/common/sun/jna/Pointer;Ljava/lang/String;)Lcom/groupbyinc/flux/common/sun/jna/Pointer;??
? CreateJobObject: ? (I)Ljava/lang/StringBuilder; ??
??
n
size? ?
? QueryInformationJobObject ?(Lcom/groupbyinc/flux/common/sun/jna/Pointer;ILcom/groupbyinc/flux/common/sun/jna/Pointer;ILcom/groupbyinc/flux/common/sun/jna/Pointer;)Z??
? QueryInformationJobObject: ? read m
ActiveProcessLimit '
LimitFlags ' SetInformationJobObject ](Lcom/groupbyinc/flux/common/sun/jna/Pointer;ILcom/groupbyinc/flux/common/sun/jna/Pointer;I)Z
SetInformationJobObject: GetCurrentProcess
AssignProcessToJobObject [(Lcom/groupbyinc/flux/common/sun/jna/Pointer;Lcom/groupbyinc/flux/common/sun/jna/Pointer;)Z
AssignProcessToJobObject: CloseHandle /(Lcom/groupbyinc/flux/common/sun/jna/Pointer;)Z
4Windows ActiveProcessLimit initialization successful clazz limits TLcom/groupbyinc/flux/bootstrap/JNAKernel32Library$JOBOBJECT_BASIC_LIMIT_INFORMATION; lib 2Lcom/groupbyinc/flux/bootstrap/JNAKernel32Library; job init (Ljava/nio/file/Path;)I ? ?
'? m
)ST
+? m
-? m
/ )syscall filtering not supported for OS: '1 OS_NAME3 [ ?4 '6 java/lang/UnsatisfiedLinkError9 *com/groupbyinc/flux/common/logging/Loggers; getLogger @(Ljava/lang/Class;)Lcom/groupbyinc/flux/common/logging/ESLogger;=>
<? cA loadLibrary 7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;CD
?E Dunable to link C library. native methods (seccomp) will be disabled.G warn =(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)VIJ*K java/util/HashMapM
N n amd64P? >????
(IIIIIII)V lT
U put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;WX ?Y i386[@ unmodifiableMap (Ljava/util/Map;)Ljava/util/Map;^_
p` Eunable to link C library. native methods (seatbelt) will be disabled.b Eunable to link C library. native methods (priv_set) will be disabled.d OpenBSDf
startsWith (Ljava/lang/String;)Zhi
Bj Ljava/lang/UnsatisfiedLinkError; m
ConstantValue Signature Code LocalVariableTable LineNumberTable
StackMapTable
Exceptions LocalVariableTypeTable
SourceFile InnerClasses 0 &