/dev/posts/

Anatomy of an ELF core file

Published:

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.

Read more…

Verifying authenticity of Debian CDs

Published:

The official guide for verifying the authenticity of a Debian 🍥 CD image is not so clear if you don't already have an idea about what you are doing. Here is a translation in terms of shell commands.

Read more…

Logging message workflow with journald

Published:

A short summary of the logging message workflow with systemd-journald (and the different formats and sockets involved).

Read more…

Updating Firefox OS

Published:

I updated a Geeksphone Peak from Firefox OS 1.1 to Firefox OS 2.1 and it was not that easy.

Read more…

Bundler starter kit

Published:

Bundler is a tool to manage Ruby gem dependencies, install them and setup the execution environment. The homepage shows how to use it to install the gems alongside the ruby installation/systemwide which is not so great. For some reason, I initially didn't find the option to install the gems locally (--path) and have been using horrible environment variable modifications to avoid the systemwide installation. In fact, this is quite simple…

Read more…

The broadband protocol stacks

Published:

The Broadband Forum as a lot of technical reports about the xDSL architecture but it is not so easy to find a good description of the global architecture. Those are ASCII-art protocol stack I inferred from those documents. What is in there may be wrong, feel free to correct me.

Read more…

Recursive DNS over TLS over TCP 443

Published:

You might want to use an open recursive DNS servers if your ISP's DNS server is lying. However, if your network/ISP is intercepting all DNS requests, a standard open recursive DNS server won't help. You might have more luck by using an alternative port or by forcing the usage of TCP (use-vc option in recent versions of glibc) but it might not work. Alternatively, you could want to talk to a (trusted) remote recursive DNS server over secure channel such as TLS: by using DNS over TLS over TCP port 443 (the HTTP/TLS port), you should be able to avoid most filtering between you and the recursive server.

Read more…

ELF loading and dynamic linking

Published:

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.

Read more…

Recover a (forgotten) password in a process memory

Published:

Today, I managed to forget a password but I had a Icedove (Thunderbird) process running containing the password.

Read more…

nginx, Logstash and vhost-combined log format

Published:

The Apache HTTP server ships with a split-logfile utility which parses Combined Log File entries prefixed with the virtual host: some notes about this and its inclusion in nginx and logstash.

Read more…

Page 9 of 11 | | | JSON Feed | Atom Feed