ó !;Vc@sidZddlZddljjjjjjZ de fd„ƒYZ de fd„ƒYZ d„Z dS(sŒauth - RAD authentication implementation This module facilitates communication with RAD instances via a number of alternative transports. iÿÿÿÿNtRadAuthcBs/eZdZd„Zd„Zddd„ZRS(s Authentication utility class. cCs|jtjƒƒ|_dS(N(t get_objecttpamtAuthenticationt_auth(tselftrcon((s../common/auth.pyt__init__,scCs|jS(sz Return this instance's authentication handle. Returns: rad.bindings.pam.Authentication (R(R((s../common/auth.pyt get_handle/scCs~|stdƒ}n|jjd|ƒ}x@trlg}|jtjjkrRPn|jtjjkrvt dƒ‚nxÞ|j D]Ó}|j tj j krÌ|dkr¼tj|jƒ}n|j|ƒq€|j tj jkr|dkrÿt|jƒ}n|j|ƒq€|j tj jkr/|jGHq€|j tj jkr€d|jGHq€q€W|jj|ƒ}q-W|jjƒdS(s“ Perform a PAM login. Arguments: user string, user name passw string, password Returns: s Username: tCsAuthentication Faileds ERROR: %sN(t raw_inputRtlogintTruettypeRt BlockTypetSUCCESStERRORt ExceptiontmessageststyletMsgTypetPROMPT_ECHO_OFFtNonetgetpasstmessagetappendtPROMPT_ECHO_ONt TEXT_INFOt ERROR_MSGtsubmittcomplete(Rtusertpasswtblktresptmsg((s../common/auth.pyt pam_login9s0     N(t__name__t __module__t__doc__RRRR$(((s../common/auth.pyR)s  tPAMCredentialscBseZd„ZRS(cCs ||_dS(N(R (RR ((s../common/auth.pyR`s(R%R&R(((s../common/auth.pyR(_scCs t|ƒS(N(R((R ((s../common/auth.pyt get_pam_credgs(R'Rt)rad.bindings.com.oracle.solaris.rad.pam_1tbindingstcomtoracletsolaristradtpam_1RtobjectRR(R)(((s../common/auth.pyt s  6