Opened 10 years ago

Closed 10 years ago

#122 closed defect (fixed)

Truncated server names in EVFSGUI

Reported by: Mensys via herwigb Owned by: herwigb
Priority: minor Milestone:
Component: Samba Client GUI Version: Samba Client GUI (EVFSGUI) 2.0
Keywords: Cc:

Description

I guess you can understand most of this... I guess the problems are due to incorrect handling of names over 13 chars long.


Subject: samba Date: Thu, 21 Jan 2010 11:01:06 +0100 Organization: Mensys

Vrienden, ik hoop dat jullie hier wat aan hebben.

Uitgangssituatie:

  • VPC als Guest op eCS Host machine
  • Naam VPC "server" is CNV-E9E15EB4AB4 (VPC van Aland afkomstig :))
  • Nieuwste Samba EVFS Gui + executables

Wat zie ik:

  1. *Network neighbourhood browsing* met EVFS GUI levert een server op met de naam CNV-E9E15EB4A Mounting lukt niet, omdat 2 karakters van de servernaam "are missing".
  2. In de DIALOOG view levert "Alle shares on Server" met de volledige *servernaam* handmatig ingevuld /(CNV-E9E15EB4AB4)/ wel een goed resultaat.
  3. In de DIALOOG view levert "All Servers" in werkgroep met de juiste *werkgroepnaam* ingevuld ook een goed resultaat. In de OS/2 "drive view" zie je ook alle karakters van de Servernaam (zie screensshot 003)!

Zie verder bijgevoegde screencaptures. Lijkt erop dat het browsen in de EVFS GUI een "truncated" servernaam oplevert. --

Met Vriendelijke groet, kind regards, Gerrit Schoenmaker - Product Manager NetOp? Software -- Kind regards / met vriendelijke groet,

Joachim Benjamins

Attachments (3)

samba001.jpg (64.6 KB) - added by herwigb 10 years ago.
screenshot 1
samba002.jpg (85.2 KB) - added by herwigb 10 years ago.
Screenshot 2
samba003.jpg (150.7 KB) - added by herwigb 10 years ago.
Screenshot 3

Download all attachments as: .zip

Change History (4)

Changed 10 years ago by herwigb

screenshot 1

Changed 10 years ago by herwigb

Screenshot 2

Changed 10 years ago by herwigb

Screenshot 3

comment:1 Changed 10 years ago by herwigb

  • Resolution set to fixed
  • Status changed from new to closed

Regarding the problem with the truncated servername:

  1. I used the length limits for servers and shares valid for Win95/98 and also IBM Peer systems - that triggered the problem Gerrit was seeing.
  2. I removed these limits in EVFSGUI code, as basically there is no need to enforce them - neither Samba nor modern Windows variants have these limits anymore.

After doing that, I did some more testing on theoretical lengths for workgroup, server, machine and share name lengths and came to a point when suddenly EVFSGUI stopped working properly. Obviously I found another problem. I tracked it down and this one is much harder to fix (especially it cannot be done by me):

If the length of workgroup(domain), server, share, username and password together exceed the number of 52 characters, we have a problem, as the EVFSRxGetMount() function from the EVFS Rexx interface returns a maximum string length of 255 characters. In the above condition the string would be longer than 255 characters and is truncated. EVFSGUI completely fell over such a truncated string.

Note that workgroup, server, share and username occur twice in the string, so by shortening one of these by 1 character will give effectively more 2 characters in the string.

Example: I triggered the problem by using workgroup of 14 chars, a servername of 15 and a share name of 21, using a 4 char username and 4 char password, this produces a theoretical string length of 261, being truncated to 255. Read/write access information is lost completely, EA support token is truncated. 14+15+21+4+4-6=52.

I implemented several workarounds to prevent EVFSGUI from falling over, however these are workarounds and no fixes (EA support and Read/Write? access are set to default values in such a condition). In addition a warning is displayed in the debug console.

The older EVFSGUI 1.3.x suffers from the same problem.

You will be able to connect and use the connection successfully, however saving a profile and restoring later will have unpredictable results.

Thought for a fix in evfscall.dll (the REXX DLL for EVFS): I am not sure whether the length of the returned string could be extended for the EVFSRxGetMount() function, but there is one rather easy way to at least get 9 more characters: The MEMLEN=x token, which was used for the ndpsmb.dll 1.0 plugin, is not used anymore in 1.5 and could very likely savely be removed from the return string.

Note: See TracTickets for help on using tickets.