PROG_UNAVAIL = RPCProto.PROG_UNAVAIL # remote hasn't exported program PROG_MISMATCH = RPCProto.PROG_MISMATCH # remote can't support version # PROC_UNAVAIL = RPCProto.PROC_UNAVAIL # program can't support procedure GARBAGE_ARGS = RPCProto.GARBAGE_ARGS # procedure can't decode params SYSTEM_ERR = RPCProto.SYSTEM_ERR # errors like memory allocation AUTH_OK = RPCProto.AUTH_OK # success AUTH_BADCRED = RPCProto.AUTH_BADCRED # bad credential (seal broken) AUTH_REJECTEDCRED = RPCProto.AUTH_REJECTEDCRED # client must begin new session AUTH_BADVERF = RPCProto.AUTH_BADVERF # bad verifier (seal broken) AUTH_REJECTEDVERF = RPCProto.AUTH_REJECTEDVERF # verifier expired or replayed AUTH_TOOWEAK = RPCProto.AUTH_TOOWEAK # rejected for security reasons AUTH_INVALIDRESP = RPCProto.AUTH_INVALIDRESP # bogus response verifier AUTH_FAILED = RPCProto.AUTH_FAILED # reason unknown PROC_NULL = 0 NULL_AUTH = RPCProto.opaque_auth() NULL_AUTH.flavor = RPCProto.AUTH_NONE NULL_AUTH.body = '' def parse_frag_len(data): if len(data) < 4: raise EOFError, "no fraglen" fraglen = struct.unpack('>L', data[:4])[0] lastfrag = fraglen & 0x80000000 fraglen = fraglen & 0x7fffffff return (fraglen, lastfrag) def writefrags(message, write): """Fragments message and writes the fragments using write.