Commit c7aab256 authored by Szilárd Pfeiffer's avatar Szilárd Pfeiffer
Browse files

tls: Add missing converters to vector type attributes

parent 97f79f38
Loading
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -407,7 +407,10 @@ class TlsECPointFormatVector(VectorParsable):

@attr.s
class TlsExtensionECPointFormats(TlsExtensionParsed):
    point_formats = attr.ib(validator=attr.validators.instance_of(TlsECPointFormatVector))
    point_formats = attr.ib(
        converter=TlsECPointFormatVector,
        validator=attr.validators.instance_of(TlsECPointFormatVector)
    )

    @classmethod
    def get_extension_type(cls):
@@ -635,7 +638,10 @@ class TlsEllipticCurveVector(VectorParsable):

@attr.s
class TlsExtensionEllipticCurves(TlsExtensionParsed):
    elliptic_curves = attr.ib(validator=attr.validators.instance_of(TlsEllipticCurveVector))
    elliptic_curves = attr.ib(
        converter=TlsEllipticCurveVector,
        validator=attr.validators.instance_of(TlsEllipticCurveVector)
    )

    @classmethod
    def get_extension_type(cls):
@@ -935,7 +941,10 @@ class TlsSignatureAndHashAlgorithmVector(VectorParsable):

@attr.s
class TlsExtensionSignatureAlgorithms(TlsExtensionParsed):
    hash_and_signature_algorithms = attr.ib(validator=attr.validators.instance_of(TlsSignatureAndHashAlgorithmVector))
    hash_and_signature_algorithms = attr.ib(
        converter=TlsSignatureAndHashAlgorithmVector,
        validator=attr.validators.instance_of(TlsSignatureAndHashAlgorithmVector)
    )

    @classmethod
    def get_extension_type(cls):
+14 −3
Original line number Diff line number Diff line
@@ -421,7 +421,10 @@ class TlsSessionIdVector(Vector):

@attr.s  # pylint: disable=too-many-instance-attributes
class TlsHandshakeClientHello(TlsHandshakeHello):
    cipher_suites = attr.ib(converter=TlsCipherSuiteVector)
    cipher_suites = attr.ib(
        converter=TlsCipherSuiteVector,
        validator=attr.validators.instance_of(TlsCipherSuiteVector)
    )
    protocol_version = attr.ib(
        default=TlsProtocolVersionFinal(TlsVersion.TLS1_2),
        validator=attr.validators.instance_of((TlsProtocolVersionBase, SslProtocolVersion)),
@@ -438,7 +441,11 @@ class TlsHandshakeClientHello(TlsHandshakeHello):
        default=TlsCompressionMethodVector([TlsCompressionMethod.NULL, ]),
        validator=attr.validators.instance_of(TlsCompressionMethodVector),
    )
    extensions = attr.ib(default=TlsExtensions(()), validator=attr.validators.instance_of(TlsExtensions))
    extensions = attr.ib(
        default=TlsExtensions(()),
        converter=TlsExtensions,
        validator=attr.validators.instance_of(TlsExtensions)
    )
    fallback_scsv = attr.ib(default=False, validator=attr.validators.instance_of(bool))
    empty_renegotiation_info_scsv = attr.ib(default=True, validator=attr.validators.instance_of(bool))

@@ -559,7 +566,11 @@ class TlsHandshakeServerHello(TlsHandshakeHello):
        validator=attr.validators.in_(TlsCompressionMethod),
    )
    cipher_suite = attr.ib(default=None, validator=attr.validators.in_(TlsCipherSuite))
    extensions = attr.ib(default=None, validator=attr.validators.instance_of(TlsExtensions))
    extensions = attr.ib(
        default=TlsExtensions([]),
        converter=TlsExtensions,
        validator=attr.validators.instance_of(TlsExtensions)
    )

    @classmethod
    def get_handshake_type(cls):