#include "kclient.h"
#include <stdio.h>
void InitToolbox(void);
void InitToolbox()
{
InitGraf((Ptr) &qd.thePort);
InitFonts();
InitWindows();
InitMenus();
FlushEvents(everyEvent,0);
TEInit();
InitDialogs(0L);
InitCursor();
}
main()
{
OSErr err;
char buf[1250],*decryptBuf;
unsigned long bufLen,decryptLength,decryptOffset;
KClientKey sessionKey,privateKey;
short status;
char user[40];
KClientSessionInfo session;
short len,ofs,majorVersion,minorVersion;
char text[64];
InitToolbox();
err = KClientInitSession(&session,100,10,200,20);
printf("KClientInitSession, rc: %d\n",err);
err = KClientVersion( &majorVersion, &minorVersion, text );
printf("KClientVersion, rc: %d, version: %d.%d...%s\n",err,majorVersion,minorVersion,text);
status = KClientStatus( );
printf("KClientStatus: %s\n",(status==KClientLoggedIn) ? "logged in" : "logged out");
err = KClientSetUserName("ns10-demo");
printf("KClientSetUserName, rc: %d\n",err);
err = KClientPasswordToKey( "$tester", &privateKey);
printf("KClientPasswordToKey, rc: %d key: %.8s\n",err,&privateKey);
bufLen = 1250;
err = KClientGetTicketForService(&session,"kfront.cusockets",buf,&bufLen);
if (err) KClientErrorText(err,text);
printf("KClientGetTicketForService, rc: %d (%s)\n",err,err ? text : "");
status = KClientStatus( );
printf("KClientStatus: %s\n",(status==KClientLoggedIn) ? "logged in" : "logged out");
err = KClientGetUserName(user);
printf("KClientGetUserName user is: %s, rc: %d\n",user,err);
err = KClientLogout( );
printf("KClientLogout, rc: %d\n",err);
status = KClientStatus( );
printf("KClientStatus: %s\n",(status==KClientLoggedIn) ? "logged in" : "logged out");
err = KClientCacheInitialTicket(&session,"changepw.kerberos");
if (err) KClientErrorText(err,text);
printf("KClientCacheInitialTicket, rc: %d (%s)\n",err,err ? text : "");
err = KClientLogout( );
printf("KClientLogout, rc: %d\n",err);
bufLen = 1250;
err = KClientGetTicketForService(&session,"kfront.cusockets",buf,&bufLen);
printf("KClientGetTicketForService, rc: %d\n",err);
bufLen = 1250;
err = KClientEncrypt(&session,"hi there freddy boy",19,buf,&bufLen);
printf("KClientEncrypt, rc: %d encrypted length: %d\n",err,bufLen);
err = KClientInitSession(&session, 200,20,100,10);
printf("KClientMakeSessionInfo, rc: %d\n",err);
err = KClientDecrypt(&session, buf,bufLen,&decryptOffset,&decryptLength);
printf("KClientDecrypt, rc: %d\n",err);
if (!err) {
decryptBuf = buf + decryptOffset;
decryptBuf[decryptLength] = '\0';
printf("----> message is %s, msgLen: %ld msgofs: %ld\n",decryptBuf,decryptLength,decryptOffset);
}
err = KClientLogout( );
printf("KClientLogout, rc: %d\n",err);
err = KClientLogin( &session, &privateKey );
printf("KClientLogin, rc: %d key: %.8s\n",err,&privateKey);
err = KClientLogout( );
printf("KClientLogout, rc: %d\n",err);
err = KClientPasswordLogin( &session, "$tester", &privateKey );
printf("KClientPasswordLogin, rc: %d key: %.8s\n",err,&privateKey);
err = KClientLogout( );
printf("KClientLogout, rc: %d\n",err);
err = KClientKeyLogin( &session, &privateKey );
printf("KClientKeyLogin, rc: %d\n",err);
bufLen = 1250;
err = KClientMakeSendAuth(&session,"kfront.cusockets",buf,&bufLen,0, "version1");
printf("KClientMakeSendAuth, rc: %d\n",err);
return 0;
}