[PATCH CIFS] use CryptoAPI MD4/MD5
erlend-a at ux.his.no
Wed Oct 1 23:52:28 GMT 2003
Thanks for your replies and suggestions.
On 10/01/03 18:42, Matt Mackall wrote:
> On Thu, Oct 02, 2003 at 01:26:50AM +0200, Erlend Aasland wrote:
> > On 10/01/03 14:55, Matt Mackall wrote:
> > > On Wed, Oct 01, 2003 at 03:30:39PM +0200, Erlend Aasland wrote:
> > > > static int cifs_calculate_signature(const struct smb_hdr * cifs_pdu, const char * key, char * signature)
> > > [...]
> > > Eek. How often does this get called?
> > It is (normally) called twice in SendReceive(). SendReceive() is called
> > very often in cifs. After a quick look at cifs, it seems that most of
> > these calls are protected with a per connection-lock (correct me if I'm
> > wrong). But since two connections can call SendReceive() at the same
> > time, we have to protect the tfm with locks. Correct?
> Correct. But this lock is going to be a huge bottleneck.
Yes, I should have thought about this in the first place :-)
> > Would a better solution be to allocate one tfm per connection, thus
> > no need to protect the tfm with a dedicated lock, right?
> Per connection sounds like a much better answer, assuming you can
> guarantee that SendReceive() never gets called simultaneously on the
> same connection.
I will do this and try to trace each SendReceive() call, verifying
that this is a safe solution.
More information about the samba-technical