components/krb5/patches/045-correct_err_code_for_bad_QOP.patch
changeset 5969 96bac9fbcfbd
parent 5968 a64f1dcdc61b
child 5970 86291cd54b86
equal deleted inserted replaced
5968:a64f1dcdc61b 5969:96bac9fbcfbd
     1 #
       
     2 # This patch fixes krb5_gss_wrap_size_limit return code to comply with
       
     3 # RFC 2743.
       
     4 #
       
     5 # Found by usr/ontest/lib/libgss/gss_api:gss.17.
       
     6 #
       
     7 # The patch was accepted upstream and will be part of krb5 1.14:
       
     8 # https://github.com/krb5/krb5/commit/45ccc1c85f42e4f41f2042df8a51dd7826533029
       
     9 # Patch source: in-house
       
    10 #
       
    11 diff -pur old/src/lib/gssapi/krb5/k5seal.c new/src/lib/gssapi/krb5/k5seal.c
       
    12 --- old/src/lib/gssapi/krb5/k5seal.c
       
    13 +++ new/src/lib/gssapi/krb5/k5seal.c
       
    14 @@ -337,7 +337,7 @@ kg_seal(minor_status, context_handle, co
       
    15         them later.  */
       
    16      if (qop_req != 0) {
       
    17          *minor_status = (OM_uint32) G_UNKNOWN_QOP;
       
    18 -        return GSS_S_FAILURE;
       
    19 +        return GSS_S_BAD_QOP;
       
    20      }
       
    21  
       
    22      ctx = (krb5_gss_ctx_id_rec *) context_handle;
       
    23 diff -pur old/src/lib/gssapi/krb5/k5sealiov.c new/src/lib/gssapi/krb5/k5sealiov.c
       
    24 --- old/src/lib/gssapi/krb5/k5sealiov.c
       
    25 +++ new/src/lib/gssapi/krb5/k5sealiov.c
       
    26 @@ -277,7 +277,7 @@ kg_seal_iov(OM_uint32 *minor_status,
       
    27  
       
    28      if (qop_req != 0) {
       
    29          *minor_status = (OM_uint32)G_UNKNOWN_QOP;
       
    30 -        return GSS_S_FAILURE;
       
    31 +        return GSS_S_BAD_QOP;
       
    32      }
       
    33  
       
    34      ctx = (krb5_gss_ctx_id_rec *)context_handle;
       
    35 @@ -342,7 +342,7 @@ kg_seal_iov_length(OM_uint32 *minor_stat
       
    36  
       
    37      if (qop_req != GSS_C_QOP_DEFAULT) {
       
    38          *minor_status = (OM_uint32)G_UNKNOWN_QOP;
       
    39 -        return GSS_S_FAILURE;
       
    40 +        return GSS_S_BAD_QOP;
       
    41      }
       
    42  
       
    43      ctx = (krb5_gss_ctx_id_rec *)context_handle;
       
    44 diff -pur old/src/lib/gssapi/krb5/wrap_size_limit.c new/src/lib/gssapi/krb5/wrap_size_limit.c
       
    45 --- old/src/lib/gssapi/krb5/wrap_size_limit.c
       
    46 +++ new/src/lib/gssapi/krb5/wrap_size_limit.c
       
    47 @@ -91,7 +91,7 @@ krb5_gss_wrap_size_limit(minor_status, c
       
    48      /* only default qop is allowed */
       
    49      if (qop_req != GSS_C_QOP_DEFAULT) {
       
    50          *minor_status = (OM_uint32) G_UNKNOWN_QOP;
       
    51 -        return(GSS_S_FAILURE);
       
    52 +        return(GSS_S_BAD_QOP);
       
    53      }
       
    54  
       
    55      ctx = (krb5_gss_ctx_id_rec *) context_handle;