Security Driver Macros

The USEC_DRVINFO function sets a number of bits in the Flags1 member of the supplied structure uSecDrv. In the C language, these must be set and read using macros.

For other languages, identify the bit value to use by examining the macro definitions in the zsecdrv.h include file.

Some flags apply only to client/server security drivers, others to SMTP or POP, and some are reserved for future use.

Flags and Macros
Flag Name Macro Description Client/Server SMTP POP
SecCodeConnectFlag USecSetConnectEnc(USecDrv *SecDrv) Security driver encodes the connect message. After using this macro, your security driver receives encoded and decoded requests. ü    
USecZeroConnectEnc(USecDrv *SecDrv) Security driver does not encode the connect message. The default driver implementation uses this macro. ü    
USecIsConnectEnc(USecDrv *SecDrv)

Returns TRUE if the driver encodes the connect message, that is, if USecSetConnectEnc() has been called.

The initial setting in the structure is that no encoding takes place, so this macro returns FALSE.

ü    
SecCodeMsgHdrFlag USecSetMsgHdrEnc(USecDrv *SecDrv) Security driver encodes message header information ü    
USecZeroMsgHdrEnc(USecDrv *SecDrv) Security driver does not encode message header information ü    
USecIsMsgHdrEnc(USecDrv *SecDrv) Returns TRUE if the driver encodes message header information ü    

SecAuthenticateFlag

USecSetUserPassVal(USecDrv *SecDrv) Security driver authenticates the username and password combination ü    
USecZeroUserPassVal(USecDrv *SecDrv) Security driver does not authenticate the username and password combination ü    
USecIsUserPassVal(USecDrv *SecDrv) Returns TRUE if the driver authenticates the username and password combination ü    
SecAuthenticatingFlag USecSetAuthenticating(USecDrv *SecDrv) Security driver is a POP3 authenticating driver, which will not use default authentication (using the username and password supplied by the logonmail operation)     ü
USecZeroAuthenticating(USecDrv *SecDrv) Security driver is not a POP3 authenticating driver and will therefore use the default mechanism after the security context has been created     ü
USecIsAuthenticating(USecDrv *SecDrv) Returns TRUE if the driver is a POP3 authenticating driver     ü
SecUserPassInfoFlag USecSetUserPassInfo(USecDrv *SecDrv) Security driver provides authentication information about the username and password combination ü    
USecZeroUserPassInfo(USecDrv *SecDrv) Security driver does not provide authentication information ü    
USecIsUserPassInfo(USecDrv *SecDrv) Returns TRUE if the driver provides authentication information ü    
SecPassChngFlag USecSetPassChng(USecDrv *SecDrv) Security driver supports change of password ü    
USecZeroPassChng(USecDrv *SecDrv) Security driver does not support change of password ü    
USecIsPassChng(USecDrv *SecDrv) Returns TRUE if the driver supports change of password ü    

SecOpenMsgFlag

USecSetOpenMsg(USecDrv *SecDrv) Security driver authenticates SMTP protocol messages   ü ü
USecZeroOpenMsg(USecDrv *SecDrv) Security driver does not authenticate SMTP protocol messages   ü ü
USecIsOpenMsg(USecDrv *SecDrv) Returns TRUE if the driver authenticates SMTP protocol messages   ü ü
SecCodeMsgFlag USecSetCodeMsg(USecDrv *SecDrv) Security driver encodes complete email messages ü    
USecZeroCodeMsg(USecDrv *SecDrv) Security driver does not encode complete email messages ü    
USecIsCodeMsg(USecDrv *SecDrv) Returns TRUE if the driver encodes complete email messages ü    
SecCloseMsgFlag USecSetCloseMsg(USecDrv *SecDrv) Security driver ends authenticated session protocol messages   ü ü
USecZeroCloseMsg(USecDrv *SecDrv) Security driver does not end authenticated session protocol messages   ü ü
USecIsCloseMsg(USecDrv *SecDrv) Returns TRUE if the driver ends authenticated session protocol messages   ü ü
SecRTInfoFlag USecSetRTInfo(USecDrv *SecDrv) Security driver provides runtime information   ü ü
USecZeroRTInfo(USecDrv *SecDrv) Security driver does not provide runtime information   ü ü
USecIsRTInfo(USecDrv *SecDrv) Returns TRUE if the driver provides runtime information   ü ü