From 909bb7a0551b54a18540b50c5e5159738c76b3c9 Mon Sep 17 00:00:00 2001 From: Shirish Kalele Date: Thu, 9 May 2002 18:58:03 +0000 Subject: Allowing %S in dfs root paths. Other variables in standard_sub_advanced won't resolve correctly in dfs referrals which are done over anonymous IPC$. Also allowing dfs roots to be default services. (This used to be commit 53e91c7a027877184740baf36a6562b57150c1cc) --- source3/msdfs/msdfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source3/msdfs') diff --git a/source3/msdfs/msdfs.c b/source3/msdfs/msdfs.c index e399ad0495..d640496874 100644 --- a/source3/msdfs/msdfs.c +++ b/source3/msdfs/msdfs.c @@ -86,6 +86,7 @@ static BOOL create_conn_struct( connection_struct *conn, int snum, ZERO_STRUCTP(conn); conn->service = snum; conn->connectpath = path; + pstring_sub(conn->connectpath, "%S", lp_servicename(snum)); if (!smbd_vfs_init(conn)) { DEBUG(0,("create_conn_struct: smbd_vfs_init failed.\n")); @@ -365,8 +366,10 @@ BOOL get_referred_path(char *pathname, struct junction_map* jn, /* Verify the share is a dfs root */ snum = lp_servicenumber(jn->service_name); - if(snum < 0) - return False; + if(snum < 0) { + if ((snum = find_service(jn->service_name)) < 0) + return False; + } if (!create_conn_struct(conn, snum, lp_pathname(snum))) return False; -- cgit