-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

All,

On 12/1/16 6:07 PM, Christopher Schultz wrote:
> All,
> 
> On 12/1/16 5:59 PM, Christopher Schultz wrote:
>> All,
> 
>> I'm trying to use JMX to do things with Tomcat Connectors and 
>> ProtocolHandlers. Specifically, I'd like to re-load the keystore
>>  (really certificate) used for an HTTPs connection.
> 
>> I'm currently using Tomcat 8.0.30 for my testing.
> 
>> It looks like the ProtocolHandler is really the place where the 
>> TLS configuration is taking effect, and not the Connector, so
>> I'm largely ignoring the Connector for now. Is that the right
>> choice to make, here?
> 
>> It seems that calling the pause()/resume() or stop()/start() on 
>> the ProtocolHandler have no effect on resetting the 
>> SSLServerSockeyFactory, which is what would be required to
>> achieve my goals (update a certificate for a running Tomcat
>> instance).
> 
>> I suspect I'll have to call init(). When I do this without 
>> specifying bindOnInit=false awful things happen. First, calling 
>> init() gets me an error on stdout that the address is already in 
>> use, and then it's basically not possible to restart the 
>> ProtocolHandler after that point: it's dead as far as I can
>> tell, because you can't call start() or resume() without getting
>> a whole bunch of errors.
> 
>> Does that sound like a problem to anyone? I would think that 
>> failure to call init() would leave the ProtocolHandler in an 
>> uninitialized state, but I'm wondering if trying to
>> RE-initialize the ProtocolHandler should be something that won't
>> damage a previously-initialized component. When trying to script
>> these types of connections, having a non-destructive init() might
>> be useful.
> 
>> So, I set bindOnInit="false" which is documented[1] to unbind on
>>  "stop". When calling stop(), the port continues to be bound by 
>> Tomcat. Calling stop() and then start() throws a BindException.
>> :( Destroying the ProtocolHandler also leaves the port still
>> bound, and also (unsurprisingly) destroys the ProtocolHandler.
> 
>> Stopping the Connector also does not release the port. :( Calling
>>  stop() and then start() also throws a BindException.
> 
>> At this point, I think I'm stuck. Is there a bug here?
> 
>> I'm going to upgrade to 8.0.latest and repeat my tests, just in 
>> case.
> 
> I updated to 8.0.39 and noticed that I had moved my keystore out
> of the way temporarily and so the connector was failing at some
> point looking for that. I'll be repeating my tests with more
> attention to detail, but what I think I've noticed is that there
> are certain errors which can occur that cause the Connector to get
> itself into a bad state.
> 
> Specifically, I think that problems with the crypto setup cause
> the connector to bind to the port, then fail and not unbind. Any
> later attempt to re-start the Connector fails because the port is
> still bound.
> 
> I think the connector should catch (some?) exceptions and unbind
> the port in those cases when bindOnInit=false.

Any comments on whether or not these items should be considered bugs?
Specifically, uncaught exceptions which can prevent the connector from
coming back up again?

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJYRHgQAAoJEBzwKT+lPKRYwzgP/3BlD2DnNa5ZJwpX1Wcl9JXe
3Oj2zgUbv0z9qExmAYfuIYYpyUiIiGoO0oJIo9r4sGjCSeQg/GWv/w9q03YlCKOE
U/+t4FH2UZ0W15x27PF1j1TSMna8Heq2Wysqp3ccgyX4E3BGcOxTE6RwE9MQI3+e
aduTjtw4Wy34jh426pX4ilSxgagHPDXeqsuvUsbt5nS8FGizK0fMqYvcIfpfpfCx
F+BYGKi5ZkafhyrkXyCGzdL8XzpAFDC8Vx2bqQGYAGrsDmP4S7xQwHhMPoG4T0xN
bB98jV7MMJTxb+P4Yog+xN1t3MnpsgCtztW6TxVflSc+fm6mPy+9NGgN7D3vLSHw
EWZSR9AzuLQwNRI8hqubNoLIXT0ddoG3zZ4CP6YtMbtCN9qIGmby9idCM2mEoarp
oBpQL+rvcvQs3qJU9KsVOV3YXjNPsHciXquI8HrvaqwMPaSf3NRHR897OZOwapjX
IHV6/8K2yqL2t3UXoOS87O/94cCZb5g/XPA/QZO8ljF6M7rDKE8omR7XcbMoyW9p
4Dm2RSiUm7nqn2Eto7p2fKlQ10iK4bdeQ/6q4nLuMMEQ/Nmh6pRPt9Jgz8A8goTZ
k/xSQJg+5Pij/fg76StfkLWULdVSm6tUkW9CPPzqEvdPWZeEOn6KBQ9m4d0S80Ro
9MMGOsmaWRf6TfEkwmkB
=Arwu
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to