Authen-ACE4
view release on metacpan or search on metacpan
ACE_SEMAPHORE_CREATE_FAIL = ACE_SEMAPHORE_CREATE_FAIL
ACE_THREAD_CREATE_FAIL = ACE_THREAD_CREATE_FAIL
ACE_SOCKET_LIB_NOT_FOUND = ACE_SOCKET_LIB_NOT_FOUND
ACE_PTHREAD_FAIL = ACE_PTHREAD_FAIL
ACE_PTHREAD_CREATE_FAIL = ACE_PTHREAD_CREATE_FAIL
ACE_PTHREADATTR_FAIL = ACE_PTHREADATTR_FAIL
ACE_PTHREADATTR_CREATE_FAIL = ACE_PTHREADATTR_CREATE_FAIL
ACE_PTHREADCONDVAR_CREATE_FAIL = ACE_PTHREADCONDVAR_CREATE_FAIL
ACE_PTHREADMUTEX_CREATE_FAIL = ACE_PTHREADMUTEX_CREATE_FAIL
ACE_NET_SEND_PACKET_FAIL = ACE_NET_SEND_PACKET_FAIL
ACE_NET_WAITING_TIMEOUT = ACE_NET_WAITING_TIMEOUT
ACE_INIT_NO_RESOURCE = ACE_INIT_NO_RESOURCE
ACE_INIT_SOCKET_FAIL = ACE_INIT_SOCKET_FAIL
ACE_INIT_SYNCRONIZE_FAIL = ACE_INIT_SYNCRONIZE_FAIL
ACE_CHECK_PIN_REQ_NOT_KNOWN = ACE_CHECK_PIN_REQ_NOT_KNOWN
ACE_NOT_ENOUGH_STORAGE = ACE_NOT_ENOUGH_STORAGE
ACE_INVALID_ARG = ACE_INVALID_ARG
ACE_UNDEFINED_USERNAME = ACE_UNDEFINED_USERNAME
ACE_UNDEFINED_PASSCODE = ACE_UNDEFINED_PASSCODE
ACE_UNDEFINED_NEXT_PASSCODE = ACE_UNDEFINED_NEXT_PASSCODE
ACE_UNDEFINED_PIN = ACE_UNDEFINED_PIN
ACE_UNDEFINED_CLIENTADDR = ACE_UNDEFINED_CLIENTADDR
ACM_OK = ACM_OK
ACM_ACCESS_DENIED = ACM_ACCESS_DENIED
ACM_NEXT_CODE_REQUIRED = ACM_NEXT_CODE_REQUIRED
ACM_NEXT_CODE_BAD = ACM_NEXT_CODE_BAD
ACM_NEW_PIN_REQUIRED = ACM_NEW_PIN_REQUIRED
ACM_NEW_PIN_ACCEPTED = ACM_NEW_PIN_ACCEPTED
ACM_NEW_PIN_REJECTED = ACM_NEW_PIN_REJECTED
ACM_SHELL_OK = ACM_SHELL_OK
ACM_SHELL_BAD = ACM_SHELL_BAD
ACM_TIME_OK = ACM_TIME_OK
ACM_SUSPECT_ACK = ACM_SUSPECT_ACK
ACM_LOG_ACK = ACM_LOG_ACK
CODE:
RETVAL = ix;
OUTPUT:
RETVAL
SD_BOOL
AceInitialize()
CODE:
#if defined UNIX || SD_VERSION >= 5
// Not present on NT in Version 4
RETVAL = AceInitialize();
#endif
OUTPUT:
RETVAL
void
AceStartAuth(userID)
char* userID
PPCODE:
STRLEN userIDLen;
SDI_HANDLE handle;
SD_BOOL moreData;
SD_BOOL echoFlag;
SD_I32 respTimeout;
SD_I32 nextRespLen;
char promptStr[512];
SD_I32 promptStrLen = sizeof(promptStr);
SD_ERROR result;
// Need the real length of the string
userID = (char *)SvPV(ST(0), userIDLen);
result = AceStartAuth(&handle, userID, userIDLen,
&moreData, &echoFlag, &respTimeout,
&nextRespLen, promptStr, &promptStrLen);
// Always push the result, and, if successful
// the rest
EXTEND(sp, 5);
PUSHs(sv_2mortal(newSViv(result)));
PUSHs(sv_2mortal(newSViv(handle)));
PUSHs(sv_2mortal(newSViv(moreData)));
PUSHs(sv_2mortal(newSViv(echoFlag)));
PUSHs(sv_2mortal(newSViv(respTimeout)));
PUSHs(sv_2mortal(newSViv(nextRespLen)));
PUSHs(sv_2mortal(newSVpv(promptStr, strlen(promptStr))));
void
AceContinueAuth(handle, resp)
int handle
char* resp
PPCODE:
STRLEN respLen;
SD_BOOL moreData;
SD_BOOL echoFlag;
SD_I32 respTimeout;
SD_I32 nextRespLen;
char promptStr[512];
SD_I32 promptStrLen = sizeof(promptStr);
SD_ERROR result;
// Need the real length of the string
resp = (char *)SvPV(ST(1), respLen);
result = AceContinueAuth(handle, resp, respLen,
&moreData, &echoFlag, &respTimeout,
&nextRespLen, promptStr, &promptStrLen);
// Always push the result, and, if successful
// the rest
EXTEND(sp, 5);
PUSHs(sv_2mortal(newSViv(result)));
EXTEND(sp, 4);
PUSHs(sv_2mortal(newSViv(moreData)));
PUSHs(sv_2mortal(newSViv(echoFlag)));
PUSHs(sv_2mortal(newSViv(respTimeout)));
PUSHs(sv_2mortal(newSViv(nextRespLen)));
// Sigh: promptStrLen is unreliable with the 6.1 SDK and AM 7.1
PUSHs(sv_2mortal(newSVpv(promptStr, strlen(promptStr))));
int
AceGetAuthenticationStatus(handle)
int handle
PPCODE:
SD_I32 authStatus = ACM_ACCESS_DENIED;
RETVAL = AceGetAuthenticationStatus(handle, &authStatus);
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(RETVAL)));
if (RETVAL == ACE_SUCCESS)
{
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(authStatus)));
}
int
AceGetAlphanumeric(handle)
int handle
PPCODE:
char val;
RETVAL = AceGetAlphanumeric(handle, &val);
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(RETVAL)));
if (RETVAL == ACE_SUCCESS)
{
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(val)));
}
int
AceGetMaxPinLen(handle)
int handle
PPCODE:
char val;
RETVAL = AceGetMaxPinLen(handle, &val);
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(RETVAL)));
if (RETVAL == ACE_SUCCESS)
{
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(val)));
}
int
AceGetMinPinLen(handle)
int handle
PPCODE:
char val;
RETVAL = AceGetMinPinLen(handle, &val);
EXTEND(sp, 1);
PUSHs(sv_2mortal(newSViv(RETVAL)));
if (RETVAL == ACE_SUCCESS)
( run in 1.554 second using v1.01-cache-2.11-cpan-39bf76dae61 )