Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hyperscan for openSUSE:Factory 
checked in at 2023-05-28 19:23:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyperscan (Old)
 and      /work/SRC/openSUSE:Factory/.hyperscan.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyperscan"

Sun May 28 19:23:50 2023 rev:11 rq:1089429 version:5.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyperscan/hyperscan.changes      2023-02-23 
16:54:30.341518316 +0100
+++ /work/SRC/openSUSE:Factory/.hyperscan.new.1533/hyperscan.changes    
2023-05-28 19:24:15.089465165 +0200
@@ -1,0 +2,12 @@
+Sun May 28 09:29:08 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 5.4.2:
+  * Roll back bugfix for github issue #350: Besides using scratch
+    for corresponding database, Hyperscan also allows user to use
+    larger scratch allocated for another database. Users can
+    leverage this property to achieve safe scratch usage in
+    multi-database scenarios. Behaviors beyond these are
+    discouraged and results are undefined.
+  * Fix hsdump issue due to invalid nfa type.
+
+-------------------------------------------------------------------

Old:
----
  hyperscan-5.4.1.tar.gz

New:
----
  hyperscan-5.4.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hyperscan.spec ++++++
--- /var/tmp/diff_new_pack.HrTa98/_old  2023-05-28 19:24:15.449467307 +0200
+++ /var/tmp/diff_new_pack.HrTa98/_new  2023-05-28 19:24:15.453467331 +0200
@@ -19,7 +19,7 @@
 %define _lto_cflags %{nil}
 %define sover 5
 Name:           hyperscan
-Version:        5.4.1
+Version:        5.4.2
 Release:        0
 Summary:        Regular expression matching library
 License:        BSD-3-Clause

++++++ hyperscan-5.4.1.tar.gz -> hyperscan-5.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/CHANGELOG.md 
new/hyperscan-5.4.2/CHANGELOG.md
--- old/hyperscan-5.4.1/CHANGELOG.md    2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/CHANGELOG.md    2023-04-19 11:34:39.000000000 +0200
@@ -2,6 +2,14 @@
 
 This is a list of notable changes to Hyperscan, in reverse chronological order.
 
+## [5.4.2] 2023-04-19
+- Roll back bugfix for github issue #350: Besides using scratch for
+  corresponding database, Hyperscan also allows user to use larger scratch
+  allocated for another database. Users can leverage this property to achieve
+  safe scratch usage in multi-database scenarios. Behaviors beyond these are
+  discouraged and results are undefined.
+- Fix hsdump issue due to invalid nfa type.
+
 ## [5.4.1] 2023-02-20
 - The Intel Hyperscan team is pleased to provide a bug fix release to our open 
source library.
   Intel also maintains an upgraded version available through your Intel sales 
representative.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/CMakeLists.txt 
new/hyperscan-5.4.2/CMakeLists.txt
--- old/hyperscan-5.4.1/CMakeLists.txt  2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/CMakeLists.txt  2023-04-19 11:34:39.000000000 +0200
@@ -3,7 +3,7 @@
 
 set (HS_MAJOR_VERSION 5)
 set (HS_MINOR_VERSION 4)
-set (HS_PATCH_VERSION 1)
+set (HS_PATCH_VERSION 2)
 set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION})
 
 set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/hs.h new/hyperscan-5.4.2/src/hs.h
--- old/hyperscan-5.4.1/src/hs.h        2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/hs.h        2023-04-19 11:34:39.000000000 +0200
@@ -43,7 +43,7 @@
 
 #define HS_MAJOR      5
 #define HS_MINOR      4
-#define HS_PATCH      1
+#define HS_PATCH      2
 
 #include "hs_compile.h"
 #include "hs_runtime.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/nfa/nfa_dump_dispatch.cpp 
new/hyperscan-5.4.2/src/nfa/nfa_dump_dispatch.cpp
--- old/hyperscan-5.4.1/src/nfa/nfa_dump_dispatch.cpp   2023-02-22 
00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/nfa/nfa_dump_dispatch.cpp   2023-04-19 
11:34:39.000000000 +0200
@@ -75,7 +75,6 @@
         DISPATCH_CASE(LBR_NFA_VERM, LbrVerm, dbnt_func);                       
\
         DISPATCH_CASE(LBR_NFA_NVERM, LbrNVerm, dbnt_func);                     
\
         DISPATCH_CASE(LBR_NFA_SHUF, LbrShuf, dbnt_func);                       
\
-        DISPATCH_CASE(LBR_NFA_VSHUF, LbrVShuf, dbnt_func);                     
\
         DISPATCH_CASE(LBR_NFA_TRUF, LbrTruf, dbnt_func);                       
\
         DISPATCH_CASE(CASTLE_NFA, Castle, dbnt_func);                          
\
         DISPATCH_CASE(SHENG_NFA, Sheng, dbnt_func);                            
\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/runtime.c 
new/hyperscan-5.4.2/src/runtime.c
--- old/hyperscan-5.4.1/src/runtime.c   2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/runtime.c   2023-04-19 11:34:39.000000000 +0200
@@ -90,7 +90,7 @@
  * callers.
  */
 static really_inline
-char validScratch(const struct hs_scratch *s, u32 crc) {
+char validScratch(const struct RoseEngine *t, const struct hs_scratch *s) {
     if (!ISALIGNED_CL(s)) {
         DEBUG_PRINTF("bad alignment %p\n", s);
         return 0;
@@ -101,12 +101,18 @@
         return 0;
     }
 
-    /* add quick rose sanity checks by db crc*/
-    if (s->db_crc != crc) {
-        DEBUG_PRINTF("Improper scratch for current db\n");
+    if (t->mode == HS_MODE_BLOCK && t->stateOffsets.end > s->bStateSize) {
+        DEBUG_PRINTF("bad state size\n");
         return 0;
     }
 
+    if (t->queueCount > s->queueCount) {
+        DEBUG_PRINTF("bad queue count\n");
+        return 0;
+    }
+
+    /* TODO: add quick rose sanity checks */
+
     return 1;
 }
 
@@ -329,7 +335,7 @@
         return HS_DB_MODE_ERROR;
     }
 
-    if (unlikely(!validScratch(scratch, db->crc32))) {
+    if (unlikely(!validScratch(rose, scratch))) {
         return HS_INVALID;
     }
 
@@ -503,7 +509,7 @@
 
 static really_inline
 void init_stream(struct hs_stream *s, const struct RoseEngine *rose,
-                 char init_history, u32 crc) {
+                 char init_history) {
     char *state = getMultiState(s);
 
     if (init_history) {
@@ -518,7 +524,6 @@
 
     s->rose = rose;
     s->offset = 0;
-    s->crc32 = crc;
 
     setStreamStatus(state, 0);
     roseInitState(rose, state);
@@ -563,7 +568,7 @@
         return HS_NOMEM;
     }
 
-    init_stream(s, rose, 1, db->crc32);
+    init_stream(s, rose, 1);
 
     *stream = s;
     return HS_SUCCESS;
@@ -751,7 +756,7 @@
     }
 
     if (onEvent) {
-        if (!scratch || !validScratch(scratch, to_id->crc32)) {
+        if (!scratch || !validScratch(to_id->rose, scratch)) {
             return HS_INVALID;
         }
         if (unlikely(markScratchInUse(scratch))) {
@@ -977,7 +982,7 @@
                                    hs_scratch_t *scratch,
                                    match_event_handler onEvent, void *context) 
{
     if (unlikely(!id || !scratch || !data ||
-                 !validScratch(scratch, id->crc32))) {
+                 !validScratch(id->rose, scratch))) {
         return HS_INVALID;
     }
 
@@ -999,7 +1004,7 @@
     }
 
     if (onEvent) {
-        if (!scratch || !validScratch(scratch, id->crc32)) {
+        if (!scratch || !validScratch(id->rose, scratch)) {
             return HS_INVALID;
         }
         if (unlikely(markScratchInUse(scratch))) {
@@ -1029,7 +1034,7 @@
     }
 
     if (onEvent) {
-        if (!scratch || !validScratch(scratch, id->crc32)) {
+        if (!scratch || !validScratch(id->rose, scratch)) {
             return HS_INVALID;
         }
         if (unlikely(markScratchInUse(scratch))) {
@@ -1044,7 +1049,7 @@
     }
 
     // history already initialised
-    init_stream(id, id->rose, 0, id->crc32);
+    init_stream(id, id->rose, 0);
 
     return HS_SUCCESS;
 }
@@ -1123,7 +1128,7 @@
         return HS_DB_MODE_ERROR;
     }
 
-    if (unlikely(!validScratch(scratch, db->crc32))) {
+    if (unlikely(!validScratch(rose, scratch))) {
         return HS_INVALID;
     }
 
@@ -1133,7 +1138,7 @@
 
     hs_stream_t *id = (hs_stream_t *)(scratch->bstate);
 
-    init_stream(id, rose, 1, db->crc32); /* open stream */
+    init_stream(id, rose, 1); /* open stream */
 
     for (u32 i = 0; i < count; i++) {
         DEBUG_PRINTF("block %u/%u offset=%llu len=%u\n", i, count, id->offset,
@@ -1248,7 +1253,7 @@
     const struct RoseEngine *rose = to_stream->rose;
 
     if (onEvent) {
-        if (!scratch || !validScratch(scratch, to_stream->crc32)) {
+        if (!scratch || !validScratch(to_stream->rose, scratch)) {
             return HS_INVALID;
         }
         if (unlikely(markScratchInUse(scratch))) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/scratch.c 
new/hyperscan-5.4.2/src/scratch.c
--- old/hyperscan-5.4.1/src/scratch.c   2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/scratch.c   2023-04-19 11:34:39.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2022, Intel Corporation
+ * Copyright (c) 2015-2023, Intel Corporation
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -373,7 +373,6 @@
             hs_scratch_free((*scratch)->scratch_alloc);
         }
 
-        proto->db_crc = db->crc32;
         hs_error_t alloc_ret = alloc_scratch(proto, scratch);
         hs_scratch_free(proto_tmp); /* kill off temp used for sizing */
         if (alloc_ret != HS_SUCCESS) {
@@ -381,7 +380,6 @@
             return alloc_ret;
         }
     } else {
-        (*scratch)->db_crc = db->crc32;
         hs_scratch_free(proto_tmp); /* kill off temp used for sizing */
         unmarkScratchInUse(*scratch);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/scratch.h 
new/hyperscan-5.4.2/src/scratch.h
--- old/hyperscan-5.4.1/src/scratch.h   2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/scratch.h   2023-04-19 11:34:39.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2022, Intel Corporation
+ * Copyright (c) 2015-2023, Intel Corporation
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -171,7 +171,6 @@
  */
 struct ALIGN_CL_DIRECTIVE hs_scratch {
     u32 magic;
-    u32 db_crc; /**< identity of a scratch space, for validity check */
     u8 in_use; /**< non-zero when being used by an API call. */
     u32 queueCount;
     u32 activeQueueArraySize; /**< size of active queue array fatbit in bytes 
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/state.h 
new/hyperscan-5.4.2/src/state.h
--- old/hyperscan-5.4.1/src/state.h     2023-02-22 00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/state.h     2023-04-19 11:34:39.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2022, Intel Corporation
+ * Copyright (c) 2015-2023, Intel Corporation
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -57,9 +57,6 @@
 
     /** \brief The current stream offset. */
     u64a offset;
-
-    /** \brief Identity of hs_stream, for scratch validity check. */
-    u32 crc32;
 };
 
 #define getMultiState(hs_s)      ((char *)(hs_s) + sizeof(*(hs_s)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyperscan-5.4.1/src/stream_compress_impl.h 
new/hyperscan-5.4.2/src/stream_compress_impl.h
--- old/hyperscan-5.4.1/src/stream_compress_impl.h      2023-02-22 
00:03:50.000000000 +0100
+++ new/hyperscan-5.4.2/src/stream_compress_impl.h      2023-04-19 
11:34:39.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2022, Intel Corporation
+ * Copyright (c) 2017-2023, Intel Corporation
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -116,7 +116,6 @@
         = ((STREAM_QUAL char *)stream) + sizeof(struct hs_stream);
 
     COPY_FIELD(stream->offset);
-    COPY_FIELD(stream->crc32);
     ASSIGN(stream->rose, rose);
 
     COPY(stream_body + ROSE_STATE_OFFSET_STATUS_FLAGS, 1);

Reply via email to