kareila: (Default)
kareila ([personal profile] kareila) wrote in [site community profile] changelog2010-06-07 02:16 am

[dw-free] Trying to XPost with save password off results in Invalid Password error.

[commit: http://hg.dwscoalition.org/dw-free/rev/928985fb4aaa]

http://bugs.dwscoalition.org/show_bug.cgi?id=2649

Update checkconfig.pl with required version info for SOAP::Lite, and handle
version numbers with multiple decimal points.

Patch by [personal profile] exor674.

Files modified:
  • bin/checkconfig.pl
--------------------------------------------------------------------------------
diff -r 351580853799 -r 928985fb4aaa bin/checkconfig.pl
--- a/bin/checkconfig.pl	Mon Jun 07 02:15:21 2010 +0000
+++ b/bin/checkconfig.pl	Sun Jun 06 21:16:42 2010 -0500
@@ -113,6 +113,7 @@ my %modules = (
                "SOAP::Lite" => {
                    'deb' => 'libsoap-lite-perl',
                    'opt' => 'Required for XML-RPC support.',
+                   'ver' => '0.710.8',
                },
                "Unicode::MapUTF8" => { 'deb' => 'libunicode-maputf8-perl', },
                "XML::RSS" => {
@@ -208,8 +209,28 @@ sub check_modules {
 
         my $ver_want = $modules{$mod}{ver};
         my $ver_got = $mod->VERSION;
-        if ($ver_want && $ver_got && $ver_got < $ver_want) {
-            push @errors, "Out of date module: $mod (need $ver_want, $ver_got installed)";
+
+        # handle version strings with multiple decimal points
+        # assumes there will never be a version part prepended
+        # only appended
+        if ( $ver_want && $ver_got ) {
+            my @parts_want = split( /\./, $ver_want );
+            my @parts_got  = split( /\./, $ver_got  );
+            my $invalid = 0;
+
+            while ( scalar @parts_want ) {
+                my $want_part = shift @parts_want || 0;
+                my $got_part = shift @parts_got || 0;
+
+                # If want_part is greater then got_part, older
+                # If got_part is greater then want_part, newer
+                # If they are the same, look at the next part pair
+                if ( $want_part != $got_part ) {
+                    $invalid = $want_part > $got_part ? 1 : 0;
+                    last;
+                }
+            }
+            push @errors, "Out of date module: $mod (need $ver_want, $ver_got installed)" if $invalid;
         }
     }
     if (@debs && -e '/etc/debian_version') {
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org