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);
void nfs41_session_bump_seq(IN nfs41_session *session, IN uint32_t slotid, IN uint32_t target_highest_slotid)
const char * gssauth_string(int type)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
nfs41_sequence_res_ok sr_resok4
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void set_expected_res(nfs41_compound *compound)
unsigned char sr_sessionid[NFS4_SESSIONID_SIZE]
#define NFS4_SESSIONID_SIZE
bool_t nfs41_recover_stateid(IN nfs41_session *session, IN nfs_argop4 *argop)
ACPI_SIZE strlen(const char *String)
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)
uint32_t sr_target_highest_slotid
unsigned char tag[NFS4_OPAQUE_LIMIT]
void eprintf(LPCSTR format,...)
void nfs41_recover_sequence_flags(IN nfs41_session *session, IN uint32_t flags)
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)
#define ERROR_BAD_NET_RESP
void print_sr_status_flags(int level, int flags)
VOID WINAPI AcquireSRWLockShared(PSRWLOCK Lock)
static __inline struct nfs41_name_cache * session_name_cache(IN nfs41_session *session)
INT WSAAPI gethostname(OUT char FAR *name, IN INT namelen)
#define NFS4_OPAQUE_LIMIT
AUTH * authsspi_create_default(CLIENT *clnt, char *service, int svc)
bool_t nfs41_recovery_start_or_wait(IN nfs41_client *client)
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
int compound_error(int status)
int nfs41_recover_session(IN nfs41_session *session, IN bool_t client_state_lost)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
void nfs41_recovery_finish(IN nfs41_client *client)
int nfs41_send_compound(IN nfs41_rpc_clnt *rpc, IN char *inbuf, OUT char *outbuf)
const nfs41_component * name
const char * nfs_error_string(int status)
int nfs41_client_renew(IN nfs41_client *client)
void compound_add_op(nfs41_compound *compound, uint32_t opnum, void *arg, void *res)
#define memcpy(s1, s2, n)
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
#define ERROR_NETWORK_UNREACHABLE
int nfs41_secinfo(IN nfs41_session *session, IN nfs41_path_fh *file, IN const nfs41_component *name, OUT nfs41_secinfo_info *secinfo)
void nfs41_session_get_slot(IN nfs41_session *session, OUT uint32_t *slot, OUT uint32_t *seq, OUT uint32_t *highest)
void nfs41_session_free_slot(IN nfs41_session *session, IN uint32_t slotid)
void compound_init(nfs41_compound *compound, nfs_argop4 *argops, nfs_resop4 *resops, const char *tag)
#define authsys_create(c, i1, i2, i3, ip)
int nfs41_session_bad_slot(IN nfs41_session *session, IN OUT struct __nfs41_sequence_args *args)
GLuint GLuint GLsizei GLenum type
void print_hexbuf(int level, unsigned char *title, unsigned char *buf, int len)
int nfs41_name_cache_remove_stale(IN struct nfs41_name_cache *cache, IN nfs41_session *session, IN nfs41_abs_path *path)
static SERVICE_STATUS status
#define auth_destroy(auth)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
GLuint const GLchar * name