Displaying 20 results from an estimated 43 matches for "tsk_walk_error".
2016 Jul 04
1
Re: [PATCH 1/2] filesystem_walk: more information into tsk_dirent
...> int ret = 0;
> CLEANUP_FREE char *fname = NULL;
> + CLEANUP_FREE char *flink = NULL;
> struct guestfs_int_tsk_dirent dirent;
>
> /* Ignore ./ and ../ */
> @@ -122,20 +124,38 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
> return TSK_WALK_ERROR;
> }
>
> + /* Set dirent fields */
> + memset (&dirent, 0, sizeof dirent);
> +
> dirent.tsk_inode = fsfile->name->meta_addr;
> dirent.tsk_type = file_type (fsfile);
> dirent.tsk_size = (fsfile->meta != NULL) ? fsfile->meta->size : -1;
>...
2016 Jul 03
4
[PATCH 0/2] More information reported by filesystem_walk
Report access, modification, status update and creation time in Unix format.
Report number of links pointing to a given entry.
If the entry is a symbolic link, report the path of its target.
If the filesystem supports native/transparent compression, report compressed
files with dedicated flag (DIRENT_COMPRESSED 0x04).
Matteo Cafasso (2):
filesystem_walk: more information into tsk_dirent
2016 Aug 25
0
[PATCH v2 2/6] daemon: refactor tsk code
...MG_INFO **img, TSK_FS_INFO **fs)
}
/* Filesystem walk callback, it gets called on every FS node.
- * Parse the node, encode it into an XDR structure and send it to the appliance.
+ * Parse the node, encode it into an XDR structure and send it to the library.
* Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
*/
static TSK_WALK_RET_ENUM
fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
{
int ret = 0;
- CLEANUP_FREE char *fname = NULL;
- struct guestfs_int_tsk_dirent dirent;
if (entry_is_dot(fsfile))
return TSK_WALK_CONT;
+ ret = send_dirent_info (fsfile...
2016 Jul 03
0
[PATCH 1/2] filesystem_walk: more information into tsk_dirent
...fsfile, const char *path, void *data)
{
int ret = 0;
CLEANUP_FREE char *fname = NULL;
+ CLEANUP_FREE char *flink = NULL;
struct guestfs_int_tsk_dirent dirent;
/* Ignore ./ and ../ */
@@ -122,20 +124,38 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return TSK_WALK_ERROR;
}
+ /* Set dirent fields */
+ memset (&dirent, 0, sizeof dirent);
+
dirent.tsk_inode = fsfile->name->meta_addr;
dirent.tsk_type = file_type (fsfile);
dirent.tsk_size = (fsfile->meta != NULL) ? fsfile->meta->size : -1;
dirent.tsk_name = fname;
dirent.tsk_flag...
2016 Sep 20
0
[PATCH v3 1/3] New API: internal_find_block
...>close (fs);
+ img->close (img);
+
+ return ret;
+}
+
/* Inspect the device and initialises the img and fs structures.
* Return 0 on success, -1 on error.
*/
@@ -172,6 +209,60 @@ findino_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR;
}
+/* Find block, it gets called on every FS node.
+ *
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+findblk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
+{
+ findblk_data blkdata;
+ const TSK_FS_ATTR *fsattr = NULL;
+ int ret =...
2016 Jul 04
1
[PATCH] filesystem_walk: more information into tsk_dirent
...SK_FS_FILE *fsfile);
+static int file_metadata (TSK_FS_META *, guestfs_int_tsk_dirent *);
static int send_dirent_info (guestfs_int_tsk_dirent *);
static void reply_with_tsk_error (const char *);
@@ -122,19 +124,24 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return TSK_WALK_ERROR;
}
+ /* Set dirent fields */
+ memset (&dirent, 0, sizeof dirent);
+
dirent.tsk_inode = fsfile->name->meta_addr;
dirent.tsk_type = file_type (fsfile);
- dirent.tsk_size = (fsfile->meta != NULL) ? fsfile->meta->size : -1;
dirent.tsk_name = fname;
dirent.tsk_flag...
2016 Aug 26
6
[PATCH v3 0/6] New API: find_inode
v3:
- coding style fixes
- comment entry_is_dot logic
Matteo Cafasso (6):
filesystem_walk: fixed root inode listing
daemon: refactor tsk code
lib: rename tsk internal function
New API: internal_find_inode
New API: find_inode
find_inode: added API tests
daemon/tsk.c | 157 ++++++++++++++++++++++++++++++-------------
generator/actions.ml | 21 ++++++
2016 Aug 26
6
[PATCH v4 0/6] New API: find_inode
v4:
- refactor entry_is_dot
My apologies for the duplicated submission but I did not read the next e-mail.
The tsk_fs_dir_walk API will list all the entries including '.' and '..'
in a similar manner as for 'ls -a'.
This means our callback will be called for the following entries:
. <-- the Root entry
etc/.
etc/.. <-- again the Root entry
etc/systemd/.
2016 Sep 15
9
[PATCH v5 0/6] New API - find_inode
v5:
- small doc fix: filesystem_walk claimed '.' and '..' entries were
not reported but Root is now reported as '.'
- bump to 1.35.6
Matteo Cafasso (6):
filesystem_walk: fixed root inode listing
daemon: refactor tsk code
lib: rename tsk internal function
New API: internal_find_inode
New API: find_inode
find_inode: added API tests
daemon/tsk.c
2016 Sep 16
7
[PATCH v6 0/6] New API - find_inode
This series should be ready for merge
v6:
- rebase on master
- changes according to last comments
Matteo Cafasso (6):
filesystem_walk: fixed root inode listing
daemon: refactor tsk code
lib: rename tsk internal function
New API: internal_find_inode
New API: find_inode
find_inode: added API tests
daemon/tsk.c | 155 ++++++++++++++++++++++++++++++-------------
2016 Sep 15
0
[PATCH v5 4/6] New API: internal_find_inode
...->close (fs);
+ img->close (img);
+
+ return ret;
+}
+
/* Inspect the device and initialises the img and fs structures.
* Return 0 on success, -1 on error.
*/
@@ -120,6 +150,28 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR;
}
+/* Find inode, it gets called on every FS node.
+ * If the FS node address is the given one, parse it,
+ * encode it into an XDR structure and send it to the library.
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+findino_callback (TSK_FS_FILE *...
2016 Aug 25
0
[PATCH v2 4/6] New API: internal_find_inode
...->close (fs);
+ img->close (img);
+
+ return ret;
+}
+
/* Inspect the device and initialises the img and fs structures.
* Return 0 on success, -1 on error.
*/
@@ -120,6 +150,28 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR;
}
+/* Find inode, it gets called on every FS node.
+ * If the FS node address is the given one, parse it,
+ * encode it into an XDR structure and send it to the library.
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+findino_callback (TSK_FS_FILE *...
2016 Aug 24
0
[PATCH 1/3] New API: internal_find_inode
...n error.
*/
@@ -141,6 +171,51 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return ret;
}
+/* Find inode callback, it gets called on every FS node.
+ * Parse the node, encode it into an XDR structure and send it to the appliance.
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+ifind_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
+{
+ int ret = 0;
+ CLEANUP_FREE char *fname = NULL;
+ uint64_t *inode = (uint64_t *) data;
+ struct guestfs_int_tsk_dirent dirent;
+
+ if (*inode != fsfile->name->meta_addr)
+...
2016 Sep 17
0
[PATCH 1/4] New API: internal_find_block
...t;close (fs);
+ img->close (img);
+
+ return ret;
+}
+
+
/* Inspect the device and initialises the img and fs structures.
* Return 0 on success, -1 on error.
*/
@@ -172,6 +209,58 @@ findino_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR;
}
+/* Find block, it gets called on every FS node.
+ *
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+findblk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
+{
+ findblk_data blkdata;
+ const TSK_FS_ATTR *fsattr = NULL;
+ int ret =...
2016 Sep 19
0
[PATCH v2 1/3] New API: internal_find_block
...t;close (fs);
+ img->close (img);
+
+ return ret;
+}
+
+
/* Inspect the device and initialises the img and fs structures.
* Return 0 on success, -1 on error.
*/
@@ -172,6 +210,58 @@ findino_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
return (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR;
}
+/* Find block, it gets called on every FS node.
+ *
+ * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
+ */
+static TSK_WALK_RET_ENUM
+findblk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
+{
+ findblk_data blkdata;
+ const TSK_FS_ATTR *fsattr = NULL;
+ int ret =...
2016 Aug 25
10
[PATCH v2 0/6] New API: find_inode
v2:
- refactor logic to reduce code duplication
- better functions naming
Matteo Cafasso (6):
filesystem_walk: fixed root inode listing
daemon: refactor tsk code
lib: rename tsk internal function
New API: internal_find_inode
New API: find_inode
find_inode: added API tests
daemon/tsk.c | 156 ++++++++++++++++++++++++++++++-------------
generator/actions.ml
2016 Sep 20
5
[PATCH v3 0/3] New API - find_block
v3:
- fixed attribute walk callback: checking against TSK_FS_BLOCK_FLAG_RAW flag would
exclude compressed data blocks which are still important.
Yet we want to exclude sparse blocks (TSK_FS_BLOCK_FLAG_SPARSE) as they are not stored
on the disk.
Matteo Cafasso (3):
New API: internal_find_block
New API: find_block
find_block: added API tests
daemon/tsk.c | 91
2016 Apr 04
2
Re: [PATCH v2 3/5] daemon: Added internal_filesystem_walk command
...; + (*img)->close (*img);
> + return -1;
> + }
> +
> + return 0;
> +}
> +
> +/* Filesystem walk callback, it gets called on every FS node.
> + * Parse the node, encode it into an XDR structure and send it to the appliance.
> + * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
> + */
> +static TSK_WALK_RET_ENUM
> +fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data)
> +{
> + int ret = 0;
> + CLEANUP_FREE char *fname = NULL;
> + struct guestfs_int_tsk_dirent dirent;
> +
> + /* Ignore ./ and ../ */
> + ret = TSK_F...
2016 Oct 08
5
[PATCH v4 0/3] New API - find_block
Patch ready for merging.
v4:
- check return code of tsk_fs_attr_walk
- pass TSK_FS_FILE_WALK_FLAG_NOSPARSE as additional flag to tsk_fs_attr_walk
After discussing with TSK authors the behaviour is clear. [1]
In case of COMPRESSED blocks, the callback will be called for all the attributes no matter whether they are on disk or not (sparse). In such cases, the block address will be 0. [2]
So
2016 Sep 23
1
Re: [PATCH v3 1/3] New API: internal_find_block
...amp; TSK_FS_ATTR_NONRES)
> + tsk_fs_attr_walk (fsattr, flags, attrwalk_callback, (void *) &blkdata);
The return code of tsk_fs_attr_walk must be checked.
> +/* Attribute walk, searches the given block within the FS node attributes.
> + *
> + * Return TSK_WALK_CONT on success, TSK_WALK_ERROR on error.
> + */
> +static TSK_WALK_RET_ENUM
> +attrwalk_callback (TSK_FS_FILE *fsfile, TSK_OFF_T offset,
> + TSK_DADDR_T blkaddr, char *buf, size_t size,
> + TSK_FS_BLOCK_FLAG_ENUM flags, void *data)
> +{
> + findblk_data *blkdata = (findbl...