[ 
https://issues.apache.org/jira/browse/DERBY-3532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739839#action_12739839
 ] 

Lily Wei commented on DERBY-3532:
---------------------------------

I am hesitating to decide having lightweight check in network server for each 
client request to see if the embedded engine is running. If there is any good 
suggestion, I will be happy to try.
I am trying to fix the test problem in junit regarding when network service 
server is shutting down it is using an embedded data source. First try, I 
change DriverManagerConnector.shutEngine and hope to shutengine with network 
server URL instead of embedded URL. However, if I use jdbcclient.getUrlBase(), 
I will get error like:
Caused by: org.apache.derby.client.am.SqlException: The URL 
'jdbc:derby://localhost:1527/' is not properly formed.
Second try, If I take out the extra "/" from JDBCClient.DERBYNETCLIENT, I will 
get error:
Caused by: java.sql.SQLException: Database '/localhost:1527/' not found.
Is there any particular reason we put comment "Always shutsdown using the 
embedded URL thus this method will not work in a remote testing environment." 
in DriverManagerConnector.shutEngine()?" I think the writer is reading my mind 
now. I am open to any suggestion.


> Invalid & possibly skipped  authentication handling when shutting down the 
> network server.
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3532
>                 URL: https://issues.apache.org/jira/browse/DERBY-3532
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.4.1.3, 10.5.1.1
>            Reporter: Daniel John Debrunner
>            Priority: Critical
>         Attachments: ReproDerby3532.java, ReproDerby3532.java
>
>
> In NetworkServerControlImpl.checkShutdownPrivileges() code fetches the 
> internal authentication service to perform user authentication.
> However if no such authentication service is found (null is returned) then 
> authentication is bypassed, this has the potential of being a security hole.
> The discussion in DERBY-2109 indicated that even with authentication NONE, 
> there is still an internal authentication service, thus null is not a valid 
> return when getting the internal authentication service. A secure fail safe 
> system would be to not bypass authentication if null is returned.
> I tried removing the check for null in the method and that lead to 
> NullPointerExceptions. This means that something wrong is going on and very 
> possibly no authentication checks are actually being made when shutting down 
> the network server.
> The null return might be due to checking the authentication after Derby has 
> been shutdown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to