How to avoid recursion in Java SecurityManager checkConnect?
Posted
by Zilupe
on Stack Overflow
See other posts from Stack Overflow
or by Zilupe
Published on 2010-04-12T06:50:56Z
Indexed on
2010/04/12
6:53 UTC
Read the original article
Hit count: 239
I'm trying to take control of a Java code base that does lots of un-documented things. I'm using a custom SecurityManager to check permission requests. Specifically, my code is checking SocketPermission checks -- checkConnect.
checkConnect is called when the application tries to resolve a host name to IP address and to connect to a specific IP address. The problem is that I don't know how to properly call host name resolution (InetAddress.getAddressByName) without falling into infinite recursion, because normally checkConnect is called even when I resolve the name from inside the SecurityManager.checkConnect. I have read on the web that I have to call the address resolution from a doPrivileged block, but no idea how.
P.S. Is this possible without writing any policy files?
© Stack Overflow or respective owner