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, µ); - if ( ret != 3 ) + ret = sscanf(VERSION, "%d.%d.%d.%d", &major, &minor, µ, &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