Category Archives: Hacks

Android pattern locking: a horror story

45 seconds of play, ~5 hours of desperate hacking.

A few days ago, my 4 year old daughter was playing with my mobile phone running Android 1.6. To let her play with the screen while avoiding any mishap, I locked the phone. It was obviously not enough, she instantly found the MENU key to unlock it.

So I had the brilliant idea to put on a locking pattern, the pretty method used on Android to really lock the screen.

After 5 unsuccessful tries, which my daughter reached in about 15 seconds, the pattern unlocking incurs a 30-second guard delay. I decided that the game was too risky (I found out later there’s also a 20-try hard limit, but we didn’t reach it) and took my phone back.

There, I had another brilliantly fatal idea: I clicked on the “forgot the unlock pattern” button which just appeared, just out of curiosity to see what would happen next. The phone asked for my Gmail account and password. I filled the requested information, but it didn’t unlock the phone; apparently this is a known Android bug that I didn’t know about. And, contrary to what I naively assumed, there was no way to get back to the unlock pattern screen. I rebooted the phone. No change, no escape.

Then it dawned on me that I was 600 kilometers away from home, for almost a full week, without all my computer tools. And I was locked out of my own phone.

Continue reading Android pattern locking: a horror story

Pi avec 2 699 999 990 000 chiffres décimaux

[via Slashdot]

C’est Fabrice Bellard (qui n’en est pas à son coup d’essai, ni concernant Pi, ni sur d’autres sujets) qui nous gratifie d’un de ses nouveaux exploits… le résutat en décimal (1/2 octet par chiffre) prend à lui seul 1137 Go d’espace disque… Des extraits sont .

Le record précédent d’août 2009 est dépassé de peu (120 milliards de chiffres en plus, tout de même), c’est surtout l’économie comparée des moyens mis en oeuvre dans le nouveau record qui est stupéfiante : un simple PC à peine gonflé.

IPv6 en prison

Ça y est ! Depuis ce matin, IPv6 est maintenant utilisable dans les jails FreeBSD (version 8 seulement pour l’instant), grâce au travail que Bjoern Zeeb vient d’intégrer dans les sources.

Cela m’a permis de me débarrasser de la petite manipulation un peu tordue montée l’an dernier pour mettre en place la passerelle v6 -> v4 de ce blog.

Il a juste fallu que dans /etc/rc.conf je change la ligne :

   jail_signal_ip="192.168.58.99"

en :

   jail_signal_ip="192.168.58.99,2001:660:330f:f800::2"

Et bien sûr recompiler Apache et refaire sa configuration avec l’option IPv6, et régler quelques menus détails comme la création d’une nouvelle adresse v6, son ouverture dans les filtres IP, et sa mise à jour dans le DNS…

Adieu RFC 2817, bonjour RFC 3546

L’an dernier, ayant lu les docs Apache 2.2 dans un moment d’égarement, je parlais des extensions RFC 2817 du module SSL permettant de ne plus multiplier les adresses IP (maintenant de plus en plus rares en v4) lorsqu’on héberge plusieurs serveurs web sécurisés sur une même machine, une plaie avec https. On attendait alors la sortie de Firefox 3.

Celui-ci étant maintenant arrivé depuis un bon moment, je me suis réattaqué ce soir à la question, titillé par un article récent de Stéphane consacré à la légèreté proverbiale de X509.

Continue reading Adieu RFC 2817, bonjour RFC 3546

Using mod_proxy to convert a legacy IPv4 web site to IPv6

In preparation for the impending doom of IPv4, and in order to put my money where my mouth is [fr], I decided to make this blog natively accessible through IPv6.

The first problem I ran into is that my blog runs in a FreeBSD jail. Jails are a fine way to run a virtualized environment but they only support IPv4 at the moment. So I had the following options:

  • implement IPv6 in jails myself (this wouldn’t have happened overnight);
  • wait for someone else to;
  • abandon the idea;
  • find a workaround.

Finally I found a workaround, using Apache mod_proxy as a separate server to provide a IPv6 frontend (a configuration called reverse proxy). Continue reading Using mod_proxy to convert a legacy IPv4 web site to IPv6

Mozilla 24 at ENST, a technical summary

Photographs here under Creative Commons license.

The plan

(sorry French readers, this one is better suited to English)

Participate from ENST, Paris, France in Mozilla 24, a multi-site, multi-continent, high-quality video conference operated from Keio University in Tokyo, Japan. Two simultaneous video streams (one from our conference room to Japan, the other one back) allow interactivity between the speakers in our room and audiences on the other sites.

The room setup

Video from Paris to Japan has been sent using a laptop running FreeBSD 6, with a Firewire card and a 100 Mbps ethernet port. The PC receives the DV video from a professional camera on the Firewire port and reemits it, encapsulated, on the ethernet port. Here’s a picture of the setup:

img_5221.JPG

The blue cable is the 100 Mbps ethernet cable. The other cable is the firewire cable, plugged on the PCMCIA adapter.

Continue reading Mozilla 24 at ENST, a technical summary

CustomizeGoogle, l’extension Firefox du jour

Suite à mes inquiétudes concernant les informations que mon navigateur laisse en pâture à Google, je viens de m’apercevoir que l’extension CustomizeGoogle a déjà tout prévu, comme le montre cette copie d’écran de la section Privacy de sa configuration :

customizegoogle.png

Il existe bien d’autres réglages que ceux présentés ci-dessus. Hop, extension adoptée. Espérons qu’elle ne contient pas d’autres types de mouchards…

HTTP et TLS, la RFC méconnue…

Parfois, on apprend des choses en lisant les docs, notamment la section qui indique les nouveautés de la dernière version d’un logiciel.

En lisant celles d’Apache 2.2, je tombe ainsi sur l’extrait suivant :

mod_ssl

Le support de RFC 2817, a été ajouté, ce qui permet de passer d’une connexion en clair au cryptage TLS.

Autrement dit, il serait possible de se débarrasser des ennuyeux https:// (sites sécurisés par SSL), en mettant tout en http:// et en laissant le serveur et le navigateur se débrouiller pour négocier tout ce qu’il faut, comme cela se fait déjà pour la plupart des autres protocoles (SMTP, LDAP, POP, IMAP…). Avantage supplémentaire, plus besoin d’avoir une adresse IP distincte pour chaque site https, une des grosses contraintes de SSL tel qu’il est utilisé actuellement. Un vieux rêve de webmaster.

Sauf que. En allant lire la documentation du module concerné, on est vite refroidi :

In Apache 2.1 and later, SSLEngine can be set to optional. This enables support for RFC 2817, Upgrading to TLS Within HTTP/1.1. At this time no web browsers support RFC 2817.

La RFC en question date de 2000. Il a donc fallu environ 7 ans pour que ce soit mis en oeuvre dans le serveur web le plus populaire. Reste à espérer qu’il ne faudra pas 7 ans de plus pour que ce soit intégré dans les navigateurs !

Il semblerait que ce soit prévu pour la version 3 de Firefox 🙂