Issue #19448: report name / NID in exception message of ASN1Object

This commit is contained in:
Christian Heimes 2013-11-22 16:20:53 +01:00
parent c2d65e1e93
commit 5398e1a56e
2 changed files with 7 additions and 5 deletions

View File

@ -585,7 +585,8 @@ class BasicSocketTests(unittest.TestCase):
self.assertEqual(val, expected)
self.assertIsInstance(val, ssl._ASN1Object)
self.assertRaises(ValueError, ssl._ASN1Object.fromnid, -1)
self.assertRaises(ValueError, ssl._ASN1Object.fromnid, 100000)
with self.assertRaisesRegex(ValueError, "unknown NID 100000"):
ssl._ASN1Object.fromnid(100000)
for i in range(1000):
try:
obj = ssl._ASN1Object.fromnid(i)
@ -603,7 +604,8 @@ class BasicSocketTests(unittest.TestCase):
self.assertEqual(ssl._ASN1Object.fromname('serverAuth'), expected)
self.assertEqual(ssl._ASN1Object.fromname('1.3.6.1.5.5.7.3.1'),
expected)
self.assertRaises(ValueError, ssl._ASN1Object.fromname, 'serverauth')
with self.assertRaisesRegex(ValueError, "unknown object 'serverauth'"):
ssl._ASN1Object.fromname('serverauth')
class ContextTests(unittest.TestCase):

View File

@ -3387,7 +3387,7 @@ PySSL_txt2obj(PyObject *self, PyObject *args, PyObject *kwds)
}
obj = OBJ_txt2obj(txt, name ? 0 : 1);
if (obj == NULL) {
PyErr_Format(PyExc_ValueError, "Unknown object");
PyErr_Format(PyExc_ValueError, "unknown object '%.100s'", txt);
return NULL;
}
result = asn1obj2py(obj);
@ -3411,12 +3411,12 @@ PySSL_nid2obj(PyObject *self, PyObject *args)
return NULL;
}
if (nid < NID_undef) {
PyErr_Format(PyExc_ValueError, "NID must be positive.");
PyErr_SetString(PyExc_ValueError, "NID must be positive.");
return NULL;
}
obj = OBJ_nid2obj(nid);
if (obj == NULL) {
PyErr_Format(PyExc_ValueError, "Unknown NID");
PyErr_Format(PyExc_ValueError, "unknown NID %i", nid);
return NULL;
}
result = asn1obj2py(obj);