Add support for passing the max_referral_level into the cli call to get a DFS referra...
[samba.git] / source3 / libsmb / clidfs.c
index 207b3240f5e820ee990ec953878e961b94c025e5..b740007f675348f5f40b452483d06ae30f8c242d 100644 (file)
@@ -662,9 +662,10 @@ static bool cli_dfs_check_error(struct cli_state *cli, NTSTATUS expected,
  Get the dfs referral link.
 ********************************************************************/
 
-NTSTATUS cli_dfs_get_referral(TALLOC_CTX *ctx,
+NTSTATUS cli_dfs_get_referral_ex(TALLOC_CTX *ctx,
                        struct cli_state *cli,
                        const char *path,
+                       uint16_t max_referral_level,
                        struct client_dfs_referral **refs,
                        size_t *num_refs,
                        size_t *consumed)
@@ -691,7 +692,7 @@ NTSTATUS cli_dfs_get_referral(TALLOC_CTX *ctx,
                status = NT_STATUS_NO_MEMORY;
                goto out;
        }
-       SSVAL(param, 0, 0x03);  /* max referral level */
+       SSVAL(param, 0, max_referral_level);
 
        param = trans2_bytes_push_str(param, smbXcli_conn_use_unicode(cli->conn),
                                      path, strlen(path)+1,
@@ -857,6 +858,22 @@ NTSTATUS cli_dfs_get_referral(TALLOC_CTX *ctx,
        return status;
 }
 
+NTSTATUS cli_dfs_get_referral(TALLOC_CTX *ctx,
+                       struct cli_state *cli,
+                       const char *path,
+                       struct client_dfs_referral **refs,
+                       size_t *num_refs,
+                       size_t *consumed)
+{
+       return cli_dfs_get_referral_ex(ctx,
+                               cli,
+                               path,
+                               3,
+                               refs, /* Max referral level we want */
+                               num_refs,
+                               consumed);
+}
+
 /********************************************************************
 ********************************************************************/
 struct cli_dfs_path_split {