Search Results: "tach"

16 November 2006

Russell Coker: biometrics and passwords

In a comment on my post more about securing an office someone suggested using biometrics. The positive aspect of biometrics is that they can't be lost, no-one is accidentally going to leave a finger or an eye in their car while they go to a party while other authentication devices are regularly lost in such a manner.

The down-side is that having your finger or eye stolen would be a lot less pleasant than having a USB device, swipe-card, key, or other security device stolen. I think that it's good to have an option of surrendering your key when under threat (for the person who might be attacked at least).

Rumor has it that some biometric sensors look for signs of life (EG temperature and pulse), but I believe that these could be faked with a suitable amount of effort. A finger attached to a mini heart/lung machine should make it possible to pass the temperature and pulse checks (although I don't think that I have access to any data that is important enough to justify such effort on the part of an attacker).

One thing that biometrics could be useful for is screen-blankers. It would be good to be able to have a screen-blanker for your computer that operates when you go to get a coffee. For a period of 10 minutes after leaving a biometric method could be used to re-enable access. After that time a different method would ave to be used. This gives the convenience of biometrics for when you need it most (the many short trips away from your computer that you make during the day) but removes the benefit for an attacker who might consider removing part of your body. Also I am not convinced in the general security of biometrics. There are claims that you can make a finger based on a fingerprint which can fool a biometric sensor. If those claims are correct then a biometric sensor would still work for a coffee break (presumably you are not far away and will be back soon, and other people are in the area). The coffee break security is usually to prevent casual snooping such as colleagues who want to see what was on your screen but not actually do anything invasive to get it. Another benefit of biometrics for a screen saver is that although I trust people in the same office as me (whichever office that may be) not to try anything when they might get caught I still don't want them shoulder-surfing my password. Replacing the trivial authentication cases with a fingerprint reader would prevent that.

In the KDE 1.x days I had a shell script launched when the lid closed on my laptop which would lock the screen (the screen-saver ran in the background and a signal could make it lock the screen). This meant that I could merely close the lid of my laptop to lock the screen, this is fast and easy and also is not immediately recognised as locking the screen. Some people get offended if you lock your laptop screen when in their presence as they think that you should trust them enough to leave your most secret data open to them (generally people who aren't serious about computers - I'm sure that the same people would happily lock their diary if I was ever in the same room as it). Being able to lock the screen in a non-obvious way is a security benefit.

Regarding the comment about using a USB device to store passwords, there are two problems with this, one is that all passwords will be available all the time, this means a program that is permitted to access password A would also be given access to password B. The other is that the passwords can be accessed easily. The ideal solution is to have an encryption device that uses public key cryptography and stores the private keys on the device with no way of removing them. It would also permit the user to authorise each transaction.

I would like to see a USB device that stores multiple GPG keys and implements the GPG algorithm (with no way for anyone with less resources than the NSA to extract the keys). The device would have a display and a couple of buttons. When it is accessed it would display messages such as "signing attempt on key 1" and allow me to press a button to authorise or reject that operation.

This means that if I insert the key to sign an email I won't have a background trojan start issuing sign and decrypt commands. The only viable attack that would be permitted is the case where I want to sign a message and my message is sent to /dev/null and a message from an attacker is signed again. The non-arrival of my original message would hopefully alert me to this problem. I am not aware of any hardware which supports these functions.

Also I have just received a couple of RSA SecurID tokens as a sample. An RSA representative phoned me to ask about my use of the tokens, I said that I am an independent consultant and I have been having trouble getting my clients to accept my recommendations to use such devices and that I want to implement them on a test network so that I can give more detailed advice to my clients and hopefully get them to improve their security. For some reason the RSA rep found that funny, but I got my sample hardware so it's fine.

Adrian von Bidder: A replacement for screen

ITP: retty says:
retty is a tiny tool that lets you attach processes running on other terminals. So you were running that mutt outside of screen at your home machine and now wanna check your mail? Attach it with retty, do whatever you want, detach it again and everything is as it was before. You don't have to run them all in screen just in case.
Daniel Jacobowitz analyzed the tool a bit:
What it seems to be doing is injecting code onto the stack which causes the target process to open your terminal and dup2 it onto stdout, stderr, et cetera. Interesting.
Interesting isn't really the word I'd use here. More like Eek! Incredibly ugly, but incredibly useful if it works reliably.

15 November 2006

Russell Coker: economics of a computer store (why they don't stoc...


In some mailing list discussions recently some people demonstrated a lack of knowledge of the economics of a shop. Having run a shop for a few years (an Internet Cafe) I have some practical knowledge of this. I will focus on small businesses in this article, but the same economic principles apply to large corporations too.

When running a shop the main problem you have is in managing stock. There are two ways of getting stock, one is to have wholesalers give it to you for a period in which you can try to sell it and you pay for it when it's sold, this is probably quite rare (I don't know of an example of it being done - and probably no retailer wants to talk about it in case they lose it). Often retailers consider themselves to be privileged if they are permitted to pay for hardware one month after they receive it! The more common way of getting stock is simply to buy it and hope you can sell it in a reasonable period of time (often the wholesaler will offer to buy the stock back at a 10% discount if you can't sell it).

To buy stock you need money, this can come from money that has accrued in the business account (if things are going really well) or from a mortgage taken out by the business owner if things aren't going so well. For small businesses things usually don't go so well so the money used to buy stock is borrowed at an interest rate of about 7% or 8% (I'm using numbers based on the current economic conditions in Australia, different numbers apply to different countries and different times but the same principles apply). The ideal situation is when there is money in the company bank account to cover the purchase of all stock, this means that the cost of owning stock is that you miss out on the 5.5% interest that the money will get in a term deposit.

Almost all stock has a use-by date of some form. Some items have a very short expiry (EG milk used to make hot chocolate in an Internet cafe, some have a moderate expiry date (computer systems become almost unsellable in about 18 months and lose value steadily month after month), but in the computer industry nothing has a long expiry date.

Let's assume for the sake of discussion that you want to run a small computer store that is open to passing trade (this means that you must have stock for an immediate sale). Let's assume that all items of computer hardware lose half their value over the period of 20 months at a steady rate of 2.5% of the original price per month (I think that most computer hardware loses value faster than that, but it's just an assumption to illustrate the point).

The next major issue is the profit margin on each sale. If you can make a 20% profit on a sale then an item that has lost 10% of it's value while gathering dust in your store will still be profitable. However the profit margins on computer sales are very small due to having a small number of major manufacturers (Intel, AMD, nVidia, ATI, Seagate, and WD) that have almost cartel positions in their markets and there being little to differentiate the stores apart from price. I have been told that 3% profit is typical for retail computer hardware sales by the small companies nowadays! Now if the stock will lose 2.5% of it's value per month, you pay 0.5% interest per month and you make a 3% profit then if an item remains in stock for a month then you lose money. So on average (by value) you need to have stock spending significantly less than a month in your store. Cheap items such as low-quality cases and PSUs can stay in stock for a while. More expensive items such as new CPUs and the motherboards to house them must be moved quickly.

What's the first thing that you do to reduce stock? You can keep stocks low, but there is a limit to how low you can go without losing sales. The next thing to do is to not stock items that customers won't often buy or items where there is a similar item that you can stock as a substitute. The classic example of this is hard drives, a customer will want a certain capacity for a certain price - if their preferred brand is not in stock they will almost always take a different brand if it has the same capacity at the same price. Stores often advertise prices on multiple brands of hard drive in each capacity, but often only try to keep one brand in stock.

Of course this is a problem for the more fussy buyer. If you want to buy two identical parts from the same store on different days you might discover that they don't have the stock on the second day and that they instead offer you something equivalent. Not only do retailers have issues with managing their investment in stock but wholesalers have the same problem. So if a retailer runs out of WD drives and discovers that their preferred wholesaler has also run out of WD drives then they just buy a different brand - most customers don't care anyway.

There are some companies I deal with that have a business model based on services. One of them sells hardware to customers at cost, but charges them for the time spend assembling them, transporting them, etc. The potential for a 3% profit on the hardware isn't worth persuing, they prefer to just charge for work and also save themselves the sales effort. Another company I know operates almost exclusively on the basis of ordering parts when customers request them (but still make a small profit margin on the sales), this means that the customer can be invoiced as soon as the hardware arrives. The down-side to this is that wholesalers have the same stock issues and they sometimes have excessive delays before the wholesaler can deliver the hardware.

Dell is the real winner out of this. As they operate by mail-order they don't need to have the stock immediately available, they have a few days to deliver it which gets them time to arrange the supply. They can also have a central warehouse per region which reduces the stock requirements again. A 3% profit on items that rapidly decrease in value makes it almost impossible to sustain a small business. But an organization such as Dell can sustain a successful business at that level.

Of course the down-side for the end-user is that Dell doesn't want to have too many models as that just makes it more complex for the sales channel. Also they have deals with major suppliers which presumably give them deep discounts in exchange for not selling rival products (this is why some brands of parts are conspicuously absent from Dell systems).

10 years ago there used to be a small computer store in every shopping area. Now in Australia there are a few large stores (which often only have a small section devoted to computers) and mail-order. There seems to be much less choice in computer hardware than there was, but it is much cheaper.


PS I've attached a picture of day 39 of the beard.

13 November 2006

Evan Prodromou: 21 Brumaire CCXV

Long day today (yesterday, actually, but I'm post-dating this in the interest of chronological flow). The baby's having a hard time coming off of West Coast time; she got up late and took a loooong nap till half-past three. Which was fine, because I needed the time to work on my NSLU2, which needed some attention. The NSLU2, or "Slug", is a tiny Linux computer from Linksys, about the size of a two packs of Marlboros laid side-by-side. My brother Nate gave me one last year for Christmas (thanks, nate), and I've been using it for network backups, but on our trip to SF Nate showed me that he's running all kinds of wild services off of his. So I decided to start shifting over some responsibilities to the little bugger. Which was just about time. Sometime during our trip to San Francisco, my main home server started having fan problems; it kept overheating and shutting itself down. It's going to take some time to diagnose the problem, but I figured that this was as good a time as any to move the critical services over to the Slug. The main one that needed budging was DNS. Maj's main domain, as well as my two .san-francisco.ca.us domains, run from home, because it's too hard to get the registrar to change them. The Unslung system I use for the Slug has a BIND package, which is a good thing to run, anyways. I was running MaraDNS on the big server, because I always root for the underdog, but there wasn't a MaraDNS package for the Slug. So I rewrote my zone files and things are up and running now. I don't know what else I'm going to put on there. Jabberd? Asterisk? A home wiki? Just not sure. tags:

Blah blah blah When the baby got up, we went to our local Loblaws, out towards the end of rue Rachel across from Canadian Tire. It's a pretty fantastic place to buy groceries -- it's the old CPR Angus Shops, a repair and maintenance facility for the Canadian Pacific Railway. The building is huge, with giant cranes and beams still attached to the roof. Amita and I grabbed a crapload of groceries and brought them home to Maj, who'd just had a massage at the centre around the corner and was feeling really good. She'd rented Tristram Shandy, the 2005 movie based on the 18th-century level-twisting novel. Me and Amita June made some baked potatoes, and we all watched the movie, and a good time was had. tags:
 

H****e en vrac One thing I always want to buy when I'm at the store in Quebec is the quite commonly available communion wafers. Yeah, really! big ol' 5-inches-diameter communion wafers, in the snack section next to the Doritos and the Humpty Dumpty potato chips. Quebec society has a had a precipitous secularization -- from around 90% church attendance in the 1950s to less than 10% today. But Catholicism still infuses all parts of life. For example, in Quebec, you cuss by using words from the church, including, of course, hostie ("the host"). So I can't figure out why hostie are a tasty snack treat. Is it a deliberate snub to the sacrament of communion by a secular society? Or did the practice antedate the Quiet Revolution, and did the formerly religious Quebecois eat communion wafers for fun? Or is it just a snork-snork funny thing to do, when the name of the food is actually a naughty word? I dunno. I'm fascinated, but not enough to buy a big bag of communion wafers to eat. (They're never cheese- or BBQ-flavored, by the way; they have a pristine seriousness to them.) More info solicited. tags:

Opinity One of the services mentioned in the Web 2.0 Summit infrastructure workshop was Opinity. Opinity seems to be a distributed reputation system, kind of like claimID but with a little more soft information. I think it looks pretty cool, and I'm glad to see another addition to the growing OpenID identity provider market. tags:

10 November 2006

Michael Janssen: It's too late baby, now it's too late

Getting to the gym consistently is one of the biggest hurdles that I have stuck to jumping over while I'm trying to lose a bit more than a few. I seem to have no consistent schedule, except that I do end up doing it every day that I can. One downside of this is that I tend to work out late at night, almost always an hour or less before I go to bed. I've heard that this is not the best for the sleep, but I suspect it is actually better than nothing, so I continue to get to the gym at 11pm or 12pm. Unfortunately, I found myself with some extra roadblocks this week: the exercise room was half broken. The breakers on one half of the room tend to trip when the air conditioner and two machines that are on that circuit are all in use. This means that no one can use those machines until someone from the coop management goes and resets the switch. The treadmill machine, my weapon of choice for shedding a few pounds, is inconveniently on this circuit, and can't be plugged in anywhere else. This happened 3 times this week, Wed-Fri. I'm calling the office for the second time tomorrow.

It is significantly harder to exercise when I don't have the treadmill handy — the stepping machine works on semi-powered days, but it tires me out much too quickly and I cannot get enough exercise in. I'm not the kind of person to reliably run in place or do jumping jacks. My solution was to move the exercise bike to the powered side of the room. The biggest problem with semi-powered days is motivation. Usually I have the motivation to get to the exercise room and start the machine, and once I've started I can stop. Opening the door to a bunch of non-working machines is a huge motivation hit though. It's so much easier to take a roadblock like this and skip a day — in fact I did this week once. Luckily I discovered that the bike is on wheels on one side so it is easy to move to the other side of the room. However, I'd like to solicit suggestions for alternate exercises for semi-power days. The things that work in the room are a weight machine with a bunch of attachments, the stepping machine, and the exercise bike. I can't really go outside and exercise, because of the late hour and neighborhood that I live in, so it needs to be an inside task. The last requirement is that it focuses on losing weight, not gaining muscle. I'm fairly sure that I'll be gaining some muscle along this process, but the goal is to drop the weight.

I have taken Saturdays to be my day off, so that I can get a little rest and not be so stressed about things, but I'm not taking it this week as I need to "make up" for the skipped day.

This week (Nov 3 - Nov 9):
Minimum: 338.0 (-0.5) (Nov 7)
Maximum: 340.0 (-1.0) (Nov 4)
Average: 339.25 (-0.35) (139.25 to goal)
Exercise Calories: 2314 on 5 days
Average Calories per session: 462.8

Roland Mas: Three more packages

Jens Gecius has just dropped out of the Debian new maintainer process, citing time constraints. That means he's no longer maintaining his packages, and I have agreed to adopt them. Which is a nice turn: I'm happy to maintain them, and I'm very happy that someone did the initial packaging while I only had to review it (I sponsored the uploads up until now). I'm now the proud maintainer of the dvtitler, kinoplus and timfx source packages, all three being collections of plugins for Kino (a digital video editor small and functional enough for my needs), containing effects, filters, transitions and so on. I'm not viscerally attached to them, though, so if anyone wants them more than I do, just ask. Now if the udev, sysfs and ieee1394 drivers authors could sit around a table and fix things so that the appropriate raw1394/video1394/dv1394 device nodes appear in /dev when I plug in my DV camcorder, that would be even nicer. I'm currently having to reboot to Linux 2.4 to grab the video out of it and send it back.

5 November 2006

Russell Coker: Sell a Band


sellaband.com has an interesting business model. If you want to make money from your band you can sign up to their site and create a web site with some sample tracks. Then wait for 5,000 believers to each pay $10 for a share which grants the band a recording contract. The $10 gets them a share of advertising royalties (which seems extremely unlikely to recover the $50,000) and also a first-edition CD from the band ($10 is cheap for a CD). If there is an unpublished band you like then all you need to do is to find 5,000 people who can each spare $10.

The main advantage of the site seems to be as a central advertising point. Sure it would be better to record your own CD and sell it for $10 per copy (which is not difficult to do with little expense nowadays), but finding the 5,000 people who want to pay will be difficult.

It's a pity that sellaband relies extensively on Flash, so I can't use their site. Maybe someone else will copy the idea and use standard web pages that display in all browsers.


PS I've attached a picture of day 29 of the beard.

30 October 2006

Stefano Zacchiroli: tomboy mindmap

Graphviz-based mindmap with Tomboy After having started using Tomboy, I've already become addicted to it. It's basically a merger between a note taking tool and a desktop wiki (with some issues with WikiWords nonetheless: #396177). I was missing a Mind map feature though. Thus I wrote the tiny teeny hack of the day which processes Tomboy's notes from ~/.tomboy/ and generates a Graphviz graph that is then rendered (to SVG) and shown on the fly. Now I can just run mindmap to obtain a Mind map of my notes. Enjoy mindmap TODO Kudos to Sebastian Menge who wrote the XSLT stylesheet I started from.

24 October 2006

John Goerzen: Managing Software

Recently I mentioned that I hate releasing software. It's true, and I've decided that the first part of fixing it is to tackle the presentation of software to the world.

My current scheme of darcs.complete.org for repositories plus bare directories on my gopher (yes, that gopher) site leaves a lot to be desired. There is no bug tracker, there are few screenshots, there is no consistency. It is also not easy to empower others to work on them directly.

At the same time, I am the sole or primary contributor to most of them. These are not huge kernel-sized projects. These are smaller, bite-size projects. So I don't want or need a lot of overhead. I've been thinking about my options.



Is anyone else thinking about this? What are your thoughts?

20 October 2006

Martin F. Krafft: Freeing the primary IP address

I have a machine in Singapore and have been asked to switch it to another IP address (don't ask...). Due to numerous reasons, I do not want to reboot the machine, so I am faced with the task of switching the primary IP address of a remote host via SSH. Fun. In the following remote identifies the remote machine, local the workstation from where the SSH session originates. 1.2.3.150 is the old IP that I have to free, and 1.2.3.200 is the new IP. 1.2.3.129 is the router IP and since it's a /25 network, 1.2.3.128 is the network address. I'll be using the ip command from the iproute package exclusively. ifconfig must DIE! The first step of this endeavour is making sure that traffic to your new IP is not going to be caught by the packet filter. This is simple enough:
remote# ip addr add 1.2.3.200/25 dev eth0
local# nc 1.2.3.200 22
SSH-2.0-OpenSSH_4.3p2 Debian-3~bpo.1
We have thus added a secondary address and verified that it can communicate, at least receive packets on port 22. However, since it is a secondary address, it depends on the primary address and will be removed if you remove the primary from the interface. We thus need to get tricky:
remote# ip addr del 1.2.3.200/25 dev eth0
remote# ip addr add 1.2.3.200/32 dev eth0
Note how we're adding the address with a /32 netmask instead. This makes it independent of the current primary address. Now the fun begins. Close the SSH session and log in to the new IP:
remote# exit
local# ssh root@1.2.3.200
And remove the primary IP; yes, you heard me:
remote# ip route
1.2.3.128/25 dev eth0  proto kernel  scope link  src 1.2.3.150
default via 1.2.3.129 dev eth0
remote# ip addr del 1.2.3.150/25 dev eth0
remote# ip route
default via 1.2.3.129 dev eth0
Gotta love Linux: it saved the default route because it was still reachable from the 1.2.3.200/32 address, and only removed the link-local route. We could stop right here for there is no real reason why this machine should have a link-local route or even know about the network to which it is attached; but we won't... instead, we'll add the new address again (a second time), now with a proper netmask:
remote# ip addr add 1.2.3.200/25 brd 1.2.3.255 dev eth0
remote# ip addr del 1.2.3.200/32 dev eth0
remote# ip route
1.2.3.128/25 dev eth0  proto kernel  scope link  src 1.2.3.200
default via 1.2.3.129 dev eth0
After modifying /etc/network/interfaces, the deed is done. The next time I do this I might consider a safety net of the form:
remote# echo 'ifdown --force eth0; ifup eth0'   at now + 10 minutes
But that would only have been half as fun. Of course it goes without saying that the above comes without warranties, if you try it out, you do so at your own risk. :) NP: Neurosis / The Eye of every Storm Update: It's been proposed to just run:
remote# ip addr del 1.2.3.150/25 dev eth0; \
  ip addr add 1.2.3.200/25 dev eth0; \
  ip route add default via 1.2.3.128
This may well work, especially if run within a screen session (I've had times when the shell did not execute subsequent commands after being cut off from the controlling tty). However, this method does not guard against typoes. Or did you spot the typo in the above set of commands? The method I provided above seems resilient to typos as no command ever affects the current connection.

17 October 2006

Martin F. Krafft: Digging the iAudio

A little while ago, I finally gave in and bought myself a music player. Now I find it hard to imagine how I coped all these years without one -- I did not have a music player since my MiniDisk player from about seven or eight years ago. I bought the iAudio X5L with 30Gb of space as part of a fall special sale, and even though it's still a bit on the expensive side, I am glad I did go with the X5L as opposed to the X5 or models by other manufacturers. Here's my analysis, which isn't all positive:
  • The iAudio players can play more formats than any other player I've seen, including, of course, Ogg Vorbis and Flac.
  • The casing is sturdy and smooth; the player is a little heavy but not too heavy. The display is gorgeous, although I would not watch videos on it even though I could. All in all, it feels and looks great.
  • The software seems archaic at first, but after a little use it's quite enjoyable and intuitive to use. It does not compare to the scroll wheel of the iPod when scrolling large directories, but it does quite alright. I really appreciate being able to browse while listening. Also, the display contains a lot more information than on any other player I've seen.
  • One quickly gets used to the joystick; however, considering that the right direction is the one used the most, it starts to go loose after only a bit of usage. This has not really been an issue so far, though.
  • The X5L has only 30Gb of storage, as opposed to the 60Gb you can get with the X5. However, the L in the product title refers to long-life, and the battery in the X5L lasts about twice as long as the one in the X5. I just took the device for a spin in the alps and after two 5 hour train rides of continuous playing, and another 6 hours of playing at the cottage, the battery was still around 40% full. If I ever run out of space, I could exchange the internal 1.8" harddrive for a bigger one.
  • I can use the device to record from microphone or line-in (using an adapter) directly to MP3, and the microphone's quality is quite fair. This is great!
  • The sound quality is good, but all the sound enhancers, like BBE and Mach3Bass are useless; better leave them off.
  • When connected to a computer, the harddrive appears to the machine as a regular USB storage device, so no software is required to maintain the data on it.
  • I am a little annoyed by the fact that the USB connector on the device can only be used to connect cameras and the like to store data on the X5L's harddrive. In order to dump data onto the device, you have to connect a little dongle and then attach the USB cable there.
  • It does not appear to be charging while connected via USB. I am not sure about this yet though, since the configuration menu offers an option to enable and disable charging via USB.
  • I've been told that firmware upgrades aren't rare and that they're easy to apply.
  • It comes with two years of warranty (as opposed to the default one year in Switzerland).
Altogether, the player isn't perfect, but it does what it should (and more) quite well. I can warmly recommend it. It comes in at a slightly higher price than the iPod, but quite frankly I am happy to support the manufacturer Cowon for its product line and philosophy of supporting open formats and caring for the customer. NP: Porcupine Tree / Tarquin's Seaweed Farm (Side B)

12 October 2006

Daniel Jacobowitz: Fun (and un-Fun) with qemu

We have started using qemu for automated testing at work. Right now we only have one kernel and disk image that I threw together by hand (for ARM), so I spent a big chunk of this afternoon trying to figure out how to do it and document the process. When I did it last time, I needed major kernel hacks and qemu patches and debian-installer tweaks, because the ARM emulation didn't have anything capable of working as a hard drive; so I took some code that Paul had written to use the Angel RDI semihosting operations as a "virtual block device" that talked to the host system. I added support for this hack to qemu and forced d-i to install even though there was only a single non-partitionable device. Since then, Paul added real PCI support to the ARM qemu. So I expected everything to be much easier. I took Aur lien Jarno's excellent writeup and prepared to try again. But since we already had a functional ARM disk image, that was lower priority... I decided to try MIPS. I helped get the MIPS softmmu port working about a year ago, but it hasn't been receiving a whole lot in the way of care (though there's a bunch of unreviewed patches for it). First I discovered that I'd never gotten initrds implemented last time I worked on qemu-system-mips. So I hacked that together. Then I needed a drive; I used root NFS in my last setup, but the whole point of this experiment was to avoid that. So I added the emulated ISA IDE controller. Good news: both of those worked easily! And the d-i session starts up OK, and even writes to the disk OK; partition tables were discovered at next boot. I've posted some patches for these. Bad news: it hangs during formatting the swap partition, consuming endless CPU. It's definitely doing _something_ in userspace, but I'm not sure what, and it's hard to find out. I've heard other reports of faulty MIPS emulation recently, too. I know how to debug this sort of thing, but it's really more time-consuming than I can manage now :-( While waiting for builds in that, I resolved to try reproducing a nasty kernel bug in qemu for x86-64: since I booted into 2.6.19-rc1 all my coredumps have been truncated very short. My normal hardware kernel boots OK, but if I rebuild the kernel with the default config and debug info, it doesn't:
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 5498k freed
*hang*
And the other thing that's apparently not been getting a lot of love lately is the debugging stub; if I attach GDB, it dies much earlier, so I can't set a breakpoint at initramfs detection to see what's going on. Overall result for the day: Argh!

9 October 2006

Russell Coker: Another beard pic


I've attached another pic, titled this one day2, which I guess means that day0 (not photographed) was one day without shaving and day-1 (also not photographed) was the last time I shaved.

So far I'm still in the range of "too busy/lazy to shave".

Blogger beta is living up to it's name and the functionality I had yesterday for uploading an image and having a small version generated is not working now.

1 October 2006

Daniel Burrows: When good spamfilters go bad.

From: secretary@debian.org
To: Daniel Burrows
Subject: Acknowledgement for your vote

Spam detection software, running on the system "jester", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.

Content analysis details: (5.8 points, 5.0 required)

pts rule name description
---- ---------------------- --------------------------------------------------
1.0 NO_REAL_NAME From: does not include a real name
1.5 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO
1.0 BAYES_60 BODY: Bayesian spam probability is 60 to 80%
[score: 0.7536]
2.3 EMPTY_MESSAGE Message appears to be empty with no Subject: text

The original message was not completely plain text, and may be unsafe to
open with some email clients; in particular, it may contain a virus,
or confirm that your address can receive spam. If you wish to view
it, it may be safer to save it to a file and open it with an editor.


(but what if the editor is Emacs and it has a Lisp virus?? ;-) )

29 September 2006

Russell Coker: SAK, ctrl-alt-del, and Linux keyboard mapping

A common problem with Linux systems is when Windows users press CTRL-ALT-DEL at the login prompt and reboot the machine.

To fix this some people change the ^ca line in /etc/inittab to just disable the reboot function. However this is not desirable because sometimes you want to reboot a machine with a simple keypress.

Another problem that has not been widely considered is the use of fake login prompts by attackers. This can be implemented in either text mode or graphics mode. All the fake login prompt has to do is display something that looks like a real login prompt, accept a user-name and password, verify the password (a localhost ssh connection is a good way of doing this) and then abort. In the case of a text-mode login the user will think that they entered the wrong password, in the case of a GUI login via an XDM program the user will think that the login program just crashed. Then the attacker has access to their account.

The solution to the fake-login problem is the use of the Secure Attention Keyboard (SAK) feature. When invoked this feature makes the kernel kill all processes that are on the virtual console in question. If you make CTRL-ALT-DEL the SAK combination then pressing those keys will cause the kernel to kill any processes that are attached to the current virtual console and preventing the ability of hostile programs to forge a login prompt (which is the same as it's purpose in Windows).

The next thing to do is to make another combination used for system boot. A reasonable combination seems to be CTRL-ALT-BREAK as those keys are widely separated and the combination is not used for anything else.

If you put the following in a file named sak.map (or whatever you want to call it) then the command loadkeys sak.map will apply the change. Note that when creating a keyboard map you should do it on a machine for which you don't mind being forced to perform a hardware reboot. It's easy to make a mistake and give yourself a keyboard mapping that is not usable. Another possibility is to do such testing on a machine that allows ssh logins, you can then login via ssh and run loadkeys -d to correct any errors you might make.

control alt keycode 119 = Boot
control alt keycode 83 = SAK
control alt keycode 111 = SAK
control altgr keycode 119 = Boot
control altgr keycode 83 = SAK
control altgr keycode 111 = SAK

Note that the above covers both ALT and ALT-Gr keys as well as the numeric keypad and regular versions of the delete key.

dumpkeys -l gives you a list of all possible keyboard combinations. showkey will display the number matching any key you press and will exit after 10 seconds of inactivity.

26 September 2006

Amaya Rodrigo: Yay memes...

In short: I leech and I sponsor.

amaya@aenima>history awk ' print $2 ' awk 'BEGIN  FS=" "   print $1 ' sort uniq -c sort -rn head -10
    151 ls
     65 cd
     50 mv
     23 debsign
     19 btshowmetainfo
     17 cat
     15 rm
     14 vi
     13 dupload
      9 attach
amaya@aenima>alias   grep attach
alias attach='screen -UxA'

20 September 2006

Andrew Pollock: [life] Reno air races and air show

I asked Marc-who-shall-not-be-linked-to if he could take Sarah and I for a plane ride some time, not expecting it to be for a while, and he turned around and offered to take us out on Saturday, to Reno to see the air show. It was only after we got there that I discovered it was predominately air races, with a bit of a show tacked on. That was okay, it was a good day out. The flight, in a little single-prop, four-seater Trinidad, took about 90 minutes each way, give or take, and was fun. I'd already been in a little plane once before, so it didn't have quite the same novelty value for me as it did for Sarah, who was really excited. This was our first visit to Nevada, if you call flying into Reno International, with a 20 minute cab ride to Reno Stead Field, "seeing Nevada". Nevada's cabs were interesting, with rooftop advertising ranging from the local adult venues featuring pole and cage dancers, to the region's abstinence advocacy group. The airshow itself was an interesting display of patriotism and propaganda. I've never been to an airshow in Australia either, and I don't really know a lot about aeroplanes, but it's fun watching cool military aircraft whizzing around. We've been a bit spoiled living near the Moffet Federal Airfield, but even then, you only get to see stuff flying straight in or out. This was cool to see stuff flying around for the express purpose of being ogled. As for the patriotism and propaganda, I think it was the display of the F-15 Eagle. They had some dude from the Air Force on the public address system talking about whilst it did its tricks, and he was constantly going on about (your) US Air Force's military superiority and how the F-15 could do anything and blah blah blah, all with "God Bless the USA" being played in the background. In fact various versions of this song got played throughout the day, with the crowd often singing along. It was the lines
I'm proud to be an American
where at least I know I'm free,
that particularly make me smirk. It's like America's the only country in the world that's free or something. That, and God only blesses the USA. Gimme a break. Oh, and we all had to stand up for the national anthem. It's funny. Australia just seems so unpatriotic by comparison. Not that I've been to an air show in Australia, so I don't know what sort of a military slant they have. There was a bit of an exhibition also attached to the show, where all manner of government types were doing recruiting, from the state troopers to the military. I ran into the Australian family of a guy from the RAAF on exchange with the USAF, and a lady from Darwin running a stall that sold Australian products. Overall it was a good day out, with some more exposure to good old American culture. Photos from the outing are here

17 September 2006

MJ Ray: Follow the orange bounces carefully...

Like other people, I'm also getting bounces about mails sent to debian lists in 2005 that appear to be from MAILER-DAEMON@orange.fr - but on reading the headers of the error and the attached triggering message, it seemed to be some orange.fr user who has misconfigured their MTA and is injecting it with a load of old mail from a yahoo account. I'm told the user has been unsubbed - only 12 months of bounces to go...

11 September 2006

Joachim Breitner: BIOS vs Linux created Partition Table

While trying to introduce Linux at the SOS Hermann Gmeiner International College in Tema, Ghana, I encounted a very strange problem. Here are the results, I spare you the list of things I tried to find out:The BIOS on the Gateway PCs they use here, with the id bf86510A.15A.0066.P13, will freeze when it encounters a disk with a linux created partition table. It will do so before even deciding what to boot, so you can't boot from CD then. It does not matter if the orignal MBR is on it, or the one created by Window's fixmbr, or lilo -M, or install-mbr, or grub. Changing the partition table using Windows XP (diskpart in the recovery console) will make the BIOS boot nicely. This only happens with the hard model drive that came with the PCs, after replacing it with a different model any partition table is ok.The only way to keep working with the hard drive is to power the computer without the hard drive attached, wait until it is done detecting it (for example wait until the BIOS complais about the lack of harddrives), then plug it in while the computer is running. Of course, the hardware is not meant to be used this way, and it might destroy everything, so don't try this at home (unless you have to). For me it was the only way, since when I know boot from a CD (Windows Installation Disk, Knoppix, FAI-Installation CD, anything that does not rely on BIOS information regarding the hard disks), the hard drive can be used just fine...So how did I get Linux on it in the end? One can say I tricked the BIOS: I made the automatic Linux installation add another, unused and small partition at the end. After the installation is done and I can't boot regulary any more, I use the mentioned power trick to boot the Recovery Console of a Windows XP installation CD, to delete the unused partition with diskpart. This makes Windows write the table, and thus make the BIOS happy. Unfortunately, this kills grub, so I have to boot any Linux boot CD, chroot into my installed system and run grub-install...If anyone has encountered similar problems before and maybe found a nicer solution, which maybe could bring me back the "A" in "Fully Automatic Installation", or at least frees me from the need to make IDE hot-pluggable, I'd be grateful.

8 September 2006

Wouter Verhelst: Re: Undelivered Mail Returned to Sender

Dear SMTP Server program at host orange.fr,
It's great if you inform me that my message could not be delivered to
one or more recipients. It's also wonderful if you attach it below, so
that I can verify what's going on.
It's less great if verification shows that the mail you're replying to
was sent by me on 24 july 2005, which is over a year ago.
It's not very interesting if verification also shows that the mails in
question were actually mailing list posts, meaning that you sent the
bounce to the wrong address (it should've gone to the mailing list
bounce address instead).
It's rather annoying if you repeat this behaviour sixteen times. I guess
I should call me lucky that I only sent four mails on that day, and that
only four people on your mailserver were subscribed that day.
No, I did not contact postmaster, since the mails weren't all that
important, and I doubt there's anything they can do about it at this
point. I certainly don't need assistance with these mails.
Also, if I would address your postmaster the way you suggest it to me,
those mails would end up in my own mailbox anyway, rather than in your
postmaster's mailbox.
Your postmaster is, however, welcome to contact me if they so desire.
Love,
Wouter

Next.

Previous.