dkim_sig_getcanonlen()

[back to index]

SYNOPSIS
#include <dkim.h>
DKIM_STAT dkim_sig_getcanonlen(
	DKIM *dkim,
	DKIM_SIGINFO *sig,
        ssize_t *msglen,
        ssize_t *canonlen,
        ssize_t *signlen
);
Retrieve the number of bytes of message body presented for signing or verifying, and/or the number of bytes actually signed or verified.
DESCRIPTION
Called When dkim_sig_getcanonlen() is called after dkim_eom() to get the number of bytes of message body presented for signing or verifying, and/or the number of bytes actually signed or verified. This is used to allow a verifier to insist on minimum signing volumes or percentages (e.g., a verifier may decide not to trust a message which was only partially signed).
ARGUMENTS
ArgumentDescription
dkim Message-specific handle, returned by dkim_sign() or dkim_verify.
sig The DKIM_SIGINFO handle representing the signature being evaluated.
msglen A pointer to an ssize_t which will receive a count of the number of bytes in the canonicalized form of the message. This should always be the number of bytes in the message body plus or minus whatever was required to canonicalize it (so for "simple" canonicalization it should be roughly the exact byte count, while for "relaxed" canonicalization it should be somewhat less). Can be NULL if this information is not needed by the caller.
canonlen A pointer to an ssize_t which will receive a count of the number of bytes in the canonicalized form of the message that were included in the signed data. If msglen and canonlen are the same, then the entire message was signed. If it is less, then the signer didn't sign the entire message. A verifier can compare this value with that of msglen to see what portion of the total message was signed by the signer. Note that msglen and canonlen can differ even if no signature length limit was set if, for example, there were trailing blank lines on the message as these are always stripped. Can be NULL if this information is not needed by the caller.
signlen A pointer to an ssize_t which will receive the signature length limit for this signature (i.e. the value of the "l=" tag if one was present on the signature). If no limit was set by the signer, a value of -1 is returned. Can be NULL if this information is not needed by the caller.
NOTES
  • None.

Copyright (c) 2005-2007 Sendmail, Inc. and its suppliers. All rights reserved.
Copyright (c) 2009-2011, The Trusted Domain Project. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the respective licenses.