start -= CLOCK_SKEW;
if (start > CLOCK_SKEW)  start -= CLOCK_SKEW;
decode_krb4_ticket(rxkad_serv_class *obj,		   int serv_kvno,		   char *ticket,		   int32 ticket_len,		   /* OUT parms */		   des_cblock session_key,		   u_int32 *expires,		   krb_principal *p){  u_char kflags;  int klife;  u_int32 start;  u_int32 paddress;  char sname[SNAME_SZ], sinstance[INST_SZ];  KTEXT_ST tkt;  des_cblock serv_key;		/* Service's secret key */  des_key_schedule serv_sched;	/* Service's schedule */  /* First get service key */  int code = (*obj->get_key)(obj->appl_data, serv_kvno, &serv_key);  if (code)    return RXKADUNKNOWNKEY;  des_key_sched(&serv_key, serv_sched);  tkt.length = ticket_len;  memcpy(tkt.dat, ticket, ticket_len);  code = decomp_ticket(&tkt, &kflags,		       p->name, p->instance, p->realm, &paddress,		       session_key, &klife, &start,		       sname, sinstance,		       &serv_key, serv_sched);  if (code != KSUCCESS)    return RXKADBADTICKET;#if 0  if (paddress != ntohl(con->peer->host))    return RXKADBADTICKET;#endif  {    time_t end = krb_life_to_time(start, klife);    time_t now = time(0);    start -= CLOCK_SKEW;    if (now < start)      return RXKADNOAUTH;    else if (now > end)      return RXKADEXPIRED;    *expires = end;  }  return 0;			/* Success */}