Hi Spyros,

Thanks for working on the SRU too!

In [Impact] you wrote: 
"Users of the m2crypto library on i386 face potential breakage since the 
timeout code in SSL doesn't account for t64 support."

I guess you mean s/i386/armhf/ because
1) i386 has no t64, aligned with what you wrote:
   "excludes i386 and i686 from this new behavior since support for t64 hasn't 
been added for those architectures"
2) the package doesn't build on i386
3) the patch doesn't change behavior on i386, only other archs

(I double checked with Steve L., the bug reporter, and he agreed.)

And in [Test Plan] you mentioned:
"running the autopkgtest suite both in an armhf and an i386 host"

But I'm not sure how autopkgtests on i386 in Ubuntu Noble are possible,
since there's no package built for this arch, and our autopkgtests fail
early to run on i386 for this package (never passed on dep resolutions).

So, in this case, I think it's fine to consider only the armhf tests
to be fixed, and other archs not to hit regressions.

So, I'll adjust those 2 points in the bug description.

** Description changed:

  [ Impact ]
  
-  * Users of the m2crypto library on i386 face potential breakage since
+  * Users of the m2crypto library on armhf face potential breakage since
  the timeout code in SSL doesn't account for t64 support.
  
-  * This was causing autopkgtests failures and is currently regressed in
+  * This was causing autopkgtests failures and is currently regressed in
  baseline.
  
-  * The proposed patch uses "long long" instead of "long" when packing
+  * The proposed patch uses "long long" instead of "long" when packing
  time values that are used as arguments to library calls that use time_t
  structures but excludes i386 and i686 from this new behavior since
  support for t64 hasn't been added for those architectures.
  
  [ Test Plan ]
  
-  * Test by running the test suite (or the autopkgtests) on an armhf
+  * Test by running the test suite (or the autopkgtests) on an armhf
  system will cause tests to fail.
  
-  * the failed test can be run by issuing `python3 -munittest -v
+  * the failed test can be run by issuing `python3 -munittest -v
  tests.test_ssl.MiscSSLClientTestCase` or by running the autopkgtests.
  
-  * after applying the patch, running the autopkgtest suite both in an
- armhf and an i386 host.
+  * after applying the patch, running the autopkgtest suite both in an
+ armhf (and an i386 host, if possible).
  
  [ Where problems could occur ]
  
-  * The package features an example SSL connection client which uses the
+  * The package features an example SSL connection client which uses the
  affected code. In case of further breakage caused by the patch, users of
  that SSL client would be affected.
  
  [ Other Info ]
  
-  * This has been fixed in Oracular and in Debian.
+  * This has been fixed in Oracular and in Debian.
  
  [Original report]
  
  m2crypto 0.40.1-2build1 fails tests on armhf:
  
  423s =================================== FAILURES 
==============================
  =====
  423s ______________ MiscSSLClientTestCase.test_server_simple_timeouts 
__________
  _____
  423s
  423s self = <tests.test_ssl.MiscSSLClientTestCase 
testMethod=test_server_simple_
  timeouts>
  423s
  423s     def test_server_simple_timeouts(self):
  423s         pid = self.start_server(self.args)
  423s         # Arbitrary value:
  423s         test_timeout_sec = 909
  423s         # Linux rounds microseconds in the timeouts up to the HZ kernel 
par
  ameter.
  423s         # Windows rounds down to milliseconds.
  423s         # To avoid checking for rounded values, pick interval long enough
  423s         # so that it is a whole number of ms and HZ for any reasonable 
HZ v
  alue.
  423s         test_timeout_microsec = 500000
  423s
  423s         try:
  423s             with self.assertRaises(ValueError):
  423s                 SSL.Context('tlsv5')
  423s             ctx = SSL.Context()
  423s             s = SSL.Connection(ctx)
  423s
  423s             r = s.get_socket_read_timeout()
  423s             w = s.get_socket_write_timeout()
  423s             self.assertEqual(r.sec, 0, r.sec)
  423s             self.assertEqual(r.microsec, 0, r.microsec)
  423s             self.assertEqual(w.sec, 0, w.sec)
  423s             self.assertEqual(w.microsec, 0, w.microsec)
  423s
  423s >           s.set_socket_read_timeout(SSL.timeout())
  
  "timeout" means time_t regression.

** Description changed:

  [ Impact ]
  
   * Users of the m2crypto library on armhf face potential breakage since
  the timeout code in SSL doesn't account for t64 support.
  
   * This was causing autopkgtests failures and is currently regressed in
  baseline.
  
   * The proposed patch uses "long long" instead of "long" when packing
  time values that are used as arguments to library calls that use time_t
  structures but excludes i386 and i686 from this new behavior since
  support for t64 hasn't been added for those architectures.
  
  [ Test Plan ]
  
   * Test by running the test suite (or the autopkgtests) on an armhf
  system will cause tests to fail.
  
   * the failed test can be run by issuing `python3 -munittest -v
  tests.test_ssl.MiscSSLClientTestCase` or by running the autopkgtests.
  
   * after applying the patch, running the autopkgtest suite both in an
- armhf (and an i386 host, if possible).
+ armhf host (and an i386 host, if possible).
  
  [ Where problems could occur ]
  
   * The package features an example SSL connection client which uses the
  affected code. In case of further breakage caused by the patch, users of
  that SSL client would be affected.
  
  [ Other Info ]
  
   * This has been fixed in Oracular and in Debian.
  
  [Original report]
  
  m2crypto 0.40.1-2build1 fails tests on armhf:
  
  423s =================================== FAILURES 
==============================
  =====
  423s ______________ MiscSSLClientTestCase.test_server_simple_timeouts 
__________
  _____
  423s
  423s self = <tests.test_ssl.MiscSSLClientTestCase 
testMethod=test_server_simple_
  timeouts>
  423s
  423s     def test_server_simple_timeouts(self):
  423s         pid = self.start_server(self.args)
  423s         # Arbitrary value:
  423s         test_timeout_sec = 909
  423s         # Linux rounds microseconds in the timeouts up to the HZ kernel 
par
  ameter.
  423s         # Windows rounds down to milliseconds.
  423s         # To avoid checking for rounded values, pick interval long enough
  423s         # so that it is a whole number of ms and HZ for any reasonable 
HZ v
  alue.
  423s         test_timeout_microsec = 500000
  423s
  423s         try:
  423s             with self.assertRaises(ValueError):
  423s                 SSL.Context('tlsv5')
  423s             ctx = SSL.Context()
  423s             s = SSL.Connection(ctx)
  423s
  423s             r = s.get_socket_read_timeout()
  423s             w = s.get_socket_write_timeout()
  423s             self.assertEqual(r.sec, 0, r.sec)
  423s             self.assertEqual(r.microsec, 0, r.microsec)
  423s             self.assertEqual(w.sec, 0, w.sec)
  423s             self.assertEqual(w.microsec, 0, w.microsec)
  423s
  423s >           s.set_socket_read_timeout(SSL.timeout())
  
  "timeout" means time_t regression.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2059156

Title:
  proposed-migration for m2crypto 0.40.1-2build1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/m2crypto/+bug/2059156/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to