RE: Ajp14 and Ajp13

2001-11-16 Thread GOMEZ Henri

 I'm in favor of this, since the protocol is only being 
extended, not really
 changed.

 However, I think that one of the extensions that should be 
implemented early
 on is a version negotiation so that the newer side can 
gracefully degrade in
 the future without having to rely on the user changing configuration
 settings.

Yes, Henri already implemented this in the login phase - however Ajp13
doesn't support this.

We should be carefull with the login phase.

The distinction between post Ajp14 will be the number of callbacks
supported - and login/negotiation is the essential one to diferentiate
between Ajp13 and Ajp14+.

Yes, but what will happen to a worker using ajp14 trying to connect 
(and so using md5 login phase) to a good old ajp13 server ? 

If the user doesn't set the login callback - we will use 'plain' ajp13.

What do you mean by user setting callback ? in httpd.conf for examples ?

If the user does have a login - it's clear he wants ajp14 ( or 
later ) and
we can detect the number of callbacks supported.

The distinction between ajp13, 14, ... will be in the number 
of callbacks
- each version will have a set of callbacks ( sort of API version
instead of protocol version ).

Regardless of the Ajp version, we should support all previous 
ones up to
13. This will also minimize the amount of pain for 3.2.x users, who are
unlikely to get Ajp14 ported, and also for users of 4.0 - 
again, support
for ajp14 is likely to be available in 4.0.2 or later. They'll still be
able to get most fixes, and we'll have less code to maintain.

Make sense, but making ajp14 a sort of ajp13++, using the same 
port and same headers will put users in trouble. 

I'm in favor of having an ajp13/ajp14 unique Interceptor (java side), 
which will detect the rigth protocol by looking at msg headers. 

ajp13 use 0x1234 as header and 'AB' (0x4142) as trailer and 
I used 0x1235 for both header and trailer for ajp14.

Also having separate headers will help people writing network
disector for network dumper (ie ethereal).

And on native camp, it should be easy since we'll could have an
ajp13 callback and another one for ajp14, may be a protocol init 
callback which could set headers accordingly for future message
sent/received.

The client side should be able also to detect it speak ajp14 on
an ajp13 server and fallback to ajp13 protocol




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: Ajp14 and Ajp13

2001-11-15 Thread Bill Barker

I'm in favor of this, since the protocol is only being extended, not really
changed.

However, I think that one of the extensions that should be implemented early
on is a version negotiation so that the newer side can gracefully degrade in
the future without having to rely on the user changing configuration
settings.
- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, November 15, 2001 3:19 PM
Subject: Ajp14 and Ajp13


 Hi,

 Right now we treat Ajp13 and 14 as 2 separate workers ( even if most of
 the code is shared). The problem is that this adds complexity that we
 could avoid.

 Given that Ajp14 is not 'official' yet, I would propose to change it to
 Ajp14 == Ajp13 + extra functions.

 We should use exactly the same header and encapsulation as in Ajp13 -
 since this is very well tested. The main difference is in the startup
 phase, where Ajp14 will login and auto-configure.

 That can be easily configured and we can have the new Ajp14 clients
 talking with older Ajp13 servers ( so most fixes will go in the same
 codebase, without needing to fix both the new 1.4 worker and the old one).

 If the ajp14 worker will be configured with a login password - then it'll
 do the extra login and configuration steps. If not - it'll be just our old
 ajp13 client, capable to speak with tomcat3.2 ... tomcat4.0.

 On tomcat side, if the connector will be configured to require a login
 it'll behave as a ajp14 server, and do the autoconfiguration ( and refuse
 connections from unauthenticated ajp13 clients ).

 This can be extended in future as more callbacks are added. Instead of
 having ajp15, 16... we'll keep Ajp13 as the base and configure the
 calls and callbacks to use.

 The main reason for this is simplifying the code - which is very
 important to do before any extension. This would also allow a smooth
 transition - all new features will be included in mod_jk and the new java
 connector, but the user will be able to use only what he needs and
 support multiple server versions.

 What do you think ?

 Costin









 --
 To unsubscribe, e-mail:
mailto:[EMAIL PROTECTED]
 For additional commands, e-mail:
mailto:[EMAIL PROTECTED]




**

This message is intended only for the use of the person(s) listed above 
as the intended recipient(s), and may contain information that is 
PRIVILEGED and CONFIDENTIAL.  If you are not an intended recipient, 
you may not read, copy, or distribute this message or any attachment.  
If you received this communication in error, please notify us immediately 
by e-mail and then delete all copies of this message and any attachments.


In addition you should be aware that ordinary (unencrypted) e-mail sent 
through the Internet is not secure. Do not send confidential or sensitive 
information, such as social security numbers, account numbers, personal 
identification numbers and passwords, to us via ordinary (unencrypted) 
e-mail. 

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: Ajp14 and Ajp13

2001-11-15 Thread costinm

On Thu, 15 Nov 2001, Bill Barker wrote:

 I'm in favor of this, since the protocol is only being extended, not really
 changed.

 However, I think that one of the extensions that should be implemented early
 on is a version negotiation so that the newer side can gracefully degrade in
 the future without having to rely on the user changing configuration
 settings.

Yes, Henri already implemented this in the login phase - however Ajp13
doesn't support this.

The distinction between post Ajp14 will be the number of callbacks
supported - and login/negotiation is the essential one to diferentiate
between Ajp13 and Ajp14+.

If the user doesn't set the login callback - we will use 'plain' ajp13.

If the user does have a login - it's clear he wants ajp14 ( or later ) and
we can detect the number of callbacks supported.

The distinction between ajp13, 14, ... will be in the number of callbacks
- each version will have a set of callbacks ( sort of API version
instead of protocol version ).

Regardless of the Ajp version, we should support all previous ones up to
13. This will also minimize the amount of pain for 3.2.x users, who are
unlikely to get Ajp14 ported, and also for users of 4.0 - again, support
for ajp14 is likely to be available in 4.0.2 or later. They'll still be
able to get most fixes, and we'll have less code to maintain.


Costin



 - Original Message -
 From: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Thursday, November 15, 2001 3:19 PM
 Subject: Ajp14 and Ajp13


  Hi,
 
  Right now we treat Ajp13 and 14 as 2 separate workers ( even if most of
  the code is shared). The problem is that this adds complexity that we
  could avoid.
 
  Given that Ajp14 is not 'official' yet, I would propose to change it to
  Ajp14 == Ajp13 + extra functions.
 
  We should use exactly the same header and encapsulation as in Ajp13 -
  since this is very well tested. The main difference is in the startup
  phase, where Ajp14 will login and auto-configure.
 
  That can be easily configured and we can have the new Ajp14 clients
  talking with older Ajp13 servers ( so most fixes will go in the same
  codebase, without needing to fix both the new 1.4 worker and the old one).
 
  If the ajp14 worker will be configured with a login password - then it'll
  do the extra login and configuration steps. If not - it'll be just our old
  ajp13 client, capable to speak with tomcat3.2 ... tomcat4.0.
 
  On tomcat side, if the connector will be configured to require a login
  it'll behave as a ajp14 server, and do the autoconfiguration ( and refuse
  connections from unauthenticated ajp13 clients ).
 
  This can be extended in future as more callbacks are added. Instead of
  having ajp15, 16... we'll keep Ajp13 as the base and configure the
  calls and callbacks to use.
 
  The main reason for this is simplifying the code - which is very
  important to do before any extension. This would also allow a smooth
  transition - all new features will be included in mod_jk and the new java
  connector, but the user will be able to use only what he needs and
  support multiple server versions.
 
  What do you think ?
 
  Costin
 
 
 
 
 
 
 
 
 
  --
  To unsubscribe, e-mail:
 mailto:[EMAIL PROTECTED]
  For additional commands, e-mail:
 mailto:[EMAIL PROTECTED]
 
 


 **

 This message is intended only for the use of the person(s) listed above
 as the intended recipient(s), and may contain information that is
 PRIVILEGED and CONFIDENTIAL.  If you are not an intended recipient,
 you may not read, copy, or distribute this message or any attachment.
 If you received this communication in error, please notify us immediately
 by e-mail and then delete all copies of this message and any attachments.


 In addition you should be aware that ordinary (unencrypted) e-mail sent
 through the Internet is not secure. Do not send confidential or sensitive
 information, such as social security numbers, account numbers, personal
 identification numbers and passwords, to us via ordinary (unencrypted)
 e-mail.

 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]