1 <?xml version=
"1.0" encoding=
"ISO-8859-1"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/'
>
4 <title>Petter Reinholdtsen - Entries from August
2010</title>
5 <description>Entries from August
2010</description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
10 <title>Debian Edu roaming workstation - at the university of Oslo
</title>
11 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html
</guid>
13 <pubDate>Tue,
3 Aug
2010 23:
30:
00 +
0200</pubDate>
14 <description><p
>The new roaming workstation profile in Debian Edu/Squeeze is fairly
15 similar to the laptop setup am I working on using Ubuntu for the
16 University of Oslo, and just for the heck of it, I tested today how
17 hard it would be to integrate that profile into the university
18 infrastructure. In this case, it is the university LDAP server,
19 Active Directory Kerberos server and SMB mounting from the Netapp file
22 <p
>I was pleasantly surprised that the only three files needed to be
23 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
24 /etc/mklocaluser.d/
20-debian-edu-config) and one file had to be added
25 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
26 Most of the changes were to get the client to use the university LDAP
27 for NSS and Kerberos server for PAM, but one was to change a hard
28 coded DNS domain name in the mklocaluser hook from .intern to
31 <p
>This testing was so encouraging, that I went ahead and adjusted the
32 Debian Edu scripts and setup in subversion to centralise the roaming
33 workstation setup a bit more and avoid the hardcoded DNS domain name,
34 so that when I test this tomorrow, I expect to get away with modifying
35 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
36 university servers.
</p
>
38 <p
>My goal is to get the clients to have no hardcoded settings and
39 fetch all their initial setup during installation and first boot, to
40 allow them to be inserted also into environments where the default
41 setup in Debian Edu has been changed or as with the university, where
42 the environment is different but provides the protocols Debian Edu
48 <title>Autodetecting Client setup for roaming workstations in Debian Edu
</title>
49 <link>http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html
</link>
50 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html
</guid>
51 <pubDate>Sat,
7 Aug
2010 14:
45:
00 +
0200</pubDate>
52 <description><p
>A few days ago, I
53 <a href=
"http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html
">tried
54 to install
</a
> a Roaming workation profile from Debian Edu/Squeeze
55 while on the university network here at the University of Oslo, and
56 noticed how much had to change to get it operational using the
57 university infrastructure. It was fairly easy, but it occured to me
58 that Debian Edu would improve a lot if I could get the client to
59 connect without any changes at all, and thus let the client configure
60 itself during installation and first boot to use the infrastructure
61 around it. Now I am a huge step further along that road.
</p
>
63 <p
>With our current squeeze-test packages, I can select the roaming
64 workstation profile and get a working laptop connecting to the
65 university LDAP server for user and group and our active directory
66 servers for Kerberos authentication. All this without any
67 configuration at all during installation. My users home directory got
68 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
69 In short, openldap and sssd is correctly configured. In addition to
70 this, the client look for http://wpad/wpad.dat to configure a web
71 proxy, and when it fail to find it no proxy settings are stored in
72 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
73 configured to look for the same wpad configuration and also do not use
74 a proxy when at the university network. If the machine is moved to a
75 network with such wpad setup, it would automatically use it when DHCP
76 gave it a IP address.
</p
>
78 <p
>The LDAP server is located using DNS, by first looking for the DNS
79 entry ldap.$domain. If this do not exist, it look for the
80 _ldap._tcp.$domain SRV records and use the first one as the LDAP
81 server. Next, it connects to the LDAP server and search all
82 namingContexts entries for posixAccount or posixGroup objects, and
83 pick the first one as the LDAP base. For Kerberos, a similar
84 algorithm is used to locate the LDAP server, and the realm is the
85 uppercase version of $domain.
</p
>
87 <p
>So, what is not working, you might ask. SMB mounting my home
88 directory do not work. No idea why, but suspected the incorrect
89 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
90 the cause. These are not properly configured during installation, and
91 had to be hand-edited to get the correct Kerberos realm and server,
92 but SMB mounting still do not work. :(
</p
>
94 <p
>With this automatic configuration in place, I expect a Debian Edu
95 roaming profile installation would be able to automatically detect and
96 connect to any site using LDAP and Kerberos for NSS directory and PAM
97 authentication. It should also work out of the box in a Active
98 Directory environment providing posixAccount and posixGroup objects
99 with UID and GID values.
</p
>
101 <p
>If you want to help out with implementing these things for Debian
102 Edu, please contact us on debian-edu@lists.debian.org.
</p
>
107 <title>Testing if a file system can be used for home directories...
</title>
108 <link>http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
</link>
109 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
</guid>
110 <pubDate>Sun,
8 Aug
2010 21:
20:
00 +
0200</pubDate>
111 <description><p
>A few years ago, I was involved in a project planning to use
112 Windows file servers as home directory servers for Debian
113 Edu/Skolelinux machines. This was thought to be no problem, as the
114 access would be through the SMB network file system protocol, and we
115 knew other sites used SMB with unix and samba as the file server to
116 mount home directories without any problems. But, after months of
117 struggling, we had to conclude that our goal was impossible.
</p
>
119 <p
>The reason is simply that while SMB can be used for home
120 directories when the file server is Samba running on Unix, this only
121 work because of Samba have some extensions and the fact that the
122 underlying file system is a unix file system. When using a Windows
123 file server, the underlying file system do not have POSIX semantics,
124 and several programs will fail if the users home directory where they
125 want to store their configuration lack POSIX semantics.
</p
>
127 <p
>As part of this work, I wrote a small C program I want to share
128 with you all, to replicate a few of the problematic applications (like
129 OpenOffice.org and GCompris) and see if the file system was working as
130 it should. If you find yourself in spooky file system land, it might
131 help you find your way out again. This is the fs-test.c source:
</p
>
135 * Some tests to check the file system sematics. Used to verify that
136 * CIFS from a windows server do not work properly as a linux home
138 * License: GPL v2 or later
140 * needs libsqlite3-dev and build-essential installed
141 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
144 #define _FILE_OFFSET_BITS
64
145 #define _LARGEFILE_SOURCE
1
146 #define _LARGEFILE64_SOURCE
1
148 #define _GNU_SOURCE /* for asprintf() */
150 #include
&lt;errno.h
>
151 #include
&lt;fcntl.h
>
152 #include
&lt;stdio.h
>
153 #include
&lt;string.h
>
154 #include
&lt;stdlib.h
>
155 #include
&lt;sys/file.h
>
156 #include
&lt;sys/stat.h
>
157 #include
&lt;sys/types.h
>
158 #include
&lt;unistd.h
>
162 * Test sqlite open, as done by gcompris require the libsqlite3-dev
163 * package and linking with -lsqlite3. A more low level test is
165 * See also
&lt;URL: http://www.sqlite.org./faq.html#q5
>.
167 #include
&lt;sqlite3.h
>
168 #define CREATE_TABLE_USERS \
169 "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT );
"
170 int test_sqlite_open(void) {
172 char *name =
"testsqlite.db
";
175 int rc = sqlite3_open(name,
&db);
177 printf(
"error: sqlite open of %s failed: %s\n
", name, sqlite3_errmsg(db));
183 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,
0,
&zErrMsg);
184 if( rc != SQLITE_OK ){
185 printf(
"error: sqlite table create failed: %s\n
", zErrMsg);
189 printf(
"info: sqlite worked\n
");
193 #endif /* TEST_SQLITE */
196 * Demonstrate locking issue found in gcompris using sqlite3. This
197 * work with ext3, but not with cifs server on Windows
2003. This is
198 * done in the sqlite3 library.
200 *
&lt;URL:http://www.cygwin.com/ml/cygwin/
2001-
08/msg00854.html
> and the
201 * POSIX specification
202 *
&lt;URL:http://www.opengroup.org/onlinepubs/
009695399/functions/fcntl.html
>.
204 int test_gcompris_locking(void) {
206 char *name =
"testsqlite.db
";
208 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE,
0644);
209 printf(
"info: testing fcntl locking\n
");
211 fl.l_whence = SEEK_SET;
213 printf(
" Read-locking
1 byte from
1073741824");
214 fl.l_start =
1073741824;
217 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
219 printf(
" Read-locking
510 byte from
1073741826");
220 fl.l_start =
1073741826;
223 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
225 printf(
" Unlocking
1 byte from
1073741824");
226 fl.l_start =
1073741824;
229 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
231 printf(
" Write-locking
1 byte from
1073741824");
232 fl.l_start =
1073741824;
235 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
237 printf(
" Write-locking
510 byte from
1073741826");
238 fl.l_start =
1073741826;
240 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
242 printf(
" Unlocking
2 byte from
1073741824");
243 fl.l_start =
1073741824;
246 if (
0 != fcntl(fd, F_SETLK,
&fl) ) printf(
" - error!\n
"); else printf(
"\n
");
253 * Test if permissions of freshly created directories allow entries
254 * below them. This was a problem with OpenOffice.org and gcompris.
255 * Mounting with option
'sync
' seem to solve this problem while
256 * slowing down file operations.
258 int test_subdirectory_creation(void) {
260 char *path = strdup(
"test
");
263 printf(
"info: testing subdirectory creation\n
");
264 for (level =
0; level
&lt; LEVELS; level++) {
265 char *newpath = NULL;
266 if (-
1 == mkdir(path,
0777)) {
267 printf(
" error: Unable to create directory
'%s
': %s\n
",
268 path, strerror(errno));
271 asprintf(
&newpath,
"%s/%s
", path,
"test
");
279 * Test if symlinks can be created. This was a problem detected with
282 int test_symlinks(void) {
283 printf(
"info: testing symlink creation\n
");
284 unlink(
"symlink
");
285 if (-
1 == symlink(
"file
",
"symlink
"))
286 printf(
" error: Unable to create symlink\n
");
290 int main(int argc, char **argv) {
291 printf(
"Testing POSIX/Unix sematics on file system\n
");
293 test_subdirectory_creation();
296 #endif /* TEST_SQLITE */
297 test_gcompris_locking();
302 <p
>When everything is working, it should print something like
306 Testing POSIX/Unix sematics on file system
307 info: testing symlink creation
308 info: testing subdirectory creation
310 info: testing fcntl locking
311 Read-locking
1 byte from
1073741824
312 Read-locking
510 byte from
1073741826
313 Unlocking
1 byte from
1073741824
314 Write-locking
1 byte from
1073741824
315 Write-locking
510 byte from
1073741826
316 Unlocking
2 byte from
1073741824
319 <p
>I do not remember the exact details of the problems we saw, but one
320 of them was with locking, where if I remember correctly, POSIX allow a
321 read-only lock to be upgraded to a read-write lock without unlocking
322 the read-only lock (while Windows do not). Another was a bug in the
323 CIFS/SMB client implementation in the Linux kernel where directory
324 meta information would be wrong for a fraction of a second, making
325 OpenOffice.org fail to create its deep directory tree because it was
326 not allowed to create files in its freshly created directory.
</p
>
328 <p
>Anyway, here is a nice tool for your tool box, might you never need
331 <p
>Update
2010-
08-
27: Michael Gebetsroither report that he found the
332 script so useful that he created a GIT repository and stored it in
333 <a href=
"http://github.com/gebi/fs-test
">http://github.com/gebi/fs-test
</a
>.
</p
>
338 <title>No hardcoded config on Debian Edu clients
</title>
339 <link>http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html
</link>
340 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html
</guid>
341 <pubDate>Mon,
9 Aug
2010 20:
15:
00 +
0200</pubDate>
342 <description><p
>As reported earlier, the last few days I have looked at how Debian
343 Edu clients are configured, and tried to get rid of all hardcoded
344 configuration settings on the clients. I believe the work to be
345 mostly done, and the clients seem to work just fine with dynamically
346 generated configuration.
</p
>
348 <p
>What is the point, you might ask? The point is to allow a Debian
349 Edu desktop to integrate into an existing network infrastructure
350 without any manual configuration.
</p
>
352 <p
>This is what happens when installing a Debian Edu client here at
353 the University of Oslo using PXE. With the PXE installation, I am
354 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
355 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
356 accept to reformat the hard drive (yes), if I want to submit info to
357 popcon.debian.org (no) and root password (secret). After answering
358 these questions, the installer goes ahead and does its thing, and
359 after around
50 minutes it is done. I press enter to finish the
360 installation, and the machine reboots into KDE. When the machine is
361 ready and kdm asks for login information, I enter my university
362 username and password, am told by kdm that a local home directory has
363 been created and that I must log in again, and finally log in with the
364 same username and password to the KDE
4.4 desktop. At no point during
365 this process did it ask for university specific settings, and all the
366 required configuration was dynamically detected using information
367 fetched via DHCP and DNS. The roaming workstation is now ready for
370 <p
>How was this done, you might wonder? First of all, here is the
371 list of things that need to be configured on the client to get it
372 working properly out of the box:
</p
>
375 <li
>IP address/netmask and DNS server.
</li
>
376 <li
>Web proxy URL.
</li
>
377 <li
>LDAP server for NSS directory information (user, group, etc).
</li
>
378 <li
>Kerberos server for PAM password checking.
</li
>
379 <li
>SMB mount point to access the network home directory. (*)
</li
>
380 <li
>Central syslog server to send syslog messages to. (*)
</li
>
381 <li
>Sitesummary collector URL to submit info to central server. (*)
</li
>
384 <p
>(Hm, did I forget anything? Let me knew if I did.)
</p
>
386 <p
>The points marked (*) are not required to be able to use the
387 machine, but needed to provide central storage and allowing system
388 administrators to track their machines. Since yesterday, everything
389 but the sitesummary collector URL is dynamically discovered at boot
390 and installation time in the svn version of Debian Edu.
</p
>
392 <p
>The IP and DNS setup is fetched during boot using DHCP as usual.
393 When a DHCP update arrives, the proxy setup is updated by looking for
394 http://wpat/wpad.dat and using the content of this WPAD file to
395 configure the http and ftp proxy in /etc/environment and
396 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
397 hook to ensure that the client stops using the Debian Edu proxy when
398 it is moved outside the Debian Edu network, and instead uses any local
399 proxy present on the new network when it moves around.
</p
>
401 <p
>The DNS names of the LDAP, Kerberos and syslog server and related
402 configuration are generated using DNS information at boot. First the
403 installer looks for a host named ldap in the current DNS domain. If
404 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
405 LDAP server is found, its root DSE entry is requested and the
406 attributes namingContexts and defaultNamingContext are used to
407 determine which LDAP base to use for NSS. If there are several
408 namingContexts attibutes and the defaultNamingContext is present, that
409 LDAP subtree is used as the base. If defaultNamingContext is missing,
410 the subtrees listed as namingContexts are searched in sequence for any
411 object with class posixAccount or posixGroup, and the first one with
412 such an object is used as the LDAP base. For Kerberos, a similar
413 search is done by first looking for a host named kerberos, and then
414 for the _kerberos._tcp SRV record. I
've been unable to find a way to
415 look up the Kerberos realm, so for this the upper case string of the
416 current DNS domain is used.
</p
>
418 <p
>For the syslog server, the hosts syslog and loghost are searched
419 for, and the _syslog._udp SRV record is consulted if no such host is
420 found. This algorithm works for both Debian Edu and the University of
421 Oslo. A similar strategy would work for locating the sitesummary
422 server, but have not been implemented yet. I decided to fetch and
423 save these settings during installation, to make sure moving to a
424 different network does not change the set of users being allowed to
425 log in nor the passwords required to log in. Usernames and passwords
426 will be cached by sssd when the user logs in on the Debian Edu
427 network, and will not change as the laptop move around. For a
428 non-roaming machine, there is no caching, but given that it is
429 supposed to stay in place it should not matter much. Perhaps we
430 should switch those to use sssd too?
</p
>
432 <p
>The user
's SMB mount point for the network home directory is
433 located when the user logs in for the first time. The LDAP server is
434 consulted to look for the user
's LDAP object and the sambaHomePath
435 attribute is used if found. If it isn
't found, the home directory
436 path fetched from NSS is used instead. Assuming the path is of the
437 form /site/server/directory/username, the second part is looked up in
438 DNS and used to generate a SMB URL of the form
439 smb://server.domain/username. This algorithm works for both Debian
440 edu and the University of Oslo. Perhaps there are better attributes
441 to use or a better algorithm that works for more sites, but this will
442 do for now. :)
</p
>
444 <p
>This work should make it easier to integrate the Debian Edu clients
445 into any LDAP/Kerberos infrastructure, and make the current setup even
446 more flexible than before. I suspect it will also work for thin
447 client servers, allowing one to easily set up LTSP and hook it into a
448 existing network infrastructure, but I have not had time to test this
451 <p
>If you want to help out with implementing these things for Debian
452 Edu, please contact us on debian-edu@lists.debian.org.
</p
>
454 <p
>Update
2010-
08-
09: Simon Farnsworth gave me a heads-up on how to
455 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
456 before falling back to the upper case DNS domain name. Will have to
457 implement it for Debian Edu. :)
</p
>
462 <title>Rob Weir: How to Crush Dissent
</title>
463 <link>http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html
</link>
464 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html
</guid>
465 <pubDate>Sun,
15 Aug
2010 22:
20:
00 +
0200</pubDate>
466 <description><p
>I found the notes from Rob Weir on
467 <a href=
"http://feedproxy.google.com/~r/robweir/antic-atom/~
3/VGb23-kta8c/how-to-crush-dissent.html
">how
468 to crush dissent
</a
> matching my own thoughts on the matter quite
469 well. Highly recommended for those wondering which road our society
470 should go down. In my view we have been heading the wrong way for a
476 <title>2 Spykee-roboter i hus, nå skal det lekes
</title>
477 <link>http://people.skolelinux.org/pere/blog/
2_Spykee_roboter_i_hus__n__skal_det_lekes.html
</link>
478 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/
2_Spykee_roboter_i_hus__n__skal_det_lekes.html
</guid>
479 <pubDate>Wed,
18 Aug
2010 13:
30:
00 +
0200</pubDate>
480 <description><p
>Jeg kjøpte nettopp to
481 <a href=
"http://www.spykee-robot.com/
">Spykee
</a
>-roboter, for test og
482 leking. Kjøpte to da det var så billige, og gir meg mulighet til å
483 eksperimentere uten å være veldig redd for å ødelegge alt ved å bytte
484 ut firmware og slikt. Oppdaget at lekebutikken på Bryn senter hadde
485 en liten stabel på lager som de ikke hadde klart å selge ut etter
486 fjorårets juleinnkjøp, og var villig til å selge for en femtedel av
487 vanlig pris. Jeg, Ronny og Jarle har skaffet oss restbeholdningen, og
488 det blir morsomt å se hva vi får ut av dette.
</p
>
490 <p
>Roboten har belter styrt av to motorer, kamera, høytaler, mikrofon
491 og wifi-tilkobling. Det hele styrt av en GPL-lisensiert databoks som
492 jeg mistenker kjører linux. Firmware-kildekoden ble visst publisert i
493 mai. Eneste utfordringen er at kontroller-programvaren kun finnes til
494 Windows, men det må en kunne jobbe seg rundt når vi har kildekoden til
495 firmwaren. :)
</p
>
498 <li
><a href=
"http://en.wikipedia.org/wiki/Spykee
">Wikipedia-oppføring
</a
></li
>
499 <li
><a href=
"http://www.spykeeworld.com/spykee/US/freeSoftware.html
">Nedlasting av firmware-kilden
</a
></li
>
500 <li
><a href=
"http://wiki.nuug.no/grupper/robot
">prosjektwiki hos NUUG
</a
></li
>
506 <title>Robot, reis deg...
</title>
507 <link>http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html
</link>
508 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html
</guid>
509 <pubDate>Sat,
21 Aug
2010 22:
10:
00 +
0200</pubDate>
510 <description><p
>I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og
511 har brukt noen timer til å google etter interessante referanser og
512 aktuell kildekode for bruk på Linux. Det mest lovende så langt er
513 <a href=
"http://ispykee.toyz.org/
">ispykee
</a
>, som har en
514 BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på
515 lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for
516 å fjernstyre roboten. Linux-daemonen implementerer deler av
517 protokollen som roboten forstår. Etter å ha knotet litt med å oppnå
518 kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg
519 måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at
520 den lytter på IP-port
9000 og
9001, gikk jeg i gang med å finne ut
521 hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten
522 av protokollen er publisert av produsenten med GPL-lisens, slik at det
523 er mulig å se hvordan protokollen fungerer. Det finnes en java-klient
524 for Android som så ganske snasen ut, men fant ingen kildekode for
525 denne. Derimot hadde iphone-løsningen kildekode, så jeg tok
526 utgangspunkt i den.
</p
>
528 <p
>Daemonen ville i utgangspunktet forsøke å kontakte den sentrale
529 tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om
530 til i stedet å sette opp en nettverkstjeneste på min lokale maskin,
531 som jeg kan koble meg opp til med telnet og gi kommandoer til roboten
532 (act, forward, right, left, etc). Det involverte i praksis å bytte ut
533 socket()/connect() med socket()/bind()/listen()/accept() for å gjøre
534 klienten om til en tjener.
</p
>
536 <p
>Mens jeg har forsøkt å få roboten til å bevege seg har min samboer
537 skrudd sammen resten av roboten for å få montert kamera og plastpynten
538 (armer, plastfiber for lys). Nå er det hele montert, og roboten er
539 klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett
540 før det blir praktisk, men de bitene av protokollen er ikke
541 implementert i ispykee-daemonen, så der må jeg enten få tak i en mac
542 eller en windows-maskin, eller implementere det selv.
</p
>
544 <p
>Vi var tre som kjøpte slike roboter, og vi har blitt enige om å
545 samle notater og referanser på
<a
546 href=
"http://wiki.nuug.no/grupper/robot/
">NUUGs wiki
</a
>. Ta en titt
547 der hvis du er nysgjerrig.
</p
>
552 <title>Elektronisk stemmegiving er ikke til å stole på - heller ikke i Norge
</title>
553 <link>http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til___stole_p____heller_ikke_i_Norge.html
</link>
554 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til___stole_p____heller_ikke_i_Norge.html
</guid>
555 <pubDate>Mon,
23 Aug
2010 19:
30:
00 +
0200</pubDate>
556 <description><p
>I Norge pågår en prosess for å
557 <a href=
"http://www.e-valg.dep.no/
">innføre elektronisk
558 stemmegiving
</a
> ved kommune- og stortingsvalg. Dette skal
559 introduseres i
2011. Det er all grunn til å tro at valg i Norge ikke
560 vil være til å stole på hvis dette blir gjennomført. Da det hele var
561 oppe til høring i
2006 forfattet jeg
562 <a href=
"http://www.nuug.no/dokumenter/valg-horing-
2006-
09.pdf
">en
563 høringsuttalelse fra NUUG
</a
> (og EFN som hengte seg på) som skisserte
564 hvilke punkter som må oppfylles for at en skal kunne stole på et valg,
565 og elektronisk stemmegiving mangler flere av disse. Elektronisk
566 stemmegiving er for alle praktiske formål å putte ens stemme i en sort
567 boks under andres kontroll, og satse på at de som har kontroll med
568 boksen er til å stole på - uten at en har mulighet til å verifisere
569 dette selv. Det er ikke slik en gjennomfører demokratiske valg.
</p
>
571 <p
>Da problemet er fundamentalt med hvordan elektronisk stemmegiving
572 må fungere for at også ikke-krypografer skal kunne delta, har det vært
573 mange rapporter om hvordan elektronisk stemmegiving har sviktet i land
575 <a href=
"http://wiki.nuug.no/uttalelser/
2006-elektronisk-stemmegiving
">liten
576 samling referanser
</a
> finnes på NUUGs wiki. Den siste er fra India,
577 der valgkomisjonen har valgt
578 <a href=
"http://www.freedom-to-tinker.com/blog/jhalderm/electronic-voting-researcher-arrested-over-anonymous-source
">å
579 pusse politiet på en forsker
</a
> som har dokumentert svakheter i
580 valgsystemet.
</p
>
582 <p
>Her i Norge har en valgt en annen tilnærming, der en forsøker seg
583 med teknobabbel for å få befolkningen til å tro at dette skal bli
584 sikkert. Husk, elektronisk stemmegiving underminerer de demokratiske
585 valgene i Norge, og bør ikke innføres.
</p
>
587 <p
>Den offentlige diskusjonen blir litt vanskelig av at media har
588 valgt å kalle dette
"evalg
", som kan sies å både gjelde elektronisk
589 opptelling av valget som Norge har gjort siden
60-tallet og som er en
590 svært god ide, og elektronisk opptelling som er en svært dårlig ide.
591 Diskusjonen gir ikke mening hvis en skal diskutere om en er for eller
592 mot
"evalg
", og jeg forsøker derfor å være klar på at jeg snakker om
593 elektronisk stemmegiving og unngå begrepet
"evalg
".
</p
>
598 <title>Broken umask handling with sshfs
</title>
599 <link>http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html
</link>
600 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html
</guid>
601 <pubDate>Thu,
26 Aug
2010 13:
30:
00 +
0200</pubDate>
602 <description><p
>My file system sematics program
603 <a href=
"http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
">presented
604 a few days ago
</a
> is very useful to verify that a file system can
605 work as a unix home directory,and today I had to extend it a bit. I
'm
606 looking into alternatives for home directory access here at the
607 University of Oslo, and one of the options is sshfs. My friend
608 Finn-Arne mentioned a while back that they had used sshfs with Debian
609 Edu, but stopped because of problems. I asked today what the problems
610 where, and he mentioned that sshfs failed to handle umask properly.
611 Trying to detect the problem I wrote this addition to my fs testing
615 mode_t touch_get_mode(const char *name, mode_t mode) {
617 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
621 if (-
1 != fstat(fd,
&statbuf)) {
622 retval = statbuf.st_mode
& 0x1ff;
629 /* Try to detect problem discovered using sshfs */
630 int test_umask(void) {
631 printf(
"info: testing umask effect on file creation\n
");
633 mode_t orig_umask = umask(
000);
635 if (
0666 != (newmode = touch_get_mode(
"foobar
",
0666))) {
636 printf(
" error: Wrong file mode %o when creating using mode
666 and umask
000\n
",
640 if (
0660 != (newmode = touch_get_mode(
"foobar
",
0666))) {
641 printf(
" error: Wrong file mode %o when creating using mode
666 and umask
007\n
",
649 int main(int argc, char **argv) {
656 <p
>Sure enough. On NFS to a netapp, I get this result:
</p
>
659 Testing POSIX/Unix sematics on file system
660 info: testing symlink creation
661 info: testing subdirectory creation
662 info: testing fcntl locking
663 Read-locking
1 byte from
1073741824
664 Read-locking
510 byte from
1073741826
665 Unlocking
1 byte from
1073741824
666 Write-locking
1 byte from
1073741824
667 Write-locking
510 byte from
1073741826
668 Unlocking
2 byte from
1073741824
669 info: testing umask effect on file creation
672 <p
>When mounting the same directory using sshfs, I get this
676 Testing POSIX/Unix sematics on file system
677 info: testing symlink creation
678 info: testing subdirectory creation
679 info: testing fcntl locking
680 Read-locking
1 byte from
1073741824
681 Read-locking
510 byte from
1073741826
682 Unlocking
1 byte from
1073741824
683 Write-locking
1 byte from
1073741824
684 Write-locking
510 byte from
1073741826
685 Unlocking
2 byte from
1073741824
686 info: testing umask effect on file creation
687 error: Wrong file mode
644 when creating using mode
666 and umask
000
688 error: Wrong file mode
640 when creating using mode
666 and umask
007
691 <p
>So, I can conclude that sshfs is better than smb to a Netapp or a
692 Windows server, but not good enough to be used as a home
695 <p
>Update
2010-
08-
26: Reported the issue in
696 <a href=
"http://bugs.debian.org/
594498">BTS report #
594498</a
></p
>
698 <p
>Update
2010-
08-
27: Michael Gebetsroither report that he found the
699 script so useful that he created a GIT repository and stored it in
700 <a href=
"http://github.com/gebi/fs-test
">http://github.com/gebi/fs-test
</a
>.
</p
>
705 <title>Skolelinux i Osloskolen
</title>
706 <link>http://people.skolelinux.org/pere/blog/Skolelinux_i_Osloskolen.html
</link>
707 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Skolelinux_i_Osloskolen.html
</guid>
708 <pubDate>Thu,
26 Aug
2010 22:
25:
00 +
0200</pubDate>
709 <description><p
>Denne høsten skal endelig alle Osloskolene få mulighet til å bruke
710 <a href=
"http://www.skolelinux.org/
">Skolelinux
</a
>. Ny IT-løsning
711 har vært rullet ut i noen måneder nå, og så vidt jeg fikk vite før
712 sommeren skulle alle skoler ha nytt opplegg på plass før oppstart nå i
713 høst. På alle skolene skal en kunne velge ved installasjon om en skal
714 ha Windows eller Skolelinux på maskinene, og en kan i tillegg
715 PXE-boote maskinene over nett som tynne klienter eller diskløse
716 arbeidsstasjoner. Jeg er spent på hvor mange skoler som velger å ta i
717 bruk Skolelinux, og gleder meg til å se hvordan dette utvikler seg.
719 <a href=
"http://www.logica.no/
">Logica
</a
> med
720 <a href=
"http://www.slxdrift.no/
">Skolelinux Drift AS
</a
> som
721 underleverandør, og jeg har vært involvert i utviklingen av løsningen
722 via Skolelinux Drift AS siden prosjektet starter. Jeg synes det er
723 fantastisk at Skolelinux er kommet så langt siden vi startet i
2001 at
724 alle elevene i Osloskolene nå skal få mulighet til å bruke
725 løsningen. Jeg håper de vil sette pris på alle de
726 <a href=
"http://www.skolelinux.no/linux-signpost/
">fantastiske
727 brukerprogrammene
</a
> som er tilgjengelig i Skolelinux.
</p
>
732 <title>Sikkerhetsteateret på flyplassene fortsetter
</title>
733 <link>http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html
</link>
734 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p__flyplassene_fortsetter.html
</guid>
735 <pubDate>Sat,
28 Aug
2010 10:
40:
00 +
0200</pubDate>
736 <description><p
>Jeg skrev for et halvt år siden hvordan
737 <a href=
"http://people.skolelinux.org/pere/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html
">samfunnet
738 kaster bort ressurser på sikkerhetstiltak som ikke fungerer
</a
>. Kom
740 <a href=
"http://www.askthepilot.com/essays-and-stories/terrorism-tweezers-and-terminal-madness-an-essay-on-security/
">historie
741 fra en pilot fra USA
</a
> som kommenterer det samme. Jeg mistenker det
742 kun er uvitenhet og autoritetstro som gjør at så få protesterer. Har
743 veldig sans for piloten omtalt i
<a
744 href=
"http://www.aftenposten.no/nyheter/iriks/article2057501.ece
">Aftenposten
</a
> 2007-
10-
23,
745 og skulle ønske flere rettet oppmerksomhet mot problemet. Det gir
746 ikke meg trygghetsfølelse på flyplassene når jeg ser at
747 flyplassadministrasjonen kaster bort folk, penger og tid på tull i
748 stedet for ting som bidrar til reell økning av sikkerheten. Det
749 forteller meg jo at vurderingsevnen til de som burde bidra til økt
750 sikkerhet er svært sviktende, noe som ikke taler godt for de andre
753 <p
>Mon tro hva som skjer hvis det fantes en enkel brosjyre å skrive ut
754 fra Internet som forklarte hva som er galt med sikkerhetsopplegget på
755 flyplassene, og folk skrev ut og la en bunke på flyplassene når de
756 passerte. Kanskje det ville fått flere til å få øynene opp for
759 <p
>Personlig synes jeg flyopplevelsen er blitt så avskyelig at jeg
760 forsøker å klare meg med tog, bil og båt for å slippe ubehaget. Det
761 er dog noe vanskelig i det langstrakte Norge og for å kunne besøke de
762 delene av verden jeg ønsker å nå. Mistenker at flere har det slik, og
763 at dette går ut over inntjeningen til flyselskapene. Det er antagelig
764 en god ting sett fra et miljøperspektiv, men det er en annen sak.
</p
>
769 <title>Broken hard link handling with sshfs
</title>
770 <link>http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
</link>
771 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
</guid>
772 <pubDate>Mon,
30 Aug
2010 19:
30:
00 +
0200</pubDate>
773 <description><p
>Just got an email from Tobias Gruetzmacher as a followup on my
774 <a href=
"http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html
">previous
775 post about sshfs
</a
>. He reported another problem with sshfs. It
776 fail to handle hard links properly. A simple way to spot this is to
777 look at the . and .. entries in the directory tree. These should have
778 a link count
>1, but on sshfs the count is
1. I just tested to see
779 what happen when trying to hardlink, and this fail as well:
</p
>
783 ln: creating hard link `bar
' =
> `foo
': Function not implemented
787 <p
>I have not yet found time to implement a test for this in my file
788 system test code, but believe having working hard links is useful to
789 avoid surprised unix programs. Not as useful as working file locking
790 and symlinks, which are required to get a working desktop, but useful
791 nevertheless. :)
</p
>
793 <p
>The latest version of the file system test code is available via
795 <a href=
"http://github.com/gebi/fs-test
">http://github.com/gebi/fs-test
</a
></p
>
800 <title>Forslag i stortinget om å stoppe elektronisk stemmegiving i Norge
</title>
801 <link>http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html
</link>
802 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om___stoppe_elektronisk_stemmegiving_i_Norge.html
</guid>
803 <pubDate>Tue,
31 Aug
2010 21:
00:
00 +
0200</pubDate>
804 <description><p
>Ble tipset i dag om at et forslag om å stoppe forsøkene med
805 elektronisk stemmegiving utenfor valglokaler er
806 <a href=
"http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=
46616">til
807 behandling
</a
> i Stortinget.
808 <a href=
"http://www.stortinget.no/Global/pdf/Representantforslag/
2009-
2010/dok8-
200910-
128.pdf
">Forslaget
</a
>
809 er fremmet av Erna Solberg, Michael Tetzschner og Trond Helleland.
</p
>
811 <p
>Håper det får flertall.
</p
>