Stratus VOS port status and issue.

David Collier-Brown David.Collier-Brown at canada.sun.com
Fri May 12 17:23:46 GMT 2000


James suggested:
> Have you considered patching dos_to_unix() to convert VOS file paths to
> Unix ones? (i.e. replace %, # and > with /, and vice versa? This looks
> like the "cleanest" place to do it, AFAICS.

Ron Alexander wrote:
> 1. How could you then translate back?
	The translate tables are bi-directional

> 2. Since all those characters are valid in Unix pathnames, why don't they
> have a problem?
	
	I can't see % them being translated to _ anywhere in
	te translate tables: this may be from something
	else.  

 3. I have looked at the code and can not find where % or %s is xlated
to _
 
	Gurus, I see three places that might be the culprit: 

	1) unix_convert() in filename.c whacks everything but
	[A-Z], [a-z], [0-9], "-", "." and "_", but apparently 
	only if it's talking to a printer.  It's heavily used:

  File      Function                   Line
1 nttrans.c reply_ntcreate_and_X        747
unix_convert(fname,conn,0,& 
					bad_path, NULL);
2 nttrans.c call_nt_transact_create    1119 
3 reply.c   reply_chkpth               1029
4 reply.c   reply_getatr               1102
5 reply.c   reply_setatr               1167
1 reply.c   reply_search               1274 
2 reply.c   reply_open                 1535
3 reply.c   reply_open_and_X           1626
4 reply.c   reply_mknew                1749
5 reply.c   reply_ctemp    
1 reply.c   reply_unlink               1918 
2 reply.c   reply_mkdir                3189
3 reply.c   reply_rmdir                3373 
4 reply.c   rename_internals           3500 
1 reply.c   rename_internals           3501
2 reply.c   reply_copy                 3832
3 reply.c   reply_copy                 3833
4 trans2.c  call_trans2open             223
2 trans2.c  call_trans2qfilepathinfo   1311
3 trans2.c  call_trans2qfilepathinfo   1349
4 trans2.c  call_trans2setfilepathinfo 1589
5 trans2.c  call_trans2setfilepathinfo 1619

	Can anyone tell me if this will be used for anything that
isn't a printer that will pass the conn->printer test?


	2) alpha_strcpy() converts everything except alphanumerics to '_'
	but it's only used in msg_deliver()

	3) do_compile() initializes all its unicode maps to '_' first...


	Suggestions?

--dave
-- 
David Collier-Brown,  | Always do right. This will gratify some people
185 Ellerslie Ave.,   | and astonish the rest.        -- Mark Twain
Willowdale, Ontario   | //www.oreilly.com/catalog/samba/author.html
Work: (905) 415-2849 Home: (416) 223-8968 Email: davecb at canada.sun.com


More information about the samba-technical mailing list