mupuf.org // we are octopimupuf.org

At mupuf.org, we write code, we hack, and we do science!

Things I Learned While Writing Synema

As I pointed out in previous blog entries, I have been running short on time in the last few months. The reason is that I put quite a lot of time into a project that was assigned to me as part of my studies. The goal of the project was to create an application allowing graphical monitoring of various system and network security tools, such as SELinux, PIGA (currently under development in my school, ENSI of Bourges), Osiris, Snort, etc.

SYstem and NEtwork security Monitoring Application

This application, named Synema, was meant to be developed as a first-time project for first year students in computer science and security, so there were no big expectations about it when it was started. My coworker and I have been charged of writing a plugin framework that would allow other students to compute text reports into images, with the help of libploticus, and to display those images in a provided area, using the Cairo library. As the other students were beginners, the API had to be simple and contain as few functions as possible, and it had to be available in C.

These constraints, and the short deadline (three months to write the API and an application that would use the plugins to display data about real machines) limited the range of possibilities, and I am not extremely satisfied with the result (the first reason being that only one group of students managed to write a plugin whose code I consider clean enough for inclusion). The project is still going on, and it may be pursued in a different form (focusing on certain security tools and doing deeper data visualisation, and data correlation) in the next months, but this is not what I wanted to blog about ; and even if I wanted to, I could not since I’m not very brilliant at foreseeing the future. Instead, I am just going to speak a bit about the development of Synema, with the hope that it can be helpful to anyone (especially, hints things that I could not find anywhere else on the Internet – but it is vast and I’ve not visited all of it yet!).

Let’s begin with screenshots so that you know what I’m speaking about:

[Linux Journal] Making-root-unprivileged

Well this is a really short bookmark article. You’ll be warned.

Would you like to get rid of some setuid on your binaries ? Well, Linux 2.2 introduced capacities to get rid of them. Linux Journal’s Making-root-unprivileged is an attempt to have a setuid free Linux distribution, have fun !

If you’re using Spencer’s GRSecurity, you can use the GRSecurity Capability Names and Descriptions.

If you’re not using GRSecurity, I’ll soon send the capabilities currently available.

Another simpler article about this subject has been made by brain0, using-posix-capabilities-in-linux-part-one and using-posix-capabilities-in-linux-part-two.

Thinkpad: How to Use the Fn+F7 Hot Key on Xrandr-compliant Graphic Drivers!

Well, I’ll start this blog post with a big thank to my region. Indeed, studies in France are almost free of charges. But, in my region, they even have decided to offer laptops to their master students to attract more students.

I have received mine last year. It is a wonderful (yet, quite heavy) Lenovo Thinkpad R61i. It features a Core Duo (not a core 2 duo), 2 GB of RAM, 120GB on the hard disk drive and an NVIDIA Quadro NVS 140M.

I was really unpleased to discover it was an NVIDA video card, but I’ve come to like it over the last few months, when I discovered 3D support finally appeared using gallium 3D and the latest mesa bits.

Today, after my exams, I went to the project room my school has, plugged my laptop on the 24” screen and typed the usual :

$ xrandr --output VGA-1 --auto
$ xrandr --output LVDS-1 --off

This is way better than using NVIDIA’s utilities (it is portable) but yet, it is so boring to write the same thing on and on…

As I had a couple of hours to spare, I have decided to use the laptop hotkeys to switch between the screens (LVDS –> VGA and VGA–> LVDS).

To fulfill this goal, I have used the acpid daemon and I have made a simple bash script to detect implement the logic of the switch.

Project: Arduino IDE

Early this month I haven’t been very productive in the open source world, mostly because of the university projects and the exams that followed. Now it’s over I’ve decided to take the time to fix that, and it’s a pleasure to be finally able to get back to FOSS development, and my electronics hobby ;)

So today I’m proud to announce the fruit of my efforts, and a new project. As many Linux users, I love to make my computer workspace as efficient as possible, even if it represents more work than just doing it :)

My Recipe for Kesäkurpitsapaistos

While I was beginning to starve tonight, I noticed I had no idea what I’d cook. I was getting a bit fed up of noodles, and didn’t eat vegetables for a while. I can already hear you saying (actually, I can’t, unless I’m hooked to your micro, but that’s very unlikely, isn’t it?) “Hey wait, vegetables are dull”… No, they’re not! Not when you cook them properly, and it kind of accidentally happened to me just about an hour and a half ago.

You may also be wondering what the hell a kesäkurpitsapaistos can be. Well, it’s the Finnish name of gratin de courgettes. My Finnish friend Pasi took some time to find out what a courgette is, and he blamed me for not telling him in Finnish (well, now at least I know a word of that weird wonderful language).

MùPùF.org Has Been Down for 16 Hours ! Why ?

MùPùF.org has been down for 16 hours, we want to apologize for this downtime.

What actually happened?

There have been a problem on the SAN of the server and the main partition has been inaccessible for quite a long time. Then, the server has been rebooted by OVH but the e2fsck failed and I had to reboot in the recover mode to get it back online again.

Once again, sorry for the inconvenience.