def init_auth(self, phone): try: evlog.log("Autentimispäring: ALGUS %s" % (phone)) if not ElectionState().election_on(): r1, r2 = ElectionState().election_off_msg() return protocol.msg_error(r1, r2) self.ctx().set_phone(phone) self.ctx().generate_challenge() service = MobileIDService() rsp_cert = service.get_cert(self.ctx()) if not (rsp_cert._SignCertStatus == 'OK'): return self.__return_mid_error(rsp_cert._SignCertStatus) if rsp_cert._AuthCertStatus == 'OK': res, err = cert_ok(rsp_cert._AuthCertData) if not res: evlog.log_error(err) return self.__return_mid_policy_error() else: return self.__return_mid_error(rsp_cert._AuthCertStatus) rsp = service.init_auth(self.ctx()) if rsp._Status == 'OK': self.ctx().save_post_auth(rsp) alog, elog = evlogdata.get_cert_data_log( rsp._CertificateData, 'cand/auth', True) evlog.log('Autentimispäring (%s, %s, %s, %s)' % \ (rsp._UserIDCode, rsp._UserGivenname, \ rsp._UserSurname, rsp._Challenge)) evlog.log(alog) if elog: evlog.log_error(elog) return protocol.msg_mobid_auth_init_ok(\ self.ctx().sessid(), rsp._ChallengeID) return self.__return_mid_error(rsp._Status) except httplib.BadStatusLine, exc: return self.__return_badstatusline_error(exc)
def init_auth(self, phone): try: evlog.log("Autentimispäring: ALGUS %s" % (phone)) if not ElectionState().election_on(): r1, r2 = ElectionState().election_off_msg() evlog.log_error('Viga operatsioonil "cand", teade "%s"' % r2) return protocol.msg_error(r1, r2) self.ctx().set_phone(phone) self.ctx().generate_challenge() service = MobileIDService() rsp = service.init_auth(self.ctx()) if rsp._Status == 'OK': rsp._CertificateData = rsp._CertificateData.strip() self.ctx().save_post_auth(rsp) alog, elog = evlogdata.get_cert_data_log( rsp._CertificateData, 'cand/auth', True) evlog.log('Autentimispäring (%s, %s, %s, %s)' % (rsp._UserIDCode, rsp._UserGivenname, rsp._UserSurname, rsp._Challenge)) evlog.log(alog) if elog: evlog.log_error(elog) return protocol.msg_mobid_auth_init_ok(self.ctx().sessid(), rsp._ChallengeID) return self.__return_mid_error(rsp._Status) except httplib.BadStatusLine as exc: return self.__return_badstatusline_error(exc) except ZSI.FaultException as exc: return self.__return_zsi_error(exc) except: return self.__return_exception() finally: evlog.log('Autentimispäring: LÕPP')
def init_auth(self, phone): try: evlog.log("Autentimispäring: ALGUS %s" % (phone)) if not ElectionState().election_on(): r1, r2 = ElectionState().election_off_msg() evlog.log_error('Viga operatsioonil "cand", teade "%s"' % r2) return protocol.msg_error(r1, r2) self.ctx().set_phone(phone) self.ctx().generate_challenge() service = MobileIDService() rsp = service.init_auth(self.ctx()) if rsp._Status == "OK": rsp._CertificateData = rsp._CertificateData.strip() self.ctx().save_post_auth(rsp) alog, elog = evlogdata.get_cert_data_log(rsp._CertificateData, "cand/auth", True) evlog.log( "Autentimispäring (%s, %s, %s, %s)" % (rsp._UserIDCode, rsp._UserGivenname, rsp._UserSurname, rsp._Challenge) ) evlog.log(alog) if elog: evlog.log_error(elog) return protocol.msg_mobid_auth_init_ok(self.ctx().sessid(), rsp._ChallengeID) return self.__return_mid_error(rsp._Status) except httplib.BadStatusLine as exc: return self.__return_badstatusline_error(exc) except ZSI.FaultException as exc: return self.__return_zsi_error(exc) except: return self.__return_exception() finally: evlog.log("Autentimispäring: LÕPP")
def init_auth(self, phone): try: evlog.log("Autentimispäring: ALGUS %s" % (phone)) if not ElectionState().election_on(): r1, r2 = ElectionState().election_off_msg() return protocol.msg_error(r1, r2) self.ctx().set_phone(phone) self.ctx().generate_challenge() service = MobileIDService() rsp_cert = service.get_cert(self.ctx()) if not (rsp_cert._SignCertStatus == 'OK'): return self.__return_mid_error(rsp_cert._SignCertStatus) if rsp_cert._AuthCertStatus == 'OK': res, err = cert_ok(rsp_cert._AuthCertData) if not res: evlog.log_error(err) return self.__return_mid_policy_error() else: return self.__return_mid_error(rsp_cert._AuthCertStatus) rsp = service.init_auth(self.ctx()) if rsp._Status == 'OK': self.ctx().save_post_auth(rsp) evlog.log('Autentimispäring (%s, %s, %s, %s)' % \ (rsp._UserIDCode, rsp._UserGivenname, \ rsp._UserSurname, rsp._Challenge)) return protocol.msg_mobid_auth_init_ok(\ self.ctx().sessid(), rsp._ChallengeID) return self.__return_mid_error(rsp._Status) except httplib.BadStatusLine, exc: return self.__return_badstatusline_error(exc)
import evlog import sessionid import os if not evcommon.testrun(): os.umask(007) form = cgi.FieldStorage() result = protocol.msg_error_technical() mid = middisp.MIDDispatcher() if form.has_key(evcommon.POST_SESS_ID): sessionid.setsid(form.getvalue(evcommon.POST_SESS_ID)) if form.has_key(evcommon.POST_MID_POLL): result = mid.poll() else: result = mid.init_sign(form) else: if form.has_key(evcommon.POST_PHONENO): if not os.path.exists('/var/evote/registry/common/nonewvoters'): result = mid.init_auth(form.getvalue(evcommon.POST_PHONENO)) else: a, b = protocol.plain_error_election_off_after() result = protocol.msg_error(a, b) else: evlog.log_error('Vigane POST päring: %s' % form.keys()) protocol.http_response(result) cgi.sys.exit(0) # vim:set ts=4 sw=4 et fileencoding=utf8:
def __return_error(self, errcode, msg): evlog.log_error('Viga operatsioonil "%s", teade "%s"' %\ (self.__task, msg)) return protocol.msg_error(errcode, msg)
def __return_error(self, errcode, msg): evlog.log_error('Teade Valija rakendusele: "%s"' % msg) if self.__ctx: self.__ctx.kill() return protocol.msg_error(errcode, msg)
res, logline = cgivalidator.validate_form(form, req_params) if res: cgilog.do_log("vote/auth") result = mid.init_sign(form) else: cgilog.do_log_error('vote/auth/err') evlog.log_error(logline) else: req_params = [evcommon.POST_PHONENO] res, logline = cgivalidator.validate_form(form, req_params) if res: cgilog.do_log("cand/auth") phoneno = form.getvalue(evcommon.POST_PHONENO) evlog.log("PHONENO: " + phoneno) if election.Election().allow_new_voters(): result = mid.init_auth(phoneno) else: a, b = protocol.plain_error_election_off_after() result = protocol.msg_error(a, b) else: cgilog.do_log_error('cand/auth/err') evlog.log_error(logline) except: evlog.log_exception() result = protocol.msg_error_technical() protocol.http_response(result) cgi.sys.exit(0) # vim:set ts=4 sw=4 et fileencoding=utf8: