#include <sys/systm.h>
#endif
+#include <afs/opr.h>
#include <rx/rx.h>
#include <rx/xdr.h>
+#include <rx/rx_packet.h>
#include <afs/afsutil.h>
#include "stats.h"
= PTHREAD_MUTEX_INITIALIZER
#endif
;
-#define LOCK_RM osi_Assert(pthread_mutex_lock(&rxkad_random_mutex)==0)
-#define UNLOCK_RM osi_Assert(pthread_mutex_unlock(&rxkad_random_mutex)==0)
+#define LOCK_RM opr_Verify(pthread_mutex_lock(&rxkad_random_mutex)==0)
+#define UNLOCK_RM opr_Verify(pthread_mutex_unlock(&rxkad_random_mutex)==0)
#else
#define LOCK_RM
#define UNLOCK_RM
return 0;
size = sizeof(struct rx_securityClass);
- tsc = (struct rx_securityClass *)osi_Alloc(size);
+ tsc = rxi_Alloc(size);
memset(tsc, 0, size);
tsc->refCount = 1; /* caller has one reference */
tsc->ops = &rxkad_server_ops;
size = sizeof(struct rxkad_sprivate);
- tsp = (struct rxkad_sprivate *)osi_Alloc(size);
+ tsp = rxi_Alloc(size);
memset(tsp, 0, size);
tsc->privateData = (char *)tsp;
rxkad_CheckAuthentication(struct rx_securityClass *aobj,
struct rx_connection *aconn)
{
- struct rxkad_sconn *sconn;
+ struct rxkad_sconn *sconn = rx_GetSecurityData(aconn);
/* first make sure the object exists */
- if (!aconn->securityData)
+ if (!sconn)
return RXKADINCONSISTENCY;
- sconn = (struct rxkad_sconn *)aconn->securityData;
return !sconn->authenticated;
}
rxkad_CreateChallenge(struct rx_securityClass *aobj,
struct rx_connection *aconn)
{
- struct rxkad_sconn *sconn;
+ struct rxkad_sconn *sconn = rx_GetSecurityData(aconn);
struct rxkad_sprivate *tsp;
- sconn = (struct rxkad_sconn *)aconn->securityData;
sconn->challengeID = get_random_int32();
sconn->authenticated = 0; /* conn unauth. 'til we hear back */
/* initialize level from object's minimum acceptable level */
rxkad_GetChallenge(struct rx_securityClass *aobj, struct rx_connection *aconn,
struct rx_packet *apacket)
{
- struct rxkad_sconn *sconn;
+ struct rxkad_sconn *sconn = rx_GetSecurityData(aconn);
char *challenge;
int challengeSize;
struct rxkad_v2Challenge c_v2; /* version 2 */
struct rxkad_oldChallenge c_old; /* old style */
- sconn = (struct rxkad_sconn *)aconn->securityData;
if (rx_IsUsingPktCksum(aconn))
sconn->cksumSeen = 1;
unsigned int pos;
struct rxkad_serverinfo *rock;
- sconn = (struct rxkad_sconn *)aconn->securityData;
+ sconn = rx_GetSecurityData(aconn);
tsp = (struct rxkad_sprivate *)aobj->privateData;
if (sconn->cksumSeen) {
return RXKADNOAUTH;
} else { /* save the info for later retreival */
int size = sizeof(struct rxkad_serverinfo);
- rock = (struct rxkad_serverinfo *)osi_Alloc(size);
+ rock = rxi_Alloc(size);
memset(rock, 0, size);
rock->kvno = kvno;
memcpy(&rock->client, &client, sizeof(rock->client));
{
struct rxkad_sconn *sconn;
- sconn = (struct rxkad_sconn *)aconn->securityData;
+ sconn = rx_GetSecurityData(aconn);
if (sconn && sconn->authenticated && sconn->rock
&& (time(0) < sconn->expirationTime)) {
if (level)