summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-01-17 16:23:45 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:13 -0500
commit940192ddcc9d23e3bec806b4419d5845eeac0fd0 (patch)
tree60d01078e1fd8f017e5245179d99a7b1bc8b6a12 /source3/smbd/reply.c
parentb385a40f592ae7e9962f4034e9cbe66352681e2c (diff)
downloadsamba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.tar.gz
samba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.tar.bz2
samba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.zip
r20854: Ok, now I think we're at a point where looking at notify starts to make sense
again :-) Volker (This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 2d11b3db98..4d139be98f 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1857,6 +1857,8 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
if (SMB_VFS_UNLINK(conn,directory) == 0) {
count++;
+ notify_fname(conn, directory, -1,
+ NOTIFY_ACTION_REMOVED);
}
} else {
struct smb_Dir *dir_hnd = NULL;
@@ -1913,9 +1915,14 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
if (!NT_STATUS_IS_OK(status)) {
continue;
}
- if (SMB_VFS_UNLINK(conn,fname) == 0)
+ if (SMB_VFS_UNLINK(conn,fname) == 0) {
count++;
- DEBUG(3,("unlink_internals: succesful unlink [%s]\n",fname));
+ DEBUG(3,("unlink_internals: succesful unlink "
+ "[%s]\n",fname));
+ notify_action(conn, directory, dname,
+ -1, NOTIFY_ACTION_REMOVED);
+ }
+
}
CloseDir(dir_hnd);
}
@@ -3779,6 +3786,18 @@ BOOL rmdir_internals(connection_struct *conn, const char *directory)
return False;
}
+ {
+ char *parent_dir;
+ const char *dirname;
+
+ if (parent_dirname_talloc(tmp_talloc_ctx(), directory,
+ &parent_dir, &dirname)) {
+ notify_action(conn, parent_dir, dirname, -1,
+ NOTIFY_ACTION_REMOVED);
+ TALLOC_FREE(parent_dir); /* Not strictly necessary */
+ }
+ }
+
return True;
}