<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Daniel Lange's blog (Entries tagged as updated)</title>
    <link>http://daniel-lange.com/</link>
    <description>agrep -pB IT /dev/life</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7 - http://www.s9y.org/</generator>
    <pubDate>Sat, 07 Apr 2012 06:07:35 GMT</pubDate>

    <image>
        <url>http://daniel-lange.com/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Daniel Lange's blog - agrep -pB IT /dev/life</title>
        <link>http://daniel-lange.com/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Keeping IRC nicks active</title>
    <link>http://daniel-lange.com/archives/54-Keeping-IRC-nicks-active.html</link>
            <category>IRC</category>
    
    <comments>http://daniel-lange.com/archives/54-Keeping-IRC-nicks-active.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=54</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=54</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Typical IRC services usually allow you to register with nickserv and link a number of nicks to a personal account. It&#039;s quite common to have nick, nick_ and nick__ as many IRC clients auto-append underscores if the primary nickname is already in use when connecting. Obviously you can set these alternate nicknames to almost anything you like in a decent client.&lt;/p&gt;

&lt;p&gt;Some folks also group a &quot;vanity&quot; nickname or two for whatever reason. To keep these active, people do the &quot;nick shuffle&quot; (/nick newnick, /nick oldnick) all the time:&lt;/p&gt;

&lt;p&gt;&lt;!-- s9ymdb:530 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;967&quot; height=&quot;79&quot; src=&quot;http://daniel-lange.com/uploads/entries/100309_freenode_nick_shuffle.png&quot;  alt=&quot;nick shuffle on freenode&quot; /&gt;&lt;/p&gt;

&lt;p&gt;People who forget the occasional nick shuffle may end up losing a grouped nick because it became inactive. While freenode staff try to contact people before dropping linked nicks, there are occasional prunes of &quot;old data&quot; from the services database. And then nobody can really ask upfront.&lt;/p&gt;

&lt;p&gt;So before the next big purge comes up, I wrote a small bash script that logs into a nickserv account and cycles through the linked nicks.
A few friends and me have used it successfully for many months now.&lt;/p&gt;

&lt;p&gt;Grab a copy of &lt;a href=&quot;http://daniel-lange.com/software/keepnick&quot; title=&quot;keepnick bash script&quot;&gt;keepnick (2.4kB)&lt;/a&gt; and drop it into /usr/local/bin.&lt;/p&gt;

&lt;p&gt;Keepnick expects to have an accountname, the corresponding password and then a sequence of linked nicks given on its command line.&lt;/p&gt;

&lt;p&gt;Something like&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;keepnick accountname passw0rd linked_nick linked_nick_ vanity_nick MyOtherNick&lt;/div&gt;

&lt;p&gt;should work.&lt;/p&gt;

&lt;p&gt;For regular use, you need to set up a cron job to call keepnick e.g. every week. So put something like the following script into &lt;code&gt;/etc/cron.weekly/keepnicks_irc&lt;/code&gt; or create a corresponding crontab entry for &lt;code&gt;keepnicks_irc&lt;/code&gt; if you do not have the convenient cron.* directories set up:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# run keepnick for user(s) irc account(s)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# intended to be run from cron, e.g. through /etc/cron.weekly&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;KEEPNICK&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/usr/local/bin/keepnick&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# better safe than sorry&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;PATH&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; PATH&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$KEEPNICK&lt;/span&gt; accountname1 passw0rd1 linked_nick1 linked_nick1_ linked_nick1__&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$KEEPNICK&lt;/span&gt; accountname2 passw0rd2 linked_nick1 linked_nick2_ linked_nick2__&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;You should see keepnick in action now every week like this:&lt;/p&gt;

&lt;p&gt;&lt;!-- s9ymdb:529 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;758&quot; height=&quot;68&quot;  src=&quot;http://daniel-lange.com/uploads/entries/100306_keepnick_in_action.png&quot;  alt=&quot;keepnick in action&quot; /&gt;&lt;/p&gt;

&lt;p&gt;What happens here is that the IRC services package tells you, keepnick has just authenticated to your account and will now shuffle through all nicks you asked it to.
The big advantage is that is does this outside of channels, so not annoying any users. The cron job should make sure you don&#039;t forget the nick shuffle anymore.&lt;/p&gt;

&lt;h2&gt;Making sure your bash supports network connections&lt;/h2&gt;

&lt;p&gt;Stock bash will support network connections but on Debian and old (=pre-karmic) Ubuntu that capability was disabled at compile time.&lt;/p&gt;

&lt;p&gt;If you need to check whether your bash is compiled with network support, type &lt;code&gt;cat &amp;lt; /dev/tcp/time.nist.gov/13&lt;/code&gt; into a bash terminal.&lt;/p&gt;

&lt;p&gt;In case that gives you a &lt;a href=&quot;http://www.nist.gov/physlab/div847/grp40/its.cfm&quot; title=&quot;NIST Internet time service&quot;&gt;RFC-867 time string&lt;/a&gt;, you&#039;re all fine.
If not, re-compile your bash with &lt;code&gt;--enable-net-redirections&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now for something more advanced (but entirely optional):&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/54-Keeping-IRC-nicks-active.html#extended&quot;&gt;Continue reading &quot;Keeping IRC nicks active&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 18 May 2010 23:50:00 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/54-guid.html</guid>
    <category>account</category>
<category>active</category>
<category>bash</category>
<category>cron</category>
<category>freenode</category>
<category>irc</category>
<category>network</category>
<category>nick</category>
<category>script</category>
<category>updated</category>

</item>
<item>
    <title>Binding applications to a specific IP</title>
    <link>http://daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP.html</link>
            <category>Linux</category>
    
    <comments>http://daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=53</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=53</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;These days many systems are multi-homed in the sense that they have more than one IP address bound at the same time.&lt;br /&gt;
I.e. for different network cards, virtual IPs for shared servers or just using WiFi and a wired network connection at the same time on a laptop.&lt;/p&gt;

&lt;p&gt;Murphy of course makes sure that your system will choose to worst IP (i.e. that on slow WiFi or the one reserved for admin access) when an application does not specifically supports binding to a selected IP address.
And Mozilla Firefox for example doesn&#039;t.&lt;/p&gt;

&lt;p&gt;The kernel chooses an outgoing IP from those in the routing table with the same metric:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;daniel@server:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.0.2.1         0.0.0.0         U     0      0        0 eth0
0.0.0.0         192.0.2.2         0.0.0.0         U     0      0        0 eth1
0.0.0.0         192.0.2.3         0.0.0.0         U     0      0        0 eth2
0.0.0.0         192.0.2.4         0.0.0.0         U     0      0        0 eth3
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can obviously play around with the metric and make the kernel router prefer the desired interface above others. This will affect all applications though.
Some people use the firewall to nat all packages to port 80 onto the network interface desired for web browsing. Gee, beware the http://somewebsite.tld:8080 links...&lt;/p&gt;

&lt;p&gt;Thankfully &lt;a href=&quot;http://www.ryde.net&quot; title=&quot;Daniel Ryde&#039;s homepage&quot;&gt;Daniel Ryde&lt;/a&gt; has solved the problem via a LD_PRELOAD shim. With his code you can run&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;daniel&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;laptop:~$ &lt;span style=&quot;color: #007800;&quot;&gt;BIND_ADDR&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;192.0.2.100&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;LD_PRELOAD&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bind.so firefox &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;and happily surf away.&lt;/p&gt;

&lt;p&gt;To compile &lt;a href=&quot;http://www.ryde.net/code/bind.c.txt&quot; title=&quot;Bind.c LD_PRELOAD wrapper&quot;&gt;his code&lt;/a&gt; (3.3kB, &lt;a href=&quot;http://daniel-lange.com/software/bind.c&quot; title=&quot;Local copy of Daniel Ryde&#039;s Bind.c LD_PRELOAD wrapper&quot;&gt;local copy&lt;/a&gt;, see note 1)
you need to run&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gcc&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-nostartfiles&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-fpic&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-shared&lt;/span&gt; bind.c &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; bind.so &lt;span style=&quot;color: #660033;&quot;&gt;-ldl&lt;/span&gt; -D_GNU_SOURCE&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;strip&lt;/span&gt; bind.so&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; bind.so &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;and you&#039;re set to go.&lt;/p&gt;

&lt;p&gt;If you don&#039;t have gcc available (and trust me) you can download pre-compiled 32bit and 64bit (glibc-2) bind.so libraries &lt;a href=&quot;http://daniel-lange.com/software/bind_so_compiled.tar.gz&quot; title=&quot;Pre-compiled 32bit and 64bit bind.so libs&quot;&gt;here&lt;/a&gt; (4.5kB).&lt;/p&gt;

&lt;p&gt;I guess because Daniel Ryde hid his code so well on his webpage, Robert J. McKay wrote another LD_PRELOAD shim, called &lt;a href=&quot;http://wari.mckay.com/~rm/bindhack.c.txt&quot; title=&quot;Bindhack.c LD_PRELOAD wrapper&quot;&gt;Bindhack&lt;/a&gt; (4.5kB, &lt;a href=&quot;http://daniel-lange.com/software/bindhack.c&quot; title=&quot;Local mirror of Robert J. McKay&#039;s Bindhack.c LD_PRELOAD wrapper&quot;&gt;local mirror&lt;/a&gt;). This will - as is - only compile on 32bit machines. But YMMV.&lt;/p&gt;

&lt;p&gt;Run the above command &lt;strong&gt;(&amp;#42;)&lt;/strong&gt; with your desired (and locally bound) IP address in bash and visit &lt;a href=&quot;http://myip.dk&quot; title=&quot;MyIP.dk show-your-ip service&quot;&gt;MyIP.dk&lt;/a&gt; or &lt;a href=&quot;http://showip.be/&quot; title=&quot;ShowIP.be show-your-ip service&quot;&gt;ShowIP.be&lt;/a&gt; or any of the other services that show your external IP to see whether you&#039;ve succeeded.&lt;/p&gt;

&lt;p&gt;Notes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Daniel Ryde did not specify the -D_GNU_SOURCE in the comments section of bind.c. Modern glibc/gcc need that as he used RTLD_NEXT which is Unix98 and not POSIX. I amended the local copy of bind.c and sent him an email so he can update his.&lt;/li&gt;
&lt;li&gt;Both are IPv4 only, no IPv6 support.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Updates:&lt;/h3&gt;

&lt;p&gt;22.06.12 Lennart Poettering has a IPv4 only version of a shim and a rather good readme available at &lt;a href=&quot;http://0pointer.de/lennart/projects/fixsrcip/&quot; title=&quot;Lennart Poettering&#039;s FixSrcIP&quot;&gt;his site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;29.11.10 Catalin M. Boie wrote another LD_PRELOAD shim, &lt;a href=&quot;http://kernel.embedromix.ro/us/&quot; title=&quot;Catalin(ux) Homepage&quot;&gt;force_bind&lt;/a&gt;. I have not tested this one. It&#039;s capable of handling IPv6 binds.&lt;/p&gt;

&lt;p&gt;11.01.09 Daniel Ryde has replied to my email and updated his local copy now as well.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sat, 09 Jan 2010 20:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/53-guid.html</guid>
    <category>address</category>
<category>bind</category>
<category>ip</category>
<category>ld_preload</category>
<category>multi-homed</category>
<category>network</category>
<category>updated</category>

</item>
<item>
    <title>httpdate - set local date and time from a web server</title>
    <link>http://daniel-lange.com/archives/37-httpdate-set-local-date-and-time-from-a-web-server.html</link>
            <category>Linux</category>
    
    <comments>http://daniel-lange.com/archives/37-httpdate-set-local-date-and-time-from-a-web-server.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=37</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;While &lt;a href=&quot;http://www.ntp.org&quot; title=&quot;Network Time Protocol (NTP) home page&quot; target=&quot;_blank&quot;&gt;ntp&lt;/a&gt; may be a great protocol, I find it quite bloated and slow for the simple purpose of just setting a local date and time to a reference clock. I do not need 20ms accuracy on a notebook&#039;s clock &lt;img src=&quot;http://daniel-lange.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.
Thus I use(d) &lt;a href=&quot;http://packages.debian.org/stable/net/rdate&quot; title=&quot;Debian&#039;s rdate page in lack of a proper homepage for the tool itself&quot; target=&quot;_blank&quot;&gt;rdate&lt;/a&gt; for a decade now but the public rdate servers are slowly dying out. So I&#039;m replacing it more and more with &lt;a href=&quot;http://www.clevervest.com/htp/&quot; title=&quot;htpdate home page&quot;&gt;htpdate&lt;/a&gt; which works quite nicely. It&#039;s written in C and a perl alternative is available on the author&#039;s site. There is also a forked &lt;a href=&quot;http://www.rkeene.org/oss/htp/&quot; title=&quot;(Forked) alternative and Windows version of htpdate&quot; target=&quot;_blank&quot;&gt;windows version&lt;/a&gt; of it available.&lt;/p&gt;

&lt;p&gt;Developing a bit larger bash script (which syncs a few servers), I wondered whether I could realize the time sync part in bash as well.&lt;/p&gt;

&lt;p&gt;It&#039;s quite possible:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# open a tcp connection to www.google.com&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exec&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tcp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www.google.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;80&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# say hello HTTP-style&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;GET / HTTP/1.0&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# parse for a Date: line and with a bit of magic throw the date-string at the date command &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;LC_ALL&lt;/span&gt;=C &lt;span style=&quot;color: #007800;&quot;&gt;LANG&lt;/span&gt;=en &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--rfc-2822&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--utc&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$(head &amp;lt;&amp;amp;3 | grep -i &amp;quot;Date: &amp;quot; | sed -e s/Date\:\ //I)&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# close the tcp connection&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exec&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;amp;&lt;/span&gt;-&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;Simple, eh?&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/37-httpdate-set-local-date-and-time-from-a-web-server.html#extended&quot;&gt;Continue reading &quot;httpdate - set local date and time from a web server&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 22 Oct 2008 23:55:13 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/37-guid.html</guid>
    <category>bash</category>
<category>htpdate</category>
<category>httpdate</category>
<category>ntp</category>
<category>rdate</category>
<category>updated</category>

</item>
<item>
    <title>Disabling a group policy'd screensaver on Windows</title>
    <link>http://daniel-lange.com/archives/34-Disabling-a-group-policyd-screensaver-on-Windows.html</link>
            <category>IT</category>
    
    <comments>http://daniel-lange.com/archives/34-Disabling-a-group-policyd-screensaver-on-Windows.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=34</wfw:comment>

    <slash:comments>16</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=34</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;I guess many people know the issue of having a screen saver forced active after a some time through a group policy in a corporate environment. This is usually done to make sure systems are locked during breaks if people forget to press Win+L (or Ctrl+Alt+Del and then Enter).
While that may well help IT security, it turns problematic when giving presentations for extended periods of time.  Having to move the mouse through the presentation pointer every few minutes or dash back to the PC once the screen saver has kicked in, again, is simply annoying.
On your company&#039;s systems you may be able to get the system admins to allow configuration of the interval or allow for disabling the screen saver, but on foreign systems you&#039;re often lost. But...&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/34-Disabling-a-group-policyd-screensaver-on-Windows.html#extended&quot;&gt;Continue reading &quot;Disabling a group policy&#039;d screensaver on Windows&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 13 Aug 2008 21:33:05 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/34-guid.html</guid>
    <category>network</category>
<category>screensaver</category>
<category>security</category>
<category>updated</category>
<category>vista</category>
<category>windows</category>
<category>xp</category>

</item>
<item>
    <title>kloeri announces Exherbo, another source based Linux distribution</title>
    <link>http://daniel-lange.com/archives/30-kloeri-announces-Exherbo,-another-source-based-Linux-distribution.html</link>
            <category>Linux</category>
    
    <comments>http://daniel-lange.com/archives/30-kloeri-announces-Exherbo,-another-source-based-Linux-distribution.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Bryan Østergaard (aka &lt;a href=&quot;http://kloeri.livejournal.com/&quot; target=&quot;_blank&quot; title=&quot;Bryan Oestergaard&#039;s (kloeri) blog&quot;&gt;kloeri&lt;/a&gt;) &lt;a href=&quot;http://kloeri.livejournal.com/5016.html&quot; target=&quot;_blank&quot; title=&quot;Kloeri&#039;s blog: Announcing Exherbo&quot;&gt;announced&lt;/a&gt; &lt;a href=&quot;http://www.exherbo.org/&quot; target=&quot;_blank&quot; title=&quot;Exherbo homepage&quot;&gt;Exherbo&lt;/a&gt; today. He assembled a team of (ex-)Gentoo developers including Ciaran McCreesh (&lt;a href=&quot;http://ciaranm.wordpress.com/&quot; target=&quot;_blank&quot; title=&quot;Ciaranm&#039;s blog&quot;&gt;ciaranm)&lt;/a&gt;, Richard Brown (rbrown), Fernando J. Pereda (ferdy) and Alexander Færøy (&lt;a href=&quot;http://eroyf.org/&quot; target=&quot;_blank&quot; title=&quot;Eroyf&#039;s homepage&quot;&gt;eroyf&lt;/a&gt;) to build a new source based Linux distribution.&lt;/p&gt;

&lt;p&gt;They would like to overcome some of the short-commings of Gentoo both from a technical as well as from a community perspective. Obviously this is easily said and hard to really achieve, so time will tell how successful that team can be. Renaming USE-Flags to OPTIONS and merging the platform KEYWORDS (like x86, ~x86) into the Options-logic is no big deal, but getting the thousands of ebuilds^Hpackages better supported and maintained than Gentoo will be the real deal{maker|breaker}.&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Paludis homepage&quot; target=&quot;_blank&quot; href=&quot;http://paludis.pioto.org/&quot;&gt;Paludis&lt;/a&gt;, ciaranm&#039;s package manager, supports Gentoo ebuilds and can import them into Exherbo, so there is a potential migration path sketched out.*&lt;/p&gt;

&lt;p&gt;They also add another init-system re-write (&amp;quot;Genesis&amp;quot;) to the pool. An already quite crowded pool with rather shallow water, I may add.&lt;/p&gt;

&lt;p&gt;Exherbo has nothing that is end-user-safe at the time of the announcement, so it&#039;s safe to assume kloeri&#039;s team wants to attract further development capacity &lt;img src=&quot;http://daniel-lange.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;/p&gt;

&lt;p&gt;Browse around the &lt;a href=&quot;http://www.exherbo.org/&quot; target=&quot;_blank&quot; title=&quot;Exherbo homepage&quot;&gt;website&lt;/a&gt; or join folks in &lt;a href=&quot;irc://irc.freenode.net/#exherbo&quot; title=&quot;#exherbo on freenode.net (IRC)&quot;&gt;#exherbo&lt;/a&gt; if you&#039;re interested.&lt;/p&gt;

&lt;p&gt;I asked in #exherbo what &amp;quot;exherbo&amp;quot; means ... latin for &amp;quot;uproot&amp;quot; was the answer. How fitting.&lt;/p&gt;

&lt;h3&gt;Updates&lt;/h3&gt;

&lt;p&gt;*19.04.08: Two friendly folks wrote in to clarify that Paludis currently can only import Ebuild-builds into Exherbo via &lt;a href=&quot;http://paludis.pioto.org/clients/importare.html&quot; target=&quot;_blank&quot; title=&quot;Importare - The Paludis unpackaged package installer&quot;&gt;importare&lt;/a&gt;,  i.e. take a Gentoo build result and package it for importing into the Exherbo system through Paludis.&lt;br /&gt;23.05.08: Ciaranm wrote a blog &lt;a href=&quot;http://ciaranm.wordpress.com/2008/05/20/managing-unpackaged-packages-or-whats-this-importare-thing/&quot; target=&quot;_blank&quot; title=&quot;ciaranm&#039;s blog: Managing Unpackaged Packages, or What’s this importare thing?&quot;&gt;entry&lt;/a&gt; how to get build results into Exherbo/Paludis via importare.&lt;/p&gt;

&lt;p /&gt;
 
    </content:encoded>

    <pubDate>Mon, 19 May 2008 19:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/30-guid.html</guid>
    <category>distribution</category>
<category>exherbo</category>
<category>gentoo</category>
<category>updated</category>

</item>
<item>
    <title>Updated Greasemonkey script for Xing</title>
    <link>http://daniel-lange.com/archives/26-Updated-Greasemonkey-script-for-Xing.html</link>
            <category>Private</category>
    
    <comments>http://daniel-lange.com/archives/26-Updated-Greasemonkey-script-for-Xing.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=26</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Xing has just updated it&#039;s image-thumbnails naming &amp;quot;algorithm&amp;quot; once again:&lt;/p&gt;

&lt;p&gt;You&#039;ll now find thumbnails named &lt;font face=&quot;courier new,courier,monospace&quot;&gt;/2f1127fe2.3144098_s2&lt;b&gt;,2&lt;/b&gt;.jpg&lt;/font&gt;, so including another component like &amp;lt;comma&amp;gt;&amp;lt;digit&amp;gt; added to the name. Thus the Greasemonkey script linked from my article &lt;a title=&quot;Daniel&#039;s blog: Greasemonkey to enlarge Xing pictures&quot; href=&quot;http://daniel-lange.com/archives/24-Greasemonkey-to-enlarge-Xing-pictures.html&quot;&gt;Greasemonkey to enlarge Xing pictures&lt;/a&gt; needs to have it&#039;s main regex amended:&lt;/p&gt;

&lt;p&gt;Change \_s(1|2|3)?\. to read \_s(1|2|3)?(,\d)?\. in three places in the script.&lt;/p&gt;

&lt;p&gt;Or download an updated version &lt;a title=&quot;Updated Greasemonkey script to enlarge Xing pictures&quot; href=&quot;http://daniel-lange.com/software/XingEnlargeUserImages.user.js&quot;&gt;here&lt;/a&gt;. I hope &amp;quot;louis&amp;quot; will update the version hosted at userscripts.org, too.&lt;/p&gt;

&lt;h2&gt;Updates&lt;/h2&gt;

&lt;p&gt;02.05.2008 As Xing adds multi-digit numbers to the thumbnails now (like /7553bd445.4550412_s2&lt;b&gt;,10&lt;/b&gt;.jpg), you need to replace \d with \d+ in the above regex. The linked Greasemonkey script is updated.&lt;/p&gt;

&lt;p&gt;16.11.2011 And again the URLs changed. This time appending a pattern like &lt;b&gt;,4.57x75&lt;/b&gt;.jpg. The linked script again was updated. If &lt;a href=&quot;http://scriptish.org/&quot; title=&quot;Scriptish - a Greasemonkey fork&quot;&gt;Scriptish&lt;/a&gt; and the &lt;a href=&quot;https://github.com/greasemonkey/greasemonkey/issues/1442&quot; title=&quot;Link to issue description and commits&quot;&gt;auto-updating in Greasemonkey&lt;/a&gt; mature, I&#039;ll add auto-updating to the script file via the @updateURL parameter.&lt;/p&gt;

&lt;p&gt;13.05.2012 The Xing layout is still changing as they Ajaxify the site more and more. Currently the &lt;a href=&quot;http://userscripts.org/scripts/show/121015&quot; title=&quot;Xing XE Greasemonkey Script&quot;&gt;Xing XE&lt;/a&gt; is probably the best working enhancement to see Xing pictures in a recognisable size.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sat, 05 Apr 2008 23:45:37 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/26-guid.html</guid>
    <category>firefox</category>
<category>greasemonkey</category>
<category>script</category>
<category>updated</category>
<category>xing</category>

</item>
<item>
    <title>Greasemonkey to enlarge Xing pictures</title>
    <link>http://daniel-lange.com/archives/24-Greasemonkey-to-enlarge-Xing-pictures.html</link>
            <category>Private</category>
    
    <comments>http://daniel-lange.com/archives/24-Greasemonkey-to-enlarge-Xing-pictures.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=24</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=24</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;I use &lt;a title=&quot;Xing social networking site&quot; target=&quot;_blank&quot; href=&quot;http://www.xing.com/&quot;&gt;Xing&lt;/a&gt; to manage some of my business contacts and even some friends have profiles there as well.&lt;/p&gt;

&lt;p&gt;The default size of contact&#039;s pictures displayed on one&#039;s Xing homepage is 18x24px. On a higher dpi screens, you can thus barely recognize the person shown. As there are multiple sizes of all images available, it&#039;s pretty easy to just take (for example)&lt;font face=&quot;courier new,courier,monospace&quot;&gt; http://www.xing.com/img/users/d/f/1/f34814409.5648827_s1.jpg&lt;/font&gt;, remove the&lt;font face=&quot;courier new,courier,monospace&quot;&gt; _s1&lt;/font&gt; and see a 140x185px version of the picture.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://addons.mozilla.org/de/firefox/addon/748&quot; target=&quot;_blank&quot; title=&quot;Greasemonkey firefox extension&quot;&gt;Greasemonkey&lt;/a&gt;, a Firefox extension to run user specified scripts on selected pages that you visit, can automate this with a nice script from user louis to download &lt;a href=&quot;http://userscripts.org/scripts/show/6173&quot; target=&quot;_blank&quot; title=&quot;Greasemonkey script to show Xing images in large on mouse-over&quot;&gt;here&lt;/a&gt;. Or my updated version &lt;a title=&quot;Greasemonkey script to show Xing images in large on mouse-over (updated version)&quot; href=&quot;http://daniel-lange.com/software/openbcuserimagesmouseove.user.js&quot;&gt;here&lt;/a&gt;.*&lt;/p&gt;

&lt;p /&gt;

&lt;p align=&quot;baseline&quot; /&gt;

&lt;p&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;1&quot; align=&quot;absmiddle&quot; alt=&quot;Greasemonkey on Xing&quot; src=&quot;http://daniel-lange.com/uploads/entries/080227_Xing_Greasemonkey.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;
So, everytime I now hover my mouse over a tiny Xing thumbnail, it will show the &amp;quot;full resolution&amp;quot; version of the image. Simple, efficient.&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;

&lt;p&gt;* Xing &lt;a title=&quot;Daniel&#039;s blog: Updated Greasemonkey script for Xing&quot; href=&quot;http://daniel-lange.com/archives/26-Updated-Greasemonkey-script-for-Xing.html&quot;&gt;changed it&#039;s image naming scheme a bit&lt;/a&gt;, so one needs an updated Greasemonkey script for all images to work again. Link inserted into the article text (&amp;quot;Or my updated version &lt;a title=&quot;Greasemonkey script to show Xing images in large on mouse-over (updated version)&quot; href=&quot;https://daniel-lange.com/software/openbcuserimagesmouseove.user.js&quot;&gt;here&lt;/a&gt;.&amp;quot;)&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Wed, 27 Feb 2008 23:30:00 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/24-guid.html</guid>
    <category>firefox</category>
<category>greasemonkey</category>
<category>script</category>
<category>updated</category>
<category>xing</category>

</item>
<item>
    <title>Wikimedia Fundraiser 2007/2008 Report published by Wikimedia Foundation</title>
    <link>http://daniel-lange.com/archives/23-Wikimedia-Fundraiser-20072008-Report-published-by-Wikimedia-Foundation.html</link>
            <category>Other</category>
    
    <comments>http://daniel-lange.com/archives/23-Wikimedia-Fundraiser-20072008-Report-published-by-Wikimedia-Foundation.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=23</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Eric Möller has published his &lt;a href=&quot;http://meta.wikimedia.org/wiki/Fundraising_2007/Report&quot; target=&quot;_blank&quot; title=&quot;Wikimedia foundation report on 2007/2008 Fundraiser&quot;&gt;report&lt;/a&gt; on the Wikimedia 2007/2008 fundraiser. I found it because he hotlinked one of the images that I created for my &lt;a href=&quot;http://daniel-lange.com/archives/19-Wikimedia-Fundraiser-Analysis-III.html&quot; title=&quot;Daniel&#039;s blog: Wikimedia Fundraiser Analysis III - Some detailed analysis of Wikimedia&#039;s fundraiser&quot;&gt;detailed analysis&lt;/a&gt;. His report lists some interesting new information:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Wikimedia got $50,000 in Google stock from another - yet again - anonymous donor.&lt;/li&gt;&lt;li&gt;The Wikimedia chapters (local organisation units e.g. in Germany or France) have collected nearly $250,000 in their fundraisers (mostly in Germany). The Germans buy stuff of their own from the money. Only the Swiss donated 25% of their raised budget back to Wikimedia foundation. Eric explains: &amp;quot;The lack of a clear understanding between chapters and the Foundation about the role and responsibilities of the different entities in the fundraising process is an additional impediment. For example: Should chapters share fundraising revenue with the Foundation, and if so, how? [..] The German chapter has an informal agreement with the Foundation to invest half of its fundraising revenue in ways directly benefiting WMF projects.&amp;quot;&lt;/li&gt;&lt;li&gt;Eric says it was not intended to raise the full $4.6m. Somehow people just mis-interpreted the fundraiser that way: &amp;quot;The publication of the planned spending was misunderstood by some to indicate that the fundraiser&#039;s goal was to raise 4.6 million dollars. [...] Inquiries related to the actual financial target of the fundraiser were less common, probably in large part due to the publication of the Foundation&#039;s planned spending.&amp;quot;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;The report is extremly low on self-criticism. There is no insight visable that not giving a financial target was a major bummer or that the general intransparency, unprofessional communication and     amateurish reporting on financial issues was keeping many people from donating. Nothing about missing the 100,000 donors target, either. There is not a word on the webcomics deletion issues and the subsequent call by the webcomics community to boycot the fundraiser or the scandal around hiring a convicted felon as COO because of unprofessional HR work. Not a word on the ridiculous &amp;quot;&lt;a href=&quot;http://wikimediafoundation.org/wiki/Fundraising_FAQ&quot; target=&quot;_blank&quot; title=&quot;Wikimedia foundation FAQ page on fund raising&quot;&gt;dinner&lt;/a&gt; with Jimmy Wales&amp;quot; for people donating $25,000. Nobody even donated $10,001.&lt;/p&gt;

&lt;p&gt;&amp;quot;Also, given that most of the viewers of the planned spending distribution had no financial background, the level of explanations given was probably not sufficient.&amp;quot; Come on, Eric, the people with financial background are not even considering the published material as &amp;quot;planning&amp;quot;.&lt;/p&gt;

&lt;p&gt;And next time, please link a blog entry and not some graphics. Criticism is healthy. Let people develop an opinion of their own. Try putting a &amp;quot;public criticism&amp;quot; section into your report. It will definitely add to the report&#039;s credibility.&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;

&lt;p&gt;03.02.08: Eric has ammended information from the Italian chapter. They raised around $3,000 and forwarded it all to Wikimedia foundation.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 01 Feb 2008 07:30:22 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/23-guid.html</guid>
    <category>analysis</category>
<category>fundraiser</category>
<category>report</category>
<category>results</category>
<category>updated</category>
<category>wikimedia</category>
<category>wikipedia</category>

</item>
<item>
    <title>Wikimedia Fundraiser Analysis III</title>
    <link>http://daniel-lange.com/archives/19-Wikimedia-Fundraiser-Analysis-III.html</link>
            <category>Other</category>
    
    <comments>http://daniel-lange.com/archives/19-Wikimedia-Fundraiser-Analysis-III.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;The official Wikimedia fundraiser had been extended into January, 3rd 2008, has been kept up on the 4th and is kind of still running. The site notice has been trimmed down to a &lt;a href=&quot;http://meta.wikimedia.org/wiki/Fundraising_2007/Thank_you&quot; target=&quot;_blank&quot; title=&quot;Wikimedia Fundraiser Thank You message&quot;&gt;thank you message&lt;/a&gt; but still requests further donations, which are also continuously added to the &lt;a href=&quot;http://donate.wikimedia.org/en/node/22&quot; target=&quot;_blank&quot; title=&quot;Wikimedia foundation daily donations summary page&quot;&gt;official daily funds list and running totals&lt;/a&gt; as of the press time of this article.&lt;br /&gt;&lt;br /&gt;I&#039;ve presented two interim analysis&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html&quot; title=&quot;Daniel&#039;s blog: Wikimedia Fundraiser Analysis I&quot;&gt;Wikimedia Fundraiser analysis I&lt;/a&gt; on 03.11.07, some two weeks into the fundraiser&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://daniel-lange.com/archives/15-Wikimedia-Fundraiser-Analysis-II.html&quot;&gt;Wikimedia Fundraiser analysis II&lt;/a&gt; on 23.11.07, summing up expectations and results for the initially intended duration of the fundraiser (22.11.07) &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Today, let&#039;s wrap up the fundraiser until the second official close date 03.01.08:&lt;br /&gt;&lt;br /&gt;From 22.10.07 until 03.01.08 43,837 people have contributed a total of $1,467,446 (US) according to Wikimedia&#039;s own stats (see the previous two articles mentioned above for a discussion of their reporting scheme).&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/19-Wikimedia-Fundraiser-Analysis-III.html#extended&quot;&gt;Continue reading &quot;Wikimedia Fundraiser Analysis III&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 05 Jan 2008 18:10:00 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/19-guid.html</guid>
    <category>analysis</category>
<category>deadline</category>
<category>extended</category>
<category>fundraiser</category>
<category>results</category>
<category>target</category>
<category>updated</category>
<category>wikimedia</category>
<category>wikipedia</category>

</item>
<item>
    <title>SSHd chroot and PAM</title>
    <link>http://daniel-lange.com/archives/11-SSHd-chroot-and-PAM.html</link>
            <category>Gentoo</category>
    
    <comments>http://daniel-lange.com/archives/11-SSHd-chroot-and-PAM.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=11</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;SSH with &lt;a href=&quot;http://chrootssh.sourceforge.net/index.php&quot; target=&quot;_blank&quot; title=&quot;chroot patch for sshd&quot;&gt;chroot patch&lt;/a&gt; has been working fine for a number of years. Since &lt;a href=&quot;http://www.kernel.org/pub/linux/libs/pam/&quot; target=&quot;_blank&quot; title=&quot;Linux-PAM Homepage on kernel.org&quot;&gt;PAM&lt;/a&gt; &lt;a href=&quot;http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml&quot; target=&quot;_blank&quot; title=&quot;Gentoo PAM v0.99 upgrade guide&quot;&gt;v0.99&lt;/a&gt; things have broken though, if users are chrooted with the &amp;quot;&lt;font face=&quot;courier new,courier,monospace&quot;&gt;/home/username&lt;b&gt;/./&lt;/b&gt;&lt;/font&gt;&amp;quot; syntax as their homedir.&lt;/p&gt;

&lt;p&gt;SSH sessions will just terminate immediately after successful logon. Doh.&lt;/p&gt;

&lt;p&gt;Two solutions exist:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Put &lt;font face=&quot;courier new,courier,monospace&quot;&gt;UsePAM no&lt;/font&gt; into &lt;font face=&quot;courier new,courier,monospace&quot;&gt;/etc/ssh/sshd_config&lt;/font&gt; and use the chroot patch and &lt;b&gt;/./&lt;/b&gt; in users homedirs&lt;/li&gt;&lt;li&gt;Keep &lt;font face=&quot;courier new,courier,monospace&quot;&gt;UsePAM yes&lt;/font&gt;. &lt;font face=&quot;courier new,courier,monospace&quot;&gt;Emerge sys-auth/pam_chroot&lt;/font&gt; and add &lt;font face=&quot;courier new,courier,monospace&quot;&gt;session required pam_chroot.so&lt;/font&gt; to &lt;font face=&quot;courier new,courier,monospace&quot;&gt;/etc/pamd.d/sshd&lt;/font&gt; setup &lt;a href=&quot;http://pam-chroot.cvs.sourceforge.net/pam-chroot/pam_chroot/chroot.conf?view=markup&quot; target=&quot;_blank&quot; title=&quot;chroot.conf example and syntax&quot;&gt;/etc/security/chroot.conf&lt;/a&gt; or add a &lt;font face=&quot;courier new,courier,monospace&quot;&gt;chroot_dir=/home/username/&lt;/font&gt; to the pam_chroot.so line.&lt;br /&gt;This will currently not work for amd64 though as the &lt;a title=&quot;Gentoo bugzilla: sys-auth/pam_chroot testing request&quot; target=&quot;_blank&quot; href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=185205&quot;&gt;Gentoo bug regarding pam_chroot&lt;/a&gt; has not cought any attention from the arch testers. Since July...&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;Bugging the arch testers in &lt;a title=&quot;IRC Channel #gentoo-amd64 on freenode&quot; href=&quot;irc://irc.freenode.net/#gentoo-amd64&quot;&gt;#Gentoo-amd64&lt;/a&gt; didn&#039;t help either:&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/11-SSHd-chroot-and-PAM.html#extended&quot;&gt;Continue reading &quot;SSHd chroot and PAM&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 18 Nov 2007 19:09:14 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/11-guid.html</guid>
    <category>amd64</category>
<category>bug</category>
<category>chroot</category>
<category>gentoo</category>
<category>pam</category>
<category>sshd</category>
<category>updated</category>

</item>
<item>
    <title>Wikimedia Fundraiser Webpage now cuts off at the last 10.000 donations</title>
    <link>http://daniel-lange.com/archives/9-Wikimedia-Fundraiser-Webpage-now-cuts-off-at-the-last-10.000-donations.html</link>
            <category>Other</category>
    
    <comments>http://daniel-lange.com/archives/9-Wikimedia-Fundraiser-Webpage-now-cuts-off-at-the-last-10.000-donations.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=9</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;The Wikimedia Foundation has changed their donation web pages again. Now they cut off the &lt;a title=&quot;Wikimedia foundation donations list&quot; target=&quot;_blank&quot; href=&quot;http://donate.wikimedia.org/en/fundcore_browse?minimum=0&amp;op=View+results&amp;form_id=fundcore_browse_recent_contributions_filter_form&quot;&gt;&amp;quot;Recent contributions&amp;quot;&lt;/a&gt; at 400 pages of (max.) 25 donors each. Thus the commands I gave in the &lt;a title=&quot;Blog entry: Wikimedia Fundraiser analysis&quot; href=&quot;http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html&quot;&gt;Wikimedia  Fundraiser analysis article&lt;/a&gt; can&#039;t be repeated to give the full picture anymore. You can now only get a view of the last 9-10 days.&lt;/p&gt;

&lt;p align=&quot;baseline&quot;&gt;The implementation has obviously been done quite hastily. If you select the &amp;quot;Filter&amp;quot; to show only &lt;a title=&quot;Wikimedia foundation donations list, Filter: 5,000+ dollars ... result: one hit (at 10,000 dollars) on 06.11.07&quot; target=&quot;_blank&quot; href=&quot;http://donate.wikimedia.org/en/fundcore_browse?minimum=5000&amp;comment=1&amp;op=View+results&amp;form_id=fundcore_browse_recent_contributions_filter_form&quot;&gt;one page of results&lt;/a&gt;, you&#039;ll still get the (now hard-coded) 0 .. 400 pages selector at the bottom.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://daniel-lange.com/uploads/entries/071106_Wikimedia_Fundraiser_Donations_display_limited_at_400_pages_now.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I&#039;ve been pointed at two other resources on the recent fund raiser for information:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;There is an IRC Channel that lists donations (&lt;a title=&quot;IRC Channel #wikimedia-donations on freenode&quot; href=&quot;irc://irc.freenode.net/#wikimedia-donations&quot;&gt;irc://irc.freenode.net/#wikimedia-donations&lt;/a&gt;). Running it a few minutes, it showed far fewer donations coming in than the better known web page though.&lt;/li&gt;&lt;li&gt;There are a few threads in the &lt;a title=&quot;Wikipedia Review forum&quot; target=&quot;_blank&quot; href=&quot;http://wikipediareview.com/index.php?showforum=19&quot;&gt;Wikipedia Review Forum&lt;/a&gt; that deal with the fund raiser. The discussions there are very &lt;a title=&quot;Wikipedia: Statler and Waldorf from the Muppets Show&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Statler%5F%26%5FWaldorf&quot;&gt;Statler and Waldorf&lt;/a&gt; style but these folks also did the math.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Updates&lt;/h3&gt;

&lt;p&gt;09.11.07: Casey Abell has added &lt;a title=&quot;Wikimedia foundation donations running daily totals&quot; target=&quot;_blank&quot; href=&quot;http://donate.wikimedia.org/en/node/22&quot;&gt;http://donate.wikimedia.org/en/node/22&lt;/a&gt; to the comments which lists a daily report of the funds collected. Thanks Casey! The numbers match very well with &lt;a title=&quot;Blog Eentry: Daniel Lange - Wikimedia Fundraiser Analysis&quot; href=&quot;http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html&quot;&gt;my analysis&lt;/a&gt;. Wikimedia currently reports $27,97 average donation. I measured $27,85 six days ago. That seems stable. Interim conclusion:There are still major individual donations required to get anywhere above $2m.&lt;/p&gt;

&lt;p&gt;10.11.07: Casey generates a nice graph of the daily funds collected &lt;a href=&quot;http://en.wikipedia.org/wiki/Image:2007_Fundraiser_By_Day.JPG&quot; target=&quot;_blank&quot; title=&quot;Wikipedia / Casey Abell: Graph of funds collected by day&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Tue, 06 Nov 2007 17:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/9-guid.html</guid>
    <category>analysis</category>
<category>fundraiser</category>
<category>updated</category>
<category>wikimedia</category>

</item>
<item>
    <title>Wikimedia Fundraiser Analysis</title>
    <link>http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html</link>
            <category>Other</category>
    
    <comments>http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;The &lt;a title=&quot;Wikimedia foundation home page&quot; target=&quot;_blank&quot; href=&quot;http://wikimediafoundation.org&quot;&gt;Wikimedia Foundation&lt;/a&gt;, the organisation behind &lt;a title=&quot;Wikipedia, you know...&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt;, is running their &lt;a title=&quot;Wikimedia foundation fund raising page&quot; target=&quot;_blank&quot; href=&quot;http://wikimediafoundation.org/wiki/Fundraising&quot;&gt;annual fund raiser&lt;/a&gt; since &lt;a title=&quot;Wikimedia foundation FAQ page on fund raising&quot; target=&quot;_blank&quot; href=&quot;http://wikimediafoundation.org/wiki/Fundraising_FAQ&quot;&gt;October 22nd&lt;/a&gt;. There have been &lt;a title=&quot;Blog entry: Kirk Hallowell&quot; target=&quot;_blank&quot; href=&quot;http://www.kuro5hin.org/story/2007/10/27/141234/14&quot;&gt;numerous&lt;/a&gt; &lt;a title=&quot;Blog entry: Howard Tayler&quot; target=&quot;_blank&quot; href=&quot;http://www.schlockmercenary.com/blog/index.php/2007/10/30/wikiwatch-how-did-that-picture-get-there/&quot;&gt;complaints&lt;/a&gt; that the Wikimedia Foundation did not name a target sum to be achieved or is in other way acting intransparent. There may be good reasons for that:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The last fund raiser was &amp;quot;tough&amp;quot; to get through already and raised about one million dollars with $20 average contribution as to what &lt;a title=&quot;Blog entry: Bruno Giussani&quot; target=&quot;_blank&quot; href=&quot;http://www.lunchoverip.com/2007/02/lift07_wikimedi.html&quot;&gt;Bruno Giussani reported from Lift &#039;07.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The foundation grew from $56,666 turn-over in it&#039;s fiscal year 2003/2004 to $283,487 (2004/2005) and $1,066,785 (2005/2006). The 2006/2007 figures are still not reported, but it&#039;s safe to estimate that the 4x increase of the previous year has slowed down a bit.&lt;font size=&quot;1&quot;&gt;(see Updates section below)&lt;/font&gt; See &lt;a title=&quot;Wikimedia financials page&quot; target=&quot;_blank&quot; href=&quot;http://wikimediafoundation.org/wiki/Finance_report&quot;&gt;http://wikimediafoundation.org/wiki/Finance_report&lt;/a&gt; for the scarce details. &lt;/li&gt;&lt;li&gt;The &lt;a title=&quot;Wikimedia foundation budget &quot; target=&quot;_blank&quot; href=&quot;http://wikimediafoundation.org/wiki/Planned_Spending_Distribution_2007-2008&quot;&gt;budget planning&lt;/a&gt; for fiscal year 2007/2008 totals $4.611m. The break-down is very rough and little effort is spent to explain the figures to the general public.&lt;/li&gt;&lt;li&gt;The suggested donations have been set high at $200 to $40 with marketdroid speak to sell that:&lt;br /&gt;&amp;quot;If you and 99 other people donate .. $200 – We can ...&amp;quot;. &lt;/li&gt;&lt;li&gt;It&#039;s not very likely a target in the range of the planned budget can be achieved from Joe, Dick and Harry&#039;s contributions. Wikimedia may need Larry, Sergey or Mark here. (I&#039;ll leave that without links for you to think about &lt;img src=&quot;http://daniel-lange.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;)&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;So - to make the best of this - and continue being unnecessarily  intransparent, Wikimedia (cough Jimmy Wales, cough) has decided to only list the number of donors as the &amp;quot;progress report&amp;quot;.&lt;/p&gt;

&lt;p align=&quot;baseline&quot;&gt;Their &amp;quot;meter&amp;quot; currently looks like this:&lt;/p&gt;

&lt;p&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; alt=&quot;Wikimedia fund raising meter as displayed 03.11.07 around 22:00&quot; src=&quot;http://daniel-lange.com/uploads/entries/071103_Wikimedia_Fundraiser_english_saved.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You can easily analyse the scale to find that Wikimedia hopes 100.000 people will contribute.&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://daniel-lange.com/archives/5-Wikimedia-Fundraiser-Analysis.html#extended&quot;&gt;Continue reading &quot;Wikimedia Fundraiser Analysis&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 03 Nov 2007 22:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/5-guid.html</guid>
    <category>analysis</category>
<category>fundraiser</category>
<category>target</category>
<category>updated</category>
<category>wikimedia</category>
<category>wikipedia</category>

</item>
<item>
    <title>Multiple Apache VHosts on the same IP and port</title>
    <link>http://daniel-lange.com/archives/2-Multiple-Apache-VHosts-on-the-same-IP-and-port.html</link>
            <category>Apache</category>
    
    <comments>http://daniel-lange.com/archives/2-Multiple-Apache-VHosts-on-the-same-IP-and-port.html#comments</comments>
    <wfw:comment>http://daniel-lange.com/wfwcomment.php?cid=2</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=2</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;I just learned yesterday again, what I knew a few years ago, but since had forgotten:&lt;/p&gt;

&lt;p&gt;You cannot put multiple SSL-enabled virtual Apache hosts onto the same IP and port.&lt;/p&gt;

&lt;p&gt;Apache cannot identify which VirtualHost to serve a request from because the payload is encrypted in its entirety. So a&lt;/p&gt;

&lt;pre&gt;Host: servertwo.tld&lt;/pre&gt;

&lt;p&gt;header cannot be parsed until the encryption has been removed. Which requires the key, which is listed in the VHost section that could not be identified in the first place...
So a name-based VirtualHost-configuration like this won&#039;t work:&lt;/p&gt;

&lt;div class=&quot;apache geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #00007f;&quot;&gt;Listen&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;443&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #00007f;&quot;&gt;NameVirtualHost&lt;/span&gt; *:&lt;span style=&quot;color: #ff0000;&quot;&gt;443&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;virtualhost&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLEngine &lt;span style=&quot;color: #0000ff;&quot;&gt;On&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #00007f;&quot;&gt;ServerName&lt;/span&gt; serverone.tld:&lt;span style=&quot;color: #ff0000;&quot;&gt;443&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLCertificateFile /etc/apache2/ssl/serverone.crt&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLCertificateKeyFile /etc/apache2/ssl/serverone.key&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;[...]&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;virtualhost&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;lt;&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;virtualhost&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLEngine &lt;span style=&quot;color: #0000ff;&quot;&gt;On&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #00007f;&quot;&gt;ServerName&lt;/span&gt; servertwo.tld:&lt;span style=&quot;color: #ff0000;&quot;&gt;443&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLCertificateFile /etc/apache2/ssl/servertwo.crt&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;SSLCertificateKeyFile /etc/apache2/ssl/servertwo.key&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160;[...]&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;lt;/&lt;span style=&quot;color: #000000; font-weight:bold;&quot;&gt;virtualhost&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;It will just serve any request out of the first VirtualHost (serverone.tld) regardless of the hostname in the request headers.&lt;/p&gt;

&lt;p&gt;There is some light at the end of this tunnel though:
&lt;a target=&quot;_blank&quot; title=&quot;RFC 4366&quot; href=&quot;http://www.ietf.org/rfc/rfc4366.txt&quot;&gt;RFC4366&lt;/a&gt; describes an optional field to the TLS (&lt;a target=&quot;_blank&quot; title=&quot;Wikipedia:Transport Layer Security - TLS&quot; href=&quot;http://en.wikipedia.org/wiki/Transport_Layer_Security&quot;&gt;Transport Layer Security&lt;/a&gt;) client request called &amp;quot;Server Name Indication&amp;quot; (SNI). With this the client just includes a list of ServerNames (usually one) that it&#039;s trying to contact. Apache can easily match the supplied name from the client against a ServerName (or ServerAlias) directive from it&#039;s configuration files.&lt;/p&gt;

&lt;p&gt;SNI will be supported with &lt;a target=&quot;_blank&quot; title=&quot;OpenSSL Homepage&quot; href=&quot;http://openssl.org&quot;&gt;OpenSSL&lt;/a&gt; v0.9.9 in mod_ssl. Sometime in the future. There is a backport to v0.9.8 available from Steven Henson linked &lt;a target=&quot;_blank&quot; title=&quot;Blog Entry: Mozillazine - gerv&quot; href=&quot;http://weblogs.mozillazine.org/gerv/archives/2007/08/virtual_hosting_ssl_and_sni.html&quot;&gt;here&lt;/a&gt;. Or you can use mod_gnutls as described by George Notaras in a recent &lt;a target=&quot;_blank&quot; title=&quot;Blog entry: SSL-enabled Name-based Apache Virtual Hosts with mod_gnutls&quot; href=&quot;http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/&quot;&gt;blog entry&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In either cases the above configuration snippet will &amp;quot;just work&amp;quot; once SNI is understood by Apache.&lt;/p&gt;

&lt;p&gt;Currently Internet Explorer 7 (on Vista only, wanna upgrade &lt;img src=&quot;http://daniel-lange.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;), Mozilla Firefox 2+, Opera 7.6+, KDE Konqueror 3.5+ support sending the SNI. You can test your browser at Kaspar Brand&#039;s &lt;a target=&quot;_blank&quot; title=&quot;https://sni.velox.ch/&quot; href=&quot;https://sni.velox.ch/&quot;&gt;SNI testpage&lt;/a&gt;. He also has a patch available to make Apache 2.2 mod_ssl SNI capable when compiled against a CVS-version of OpenSSL.&lt;/p&gt;

&lt;p&gt;I&#039;m rather sure that spreading SNI capable hosts will also provide new hacking opportunities:
Let&#039;s assume a system serves both Intranet and Internet traffic. A client contacts the Internet IP with SSL but specifies the Intranet Hostname in it&#039;s TLS SNI entry. Guess what will happen? Yup.&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;

&lt;p&gt;02.09.2009: Gee, after two years people still read this blog entry. So I&#039;ll point you to a few updates. 2009 is not 2007 &lt;img src=&quot;http://daniel-lange.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; SNI has made some slow progress since the original article. But major steps forward only came this summer: Apache has official support for SNI since 2.2.12 (&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=34607&quot; title=&quot;Apache bugtracker bug 34607 - Support for Server Name Indication&quot;&gt;tracking bug&lt;/a&gt;). Gentoo has been early to support SNI and &lt;a href=&quot;http://dev.gentoo.org/~dertobi123/&quot; title=&quot;Tobias&#039; Gentoo dev page&quot;&gt;Tobias Scheerbaum&lt;/a&gt; has written a blog entry on &lt;a href=&quot;http://blog.scherbaum.info/2008/07/20/apache-ssl-und-sni/&quot; title=&quot;Tobias Scheerbaum&#039;s blog entry (in GERMAN)&quot;&gt;Apache, SSL und SNI in Gentoo (in German)&lt;/a&gt; summarizing how it works out of the box. Support for SNI has also been added to Debian (&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=461917&quot; title=&quot;Debian bugtracker bug 461917 - Apache 2.2 TLS-SNI support,Package: apache2&quot;&gt;tracking bug&lt;/a&gt;) but for now the default config files don&#039;t reflect SNI capability yet. Ubuntu will see SNI in Karmic Koala, the release scheduled for next month i.e. &quot;9.10&quot; (&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/184131&quot; title=&quot;Ubuntu bugtracker bug 184131 - Apache 2.2 SNI support&quot;&gt;tracking bug&lt;/a&gt;). Fedora has a SNI enabled Apache from httpd-2.2.13-1.fc11 onwards (&lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=443513&quot; title=&quot;Red Hat bugtracker bug 443513 - SNI support for mod_ssl&quot;&gt;tracking bug&lt;/a&gt;). Tobias also states that SP3 for Windows XP enables IE6 to send the SNI (SP2 is not sufficient).&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sat, 13 Oct 2007 14:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://daniel-lange.com/archives/2-guid.html</guid>
    <category>apache</category>
<category>sni</category>
<category>ssl</category>
<category>updated</category>
<category>virtualhost</category>

</item>

</channel>
</rss>
