summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-03-03 23:14:23 +0000
committerJeremy Allison <jra@samba.org>2004-03-03 23:14:23 +0000
commitf0039da19654f0d75617e96d67054d1d1990515d (patch)
tree475097adff0ea3a895842d9139eb5df769e9934b /source3/smbd/nttrans.c
parentfba5a722497c1e4577aa463921a0fec5f6d5fe55 (diff)
downloadsamba-f0039da19654f0d75617e96d67054d1d1990515d.tar.gz
samba-f0039da19654f0d75617e96d67054d1d1990515d.tar.bz2
samba-f0039da19654f0d75617e96d67054d1d1990515d.zip
Added client "hardlink" commant to test doing NT rename with hard links.
Added hardlink_internals() code - UNIX extensions now use this too. Jeremy. (This used to be commit aad6eb2240393931940c982e25a981ce32264f38)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 9a0063481a..11518c24f7 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -1521,7 +1521,7 @@ int reply_ntrename(connection_struct *conn,
START_PROFILE(SMBntrename);
- if (rename_type != RENAME_FLAG_RENAME) {
+ if ((rename_type != RENAME_FLAG_RENAME) && (rename_type != RENAME_FLAG_HARD_LINK)) {
END_PROFILE(SMBntrename);
return ERROR_NT(NT_STATUS_ACCESS_DENIED);
}
@@ -1551,7 +1551,12 @@ int reply_ntrename(connection_struct *conn,
DEBUG(3,("reply_ntrename : %s -> %s\n",name,newname));
- status = rename_internals(conn, name, newname, attrs, False);
+ if (rename_type == RENAME_FLAG_RENAME) {
+ status = rename_internals(conn, name, newname, attrs, False);
+ } else {
+ status = hardlink_internals(conn, name, newname);
+ }
+
if (!NT_STATUS_IS_OK(status)) {
END_PROFILE(SMBntrename);
return ERROR_NT(status);