2008-10-31

Viral printing.

This morning a colleague of mine got an email from his wife asking why there were print-outs of tickets for the movie "Wall E" dated october 5 2008 (27 days ago today) in the printout tray of their home printer. Tickets that were made out to "Bjørn Borud" -- which is me.

Indeed it was a mystery since:
  • I have no idea where he lives and have never been there.
  • We live far apart and never frequent each other's neighborhoods, so wireless access is not plausible.
  • My colleague is provably competent and thus the printer is not available from outside his LAN.
  • We didn't go to see Wall-E together, nor did I forward the tickets to him.
  • He also doesn't have access to my email-account (not that I am aware of at least :-))
Yet those were my printouts. On his printer. On the other side of town. Behind a firewall. In a house I have never been to.

After establishing the above I pondered what had taken place for a moment and experienced a real Sherlock Holmes moment: "what brand and model printer do you have?". "A Canon i850" he responded.

Here is what I think happened:
  • My printer is attached to one of my home machines. The printer is shared out to my local network. It is shared out using the default name the setup process came up with.
  • I got the tickets via email and printed them, from my laptop on my shared printer at home. It didn't work so I printed the file from my Mac Mini instead.
  • Meanwhile the tickets stay queued on the laptop.
  • I take my laptop to work.
  • My colleague has an identical printer at home. Attached to his Airport Extreme (I think) His laptop is set up to re-share out this printer. Under the default name.
  • He brings his laptop to work.
  • My laptop sees the shared printer turn up on the network, thinks oh goodie, and forwards the printout to his laptop.
  • Since he is at work, and not near his printer, nothing much happens.
  • He goes home, pops his laptop onto his LAN, the laptop sees the printer and hey presto: out comes my ticket.
(Also note that Macs use Bonjour to announce and discover services.)

There are still some mysteries that need to be solved. I don't really understand why it would take 27 days for the planets to align, but I have some suspicions. Among other things, I suspect that a third laptop may have been involved. You see, I changed laptops a couple of weeks ago. And I think I printed this on my old laptop. This means that the printout may have migrated from my old to my new laptop at some point.
I am too lazy to check my logs, but I think that this is a plausible explanation since I only recently powered up the old laptop in order to migrate some files I'd forgotten on it to the new laptop. I am not too sure about how the printer and sharing configurations have changed, but I know I've fiddled with them.

So I suspect the printout migrated from my laptop A to my laptop B, then on to my colleague's laptop and then finally got printed via his Airport Extreme to which his printer is attached.

I guess the moral of this story is that you should be careful about default values and that you do need authentication even for accessing devices like printers.

It would be interesting to see what happened if you wrote a program to automatically generate printer setups for all printers known by the CUPS printing system, shared them out without requiring any authentication and then took the laptop to places where people bring their laptops. Like airports, trains, libraries etc.

You could, of course, do the opposite: enqueue a printout of a document (say, this blog posting) to all of the names and then see what happened.

So if you found this blog post in your printout-tray, you now know how it may have gotten there :-)

7 comments:

  1. I checked the logs on my laptop, and our explanation looks correct. I've also picked up a document from another googler while visiting Seattle ;-)

    ReplyDelete
  2. @øystein: So I guess we are not the only people to own Canon i850 printers then. Or did you have more than one printer set up on your laptop?

    The only part that still puzzles me is that it took 27 days (give or take a day) for it to propagate.

    I checked my laptop and actually found the ticket still in the queue with status "printing" (PDFTicket7655769.pdf). Upon further inspection I found the file in /var/spool/cups and its date is Oct 5 17:12. It is the original PDF file. Seats 7 through 9, row 4.

    I guess it managed to spool it to your laptop, but never got any confirmation that printing was done. (Since your laptop was unable to speak to your printer while at the office).

    I knew this Bonjour-stuff was trouble :)

    ReplyDelete
  3. This can't happen in countries that customarily don't have reserved seats in movie theatres. :-)

    ReplyDelete
  4. wow, fascinating story! computers are soo much more social today than in the old days :)

    ReplyDelete
  5. Why would anyone reshare the printer from the laptop anyway, is it a side-effect of it being connected to the airport extreme?

    ReplyDelete
  6. Well, if your theory is correct, the following is just a plain lie:
    "My colleague is provably competent and thus the printer is not available from outside his LAN."

    First this story was funny, but now it's scary... You should apply for the Ig Nobel Prize with the theory :p

    ReplyDelete
  7. Another interesting viral thing: http://blogs.chron.com/techblog/archives/2006/09/free_public_wif.html

    ReplyDelete