Re: mangling scheme

2002-09-09 Thread Simo Sorce

On Mon, 2002-09-09 at 08:33, Lucas Correia Villa Real wrote:
 Hi,
 
 Recently I did find a little trouble in a program: it creates links
 to the most recently used files, but using the not-so-'default' Win9X
 mangling scheme, that is, 'program files' becomes 'progra~1' and not
 'progr~-1'.

This seem to me the correct behaviour, why do you think it should be
progr~1 ?

 I did a search over the samba archives and noticed some patches and 
 discussions about performance and even about non-compliance between 
 Win9x and WinNT mangling methods. Is there a working* patch to do 
 that kind of stuff? If not, can someone point me to the algorithms
 used by Win9X/NT to do that? Will such a patch be welcome by Samba?

I extendedly tested the w2k alghorithms, that I suppose are the same as
NT, and they seem to use the 6chars+~1 through ~5 and then they start to
produce a poor hash based name like prA9BF~1 that is clearly a 2 bytes
lenght hex representation. The exact alghorithm is not known to me, but
we tested that it is really poor and prone to lot of name collisions.
We implemented a new mangling alghorithm for HEAD called hash2 that is
pretty good. Look at smbd/mangle_hash2.c if you are curious.

About patches they are always welcome, but to be accepted they need to
address a real problem and get it the right way, what do you have in
mind exactly?

 Thanks in advance,
 Lucas
 
 * performance is not a problem in my target network, so anything will
 be really welcome :)

I have some code for a tdb based persistent mangling db that could help
but it is not ready yet and broken in little pieces part of new code and
part of code from an older not very good implementation.

Simo.

-- 
Simo Sorce - [EMAIL PROTECTED]
Xsec s.r.l.
via Durando 10 Ed. G - 20158 - Milano
tel. +39 02 2399 7130 - fax: +39 02 700 442 399



signature.asc
Description: This is a digitally signed message part


Re: mangling scheme

2002-09-09 Thread Lucas Correia Villa Real

On 09 Sep 2002 09:27:21 +0200
Simo Sorce [EMAIL PROTECTED] wrote:

 On Mon, 2002-09-09 at 08:33, Lucas Correia Villa Real wrote:
  Hi,
  
  Recently I did find a little trouble in a program: it creates links
  to the most recently used files, but using the not-so-'default' Win9X
  mangling scheme, that is, 'program files' becomes 'progra~1' and not
  'progr~-1'.
 
 This seem to me the correct behaviour, why do you think it should be
 progr~1 ?

Sorry, I think I was misunderstood here. What the program do is to 
address 'program files' into 'progra~1', the same way as the WinNT 
server was doing, but with Samba the same entry become 'progr~-1',
using the hash1 algorithm.

  I did a search over the samba archives and noticed some patches and 
  discussions about performance and even about non-compliance between 
  Win9x and WinNT mangling methods. Is there a working* patch to do 
  that kind of stuff? If not, can someone point me to the algorithms
  used by Win9X/NT to do that? Will such a patch be welcome by Samba?
 
 I extendedly tested the w2k alghorithms, that I suppose are the same as
 NT, and they seem to use the 6chars+~1 through ~5 and then they start to
 produce a poor hash based name like prA9BF~1 that is clearly a 2 bytes
 lenght hex representation. The exact alghorithm is not known to me, but
 we tested that it is really poor and prone to lot of name collisions.
 We implemented a new mangling alghorithm for HEAD called hash2 that is
 pretty good. Look at smbd/mangle_hash2.c if you are curious.

 About patches they are always welcome, but to be accepted they need to
 address a real problem and get it the right way, what do you have in
 mind exactly?

I just got the sources, and as far as I could see, that's exactly what I 
was looking for. I will put it in action today.

 I have some code for a tdb based persistent mangling db that could help
 but it is not ready yet and broken in little pieces part of new code and
 part of code from an older not very good implementation.

Thanks for your attention, if I feel I will need to use a different scheme
I will try to give a look at it.

Lucas



Re: mangling scheme

2002-09-09 Thread Simo Sorce

However this is a strange behaviour, generally apps should not try to
guess by it's own the mangling scheme but ask the system to tell them
which is the short name other wise the application is poorly made.

Have you migrated an installation by chance? That may explain the
problem, many installations do save 8.3 paths in registry after the
system has told them which is the mangled name, so may be you can simply
tweak your registry to reflect the correct name.

Simo.

On Mon, 2002-09-09 at 10:26, Lucas Correia Villa Real wrote:
 On 09 Sep 2002 09:27:21 +0200
 Simo Sorce [EMAIL PROTECTED] wrote:
 
  On Mon, 2002-09-09 at 08:33, Lucas Correia Villa Real wrote:
   Hi,
   
   Recently I did find a little trouble in a program: it creates links
   to the most recently used files, but using the not-so-'default' Win9X
   mangling scheme, that is, 'program files' becomes 'progra~1' and not
   'progr~-1'.
  
  This seem to me the correct behaviour, why do you think it should be
  progr~1 ?
 
 Sorry, I think I was misunderstood here. What the program do is to 
 address 'program files' into 'progra~1', the same way as the WinNT 
 server was doing, but with Samba the same entry become 'progr~-1',
 using the hash1 algorithm.
 
   I did a search over the samba archives and noticed some patches and 
   discussions about performance and even about non-compliance between 
   Win9x and WinNT mangling methods. Is there a working* patch to do 
   that kind of stuff? If not, can someone point me to the algorithms
   used by Win9X/NT to do that? Will such a patch be welcome by Samba?
  
  I extendedly tested the w2k alghorithms, that I suppose are the same as
  NT, and they seem to use the 6chars+~1 through ~5 and then they start to
  produce a poor hash based name like prA9BF~1 that is clearly a 2 bytes
  lenght hex representation. The exact alghorithm is not known to me, but
  we tested that it is really poor and prone to lot of name collisions.
  We implemented a new mangling alghorithm for HEAD called hash2 that is
  pretty good. Look at smbd/mangle_hash2.c if you are curious.
 
  About patches they are always welcome, but to be accepted they need to
  address a real problem and get it the right way, what do you have in
  mind exactly?
 
 I just got the sources, and as far as I could see, that's exactly what I 
 was looking for. I will put it in action today.
 
  I have some code for a tdb based persistent mangling db that could help
  but it is not ready yet and broken in little pieces part of new code and
  part of code from an older not very good implementation.
 
 Thanks for your attention, if I feel I will need to use a different scheme
 I will try to give a look at it.
 
 Lucas
-- 
Simo Sorce - [EMAIL PROTECTED]
Xsec s.r.l.
via Durando 10 Ed. G - 20158 - Milano
tel. +39 02 2399 7130 - fax: +39 02 700 442 399



signature.asc
Description: This is a digitally signed message part


mangling scheme

2002-09-08 Thread Lucas Correia Villa Real

Hi,

Recently I did find a little trouble in a program: it creates links
to the most recently used files, but using the not-so-'default' Win9X
mangling scheme, that is, 'program files' becomes 'progra~1' and not
'progr~-1'.
I did a search over the samba archives and noticed some patches and 
discussions about performance and even about non-compliance between 
Win9x and WinNT mangling methods. Is there a working* patch to do 
that kind of stuff? If not, can someone point me to the algorithms
used by Win9X/NT to do that? Will such a patch be welcome by Samba?

Thanks in advance,
Lucas

* performance is not a problem in my target network, so anything will
be really welcome :)