Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: JDBC and security


  • From: Barry Lind <barry(at)xythos(dot)com>
  • To: Renato <webmaster(at)cienciapura(dot)com(dot)br>
  • Cc: pgsql-jdbc(at)postgresql(dot)org
  • Subject: Re: JDBC and security
  • Date: Fri, 29 Jun 2001 08:43:44 -0700
  • Message-id: <3B3CA230.9090406@xythos.com> <text/plain>

Since this is the second report of problems with this 'feature' I decided to look into this some more. This code isn't even doing anything. The shutdownhook gets registered, but it doesn't do anything.

You can safely comment out the ShutdownHook registration and rebuild. You can also build with a 1.2 JDK which builds without this feature.

I will submit a patch that removes this 'feature'.  I will do this because:

1) It isn't implemented anyway (the necessary changes to Connection where never done). 2) It has the problem reported here and previously with running under a security manager
3) I don't feel there is any real benefit to the functionality provided
4) This is the only reason there is a separate jar file created for 1.3 JDKs. I think the fewer different jar files we have the better. It is too confusing to have too many different code bases. There are currently different builds for 1.1, 1.2, 1.3 and 1.2enterprise JDKs. The 1.1 and 1.2 are necessary because the JDBC spec changed significantly between those two releases (i.e. jdbc1 vs jdbc2).

thanks,
--Barry


Renato wrote:

Hi all,

I'm installing a secure shared web hosting server for JSP and Servlets and I have the following problem. Trying to connect to Postgres I receive the following message:

java.lang.ExceptionInInitializerError: java.security.AccessControlException: access denied (java.lang.RuntimePermission shutdownHooks)

Looking at the source code, I see that Postgres driver make a call to Runtime.getRuntime().addShutdownHook(new Thread(this)). By doing this I have to include in my java.policy a line to give permission to the driver to invoke the 'addShutdownHook' method. Looking at Sun's documentation at http://java.sun.com/j2se/1.3/docs/guide/security/permissions.html, they strongly recommend to NOT give this permission:

shutdownHooks - Registration and cancellation of virtual-machine shutdown hooks - This allows an attacker to register a malicious shutdown hook that interferes with the clean shutdown of the virtual machine. Well, I do not want to give this permission. What should I do ? Is there another postgres JDBC driver I should use ? Is it possible to recompile the driver without the line that registers the hook ?
Any advices are greatly appreciated.

Thanks in advance
Renato - Brazil.


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster







Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group