<?xml version="1.0"?>
<!-- name="generator" content="pyblosxom/0.8.1" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>Tollef Fog Heen</title>
    <link>http://err.no/personal/blog/</link>
    <description>tfheen's blog</description>
    <webMaster>tfheen@err.no</webMaster>
    <managingEditor>tfheen@err.no</managingEditor>
    <language>en</language>
    <image>
        <url>http://err.no/tfheen.jpg</url>
        <title>Tollef Fog Heen</title>
        <description>Image of Tollef Fog Heen</description>
        <link>http://err.no/personal/blog</link>
        <width>66</width>
        <height>100</height>
    </image>
  <item>
    <title>Why I think you should publish your infrastructure</title>
    <link>http://err.no/personal/blog/tech/2010-03-27-15-55_why_you_should_publish_your_infrastructure.html</link>
    <pubDate>Sat, 27 Mar 2010 15:55 +0100</pubDate>
    <description>&lt;p&gt;GNOME&apos;s current sysadmin team is entirely voluneer-based, but as they
are having problems finding enough (trusted) volunteers they are
looking at hiring a part-time sysadmin.  From looking at the GNOME
wiki, it looks like they have had a meeting about the shortage of
sysadmins. Citing from &lt;a href=&quot;http://live.gnome.org/Sysadmin/AdvisoryMeeting/FormalTeam&quot;&gt;the minutes&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The biggest problem that we&apos;ve always had with the maintaining an
   active sysadmin team is the need for trust. If somebody shows up
   and wants to help out with a GNOME coding project, then it&apos;s easy
   to build up trust over time. Suggest a project, have the person
   send patches, review the patches, if the patches are good,
   eventually give them direct commit access. However, for sysadmin
   work, we get a lot of people who want to help out, but it&apos;s very
   hard for someone to contribute without being given a &quot;dangerous&quot;
   level of access to the GNOME systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Without having looked very hard, I would guess at the GNOME
infrastructure being about as open as most proprietary software
projects.  There&apos;s no way for me, as a third party to take a look at
their infrastructure, take a look at their ticket backlog and submit
patches for problems.  Similarly, their nagios setup is behind a
password prompt, so there&apos;s no way for me to look at what services
often have performance problems, suggest new monitors or point out
any servers or services that are not monitored.&lt;/p&gt;

&lt;p&gt;I&apos;m not saying this to pick on GNOME, and as I&apos;ll touch on below, they
do seem to mostly do the right thing, and as one of the
Freedesktop.org sysadmins, I know we&apos;re not any better at least not
yet.&lt;/p&gt;

&lt;p&gt;One way to make it at least somewhat easier to contribute and get
involved is to use a tool like &lt;a href=&quot;http://wiki.opscode.com/display/chef/Home&quot;&gt;Chef&lt;/a&gt; or &lt;a href=&quot;http://projects.puppetlabs.com/projects/puppet/&quot;&gt;Puppet&lt;/a&gt; and
publishing the recipes.  This won&apos;t magically make everything
transparent, but it&apos;ll be a big step up.  Ideally, the recipes should
be complete enough that you can bootstrap a working system from them
and so easier reproduce the infrastructure and any problems.  It seems
like GNOME is using puppet, but I couldn&apos;t find the recipes.&lt;/p&gt;

&lt;p&gt;Moving a complete infrastructure from something managed by hand to
something managed using automation tools is a fairly big and involved
process.  However, if you&apos;re serious about getting more people
involved in your sysadmin team, I think it&apos;s one of the more
reasonable ways to opening up.  It also means that when one of your
servers is stolen, catches fire or suffers other catastrophic failure
you can rebuild the service much quicker.&lt;/p&gt;

&lt;p&gt;My last point is to open up your ticket tracker.  Most tickets aren&apos;t
security sensitive, so provide a way for people to mark those tickets
that are sensitive as such and make the rest public.  The GNOME wiki
makes this a bit confusing as it talks a bit about RT, but it seems
like they actually use bugzilla for sysadmin tickets and just hide
security-sensitive ones.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>A small explanation about the yubikey</title>
    <link>http://err.no/personal/blog/tech/2010-03-16-08-41_Yubikey_a_small_explanation.html</link>
    <pubDate>Tue, 16 Mar 2010 08:41 +0100</pubDate>
    <description>&lt;p&gt;&lt;a href=&quot;http://etbe.coker.com.au/2010/03/15/yubikey/&quot;&gt;Russell Coker&lt;/a&gt; recently reviewed the Yubikey.  The article
mentions me, so I figured I&apos;d correct a minor thing and respond to one
of the comments.&lt;/p&gt;

&lt;p&gt;First, the &lt;code&gt;yubikey-server-c&lt;/code&gt; is my reimplementation of the
Yubikey authentication protocol.  Yubico provides two implementations,
one in PHP and one in Java, neither which I&apos;m particuarly interesting
on building my system security on. Any bugs, misfeatures, etc in the C
implementation are mine and mine alone.&lt;/p&gt;

&lt;p&gt;Barak A. Pearlmutter, one of the commenters on Russell&apos;s blog writes:&lt;/p&gt;

&lt;p&gt;i don’t understand. isn’t this thing vulnerable to eavesdropping and
  replaying? even if &lt;em&gt;it&lt;/em&gt; has a counter which changes etc, the things
  it is talking to (web sites) can’t know that some generated string
  is being reused. and it doesn’t even have a clock, so these things
  can be old.&lt;/p&gt;

&lt;p&gt;The way the Yubikey works is you have a central authentication server.
This has a secret shared with the key.  Setting this secret is the
primary function of the personalisation tool.  When you press the
button, the key takes its internal state (various counters, uid field,
etc) and encrypts this using AES-128.  This is then sent to the
application you are trying to access, be it Wordpress, SSH or
something else.  Said application then contacts the authentication
server which decrypts the ticket, checks the values of the counters to
make sure it&apos;s not a replay and responds with OK, bad ticket, replay
and various other status codes.  Based on this, the application grants
or denies access.&lt;/p&gt;

&lt;p&gt;There are really two places you could attack this: in the
communication between the web browser and application or between
application and authentication server.  Both of those can be secured
using SSL.&lt;/p&gt;

&lt;p&gt;There is no way to use a single yubikey in multiple authentication
realms without extra software.  To do this, you would have a OpenID
provider that uses the Yubikey for authentication, or you could have a
Kerberos server with cross-realm trust.&lt;/p&gt;

&lt;p&gt;As for the PAM modules and other tools so far not being packaged, yes,
I know, I might fix it, but the current setup has the bits I use, as I
use RADIUS authentication to get services to support both Yubikey and
passwords.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Upgrading freedesktop.org hosts</title>
    <link>http://err.no/personal/blog/tech/2010-02-16-08-43_upgrading_fdo.html</link>
    <pubDate>Tue, 16 Feb 2010 08:43 +0100</pubDate>
    <description>&lt;p&gt;I recently upgraded &lt;code&gt;kemper.freedesktop.org&lt;/code&gt; to lenny.  Collabora are
nice enough to sponsor some of my sysadmin work for freedesktop and so
making sure we are actually running a supported distribution was a
good start.  The actual dist-upgrade went fine, but when I rebooted
with a 2.6.26 kernel, it just hung in the early boot phase.  Luckily,
a newer kernel worked fine.  However, a newer kernel also breaks the
NFS kernel server in Lenny.  A short backport later, NFS was working
fine, except &lt;code&gt;annarchy&lt;/code&gt; (which NFS mounts from &lt;code&gt;kemper&lt;/code&gt;) didn&apos;t have
&lt;code&gt;nfs-common&lt;/code&gt; installed at all, meaning it lacked &lt;code&gt;mount.nfs&lt;/code&gt;.  Ooops.&lt;/p&gt;

&lt;p&gt;Now, bugs was broken.  It used an SSH tunnel from annarchy to kemper,
but the startup script was nowhere to be found.  I replaced it with a
trivial stunnel setup which has the added advantage of reconnecting if
the tunnel goes down.&lt;/p&gt;

&lt;p&gt;The ssh config had to be fixed slightly.  We used to use an old and
patched &lt;code&gt;sshd&lt;/code&gt; that stored all the keys in a single file.  I added
a tiny script to split that again.  We also had MkHomeDir in sshd&apos;s
config, now replaced with &lt;code&gt;pam_mkhomedir&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Another interesting thing I learnt is that the iLO ssh daemon chucks
you out if you try to send enviromental options to it.  Like, &lt;code&gt;LANG&lt;/code&gt;
which is sent by default.  Slightly confusing, but easy enough to fix
once I knew what the problem was.&lt;/p&gt;

&lt;p&gt;In addition to &lt;code&gt;kemper&lt;/code&gt;, I upgraded, but did not reboot &lt;code&gt;fruit&lt;/code&gt; (the
admin and LDAP host), due to not having the iLO password.  I did not
want to risk sitting there with a non-booting machine I could not
fix.  It&apos;s going to be rebooted at some later stage.  I also did not
have the iLO password for &lt;code&gt;gabe&lt;/code&gt;, which runs mail and some other faff,
so I&apos;ll have to schedule some more downtime in the near future.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>How free is the N900?</title>
    <link>http://err.no/personal/blog/tech/2010-01-25-18-03_how_free_is_the_n900.html</link>
    <pubDate>Mon, 25 Jan 2010 18:03 +0100</pubDate>
    <description>&lt;p&gt;&lt;a href=&quot;http://www.lucas-nussbaum.net/blog/?p=433&quot;&gt;Lucas&lt;/a&gt; asks about how free the N900 is, whether he can download and
recompile and reflash.  I&apos;ll try to answer some of those questions.&lt;/p&gt;

&lt;p&gt;No, you can&apos;t download all the source.  Part of it is just not open.
I am not privy to Nokia&apos;s decisions on why or why not to open up, but
it seems like the user interface bits are only partially open.  Hildon
itself is open so you can poke at widgets and see how those work.  The
address book is not open.  The telepathy component that talks to the
cellular modem is not open.&lt;/p&gt;

&lt;p&gt;As for having to accept EULAs, I honestly don&apos;t remember accepting one
of those, but I&apos;m not going to say there are none.  There&apos;s at least
one which is every time you install a package where you have to check
a box saying &quot;Yes, I know this package is third party and will not sue
Nokia if it causes my house to burn down, my wife to divorce me or
causes somebody to steal the car&quot;. It&apos;s annoying, but I&apos;m willing to
live with it.&lt;/p&gt;

&lt;p&gt;The contents of apt&apos;s &lt;code&gt;sources.list&lt;/code&gt; is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;deb https://downloads.maemo.nokia.com/fremantle/ssu/apps/ ./ 
deb https://downloads.maemo.nokia.com/fremantle/ssu/mr0 ./ 
deb https://downloads.maemo.nokia.com/fremantle/ovi/ ./ 
deb http://repository.maemo.org/extras/ fremantle free non-free
deb http://repository.maemo.org/extras-devel/ fremantle free non-free
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(technically, it comes from
&lt;code&gt;/etc/apt/sources.list.d/hildon-application-manager.list&lt;/code&gt;, not
sources.list.)&lt;/p&gt;

&lt;p&gt;I believe the built-in applications are generally not free, so
rebuilding everything that is free will for instance leave you without
any address book UI, the built-in map application or camera.  Sadly,
the X driver is also proprietary, so you won&apos;t be able to see anything
either.&lt;/p&gt;

&lt;p&gt;I don&apos;t think you can usefully install another free distro on the
N900.  You might be able to, at some point, assuming somebody goes to
the effort.&lt;/p&gt;

&lt;p&gt;The last question is &quot;- Besides the non-free telephony stack, are
there any other “antifeatures” I should be aware of?&quot;.  The telephony
stack is implemented around Telepathy, which is LGPL-ed free software.
While it&apos;s correct that &lt;code&gt;telepathy-ring&lt;/code&gt; (which talks to the cellular
modem), the call UI and most of the address book are proprietary, the
rest of Telepathy is free.  There are SIP and XMPP connection managers
that are free, and you can install more connection managers for MSN,
IRC and so on.&lt;/p&gt;

&lt;p&gt;Also, I think it&apos;s important to emphasise that the telephony stack
does not contain any antifeatures.  The closest thing you would be
able to find is probably the restriction to one active and one held
call at the same time, but as one of the developers said: &quot;That&apos;s to
prevent the UI from going mad&quot;.&lt;/p&gt;

&lt;p&gt;While I like to tout the N900 as a free phone, it is in no way
completely free.  Large parts of it are free, and almost as
importantly: most of the programming interfaces are free and at least
somewhat documented, so if somebody wants to replace the built-in
camera application with a free one, they can replace the DBus
interface that the camera app provides.  Ditto for maps applications,
the address book and so on.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Moving SMS-es and contacts from iphone to N900</title>
    <link>http://err.no/personal/blog/tech/2010-01-17-09-55_iphone_n900_convert_address_book_sms_es.html</link>
    <pubDate>Sun, 17 Jan 2010 09:55 +0100</pubDate>
    <description>&lt;p&gt;I&apos;ve been using an iphone since late 2007 as my primary phone and so
I&apos;ve gotten quite a few contacts and SMS conversations stored on it.
Now that Collabora has given me a nice and shiny N900, I wanted to
move my contacts and conversations over, but this proved to be a bit
more work than expected.  Please note that the following procedure
worked for me, I have tried to take reasonable steps to prevent
anything breaking, but if something breaks, you get to keep both
pieces.  I am not responsible and this comes with absolutely no
warranty.  Take backups.&lt;/p&gt;

&lt;p&gt;What you need&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;the addressbook and SMS SQLite databases.  On my phone, they live
in &lt;code&gt;/var/mobile/Library/AddressBook&lt;/code&gt; and &lt;code&gt;/var/mobile/Library/SMS&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A copy of my &lt;a href=&quot;http://err.no/src/iphone-contacts-convert.pl&quot;&gt;iphone-contacts-convert&lt;/a&gt; script.  It&apos;s
written in Perl and should be reasonably easy to understand.  Put
it in the same directory as &lt;code&gt;AddressBook.sqlitedb&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A copy of my &lt;a href=&quot;http://err.no/src/iphone-export-sms.pl&quot;&gt;iphone-export-sms&lt;/a&gt; script.  It&apos;s also written
in Perl and should also be reasonably easy to understand.  Put it
in the same directory as &lt;code&gt;sms.db&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The smstools program you can get from &lt;a href=&quot;http://talk.maemo.org/showthread.php?t=37354&quot;&gt;this thread on
talk.maemo.org&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The address book conversion script takes the SQLite database structure
and converts that into a VCF file.  It should be completely safe to
run multiple times (it only does &lt;code&gt;SELECT&lt;/code&gt; from the different tables in
the contacts database, and you have made backups, haven&apos;t you?).&lt;/p&gt;

&lt;p&gt;If it dies with an &quot;Unknown property&quot;, &quot;Unknown label&quot; or other error,
you can poke it and see if you can work out what&apos;s wrong or drop me an
email and I&apos;ll see if I can help you.  Assuming it doesn&apos;t fall over,
it will spit out a series of VCards, which you should store in a file,
which you then to the N900 and open in the address book.  Assuming
you have less than 1000 contacts, they should now all be in your
address book.  If you have more, you need to split the file.&lt;/p&gt;

&lt;p&gt;A couple of known limitations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It doesn&apos;t handle some of the attributes, like job title, notes,
department, display names, prefix and suffix.  None of my contacts
used those, so I just didn&apos;t care.  Patches to change this
accepted.  Also, it doesn&apos;t handle custom attributes and
birthdays.  I intended to handle birthdays, but forgot and I have
few enough contacts with birthdays that I just did it by hand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When it hits something it doesn&apos;t know how to handle, it stops and
you need to add the relevant handle to the code.  I think it is
mostly clear, how to, but again, feel free to contact me with any
problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Only tested on firmware version 2.2.  Yes, ancient, but it&apos;s what
my iphone is running.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you have contacts that are organisations, they will come up with
a blank full name.  Just edit them on the N900 (pressing edit and
then save immediately works fine) and they&apos;ll be automatically
fixed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No picture support.  This looked a bit involved, so I didn&apos;t do
this bit.  Should be possible with a bit of effort.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The procedure for exporting and importing SMS-es is a bit more
involved.  First, export the sms-es by running the perl script.  It
spits out a tab-separated file which you should copy to the N900 along
with the &lt;code&gt;smsimporter&lt;/code&gt; program from the smstools thread.  Run
&lt;code&gt;./smsimporter foo.csv&lt;/code&gt; and you should get all your SMS-es put into
the conversation app.  I ended up compiling my own smsimporter based
on the 0.2.1 from the thread with the UUID patch too.  Read the whole
thread and it should be fairly clear.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>N900 – first impressions</title>
    <link>http://err.no/personal/blog/tech/2009-12-15-18-53_n900_initial_impressions.html</link>
    <pubDate>Tue, 15 Dec 2009 18:53 +0100</pubDate>
    <description>&lt;p&gt;Collabora was kind enough to buy N900s for all its employees.  Yay!  I
got mine on Friday and has been playing around with it quite a bit.
It&apos;s very shiny and the user experience is a lot better than the
N810.  There are a few graphical glitches, it seems it&apos;s XDamage
damaging a bit of a window and it&apos;s just not quick enough to repaint.
Not a problem, and it has far fewer instances of just hanging for half
a second which my iPhone has.  That is, it hasn&apos;t had any of those
yet.&lt;/p&gt;

&lt;p&gt;The screen is good, but resistive.  Takes a short while to get used to
when you&apos;re used to capacative, but it&apos;s not a problem at all.  The
keyboard is good, but I need to map something as the compose key.
Having US/UK key caps and using the Norwegian layout is a bit
confusing.  Not really the fault of the device though.&lt;/p&gt;

&lt;p&gt;The web browser is generally quite good.  The gestures take a bit of
time to get used to, but they&apos;re not hard as such.  Some of the
default &quot;applications&quot; are implemented as just links to the web pages
of services like Twitter, which is a bit silly as you don&apos;t even get a
version that&apos;s optimised for the N900.  They&apos;re not useless, but they
are absolutely nowhere near a real application.  Also, the &quot;Store&quot;
(Ovi Store) application/web page says &quot;coming soon&quot;, which is quite
odd.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure if I can change the selection of applications on the
default application list, but modifying the desktop is easy.  There
seems to be few themes and background images available so far, at
least in anything resembling official repositories.  Hopefully this
will improve over time.&lt;/p&gt;

&lt;p&gt;So far, I haven&apos;t actually written any code for the N900.  I have some
applications I want to write, mostly widget-style apps like &quot;when does
the next bus home leave from a bus stop close to me and where is the
bus stop&quot;, but also some other ones.&lt;/p&gt;

&lt;p&gt;Battery life is not great.  It almost did 48 hours today with a bit of
use underway, and I did charge it before it ran completely out, but
when I&apos;m used to closer to a week, it&apos;s not that good.  Camera seems
good and is quite fast, I think it took less than five seconds from
opening the camera shutter until I had taken a picture.  Shutter delay
is quite bad at about a third or half a second, but this is a mobile
phone (or mobile computer, as Nokia likes to call it) and not a DSLR,
so I&apos;m quite happy with it.&lt;/p&gt;

&lt;p&gt;As a phone, it seems fine so far.  I can make calls and accept calls
and there&apos;s no noticeable problems with it.  It also functions as a
modem/DUN over bluetooth, which is quite useful.&lt;/p&gt;

&lt;p&gt;Build quality seems good, there&apos;s a good feeling when sliding the
keyboard in and out, but only time will tell how good it actually is.&lt;/p&gt;

&lt;p&gt;So far, I&apos;m happy with it, it&apos;s a big step up from my previous UK
phone (which is a Nokia E70; my iPhone is a 2G phone so I can&apos;t use it
here with the provider I&apos;m using).  Hopefully I&apos;ll post more happy
stories about it in the days to come.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>ekey happiness</title>
    <link>http://err.no/personal/blog/tech/2009-12-03-13-38_ekey_happiness.html</link>
    <pubDate>Thu, 03 Dec 2009 13:38 +0100</pubDate>
    <description>&lt;p&gt;In my last post about the ekey, I complained about two things: memory
leak in the server and missing reconnects if the client was
disconnected for any reason.  I&apos;ve meaning to blog about the follow up
for while, but haven&apos;t had the time before now.&lt;/p&gt;

&lt;p&gt;Quite quickly after my blog post, Simtec engineers got in touch on IRC
and we worked together to find out what the memory leak problem was.
They also put in the reconnect support I asked for.  All this in less
than a week, for a device which only cost £36.&lt;/p&gt;

&lt;p&gt;To make things even better, they picked up some other small bug
fixes/requests from me, such as making &lt;code&gt;ekeyd-egd-linux&lt;/code&gt; just Suggest
&lt;code&gt;ekeyd&lt;/code&gt; and the latest release (1.1.1) seems to have fixed some more
problems.&lt;/p&gt;

&lt;p&gt;All in all, I&apos;m very happy about it.  To make things even better, Ian
Molton (of Collabora) has been busy fixing up &lt;code&gt;virtio_rng&lt;/code&gt; in the
kernel and adding EGD support (including reconnection support) to qemu
and thereby KVM.  Hopefully all this hits the next stable releases and
I can retire my egd-over-stunnel hack.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Package workflow</title>
    <link>http://err.no/personal/blog/tech/Debian/2009-11-05-08-31_package_workflow.html</link>
    <pubDate>Thu, 05 Nov 2009 08:31 +0100</pubDate>
    <description>&lt;p&gt;As 3.0 format packages are now allowed into the archive, I am thinking
about what I would like the workflow to look like and hoping one of
them fits me.&lt;/p&gt;

&lt;p&gt;For new upstream releases, I am imaginging something like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;New upstream version is released.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git fetch&lt;/code&gt; + merge into upstream branch.&lt;/li&gt;
&lt;li&gt;Import tarballs, preferably in their original format (bz2/gzip),
using &lt;code&gt;pristine-tar&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Merge upstream to debian branch.  Do necessary fixups and
adjustments.  At this point, the upstream..debian branch delta is
what I want to apply to the upstream release.  The reason I need
to apply this delta is so I get all generated files into the
package that&apos;s built and uploaded.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The source package has two functions at this point: Be a starting
point for further hacking; and be the source that buildds use to
build the binary Debian packages.&lt;/p&gt;

&lt;p&gt;For the former, I need the git repository itself.  It is
increasingly my preferred form of modification and so I consider
it part of the source.&lt;/p&gt;

&lt;p&gt;For the latter, it might be easiest just to ship the
&lt;code&gt;orig.tar.{gz,bz2}&lt;/code&gt; and the upstream..debian delta.  This does
require the upstream..debian delta not to change any generated
files, which I think is a fair requirement.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I&apos;m not actually sure which source format can give me this.  I think
maybe the &lt;code&gt;3.0 (git)&lt;/code&gt; format can, but I haven&apos;t played around with it
enough to see.  I also don&apos;t know if any tools actually support this
workflow.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Distributing entropy</title>
    <link>http://err.no/personal/blog/tech/2009-11-02-21-23_distributing_entropy.html</link>
    <pubDate>Mon, 02 Nov 2009 21:23 +0100</pubDate>
    <description>&lt;p&gt;Back at the Debian barbeque party at the end of August, I got myself
an &lt;a href=&quot;http://www.entropykey.co.uk/&quot;&gt;EntropyKey&lt;/a&gt; from the kind folks at &lt;a href=&quot;http://www.simtec.co.uk/&quot;&gt;Simtec&lt;/a&gt;.  It has
been working so well that I haven&apos;t really had a big need to blog
about it.  Plug it in and watch
&lt;code&gt;/proc/sys/kernel/random/entropy_avail&lt;/code&gt; never empty.&lt;/p&gt;

&lt;p&gt;However, Collabora, where I am a sysadmin also got one.  We are using
a few virtual machines rather than physical machines as we want the
security domains, but don&apos;t have any extreme performance needs.  Like
most VMs they have been starved from entropy.  One problem presents
itself: how do we get the entropy from the host system where the key
is plugged in to the virtual machines?&lt;/p&gt;

&lt;p&gt;Kindly enough the &lt;code&gt;ekeyd&lt;/code&gt; package also includes &lt;code&gt;ekeyd-egd-linux&lt;/code&gt;
which speaks EGD, the TCP protocol the Entropy Gathering Daemon
defined a long time ago.  &lt;code&gt;ekeyd&lt;/code&gt; itself can also output in the same
protocol, so this should be easy enough, or so you would think.&lt;/p&gt;

&lt;p&gt;Our VMs are all bridged together on the same network that is also
exposed to the internet and the EGD protocol doesn&apos;t support any kind
of encryption, so in order to be safe rather than sorry, I decided to
encrypt the entropy.  Some people think I&apos;m mad for encrypting what is
essentially random bits, but that&apos;s me for you.&lt;/p&gt;

&lt;p&gt;So, I ended up setting up &lt;code&gt;stunnel&lt;/code&gt;, telling &lt;code&gt;ekeyd&lt;/code&gt; on the host to
listen to &lt;code&gt;localhost&lt;/code&gt; on a given port, and &lt;code&gt;stunnel&lt;/code&gt; to forward
connections to that port.  On each VM, I set up &lt;code&gt;stunnel&lt;/code&gt; to forward
connections from a given port on localhost to the port physical
machine where stunnel is listening.  &lt;code&gt;ekeyd-linux-egd&lt;/code&gt; is then told to
connect to the port on localhost where stunnel is listening.  After a
bit of certificate fiddling and such, I can do:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# pv -rb &amp;lt; /dev/random &amp;gt; /dev/null  
17.5kB [4.39kB/s]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;which is way, way better than what you will get without a hardware
RNG.  The hardware itself seems to be delivering about 32kbit/s of
entropy.&lt;/p&gt;

&lt;p&gt;My only gripes at this point is that the EGD implementation could use
a little bit more work.  It seems to leak memory in the EGD server
implementation.  Also, it would be very useful if the client would
reconnect if it was disconnected for any reason.  Even with those
missing bits, I&apos;m happy about the key so far.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Airport WLAN woes</title>
    <link>http://err.no/personal/blog/tech/2009-07-02-21-52_telefonica_fail.html</link>
    <pubDate>Thu, 02 Jul 2009 21:52 +0100</pubDate>
    <description>&lt;p&gt;Dear whoever runs the Telefonica APs in both Rio de Janeiro and Sao
Paulo airports: Your DNS servers are returning SERVFAIL and has been
doing so for quite a while.  This is not helpful, perhaps you should set
up some monitoring of them?&lt;/p&gt;
</description>
  </item>
  </channel>
</rss>
