/dev/posts/

Sibling tail call optimization in Python

Published:

In Tail Recursion In Python, Chris Penner implements (self) tail-call optimization (TCO) in Python using a function decorator. Here I am extending the approach for sibling calls.

Read more…

Foo over SSH

Using SSH as a transport for your protocol

Published:

A comparison of the different solutions for using SSH2 as a secured transport for protocols/services/applications.

Read more…

Terminal read-only live sharing

Published:

Live sharing a terminal session to another (shared) host over SSH in read-only mode.

Read more…

OpenSSH ProxyUseFdPass

Published:

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.

Read more…

C++ synchronizations for SimGrid

Published:

This is an overview of some recent additions to the SimGrid code related to actor synchronization. It might be interesting for people using SimGrid, working on SimGrid or for people interested in generic C++ code for synchronization or asynchronicity.

Read more…

Intel AMT discovery

Published:

There has been some articles lately about Intel Active Management Technology (AMT) and its impact on security, trust, privacy and free-software. AMT supposed to be widely deployed in newest Intel hardware. So I wanted to see if I could find some AMT devices in the wild.

Read more…

Number of lines of code with FlameGraph

Published:

FlameGraph is used to display stack trace samples but we can ue it for other purposes as well.

Read more…

IP over UDP tunnel with socat

Published:

A simple way to create IP over UDP tunnels using socat.

Read more…

DNS aggregation over TLS

Published:

In a previous post, I tried different solutions for tunnelling DNS over TLS. One of those solutions was using a dedicated DNS-over-UDP fake service replying to all queries with the truncate flag set: this was causing the stub resolvers to retry the query using a TCP-based virtual-circuit. This solution is interesting because it is dead simple (it fits in a few line of codes) but it is clearly a hack. Here, I am using a dedicated DNS forwarder aggregating all the incoming DNS-over-UDP requests over a single persistent TCP virtual-circuit.

Read more…

Debugging use-after-free with RR reverse execution

Published:

RR is a very useful tool for debugging. It can record the execution of a program and then replay the exact same execution at will inside a debugger. One very useful extra power available since 4.0 is the support for efficient reverse execution which can be used to find the root cause of a bug in your program by rewinding time. In this example, we reverse-execute a program from a case of use-after-free in order to find where the block of memory was freed.

Read more…

Page 9 of 13 | | | JSON Feed | Atom Feed | RSS Feed