Bug 1897 - nmdb_serverlistdb.c - OpenVMS filename restriction workaround.
Summary: nmdb_serverlistdb.c - OpenVMS filename restriction workaround.
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 3.0
Classification: Unclassified
Component: Config Files (show other bugs)
Version: 3.0.7
Hardware: Alpha OpenVMS
: P3 enhancement
Target Milestone: none
Assignee: Samba Bugzilla Account
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-08 19:36 UTC by John Malmberg
Modified: 2010-04-26 03:45 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Malmberg 2004-10-08 19:36:11 UTC
This is for tracking an OpenVMS specific issue.

In nmbd_serverlistdb.c, the new filename is formed by appending a "." character
to the existing filename.

With the OpenVMS ODS-2 filename, such a filename is illegal.  Currently this has
been either resolved by using a wrapper library on the VMS file calls, or by
manually editing the module.

The wrapper libraries are not an optimal solution as the operating system must
fully decode the UNIX path to determine what file system is in use and how to
encode the file.  This is also relatively CPU intensive.

Once the VMS port is converted to use VFS modules, the need in most cases for
special wrapper libraries in SAMBA is gone.

If the current code were changed from:

        pstrcat(fname,SERVER_LIST);
        pstrcpy(fnamenew,fname);
        pstrcat(fnamenew,".");

To:

        pstrcat(fname,SERVER_LIST);
        pstrcpy(fnamenew,fname);
        pstrcat(fnamenew,SERVER_LIST_NEW);

Where SERVER_LIST_NEW would default to the same value as SERVER_LIST with a "."
appended to it, but could be overriden by a value in CONFIG.H.

Another possibility is to have a macro instead of "." defaulting to "." that
could be overridden at build time.

There is a similar issue in debug.c with renaming old debug files.
Comment 1 Stefan Metzmacher 2010-04-26 03:45:48 UTC
If it's still broken in 3.5, please reopen.
3.0 isn't supported anymore.