X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-afs.git/blobdiff_plain/08c48856a689af67af5675b2ded99789fb8ca4d3..b2e79f7be54c95e4aa6435891f300fa0a5cb1f01:/afs/_pts.pyx diff --git a/afs/_pts.pyx b/afs/_pts.pyx index 66fefd9..8a5751c 100644 --- a/afs/_pts.pyx +++ b/afs/_pts.pyx @@ -11,6 +11,8 @@ cdef class PTS: cdef ktc_principal prin cdef ktc_token token cdef rx_securityClass *sc + cdef rx_connection *serverconns[MAXSERVERS] + cdef int i if cell is None: c_cell = NULL @@ -30,7 +32,7 @@ cdef class PTS: (AFSDIR_CLIENT_ETC_DIRPATH, strerror(errno))) code = afsconf_GetCellInfo(cdir, c_cell, "afsprot", &info) if code != 0: - raise Exception(code, "GetCellInfo: %s" % error_message(code)) + raise Exception(code, "GetCellInfo: %s" % afs_error_message(code)) if sec > 0: strncpy(prin.cell, info.name, sizeof(prin.cell)) @@ -41,7 +43,7 @@ cdef class PTS: if code != 0: if sec >= 2: # No really - we wanted authentication - raise Exception(code, "Failed to get token for service AFS: %s" % error_message(code)) + raise Exception(code, "Failed to get token for service AFS: %s" % afs_error_message(code)) sec = 0 else: if sec == 3: @@ -57,7 +59,20 @@ cdef class PTS: else: sec = 2 + memset(serverconns, 0, sizeof(serverconns)) + for 0 <= i < info.numServers: + serverconns[i] = rx_NewConnection(info.hostAddr[i].sin_addr.s_addr, + info.hostAddr[i].sin_port, + PRSRV, + sc, + sec) + + code = ubik_ClientInit(serverconns, &self.client) + if code != 0: + raise Exception("Failed to initialize ubik connection to Protection server: %s" % afs_error_message(code)) + code = rxs_Release(sc) def __dealloc__(self): + ubik_ClientDestroy(self.client) rx_Finalize()