Why doesn't printing work on Mac OS X anymore?

When Apple recently rolled out a couple of updates, they introduced a serious bug, which prevents any Java applet from printing.

With good reason, "unsigned" Java applets are not permitted to muck about with your system. Any time an applet wants to do something that might have impact on your real-world stuff—such as your printer—it has to ask for permission. When the Wordle applet tries to print, the Java plugin does indeed ask for permission. Until the recent update, that permission was enough to let printing proceed. But now, when the Java plugin attempts to communicate with the Mac's printing subsystem, the plugin incorrectly signals a security violation because of an attempt to open a networking connection with "localhost", your own computer.

Yeah, but how do I fix it?

Here is a workaround, which will permit Wordle to open up the print dialog box again.

Download and run this little Java application:


enable-wordle-printing.jar

(To run the .jar file you can double-click it, like any other application.)

The application will ask you for permission to create the file .java.policy in your "home" directory, or modify the file if it already exists. It will add the following text to that file:

grant codeBase "http://wordle.appspot.com/-" {
	permission java.net.SocketPermission "localhost:631", "connect,resolve";
	permission java.lang.RuntimePermission "queuePrintJob";
};

Once it has run, you'll have to quit any currently running browsers, and start them up again. Printing should work for you from that point on.

build #1421