Just to add in some details - No need to break mirroring, do anything special on the mirror.
If you simply use DBCC ShrinkFile on the principle's log file, the resulting change will be applied to the mirror as well in a very small transaction. The mirror size will normally stay perfectly in synch with the principle's size.
We ran out of disk space on the mirror, so mirroring was suspended and the principle's log grew rather large. After clearing room on the mirror's log drive, resuming mirroring, letting it catch up, and finally letting the next principle log backup take place, we were able to use DBCC ShrinkFile on the principle's log file and the change was instantly reflected on the mirror.
SQL Server 2005, SP2 and SP3 have worked the same.
By the way, we don't go around shrinking transaction logs all the time, but this one had grown to 146 Gig, when it is normally about 15 Gig. Yes, it's a fairly large database.
Student of SQL and Golf, Master of Neither