示例#1
0
 def __proxy(self, vote = None, votebox = None):
     try:
         evlog.log(LOGSIG[self.__task] + ': ALGUS')
         if ElectionState().election_on():
             security = CertAnalyzer()
             if security.work():
                 if self.__task == TASK_CAND:
                     return \
                         self.__get_candidate_list(security.valid_person())
                 elif self.__task == TASK_VOTE:
                     return self.__hts_vote(\
                                 security.valid_person(), vote, votebox)
                 else:
                     r1, r2 = protocol.msg_error_technical()
                     return self.__return_error(r1, r2)
             else:
                 evlog.log_error('Viga: "%s"' % security.logmsg)
                 return \
                     self.__return_error(security.errcode, security.errmsg)
         else:
             r1, r2 = ElectionState().election_off_msg()
             return self.__return_error(r1, r2)
     except:
         return self.__return_exception()
     finally:
         evlog.log(LOGSIG[self.__task] + ': LõPP')
示例#2
0
 def __proxy(self, vote=None, votebox=None):
     try:
         evlog.log(LOGSIG[self.__task] + ': ALGUS')
         if ElectionState().election_on():
             security = CertAnalyzer()
             if security.work():
                 if self.__task == TASK_CAND:
                     return \
                         self.__get_candidate_list(security.valid_person())
                 elif self.__task == TASK_VOTE:
                     return self.__hts_vote(\
                                 security.valid_person(), vote, votebox)
                 else:
                     r1, r2 = protocol.msg_error_technical()
                     return self.__return_error(r1, r2)
             else:
                 evlog.log_error('Viga: "%s"' % security.logmsg)
                 return \
                     self.__return_error(security.errcode, security.errmsg)
         else:
             r1, r2 = ElectionState().election_off_msg()
             return self.__return_error(r1, r2)
     except:
         return self.__return_exception()
     finally:
         evlog.log(LOGSIG[self.__task] + ': LõPP')
示例#3
0
To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-nd/3.0/.
"""

import cgi
import evcommon
import middisp
import protocol
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)
示例#4
0
import cgi
import evcommon
import middisp
import protocol
import evlog
import sessionid
import cgivalidator
import cgilog
import election
import os

if not evcommon.testrun():
    os.umask(007)
    form = cgi.FieldStorage()
    result = protocol.msg_error_technical()
    mid = middisp.MIDDispatcher()
    evlog.AppLog().set_app('MID')

    try:
        has_sess = form.has_key(evcommon.POST_SESS_ID)
        has_poll = form.has_key(evcommon.POST_MID_POLL)
        if has_sess:
            if cgivalidator.validate_sessionid(form):
                sessionid.setsid(form.getvalue(evcommon.POST_SESS_ID))
            if has_poll:
                req_params = [evcommon.POST_MID_POLL, evcommon.POST_SESS_ID]
                res, logline = cgivalidator.validate_form(form, req_params)
                if res:
                    result = mid.poll()
                else: