Displaying 19 results from an estimated 19 matches for "yr_rules_destroy".
2016 Nov 21
2
Re: [PATCH v2 2/6] New API: yara_load
...ginning
of the function :)
> +}
> +
> +/* Clean up yara handle on daemon exit. */
> +void yara_finalize (void) __attribute__((destructor));
> +void
> +yara_finalize (void)
> +{
> +  int ret = 0;
  if (!initialized)
    return;
> +
> +  if (rules != NULL) {
> +    yr_rules_destroy (rules);
> +    rules = NULL;
> +  }
> +
> +  ret = yr_finalize ();
> +  if (ret != ERROR_SUCCESS)
> +    perror ("yr_finalize");
> +
> +  initialized = false;
> +}
Thanks,
-- 
Pino Toscano
2016 Nov 09
0
[PATCH v2 2/6] New API: yara_load
...e yara only once. */
+  if (!initialized) {
+    ret = yr_initialize ();
+    if (ret != ERROR_SUCCESS) {
+      reply_with_error ("failed initializing yara");
+      return -1;
+    }
+
+    initialized = true;
+  }
+
+  /* Destroy previously loaded rules. */
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  /* Try to load the rules as compiled.
+   * If their are in source code format, compile them first.
+   */
+  ret = yr_rules_load (tmpfile, &rules);
+  if (ret == ERROR_INVALID_FILE)
+    ret = compile_rules_file (tmpfile);
+
+  unlink (tmpfile);
+
+  retur...
2017 Apr 06
0
[PATCH v6 3/7] New API: yara_load
...f (!initialized) {
+    ret = yr_initialize ();
+    if (ret != ERROR_SUCCESS) {
+      reply_with_error ("failed initializing yara");
+      unlink (tmpfile);
+      return -1;
+    }
+
+    initialized = true;
+  }
+
+  /* Destroy previously loaded rules. */
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  /* Try to load the rules as compiled.
+   * If their are in source code format, compile them first.
+   */
+  ret = yr_rules_load (tmpfile, &rules);
+  if (ret == ERROR_INVALID_FILE)
+    ret = compile_rules_file (tmpfile);
+
+  unlink (tmpfile);
+
+  retur...
2017 Apr 24
0
[PATCH v8 4/8] New API: yara_load
...+  if (!initialized) {
+    r = yr_initialize ();
+    if (r != ERROR_SUCCESS) {
+      reply_with_error ("failed initializing yara");
+      unlink (tmpfile);
+      return -1;
+    }
+
+    initialized = true;
+  }
+
+  /* Destroy previously loaded rules. */
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  /* Try to load the rules as compiled.
+   * If their are in source code format, compile them first.
+   */
+  r = yr_rules_load (tmpfile, &rules);
+  if (r == ERROR_INVALID_FILE)
+    r = compile_rules_file (tmpfile);
+
+  unlink (tmpfile);
+
+  return (r =...
2017 Apr 06
0
[PATCH v6 4/7] New API: yara_destroy
...dex 0d33d83cd..186a330c1 100644
--- a/daemon/yara.c
+++ b/daemon/yara.c
@@ -107,6 +107,20 @@ do_yara_load (void)
   return (ret == ERROR_SUCCESS) ? 0 : -1;
 }
+int
+do_yara_destroy (void)
+{
+  if (rules == NULL) {
+    reply_with_error ("no yara rules loaded");
+    return -1;
+  }
+
+  yr_rules_destroy (rules);
+  rules = NULL;
+
+  return 0;
+}
+
 /* Compile source code rules and load them.
  * Return ERROR_SUCCESS on success, Yara error code type on error.
  */
diff --git a/generator/actions_yara.ml b/generator/actions_yara.ml
index 3e55206ec..9d93d9f11 100644
--- a/generator/actions_yara.ml
++...
2016 Nov 22
0
Re: [PATCH v2 2/6] New API: yara_load
...+/* Clean up yara handle on daemon exit. */
>> +void yara_finalize (void) __attribute__((destructor));
>> +void
>> +yara_finalize (void)
>> +{
>> +  int ret = 0;
>    if (!initialized)
>      return;
>
>> +
>> +  if (rules != NULL) {
>> +    yr_rules_destroy (rules);
>> +    rules = NULL;
>> +  }
>> +
>> +  ret = yr_finalize ();
>> +  if (ret != ERROR_SUCCESS)
>> +    perror ("yr_finalize");
>> +
>> +  initialized = false;
>> +}
> Thanks,
>
>
> _________________________________...
2016 Nov 09
9
[PATCH v2 0/6] Feature: Yara file scanning
v2:
 - Fix yara dependency in packagelist
 - Use pkg-config where available
 - Improve longdesc of yara_load API
 - Fix libyara initialization and finalization
 - Import CLEANUP_FCLOSE
 - Add custom CLEANUP_DESTROY_YARA_COMPILER
 - Add rules compilation error callback
 - Other small fixes according to comments
Matteo Cafasso (6):
  appliance: add yara dependency
  New API: yara_load
  New API:
2016 Nov 02
0
[PATCH 2/6] New API: yara_load
...oad_rules_file (tmpfile);
+  if (ret < 0)
+    return -1;
+
+  ret = yr_initialize ();
+  if (ret != ERROR_SUCCESS) {
+    reply_with_error ("failed initializing yara");
+    unlink (tmpfile);
+    return -1;
+  }
+
+  /* Destroy previously loaded rules. */
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  /* Try to load the rules as compiled.
+   * If their are in source code format, compile them first.
+   */
+  ret = yr_rules_load (tmpfile, &rules);
+  if (ret == ERROR_INVALID_FILE)
+    ret = compile_rules_file (tmpfile);
+
+  unlink (tmpfile);
+
+  if (r...
2016 Nov 02
8
[PATCH 0/6] Feature: Yara file scanning
Yara is a rule based scanning engine aimed to help malware analysts in finding and classifying interesting samples.
https://github.com/VirusTotal/yara
This series adds Yara support to Libguestfs allowing to upload sets of rules and scanning files against them.
Currently provided APIs:
 - yara_load: loads a set of rules
 - yara_destroy: free resources allocated by loaded rules
 - yara_scan:
2017 Apr 06
14
[PATCH v6 0/7] Feature: Yara file scanning
v6:
- use new test functions
- fix yara_detection struct field names
- revert yara_load function to initial version
With Pino we were exploring the idea of allowing Users to load multiple
rule files with subsequent calls to yara_load API.
https://www.redhat.com/archives/libguestfs/2016-November/msg00119.html
It turns out impractical due to YARA API limitations. It is possible
to load multiple
2017 Apr 25
8
[PATCH v9 0/7] Feature: Yara file scanning
v9:
- fixes according to comments
Matteo Cafasso (7):
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in                 |   4 +
 configure.ac                             |   1 +
 daemon/Makefile.am                       |   4 +-
2017 Mar 12
0
[PATCH v4 3/7] New API: yara_load
...fprintf (stderr, "Yara warning (line %d): %s\n", line, message);
+}
+
+/* Clean up yara handle on daemon exit. */
+void yara_finalize (void) __attribute__((destructor));
+
+void
+yara_finalize (void)
+{
+  int ret = 0;
+
+  if (!initialized)
+    return;
+
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  ret = yr_finalize ();
+  if (ret != ERROR_SUCCESS)
+    perror ("yr_finalize");
+
+  initialized = false;
+}
+
+static void
+cleanup_destroy_yara_compiler (void *ptr)
+{
+  YR_COMPILER *compiler = * (YR_COMPILER **) ptr;
+
+  if (compiler != NULL)
+...
2017 Mar 12
8
[PATCH v4 0/7] Feature: Yara file scanning
Rebase patches on top of 1.37.1.
No changes since last series.
Matteo Cafasso (7):
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in                 |   4 +
 configure.ac                             |   1 +
 daemon/Makefile.am  
2017 Apr 24
10
[PATCH v8 0/8] Feature: Yara file scanning
v8:
- Ignore returned value in daemon/upload.c
- Report serialization errors in lib/yara.c
Matteo Cafasso (8):
  daemon: ignore unused return value in upload function
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in            
2017 Apr 23
11
[PATCH v7 0/7] Feature: Yara file scanning
v7:
- Fixes according to comments
- Rebase on top of 1.37.12
Matteo Cafasso (7):
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in                 |   4 +
 configure.ac                             |   1 +
 daemon/Makefile.am    
2016 Dec 18
6
[PATCH v3 0/6] Feature: Yara file scanning
v3:
 - allow to load multiple rule files
 - added optional namespace parameter to yara_load
 - move destructor logic in yara module
 - use generic file upload logic
 - use generic temporary path function
Matteo Cafasso (6):
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
2017 Apr 04
0
[PATCH v5 3/7] New API: yara_load
...fprintf (stderr, "Yara warning (line %d): %s\n", line, message);
+}
+
+/* Clean up yara handle on daemon exit. */
+void yara_finalize (void) __attribute__((destructor));
+
+void
+yara_finalize (void)
+{
+  int ret = 0;
+
+  if (!initialized)
+    return;
+
+  if (rules != NULL) {
+    yr_rules_destroy (rules);
+    rules = NULL;
+  }
+
+  ret = yr_finalize ();
+  if (ret != ERROR_SUCCESS)
+    perror ("yr_finalize");
+
+  initialized = false;
+}
+
+static void
+cleanup_destroy_yara_compiler (void *ptr)
+{
+  YR_COMPILER *compiler = * (YR_COMPILER **) ptr;
+
+  if (compiler != NULL)
+...
2017 Feb 19
9
[PATCH v3 0/7] Feature: Yara file scanning
Rebase patches on top of 1.35.25.
No changes since last series.
Matteo Cafasso (7):
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in                 |   4 +
 configure.ac                             |   1 +
 daemon/Makefile.am 
2017 Apr 04
13
[PATCH v5 0/7] Feature: Yara file scanning
v5:
- rebase on top of 1.37.9
- add missing actions_yara.* files
Matteo Cafasso (7):
  daemon: expose file upload logic
  appliance: add yara dependency
  New API: yara_load
  New API: yara_destroy
  New API: internal_yara_scan
  New API: yara_scan
  yara_scan: added API tests
 appliance/packagelist.in                 |   4 +
 configure.ac                             |   1 +
 daemon/Makefile.am