Some commands for interacting with the namespaces of Podman containers.
Some notes about using the TUN/TAP interface, especially on Linux.
Some notes about how to write a Frida script with the (somewhat classic) example of disabling certificate verification for TLS communications on Android applications.
This post describes different software components involved in host name resolutions and DNS configuration on GNU/Linux systems. It consists of a diagram and some accompanying explanations. The goal is to give some pointers and references to understand how to troubleshoot host name/DNS resolution problems and configuration problems on GNU/Linux systems.
While looking at the OpenSSH ssh_config
manpage, I found the
ProxyUseFdpass
configuration I did not know about.
It is apparently not widely known or used.
Some notes on the ELF 🧝 file format with references, explanations and some examples.
In my previous SimGrid post, I talked about different solutions for a better isolation between the model-checked application and the model-checker. We chose to avoid the (hackery) solution based multiple dynamic-linker namespaces in the same process and use a more conventional process-based isolation.
The Executable and Linkable Format (ELF) is used for
compilation outputs (.o
files), executables, shared libraries and core dumps.
The first cases are documented in the System V ABI
specification
and the Tools Interface Standard (TIS) ELF
specification but there does not
seem to be much documentation about the usage of the ELF format for core dumps.
Here are some notes on this.
A short summary of the logging message workflow with systemd-journald (and the different formats and sockets involved).
Some notes on ELF 🧝 loading and dynamic linking mainly for GNU userland
(ld.so
, libc
, libdl
) running on top of the Linux kernel. Some
prior knowlegde on the topic (virtual memory, shared objects,
sections) might be useful to understand this.
Today, I managed to forget a password but I had a Icedove (Thunderbird) process running containing the password.
In an attempt to simplify the development around the SimGrid model-checker, we were thinking about moving the model-checker out in a different process. Another different approach would be to use a dynamic-linker isolation of the different components of the process. Here is a summary of the goals, problems and design issues surrounding these topics.
In the previous episode, I talked about the implementation of a same-page-merging page store. On top of this, we can build same-page-merging snapshots for the SimGrid model checker.
The first (lower) layer of the per-page snapshot mechanism is a page store: its responsibility is to store immutable shareable reference-counted memory pages independently of the snapshoting logic. Snapshot management and representation, soft-dirty tracking will be handled in higher layer.
I looked at my options to achieve efficient/cheap snapshots of the simulated application for the Simgrid model checker using copy-on-write. Here I look at another solution to achieve this without using copy-on-write.
The SimGrid model checker explores the graph of possible executions of a simulated distributed application in order to verify safety and liveness properties. The model checker needs to store the state of the application in each node of the execution graph in order to detect cycles. However, saving the whole state of the application at each node of the graph leads to huge memory consumption and in some cases most of the time is spent copying data in order to take the snapshots of the application. We will see how we could solve this problem, using copy-on-write.