libprelude/master: Modify prelude_check_version() so that it verify the patch level.

[email protected] Fri, 5 Jun 2009 18:45:49 +0200 (CEST)
Newsgroups gmane.comp.security.ids.prelude.cvs
Message-ID <[email protected]>
commit c46c54eb5ca49b9970d5c32b6eb915d9ce3c4366
Author: Yoann Vandoorselaere <[email protected]>
Date:   Fri Jun 5 17:29:33 2009 +0200

    Modify prelude_check_version() so that it verify the patch level.


========================================

 src/prelude.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

========================================

diff --git a/src/prelude.c b/src/prelude.c
index 486b057..cafa923 100644
--- a/src/prelude.c
+++ b/src/prelude.c
@@ -276,24 +276,24 @@ void prelude_deinit(void)
 const char *prelude_check_version(const char *req_version)
 {
         int ret;
-        int major, minor, micro;
-        int rq_major, rq_minor, rq_micro;
+        int major, minor, micro, patch = 0;
+        int rq_major, rq_minor, rq_micro, rq_patch = 0;
 
         if ( ! req_version )
                 return VERSION;
 
-        ret = sscanf(VERSION, "%d.%d.%d", &major, &minor, &micro);
-        if ( ret != 3 )
+        ret = sscanf(VERSION, "%d.%d.%d.%d", &major, &minor, &micro, &patch);
+        if ( ret < 3 )
                 return NULL;
 
-        ret = sscanf(req_version, "%d.%d.%d", &rq_major, &rq_minor, &rq_micro);
-        if ( ret != 3 )
+        ret = sscanf(req_version, "%d.%d.%d.%d", &rq_major, &rq_minor, &rq_micro, &rq_patch);
+        if ( ret < 3 )
                 return NULL;
 
         if ( major > rq_major
              || (major == rq_major && minor > rq_minor)
              || (major == rq_major && minor == rq_minor && micro > rq_micro)
-             || (major == rq_major && minor == rq_minor && micro == rq_micro) ) {
+             || (major == rq_major && minor == rq_minor && micro == rq_micro && patch >= rq_patch) ) {
                 return VERSION;
         }
 
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog