Exemple #1
0
    LWMSG_ENUM_BEGIN(enum _LW_IO_CREDS_TYPE, 1, LWMSG_UNSIGNED),
    LWMSG_ENUM_VALUE(IO_CREDS_TYPE_PLAIN),
    LWMSG_ENUM_VALUE(IO_CREDS_TYPE_KRB5_CCACHE),
    LWMSG_ENUM_VALUE(IO_CREDS_TYPE_KRB5_TGT),
    LWMSG_ENUM_END,
    LWMSG_TYPE_END
};

LWMsgTypeSpec gSecurityTokenRepSpec[] =
{
    /* Begin structure */
    LWMSG_STRUCT_BEGIN(IO_CREDS),
    /* Discriminator */
    LWMSG_MEMBER_TYPESPEC(IO_CREDS, type, gSecurityTokenType),
    /* Begin union */
    LWMSG_MEMBER_UNION_BEGIN(IO_CREDS, payload),
    /* Union arm -- plain */
    LWMSG_MEMBER_STRUCT_BEGIN(union _LW_IO_CREDS_U, plain),
    LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszUsername),
    LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszDomain),
    LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszPassword),
    LWMSG_ATTR_SENSITIVE,
    LWMSG_STRUCT_END,
    LWMSG_ATTR_TAG(IO_CREDS_TYPE_PLAIN),
    /* Union arm -- krb5 ccache */
    LWMSG_MEMBER_STRUCT_BEGIN(union _LW_IO_CREDS_U, krb5Ccache),
    LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_KRB5_CCACHE, pwszPrincipal),
    LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_KRB5_CCACHE, pwszCachePath),
    LWMSG_STRUCT_END,
    LWMSG_ATTR_TAG(IO_CREDS_TYPE_KRB5_CCACHE),
    /* Union arm -- krb5 tgt */
Exemple #2
0
{
    LWMSG_STRUCT_BEGIN(LWREG_VALUE_ATTRIBUTES),

    LWMSG_MEMBER_UINT32(LWREG_VALUE_ATTRIBUTES, ValueType),

    LWMSG_MEMBER_UINT32(LWREG_VALUE_ATTRIBUTES, DefaultValueLen),
    LWMSG_MEMBER_PBYTE(LWREG_VALUE_ATTRIBUTES, pDefaultValue),
    LWMSG_ATTR_LENGTH_MEMBER(LWREG_VALUE_ATTRIBUTES, DefaultValueLen),

    LWMSG_MEMBER_PWSTR(LWREG_VALUE_ATTRIBUTES, pwszDocString),

    LWMSG_MEMBER_UINT8(LWREG_VALUE_ATTRIBUTES, RangeType),
    LWMSG_MEMBER_UINT8(LWREG_VALUE_ATTRIBUTES, Hint),

    // range union
    LWMSG_MEMBER_UNION_BEGIN(LWREG_VALUE_ATTRIBUTES, Range),
    LWMSG_MEMBER_TYPESPEC(union _LWREG_RANGE, RangeInteger, gRegValueRangeInteger),
    LWMSG_ATTR_TAG(LWREG_VALUE_RANGE_TYPE_INTEGER),
    LWMSG_MEMBER_POINTER_BEGIN(union _LWREG_RANGE, ppwszRangeEnumStrings),
    LWMSG_PWSTR,
    LWMSG_POINTER_END,
    LWMSG_ATTR_ZERO_TERMINATED,
    LWMSG_ATTR_TAG(LWREG_VALUE_RANGE_TYPE_ENUM),
    LWMSG_MEMBER_VOID(union _LWREG_RANGE, bool_empty), // can be any arbitrary name
    LWMSG_ATTR_TAG(LWREG_VALUE_RANGE_TYPE_BOOLEAN),
    LWMSG_MEMBER_VOID(union _LWREG_RANGE, empty), // can be any arbitrary name
    LWMSG_ATTR_TAG(LWREG_VALUE_RANGE_TYPE_NONE),
    LWMSG_UNION_END,
    LWMSG_ATTR_DISCRIM(LWREG_VALUE_ATTRIBUTES, RangeType),

    LWMSG_STRUCT_END,
Exemple #3
0
    LWMSG_MEMBER_UINT32(NTLM_IPC_QUERY_CREDS_REQ, ulAttribute),

    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gNtlmQueryCredsRespSpec[] =
{
    //DWORD ulAttribute;
    //SecPkgCred Buffer;

    LWMSG_STRUCT_BEGIN(NTLM_IPC_QUERY_CREDS_RESPONSE),

    LWMSG_MEMBER_UINT32(NTLM_IPC_QUERY_CREDS_RESPONSE, ulAttribute),

    LWMSG_MEMBER_UNION_BEGIN(NTLM_IPC_QUERY_CREDS_RESPONSE, Buffer),

    LWMSG_MEMBER_POINTER_BEGIN(SecPkgCred, pNames),
    LWMSG_TYPESPEC(gNtlmSecPkgCredNamesSpec),
    LWMSG_POINTER_END,
    LWMSG_ATTR_TAG(SECPKG_CRED_ATTR_NAMES),

    LWMSG_MEMBER_POINTER_BEGIN(SecPkgCred, pDomainName),
    LWMSG_TYPESPEC(gNtlmSecPkgCredDomainNameSpec),
    LWMSG_POINTER_END,
    LWMSG_ATTR_TAG(SECPKG_CRED_ATTR_DOMAIN_NAME),

    LWMSG_UNION_END,
    LWMSG_ATTR_DISCRIM(NTLM_IPC_QUERY_CREDS_RESPONSE, ulAttribute),

    LWMSG_STRUCT_END,