Handbok för Sun Enterprise Authentication Mechanism

Callback-funktioner

Cookies kan även användas med callback-funktioner. Genom att använda funktionen rpc_gss_set_callback() kan en server ange en (användardefinierad) callback-funktion så att den vet när en kontext används för första gången. Callback-funktionen anropas första gången en kontext används för datautbyte, efter att kontexten har upprättats för det angivna programmet och versionen.

Den användardefinierade callback-funktionen anges med följande format:

De andra och tredje argumenten, deleg och gss_context, är GSS-API-datatyper som för närvarande inte används och därför kan de ignoreras av callback-funktionen. (I korthet är deleg identiteten för valfri delegerad jämlike, medan gss_context är en pekare till GSS-API-kontexten som kan användas om programmet behöver utföra GSS-API-åtgärder i kontexten - dvs, för att testa villkor för accepterande.) Argumentet cookie beskrivs tidigare i det här avsnittet.

Argumentet lock är en pekare till en rpc_gss_lock_t-struktur:

typedef struct { 
		bool_t              locked; 
		rpc_gss_rawcred_t   *raw_cred; 
} rpc_gss_lock_t;
Den här parametern gör att en server kan använda en särskild QOP och tjänst för sessionen. QOP:n och tjänsten i strukturen rpc_gss_rawcred_t beskrivs i Exempel 8-5. (Servern bör inte ändra värdena för tjänst och QOP.) När den användardefinierade callback-funktionen anropas anges fältet locked till FALSE. Om servern anger locked till TRUE kommer förfrågningar med värden för QOP och tjänst som matchar värdena i strukturen rpc_gss_rawcred_t att accepteras.

Mer information finns i direkthjälpsavsnittet (man page) rpc_gss_set_callback(3N).