rxkad-krb5-20021027
[openafs.git] / src / rxkad / rxkad_server.c
index 11d6948..94e9df3 100644 (file)
@@ -303,6 +303,23 @@ int rxkad_CheckResponse (struct rx_securityClass *aobj,
      * If the alternate decoder is not present, or returns -1, then
      * assume the ticket is of the default style.
      */
+    if (code == -1 && 
+       (kvno == RXKAD_TKT_TYPE_KERBEROS_V5) ||
+       (kvno == RXKAD_TKT_TYPE_KERBEROS_V5_ENCPART_ONLY)) 
+    {
+       code = tkt_DecodeTicket5 (tix, tlen, 
+                                 tsp->get_key,
+                                 tsp->get_key_rock,
+                                 kvno,
+                                 client.name, client.instance, client.cell,
+                                 &sessionkey, &host, &start, &end);
+       if (code) return RXKADBADTICKET;
+    }
+
+    /*
+     * If the alternate decoder/kerberos 5 decoder is not present, or
+     * returns -1, then assume the ticket is of the default style.
+     */
     if (code == -1) {
        /* get ticket's key */
        code = (*tsp->get_key)(tsp->get_key_rock, kvno, &serverKey);