[erlang-bugs] Re: PATCH - public_key should handle unknown attribute types

Dan Gudmundsson dgud@REDACTED
Mon Jul 6 11:05:49 CEST 2009


Thanks applied.
/Dan

Will wrote:
> Odd, gmail clearly shows the diff attached, but it doesn't seem to
> have made it through the mailing list processing. Here's an inline
> copy...
> 
> On Sat, Jul 4, 2009 at 11:01 AM, Will<wglozer@REDACTED> wrote:
>> Hi,
>>
>> SSL handshaking with new_ssl will fail when a certificate contains
>> attributes unknown to the public_key module. Here is a patch that
>> leaves the attribute value encoded when its type is unknown.
>>
>> -Will
>>
> 
> diff -r 80795205fd0a src/pubkey_cert_records.erl
> --- a/src/pubkey_cert_records.erl	Sat Jul 04 10:44:41 2009 -0700
> +++ b/src/pubkey_cert_records.erl	Sat Jul 04 10:51:40 2009 -0700
> @@ -187,8 +187,11 @@
>  	      end, Exts).
> 
>  transform(#'AttributeTypeAndValue'{type=Id,value=Value0} = ATAV, Func) ->
> -    Type = attribute_type(Id),
> -    {ok, Value} = 'OTP-PUB-KEY':Func(Type, Value0),
> +    {ok, Value} =
> +        case attribute_type(Id) of
> +            Type when is_atom(Type) -> 'OTP-PUB-KEY':Func(Type, Value0);
> +            _UnknownType            -> {ok, Value0}
> +        end,
>      ATAV#'AttributeTypeAndValue'{value=Value};
>  transform(AKI = #'AuthorityKeyIdentifier'{authorityCertIssuer=ACI},Func) ->
>      AKI#'AuthorityKeyIdentifier'{authorityCertIssuer=transform(ACI,Func)};
> @@ -231,7 +234,8 @@
>  attribute_type(?'id-at-serialNumber') -> 'X520SerialNumber';
>  attribute_type(?'id-at-pseudonym') -> 'X520Pseudonym';
>  attribute_type(?'id-domainComponent') -> 'DomainComponent';
> -attribute_type(?'id-emailAddress') -> 'EmailAddress'.
> +attribute_type(?'id-emailAddress') -> 'EmailAddress';
> +attribute_type(Type) -> Type.
> 
>  %%% Old code transforms
> 
> ________________________________________________________________
> erlang-bugs mailing list. See http://www.erlang.org/faq.html
> erlang-bugs (at) erlang.org
> 


More information about the erlang-bugs mailing list