s3-vfstest: Fake smb_requests
authorVolker Lendecke <vl@samba.org>
Mon, 20 Feb 2012 15:28:14 +0000 (16:28 +0100)
committerVolker Lendecke <vl@samba.org>
Wed, 22 Feb 2012 16:32:24 +0000 (17:32 +0100)
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Wed Feb 22 17:32:28 CET 2012 on sn-devel-104

source3/torture/vfstest.c
source3/torture/vfstest.h

index 6e25b34dee02de7602cf8370d203865a70abc30e..53b5ee99d9d68bcaf1480757d173cb1fe3bdca1d 100644 (file)
@@ -416,6 +416,30 @@ void exit_server_cleanly(const char *const reason)
        exit_server("normal exit");
 }
 
+struct smb_request *vfstest_get_smbreq(TALLOC_CTX *mem_ctx,
+                                      struct vfs_state *vfs)
+{
+       struct smb_request *result;
+
+       result = talloc_zero(mem_ctx, struct smb_request);
+       if (result == NULL) {
+               return NULL;
+       }
+       result->sconn = vfs->conn->sconn;
+       result->mid = ++vfs->mid;
+
+       result->inbuf = talloc_array(result, uint8_t, smb_size);
+       if (result->inbuf == NULL) {
+               goto fail;
+       }
+       SSVAL(result->inbuf, smb_mid, result->mid);
+       smb_setlen(result->inbuf, smb_size-4);
+       return result;
+fail:
+       TALLOC_FREE(result);
+       return NULL;
+}
+
 /* Main function */
 
 int main(int argc, char *argv[])
index 0d71facea9c702100637362e58ac26a516162310..0c57d5633a666faf754051f1464cf7258d91382e 100644 (file)
@@ -29,12 +29,16 @@ struct func_entry {
 
 struct vfs_state {
        struct connection_struct *conn;
+       uint64_t mid;
        struct files_struct *files[1024];
        DIR *currentdir;
        void *data;
        size_t data_size;
 };
 
+struct smb_request *vfstest_get_smbreq(TALLOC_CTX *mem_ctx,
+                                      struct vfs_state *vfs);
+
 struct cmd_set {
        const char *name;
        NTSTATUS (*fn)(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,