105 eprintf(
"handle_wrongsecinfo_noname: authsspi_create_default for "
113 if (
gethostname(machname,
sizeof(machname)) == -1) {
114 eprintf(
"nfs41_rpc_clnt_create: gethostname failed\n");
117 machname[
sizeof(machname) - 1] =
'\0';
119 session->client->rpc->gid, 0, gids);
121 eprintf(
"handle_wrongsecinfo_noname: authsys_create failed\n");
128 session->client->rpc->rpc->cl_auth = auth;
142 int status, retry_count = 0, delayby = 0, secinfo_status;
154 (
char *)&compound->
args, (
char *)&compound->
res);
163 eprintf(
"[session] sr_slotid=%d != sa_slotid=%d\n",
171 eprintf(
"[session] sr_sessionid != sa_sessionid\n");
193 eprintf(
"nfs41_send_compound failed %d for seqid=%d, slotid=%d\n",
200 dprintf(1,
"\n################ %s ################\n\n",
265#define RETRY_INDEFINITELY
266#ifndef RETRY_INDEFINITELY
267#define NUMBER_2_RETRY 19
270#ifndef RETRY_INDEFINITELY
271 if (retry_count < NUMBER_2_RETRY) {
278 delayby = 500*retry_count;
279 dprintf(1,
"Compound returned %s: sleeping for %ums..\n",
283 dprintf(1,
"Attempting to resend compound.\n");
285#ifndef RETRY_INDEFINITELY
354 dprintf(1,
"SECINFO: BROKEN SERVER\n");
362 saved_sec_flavor =
session->client->rpc->sec_flavor;
363 saved_auth =
session->client->rpc->rpc->cl_auth;
392 if (secinfo_status) {
393 eprintf(
"nfs41_secinfo failed with %d\n", secinfo_status);
409 if (secinfo_status) {
410 eprintf(
"nfs41_secinfo_noname failed with %d\n",
419 if (!secinfo_status) {
426 session->client->rpc->sec_flavor = saved_sec_flavor;
427 session->client->rpc->rpc->cl_auth = saved_auth;
455 &
args->sa_sequenceid, &
args->sa_highest_slotid);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
#define auth_destroy(auth)
#define authsys_create(c, i1, i2, i3, ip)
AUTH * authsspi_create_default(CLIENT *clnt, char *service, int svc)
bool_t nfs41_recover_stateid(IN nfs41_session *session, IN nfs_argop4 *argop)
void nfs41_recovery_finish(IN nfs41_client *client)
int nfs41_recover_session(IN nfs41_session *session, IN bool_t client_state_lost)
bool_t nfs41_recovery_start_or_wait(IN nfs41_client *client)
void nfs41_recover_sequence_flags(IN nfs41_session *session, IN uint32_t flags)
void eprintf(LPCSTR format,...)
const char * nfs_error_string(int status)
void print_hexbuf(int level, unsigned char *title, unsigned char *buf, int len)
void print_sr_status_flags(int level, int flags)
const char * gssauth_string(int type)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockShared(PSRWLOCK Lock)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
INT WSAAPI gethostname(OUT char FAR *name, IN INT namelen)
GLuint GLuint GLsizei GLenum type
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define memcpy(s1, s2, n)
int nfs41_name_cache_remove_stale(IN struct nfs41_name_cache *cache, IN nfs41_session *session, IN nfs41_abs_path *path)
static __inline struct nfs41_name_cache * session_name_cache(IN nfs41_session *session)
int nfs41_send_compound(IN nfs41_rpc_clnt *rpc, IN char *inbuf, OUT char *outbuf)
void nfs41_session_free_slot(IN nfs41_session *session, IN uint32_t slotid)
void nfs41_session_get_slot(IN nfs41_session *session, OUT uint32_t *slot, OUT uint32_t *seq, OUT uint32_t *highest)
void nfs41_session_bump_seq(IN nfs41_session *session, IN uint32_t slotid, IN uint32_t target_highest_slotid)
int nfs41_client_renew(IN nfs41_client *client)
int nfs41_session_bad_slot(IN nfs41_session *session, IN OUT struct __nfs41_sequence_args *args)
static void set_expected_res(nfs41_compound *compound)
void compound_init(nfs41_compound *compound, nfs_argop4 *argops, nfs_resop4 *resops, const char *tag)
static int create_new_rpc_auth(nfs41_session *session, uint32_t op, nfs41_secinfo_info *secinfo)
int compound_encode_send_decode(nfs41_session *session, nfs41_compound *compound, bool_t try_recovery)
void compound_add_op(nfs41_compound *compound, uint32_t opnum, void *arg, void *res)
int compound_error(int status)
#define NFS4_SESSIONID_SIZE
#define NFS4_OPAQUE_LIMIT
int nfs41_secinfo_noname(IN nfs41_session *session, IN nfs41_path_fh *file, OUT nfs41_secinfo_info *secinfo)
enum nfsstat4 nfs41_bind_conn_to_session(IN nfs41_rpc_clnt *rpc, IN const unsigned char *sessionid, IN enum channel_dir_from_client4 dir)
int nfs41_secinfo(IN nfs41_session *session, IN nfs41_path_fh *file, IN const nfs41_component *name, OUT nfs41_secinfo_info *secinfo)
@ SEQ4_STATUS_CB_PATH_DOWN
unsigned char tag[NFS4_OPAQUE_LIMIT]
const nfs41_component * name
unsigned char sr_sessionid[NFS4_SESSIONID_SIZE]
uint32_t sr_target_highest_slotid
nfs41_sequence_res_ok sr_resok4
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
#define ERROR_NETWORK_UNREACHABLE
#define ERROR_BAD_NET_RESP