예제 #1
0
 def _make_cred_gss(self, handle, service, gss_proc=RPCSEC_GSS_DATA, seq=0):
     data = gss_type.rpc_gss_cred_vers_1_t(gss_proc, seq, service, handle)
     cred = gss_type.rpc_gss_cred_t(RPCSEC_GSS_VERS_1, data)
     p = self.getpacker()
     p.reset()
     p.pack_rpc_gss_cred_t(cred)
     return p.get_buffer()
예제 #2
0
 def _make_cred_gss(self, handle, service, gss_proc=RPCSEC_GSS_DATA, seq=0):
     data = gss_type.rpc_gss_cred_vers_1_t(gss_proc, seq, service, handle)
     cred = gss_type.rpc_gss_cred_t(RPCSEC_GSS_VERS_1, data)
     p = self.getpacker()
     p.reset()
     p.pack_rpc_gss_cred_t(cred)
     return p.get_buffer()
예제 #3
0
 def unpack_rpc_gss_cred_t(self):
     data = types.rpc_gss_cred_t()
     data.vers = self.unpack_uint()
     if data.vers == const.RPCSEC_GSS_VERS_1:
         data.rpc_gss_cred_vers_1_t = self.unpack_rpc_gss_cred_vers_1_t()
         data.arm = data.rpc_gss_cred_vers_1_t
     else:
         raise XDRError, 'bad switch=%s' % data.vers
     return data
예제 #4
0
 def unpack_rpc_gss_cred_t(self):
     data = types.rpc_gss_cred_t()
     data.vers = self.unpack_uint()
     if data.vers == const.RPCSEC_GSS_VERS_1:
         data.rpc_gss_cred_vers_1_t = self.unpack_rpc_gss_cred_vers_1_t()
         data.arm = data.rpc_gss_cred_vers_1_t
     else:
         raise XDRError, 'bad switch=%s' % data.vers
     return data
예제 #5
0
파일: security.py 프로젝트: kofemann/pynfs
 def make_cred(self, credinfo):
     log_gss.debug("Calling make_cred %r" % credinfo)
     # XXX Deal with a default credinfo==None?
     if credinfo.gss_proc in (RPCSEC_GSS_INIT, RPCSEC_GSS_CONTINUE_INIT):
         context = None
         seqid = 0 # Should be ignored by server
     else:
         context = self._get_context(credinfo.context)
         seqid = context.get_seqid()
     service = credinfo.service
     data = gss_type.rpc_gss_cred_vers_1_t(credinfo.gss_proc, seqid,
                                           credinfo.service,
                                           credinfo.context) # str
     cred = gss_type.rpc_gss_cred_t(RPCSEC_GSS_VERS_1, data)
     out = opaque_auth(RPCSEC_GSS, cred)
     out.opaque = False # HACK to tell system we haven't packed cred
     out.context = context # This needs to be Context()
     out.body.qop = credinfo.qop
     log_gss.debug("make_cred = %r" % out)
     return out
예제 #6
0
파일: security.py 프로젝트: wzugang/pynfs
 def make_cred(self, credinfo):
     log_gss.debug("Calling make_cred %r" % credinfo)
     # XXX Deal with a default credinfo==None?
     if credinfo.gss_proc in (RPCSEC_GSS_INIT, RPCSEC_GSS_CONTINUE_INIT):
         context = None
         seqid = 0  # Should be ignored by server
     else:
         context = self._get_context(credinfo.context)
         seqid = context.get_seqid()
     service = credinfo.service
     data = gss_type.rpc_gss_cred_vers_1_t(credinfo.gss_proc, seqid,
                                           credinfo.service,
                                           credinfo.context)  # str
     cred = gss_type.rpc_gss_cred_t(RPCSEC_GSS_VERS_1, data)
     out = opaque_auth(RPCSEC_GSS, cred)
     out.opaque = False  # HACK to tell system we haven't packed cred
     out.context = context  # This needs to be Context()
     out.body.qop = credinfo.qop
     log_gss.debug("make_cred = %r" % out)
     return out