Displaying 12 results from an estimated 12 matches for "writer_v".
2012 Mar 31
2
[PATCH v6] hivexml: Add byte run reporting functions
...rtions(+), 9 deletions(-)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index 54d9049..a4bc7eb 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -210,11 +210,40 @@ filetime_to_8601 (int64_t windows_ticks)
return ret;
}
+#define BYTE_RUN_BUF_LEN 32
+
+static int
+node_byte_runs (hive_h *h, void *writer_v, hive_node_h node)
+{
+ xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
+ char buf[1+BYTE_RUN_BUF_LEN];
+ errno = 0;
+ size_t node_struct_length = hivex_node_struct_length (h, node);
+ if (errno) {
+ if (errno == EINVAL) {
+ fprintf (stderr, "node_byte_runs: Invoked on what...
2011 Dec 08
1
[hivex] [PATCH 8/8] hivexml: Add byte run reporting functions
...ertions(+), 9 deletions(-)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index d38e9d4..6591c98 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -210,6 +210,34 @@ filetime_to_8601 (int64_t windows_ticks)
return ret;
}
+#define BYTE_RUN_BUF_LEN 32
+
+static int
+node_byte_runs (hive_h *h, void *writer_v, hive_node_h node)
+{
+ xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
+ char buf[1+BYTE_RUN_BUF_LEN];
+ errno = 0;
+ size_t node_struct_length = hivex_node_struct_length (h, node);
+ if (errno) {
+ if (errno == EINVAL) {
+ fprintf (stderr, "node_byte_runs: Invoked on what...
2011 Sep 17
3
[PATCH 1/1] hivexml: Base64-encode non-printable data
...rintable) {
+ fprintf (stderr, "encoding_recommendation: Non-printable character found at data index %zu (c=%i)\n", i, data[i]);
+ break;
+ }
+ }
+
+ return is_printable ? "none" : "base64";
+}
+
+static int
+safe_print_string_attribute (hive_h *h, void *writer_v, const char *attr_name, const char *attr_encoding, const char *attr_data)
+{
+ int ret = 0;
+ char *encoding_to_use = NULL;
+ if (attr_name && attr_data && attr_encoding) {
+ xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
+ encoding_to_use = encoding_recommendation...
2011 Dec 13
1
[hivex] [PATCH 1/1] hivexml: Change value type output to standard names
...t cs.ucsc.edu>
---
xml/hivexml.c | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index d38e9d4..1a75593 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -247,6 +247,32 @@ node_end (hive_h *h, void *writer_v, hive_node_h node, const char *name)
return 0;
}
+/*
+ * Hive type names retrieved from:
+ * https://secure.wikimedia.org/wikipedia/en/wiki/Windows_Registry#Keys_and_values
+ * (Retrieved 2011-10-09)
+ * Caller should not free return value.
+ */
+static char *
+value_type_windows_string (hi...
2011 Sep 02
1
[PATCH 6/7] hivexml: Report attributes in values instead of text.
...n <ajnelson at cs.ucsc.edu>
---
xml/hivexml.c | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index f29c80c..4789dbc 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -199,6 +199,7 @@ node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name)
{
int64_t last_modified;
char *timebuf;
+ int ret = 0;
xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
XML_CHECK (xmlTextWriterStartElement, (writer, BAD_CAST "node"));
@@ -278,7 +279,9 @@ value_string (hive_h *h, void *writer_v,...
2011 Aug 31
1
[PATCH] hivex: Add byte runs for nodes and values
...e *t_rtn, size_t *len_rtn)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index f29c80c..db9cd7d 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -194,11 +194,39 @@ filetime_to_8601 (int64_t windows_ticks)
return ret;
}
+#define BYTE_RUN_BUF_LEN 32
+
+static int
+node_byte_runs (hive_h *h, void *writer_v, hive_node_h node)
+{
+ xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
+ char buf[1+BYTE_RUN_BUF_LEN];
+ size_t node_struct_length = hivex_node_struct_length (h, node);
+ if (errno) {
+ if (errno == EINVAL) {
+ fprintf (stderr, "node_byte_runs: Invoked on what does not seem...
2012 Feb 01
1
[PATCH] hivexml
...int charlen = len;
> + while ((c = xmlGetUTF8Char(string+pos, &charlen)) >= 0) {
> + if (xmlIsCharQ(c) == 0)
> + return 0;
> + pos += charlen;
> + charlen = len - pos;
> + }
> + return 1;
> +}
> +
> +static int
> node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name)
> {
> int64_t last_modified;
> @@ -265,6 +282,20 @@ end_value (xmlTextWriterPtr writer)
> XML_CHECK (xmlTextWriterEndElement, (writer));
> }
>
> +static void
> +start_string(xmlTextWriterPtr writer, const char *encoding)
> +{...
2011 Aug 10
1
[Hivex][PATCH v2] Report last-modified time of hive root and nodes
...value_other) (hive_h *, void *opaque, hive_node_h, hive_value_h, hive_type t, size_t len, const char *key, const char *value);
int (*value_any) (hive_h *, void *opaque, hive_node_h, hive_value_h, hive_type t, size_t len, const char *key, const char *value);
+ int (*node_mtime) (hive_h *h, void *writer_v, hive_node_h node, const char *last_modified);
};
#define HIVEX_VISIT_SKIP_BAD 1
@@ -1134,6 +1135,8 @@ all, set the function pointer to NULL.
*/
int (*value_any) (hive_h *, void *opaque, hive_node_h, hive_value_h,
hive_type t, size_t len, const char *key, const char *value);...
2011 Aug 10
1
[PATCH] Report last-modified time of hive root and nodes
...rWriteAttribute, (writer, BAD_CAST "mtime", BAD_CAST (h->last_modified)));
if (hivex_visit (h, &visitor, sizeof visitor, writer, visit_flags) == -1) {
perror (argv[optind]);
@@ -142,11 +144,16 @@ main (int argc, char *argv[])
}
static int
-node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name)
+node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name, const char *last_modified)
{
xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
XML_CHECK (xmlTextWriterStartElement, (writer, BAD_CAST "node"));
XML_CHECK (xmlTe...
2011 Aug 11
2
[Hivex] [PATCH] Correct 32-bit to 64-bit call
---
generator/generator.ml | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/generator/generator.ml b/generator/generator.ml
index 31478cd..de911f1 100755
--- a/generator/generator.ml
+++ b/generator/generator.ml
@@ -1771,7 +1771,7 @@ static void raise_closed (const char *) Noreturn;
pr " rv = copy_type_value (r, len, t);\n";
pr "
2011 Aug 13
2
[Hivex] [PATCH v3] Report last-modified time of hive root and nodes
...", windows_ticks);
+ goto error_cleanup;
+ }
+ if (strftime (ret, TIMESTAMP_BUF_LEN, "%FT%TZ", &time_tm) == 0)
+ goto error_cleanup;
+ return ret;
+
+error_cleanup:
+ free (ret);
+ ret = NULL;
+error_other:
+ return NULL;
+}
+
static int
node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name)
{
+ int ret = 0;
+ int64_t last_modified;
+ char *timebuf;
+
xmlTextWriterPtr writer = (xmlTextWriterPtr) writer_v;
XML_CHECK (xmlTextWriterStartElement, (writer, BAD_CAST "node"));
XML_CHECK (xmlTextWriterWriteAttribute, (writer, BAD_CAST...
2011 Aug 16
1
[PATCH] hivexml: Add root attribute to the root node
...ed-off-by: Alex Nelson <ajnelson at cs.ucsc.edu>
---
xml/hivexml.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/xml/hivexml.c b/xml/hivexml.c
index 2967ac9..f29c80c 100644
--- a/xml/hivexml.c
+++ b/xml/hivexml.c
@@ -204,6 +204,10 @@ node_start (hive_h *h, void *writer_v, hive_node_h node, const char *name)
XML_CHECK (xmlTextWriterStartElement, (writer, BAD_CAST "node"));
XML_CHECK (xmlTextWriterWriteAttribute, (writer, BAD_CAST "name", BAD_CAST name));
+ if (node == hivex_root (h)) {
+ XML_CHECK (xmlTextWriterWriteAttribute, (writer...