Re: [twsocket] HttpSrv: implementing NTLM

2005-08-12 Thread Maurizio Lotauro
On 08-Aug-05 19:08:36 Francois PIETTE wrote:

Another interesting link is this one:
http://codecentral.borland.com/Item.aspx?id=16213
It contains code to validate usercode/password on a Windows domain.
It is a Delphi translation of the code in the article:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;180548

I quickly looked at this article today. It is intersting but, if I
read correctly, it need the password in clear form to work.
If this is true it is useless for HttpSrv because with NTLM it will
receive the password in an one way encoded form.


Bye, Maurizio.

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-28 Thread Maurizio Lotauro
On 23-Jun-05 07:40:28 Francois Piette wrote:

 As you can see the server must at least generate the Challenge when
 speak with an ICS client, and keep it to elaborate the Message3.

 While from the client side we are free to set flags and fields with
 specific values, the server should be able to hadle all possible
 values if it must answer to a client different from ICS.

This client/server dialog occurs in a single TCP session handled by a single
TWSocket at server side. You can store anything you like n that TWSocket
without collision with other clients.

That's clear, but there is still the problem how to handle request
made from clients that aren't based on ICS, if they set flags and
fields with values that are different from the fixed one set by
THttpCli.

In conclusion, it seems to me that implementing the NTLM in the
server will require lot of time, and at the moment I don't have so
much time.
And I don't known if it worth the effort. Maybe it would be better to
invest that time implementing a more standard authentication (client
and server) instead for a proprietary and not dodumented like NTLM.

For example, Apache or other web servers different fom M$ are able to
accept NTLM authentication? (Not a rhetorical question, I really
don't know)


Bye, Maurizio.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-23 Thread Francois Piette
 As you can see the server must at least generate the Challenge when
 speak with an ICS client, and keep it to elaborate the Message3.

 While from the client side we are free to set flags and fields with
 specific values, the server should be able to hadle all possible
 values if it must answer to a client different from ICS.

This client/server dialog occurs in a single TCP session handled by a single 
TWSocket at server
side. You can store anything you like n that TWSocket without collision with 
other clients.

 There is nothing in the component. It has to be handled at the application
 level. Code has been published to show how to do it. I don't remember where
 :-(

 So it is the application that tell the component to answer with a 401
 code?

Yes, it is.
--
[EMAIL PROTECTED]
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be


- Original Message - 
From: Maurizio Lotauro [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Wednesday, June 22, 2005 4:51 AM
Subject: Re: [twsocket] HttpSrv: implementing NTLM


 On 21-Jun-05 08:13:21 Francois Piette wrote:

  Yes, and now I partially know how the client works internally. But I
  never worked on the source of the server, so I should first learn how
  it works internally.

 It's quite simple. Each client has his own TWSocket instance. This reduce the
 problem to a single user.

 Ok, but certainly a status of the authentication progress must be
 introduced. Reading the source of the client:
 a) the client sent a Message1, which contain some fields, most set to
 a fixed value
 b) the server answer with a Message2. The client will use only the
 Challenge field
 c) the client reply with a Message3. This is where user and password
 are set. Again, some fields are set with fixed values.

 As you can see the server must at least generate the Challenge when
 speak with an ICS client, and keep it to elaborate the Message3.

 While from the client side we are free to set flags and fields with
 specific values, the server should be able to hadle all possible
 values if it must answer to a client different from ICS.

 It seems to me not so easy nor quick to implement.

  I checked (very quickly) the code but I don't understood how it
  handle the basic authentication.

 There is nothing in the component. It has to be handled at the application
 level. Code has been published to show how to do it. I don't remember where
 :-(

 So it is the application that tell the component to answer with a 401
 code?

  Is there already a similar situation, i.e. the component exchange
  automatically more that one request with the client?

 That's normal HTTP 1.1 behaviour.

 I mean if the component already handle a situation where it should
 keep track of the progess of an operation.

  Speaking about the NTLM, I don't know if it will be correct to
  don't use the Windows domain user base. Probably it is the only
  reason to use the NTLM instead other authentications.

 Yes, this is one interesting point in NTLM . But also NTLM offer true
 protection agains transmitting passwords over the internet.

 That's true, but as said, I think it is not so easy to do if you want
 that the server will handle the authentication from a generic client.

 If the server will handle connection only from an ICS client for a
 specific application then it could use the basic authentication where
 the client as password will send a MD5ed version or any other hashed
 version.

 About NTLM over the internet, it has diffcult to go through proxies,
 then I doubt it can be used outside an intranet.


 Bye, Maurizio.


 -- 
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be



-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-22 Thread Maurizio Lotauro
On 21-Jun-05 08:13:21 Francois Piette wrote:

 Yes, and now I partially know how the client works internally. But I
 never worked on the source of the server, so I should first learn how
 it works internally.

It's quite simple. Each client has his own TWSocket instance. This reduce the
problem to a single user.

Ok, but certainly a status of the authentication progress must be
introduced. Reading the source of the client:
a) the client sent a Message1, which contain some fields, most set to
a fixed value
b) the server answer with a Message2. The client will use only the
Challenge field
c) the client reply with a Message3. This is where user and password
are set. Again, some fields are set with fixed values.

As you can see the server must at least generate the Challenge when
speak with an ICS client, and keep it to elaborate the Message3.

While from the client side we are free to set flags and fields with
specific values, the server should be able to hadle all possible
values if it must answer to a client different from ICS.

It seems to me not so easy nor quick to implement.

 I checked (very quickly) the code but I don't understood how it
 handle the basic authentication.

There is nothing in the component. It has to be handled at the application
level. Code has been published to show how to do it. I don't remember where
:-(

So it is the application that tell the component to answer with a 401
code?

 Is there already a similar situation, i.e. the component exchange
 automatically more that one request with the client?

That's normal HTTP 1.1 behaviour.

I mean if the component already handle a situation where it should
keep track of the progess of an operation.

 Speaking about the NTLM, I don't know if it will be correct to
 don't use the Windows domain user base. Probably it is the only
 reason to use the NTLM instead other authentications.

Yes, this is one interesting point in NTLM . But also NTLM offer true
protection agains transmitting passwords over the internet.

That's true, but as said, I think it is not so easy to do if you want
that the server will handle the authentication from a generic client.

If the server will handle connection only from an ICS client for a
specific application then it could use the basic authentication where
the client as password will send a MD5ed version or any other hashed
version.

About NTLM over the internet, it has diffcult to go through proxies,
then I doubt it can be used outside an intranet.


Bye, Maurizio.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-21 Thread Francois Piette
 Yes, and now I partially know how the client works internally. But I
 never worked on the source of the server, so I should first learn how
 it works internally.

It's quite simple. Each client has his own TWSocket instance. This reduce the 
problem to a single
user.

 I checked (very quickly) the code but I don't understood how it
 handle the basic authentication.

There is nothing in the component. It has to be handled at the application 
level. Code has been
published to show how to do it. I don't remember where :-(

 Is there already a similar situation, i.e. the component exchange
 automatically more that one request with the client?

That's normal HTTP 1.1 behaviour.

 Speaking about the NTLM, I don't know if it will be correct to
 don't use the Windows domain user base. Probably it is the only
 reason to use the NTLM instead other authentications.

Yes, this is one interesting point in NTLM . But also NTLM offer true 
protection agains transmitting
passwords over the internet.
--
[EMAIL PROTECTED]
http://www.overbyte.be


- Original Message - 
From: Maurizio Lotauro [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Monday, June 20, 2005 3:32 AM
Subject: Re: [twsocket] HttpSrv: implementing NTLM


 On 19-Jun-05 09:11:21 Francois PIETTE wrote:

 Is there someone willing to implement NTLM
 authentication into HTTP server component ?
 
  If no other has offered yourself I can help you in this but only if
  you have a documentation how to it should work. Otherwise I have no
  idea how to start it.

 Well, we have the client side, you participated a lot in that development.

 Yes, and now I partially know how the client works internally. But I
 never worked on the source of the server, so I should first learn how
 it works internally.

 So it should not be too difficult to build the replies the server has to do.

 I think that the main problem is to handle automatically all steps of the
 authentications. As said, I must first examine and understand how the
 component works.
 Is there already a similar situation, i.e. the component exchange
 automatically more that one request with the client?

 I don't want to peek into Windows user base, just implement the NTLM
 authentication protocol. A simple event to get the usercode/password from
 the application host the server component is enough.

 This should be true for authentication in general, not only for NTLM.
 I checked (very quickly) the code but I don't understood how it
 handle the basic authentication.

 Speaking about the NTLM, I don't know if it will be correct to
 don't use the Windows domain user base. Probably it is the only
 reason to use the NTLM instead other authentications.


 Bye, Maurizio.


 -- 
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be



-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-19 Thread Francois PIETTE

Is there someone willing to implement NTLM
authentication into HTTP server component ?


If no other has offered yourself I can help you in this but only if
you have a documentation how to it should work. Otherwise I have no
idea how to start it.


Well, we have the client side, you participated a lot in that development. 
So it should not be too difficult to build the replies the server has to do. 
I don't want to peek into Windows user base, just implement the NTLM 
authentication protocol. A simple event to get the usercode/password from 
the application host the server component is enough.

--
[EMAIL PROTECTED]
http://www.overbyte.be


--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] HttpSrv: implementing NTLM

2005-06-18 Thread Maurizio Lotauro
On 11-Jun-05 14:13:41 Francois PIETTE wrote:

Is there someone willing to implement NTLM
authentication into HTTP server component ?

If no other has offered yourself I can help you in this but only if
you have a documentation how to it should work. Otherwise I have no
idea how to start it.


Bye, Maurizio.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be