Query Time

Justice: hey hey STOP:  “Query Time”
Justice: Every time you query
Justice: that query’s just so tight
Justice: I query round the world, and I’m magic on the Mac
Justice: so why would I ever, Sub-Query-This?
Justice: cuz its a query-go query is a query-go query
Justice: and MS can just go play
Justice: cant query this
Justice: doooh doh doh doh
Justice: doh doh
Justice: doh doh
Justice: cant query this

Exchange Error 0xC0070560 in RUS

I was trying to finish migrating to a new Exchange server, and was running both machines in parallel.  Everything had been moved from the old server except for the Recipient Update Services.  When I attempted to move one of the services to the new server, I received error code 0xC0070560, “The specified local group does not exist.”  This error code conveniently does not exist in Microsoft’s knowledge base.

Apparently during some other server and Active Directory moves, the Exchange Enterprise Servers group in the Users OU of the root domain was changed to a Universal security group.  After changing the Exchange Enterprise Servers group back to Domain Local, I was able to point the recipient policy at the new server and proceed with the uninstall on the old server.

Logging Email w/ Sendmail on CentOS 4

Need to archive messages on your server? Exchange can natively do this with a Journal mailbox, but if you’d like to set the same feature up in Sendmail, it will take some tweaks.

This has been adapted from some instructions found on Experts Exchange that were originally for RedHat 7.2, which is just a teensy bit out of date. As with all things, make sure you have a backup before you start in on this process.

Grab the Sendmail source package from either the CentOS source CDs or a site like RPMfind. Make sure the version of the source package matches the version of sendmail you’re running from rpm –query sendmail.

Make sure you have the rpm-build package installed (yum install rpm-build)

Start the rebuild for the source package with the command rpmbuild –recompile sendmail-8.12.x.src.rpm (replace the source filename with the name of the one you downloaded). You will see a lot of ‘missing user’ errors scroll by, these can be ignored.

Change to the specs folder in your source tree (usually this is /usr/src/redhat/SPECS) and edit the sendmail.spec file, commenting out or removing any lines starting with ‘rm -rf’. These lines would normally clean up the source files once the build is complete, but for now, we want to keep them.

After you’ve saved the spec file, run rpmbuild -bp sendmail.spec. This will apply patches to the sendmail source that come as part of CentOS. It should only take a few seconds.

Download the logall.c file to a directory of your choosing (wget http://www.freakout.de/logall.c), then change to the sendmail source folder (cd /usr/src/redhat/BUILD/sendmail-8.13.1/sendmail) and edit the conf.c file. Look for a line which says #ifdef EXAMPLE_CODE, and immediately before it, add a new line:

#include “/root/adm/mail/sendmail/logall.c”

(use the full path of wherever you downloaded logall.c). Save the file. Run make and if it doesn’t throw any errors, run make install. Now edit your /etc/mail/sendmail.mc. At the very bottom, add the following lines:


You can replace the path and filename with wherever you’d like your log file saved. The LOCAL_CONFIG option specifies that everything following that directive should be passed directly to the config file for sendmail, and not parsed as normal config options. Rebuild your sendmail config with make -C /etc/mail (you will need the sendmail-devel package installed for this).

Create the file you referenced in your sendmail.mc by doing touch /var/log/fullmail.log, making sure that the sendmail process can write to it (set the file permissions to the same as your other maillog files basically). Now, restart sendmail, and send a test message to make sure everything still works. You should also find a copy of that message in the fullmail.log file as well.

The file generated by this is a standard mail file, so you can read the contents with a pager like less, or a command like mail -f fullmail.log. It stores a complete copy of every message sent and received, so it might be a good idea to keep an eye on your drive space and rotate that file every so often.

If you take a look at the logall.c file, there are many other options you can set in LOCAL_CONFIG for features such as keyword filtering, max log size, and exclusions. Keep in mind that this process did not update the currently installed sendmail package, so if an update comes down for sendmail, you will need to repeat this process to keep logging working.

Product Activation and Vista

My installation of Vista just decided to deactivate itself.  One moment, I was happily managing the arcade machine over VNC, and the next, I get a popup message in the corner.  “There has been a signficant hardware change and Windows must be reactivated.”, or something to that effect.  When I clicked on the bubble, the activation screen said I needed to activate today or enter ‘reduced functionality mode’.  My copy of Vista is legit and not OEM, and I hadn’t made any huge hardware changes recently.  So I tried to reactivate and was told my key is already in use.

 After a call to Product Activation Support (aka Microsoft India), I was back up and running, but was left with the question “Why did this happen all of a sudden?”  A couple ideas crossed my mind.  I replaced all 3 hard drives about 3 weeks ago.  However, because of the RAID setup, Windows would have only seen the addition of a single drive, not a replacement.  I also added a Bluetooth keyboard and mouse.  For a while, Windows did see the Bluetooth adapter as a network connection.  But why would it take 3 weeks to deactivate?  I also updated my video card drivers this past weekend.  But driver updates are so routine that it doesn’t seem that would count as a hardware change.

I decided to dig into Event Viewer.  The problem is quickly apparent.  My Application Log is filled with “Hardware changed” errors from the “Security-Licensing-SLC” source.  It reported 4 hardware changes in the 14 seconds leading up to the validation error in Event Viewer.   In fact, it has reported 23 hardware changes today alone.  Which is pretty slick considering I’ve been at work all day.

Why has it started doing this, and does it go back to days or weeks prior?  I’ll have to do a bit more digging to find out.  But if this keeps up, I’m going to be on a first-name basis with the guys from India by the end of the week.

Holding Jesus Hostage

A couple in Oakfield Township are devastated over the fact that someone has stolen their statue of Jesus from their front yard.

The family regularly walks their dachshunds, and in the past, has not cleaned up after they’ve done number 2.  After receiving complaints from neighbors, they have started picking up afterwards.  But the person who stole Jesus says they are still leaving landmines in the yards of their neighbors, according to a ransom note left in their mailbox:

“We are holding Jesus ransom until you clean up the poopie from your wieners and trust us we see you take your wieners for long walks w/out picking up their poopie in our yards. This has upset us dearly so please clean up all the weiner poopie, if you want to see Jesus unharmed. Sincerely, Lindy Lane Residents.”

For the full story and video of the note (which is written in very childish handwriting) see WZZM.

Michigan’s Primary Joke

Michigan had their primary election this past Tuesday.  When I voted at lunch, I was number 123 on the machine.  Fairly low turnout.  Part of the reason is the fact that both the Republican and Democratic National Committees decided to screw over Michigan voters just because Michigan moved up its primary election date.  That caused Iowa and New Hampshire to throw a fit and complain.

 As a result, the RNC stripped Michigan of half of its delegates, allowing only 30 instead of the normal 60.  If you voted Democratic, it was even worse.  Almost all candidates removed themselves from the ballot because the DNC is outright refusing to acknowledge Michigan’s primary.  Democrats had a choice between Clinton, and a few other trailing candidates.  Write-in votes for other candidates were not accepted, and voters were urged to vote ‘Uncommitted’ if they wished to vote for an unlisted candidate.

This is all a result of the few states who have ‘always been first’ in the nation to hold primaries or caucuses throwing a temper tantrum when some other states decided they wanted to be first for a change.  The end result is that thanks to the primarily two-party system we have here, a small group of people (the DNC and RNC) can decide whether or not your vote even counts in a primary election, based entirely on the actions of your state. 

When the primary is held shouldn’t matter whatsoever.  The national committees need to stop gaming the system for the most media exposure, and let the people decide which candidate is best qualified for the job, instead of hyping only a couple frontrunners and pretending like the others don’t exist.