• Chuck Lever's avatar
    SUNRPC: Remove .blocksize field from struct gss_krb5_enctype · f03640a1
    Chuck Lever authored
    It is not clear from documenting comments, specifications, or code
    usage what value the gss_krb5_enctype.blocksize field is supposed
    to store. The "encryption blocksize" depends only on the cipher
    being used, so that value can be derived where it's needed instead
    of stored as a constant.
    
    RFC 3961 Section 5.2 says:
    
    > cipher block size, c
    >    This is the block size of the block cipher underlying the
    >    encryption and decryption functions indicated above, used for key
    >    derivation and for the size of the message confounder and initial
    >    vector.  (If a block cipher is not in use, some comparable
    >    parameter should be determined.)  It must be at least 5 octets.
    >
    >    This is not actually an independent parameter; rather, it is a
    >    property of the functions E and D.  It is listed here to clarify
    >    the distinction between it and the message block size, m.
    
    In the Linux kernel's implemenation of the SunRPC RPCSEC GSS
    Kerberos 5 mechanism, the cipher block size, which is dependent on
    the encryption and decryption transforms, is used only in
    krb5_derive_key(), so it is straightforward to replace it.
    Tested-by: default avatarScott Mayhew <smayhew@redhat.com>
    Reviewed-by: default avatarSimo Sorce <simo@redhat.com>
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    f03640a1
gss_krb5_mech.c 16.2 KB