cmdjail
JDK
cmdjail | JDK | |
---|---|---|
1 | 206 | |
2 | 21,349 | |
- | 1.1% | |
8.6 | 10.0 | |
about 1 month ago | 3 days ago | |
Go | Java | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cmdjail
-
The curious case of shell commands, or how "this bug is required by POSIX"
AD: Huh! I just wrote a utility cmd [1] this weekend to deal with restricting ssh keys to executing only commands that match a rule set via `ForceCommand` in `sshd_config` or `Command=""` in `authorized_keys`. I'm curious to see how susceptible it is to the aforementioned issues, it does delegate to ` -c ''` under the hood [2], but there are checks to ensure only a single command option argument `--` is passed (to mitigate metacharacter expansions) [3].
Note this tool is only intended to be another layer in security.
[1] https://github.com/endiangroup/cmdjail
JDK
-
The curious case of shell commands, or how "this bug is required by POSIX"
Java has a bunch of code which looks like it's trying to do the right kind of escaping for msvcrt vs cmd.exe:
https://github.com/openjdk/jdk/blob/jdk-26%2B1/src/java.base...
But i would be lying if i said i understood what was going on there. Some googling suggests this was added around 1.7, ie in the early 2010s.
But then, that Rust CVE seems to originate in this work, and this guy claims Java said "won't fix", which suggests it is vulnerable:
https://flatt.tech/research/posts/batbadbut-you-cant-securel...
But there's no link, and i can't find any discussion about it, so i don't know what the actual situation is.
- Strings Just Got Faster
- To `Gather` or not to `Gather`? That is the question.
-
TinyCompiler: A Compiler in a Week-End
> if javac involves IR, SSA based analysis and transformation (which I assume it does)
https://github.com/openjdk/jdk/blob/master/src/jdk.compiler/...
I am fairly certain that it does not. I wrote a compiler for a simple programming language that compiled down to JVM for a project in the early 2010s. Its output was as fast as the Java one because they were fairly similar when you compared the generated bytecode. The HotSpot JVM is where all the optimization effort is applied.
- OpenJDK: x86_64 AVX512 intrinsics for Arrays.sort methods (2023)
- Ideas from "A Philosophy of Software Design"
-
The Humble for Loop in Rust
Not sure how accurate/non-outdated though.
https://github.com/openjdk/jdk/blob/master/src/hotspot/share...
Modern Hotspot can autovectorize at the very least.
- Compact Object Headers in Java 24
- Hash Ordering and Hyrum's Law
-
Tcl 9.0.0 Released
A handler for treating .zip (and .jar and .tar ...) files as if they were a volume mounted at /home/user/foo.zip - e.g. https://github.com/openjdk/jdk/blob/jdk-21-ga/src/java.base/...
It may be easier to reason about when thinking of the way $(mount -o loop) works with .iso files -- a file that is a container for other files that one can mount as if it were a filesystem
I was expecting pathlib in Python <https://docs.python.org/3/library/pathlib.html> to have one since a lot of Python distributions ship the standard library in .zip files but evidently not. Python gonna Python in that way
Firefox actually used to ship with that same "jar:" protocol handler, too, and I made good use of it for reading the javadoc html which was shipped inside zip files and was indescribably easier than trying to manage all the .html files in a Java 8 SDK distribution
What are some alternatives?
Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
aircraft - The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that are as close to reality as possible.
V8 - The official mirror of the V8 Git repository
steam-runtime - A runtime environment for Steam applications
Caffeine - A high performance caching library for Java