The first rule of free email-based services
The first rule of free email-based services is simple:
Spammers will exploit any way of sending user-supplied text to randomemail addresses .
Let me repeat that: any way . Any way at all. Spammers are veryingenious, and it does not matter what you call the actual feature; ifthey can put in user-supplied text and then mail it off to people, theywill use it to spam. Since it is 2007 and spam through free webmailproviders is not exactly a surprising
Phase objects: simple decent error reporting for Python programs
For a lot of the sort of utility programs I write in Python, the onlything the program can really do when it runs into an operating systemlevel error is report whatever the problem is and exit. So programsstart out as one big try:/except: block:
try: fp1 = open(fnameA, "r") .... fp2 = open(fnameB, "r") ....except EnvironmentError, e: die("OS error: %s"Fixing Ubuntu's ethN device names when you swap hardware
If you swap an Ubuntu 6.06 system disk between hardware units (evennominally identical hardware units, like from one Dell 2950 to anotherPE2950), the system will come up scrambled Ethernet devices and youwon't be on the network. (As we found out the hard way today.)
This happens because the only way Ethernet devices get consistentnumbers on Ubuntu machines is because Ubuntu remembers the mappingbetween hardware ethernet addresses and the ethN name that they shouldget.
Thinking about why Apache waits for CGIs to close standard output
This month, someone came to the local Unix group with an issue: they were using a CGIprogram to kick off a background process, but when they visited theCGI's URL in their web browser their browser just sat there, spinningthe little 'I am fetching the page' throbber. After the dust hadsettled and the right advice had been given (the background processneeded to have its standard input, standard output, and standard errorredirected to /dev/null ), I got to thinking about
How to clear Solaris Volume Manager metadb replicas on Solaris 10 x86
It is possible to get a DiskSuite metadb replica into a sufficientlydamaged state that it will panic the system in early boot, whichis especially irritating when you aren't using it for anything . This can lead to you needing to clear metadbreplicas.
(If you get past boot by turning off svc:/system/metainit thesystem panics when you run metadb or metainit , which is nottoo helpful for actually dealing with the problem.)
If you don't care about leaving the actual bits intact for
Assume the existence of folklore among your users
One thing I assume about how our usersdeal with the local computing environment is that there exists asignificant body of oral traditions and folklore around (at least) thegraduate students. When you think about it, this is inevitable; whennew graduate students show up they are going to ask the people aroundthem for help, and that's the older graduate students.
(This gives you oral tradition; you get folklore because there's noguarantee that the information the older graduate students will passon is correct
Names are not cheap
A recent sysadmin discussion here wound up with one of the participantssuggesting that we deal with a particular issue by creating a newhostname, because after all names are cheap. This remark crystallizedsomething for me.
I disagree. Names are not cheap, they are actually expensive. Nameslook cheap because they are easy to create, but they create clutter anduncertainty (over what name is still being used by what) that makesthem expensive in the long run.
(Once you have enough names and enough uncertainty, you
Weekly spam summary on September 22nd, 2007
This week, we:
- got 11,888 messages from 260 different IP addresses.
- handled 20,811 sessions from 1,729 different IP addresses.
- received 271,365 connections from at least 102,972 different IPaddresses.
- hit a highwater of 9 connections being checked at once.
I'm pleased to see connection volume drop significantly from lastweek . This week's per-day statistics lookalmost normal, too
An interesting bind(2) failure
I fired up a version of Dovecot on a testingserver today, only to be greeted with:
Fatal: listen(993) failed: Address already in use
That was kind of peculiar, since nothing else was running on themachine, certainly nothing that should be using the imap-over-SSL port.I tried starting Dovecot again and got the same error, looked at thexinetd configuration just in case, tried lsof -i and saw that nostrange daemon was listening, tried connecting to the port
Websites should not accept random parameters in requests
One of the things that always appalls me is how permissive and acceptingmost web sites are about what query parameters show up in HTTP requests.Most web servers will happily serve a static file even for a URL withquery parameters, despite the query parameters being meaningless, andmany web applications will accept requests with extra parameters.
At a minimum, such requests are an indication that something funny isgoing on, whether this is that someone has made a mistake with theirURL, or someone is trying to create many URLs that