Lines Matching refs:sasl

57     if (vs->sasl.conn) {  in vnc_sasl_client_cleanup()
58 vs->sasl.runSSF = false; in vnc_sasl_client_cleanup()
59 vs->sasl.wantSSF = false; in vnc_sasl_client_cleanup()
60 vs->sasl.waitWriteSSF = 0; in vnc_sasl_client_cleanup()
61 vs->sasl.encodedLength = vs->sasl.encodedOffset = 0; in vnc_sasl_client_cleanup()
62 vs->sasl.encoded = NULL; in vnc_sasl_client_cleanup()
63 g_free(vs->sasl.username); in vnc_sasl_client_cleanup()
64 g_free(vs->sasl.mechlist); in vnc_sasl_client_cleanup()
65 vs->sasl.username = vs->sasl.mechlist = NULL; in vnc_sasl_client_cleanup()
66 sasl_dispose(&vs->sasl.conn); in vnc_sasl_client_cleanup()
67 vs->sasl.conn = NULL; in vnc_sasl_client_cleanup()
79 vs->sasl.encoded, vs->sasl.encodedLength, vs->sasl.encodedOffset); in vnc_client_write_sasl()
81 if (!vs->sasl.encoded) { in vnc_client_write_sasl()
83 err = sasl_encode(vs->sasl.conn, in vnc_client_write_sasl()
86 (const char **)&vs->sasl.encoded, in vnc_client_write_sasl()
87 &vs->sasl.encodedLength); in vnc_client_write_sasl()
91 vs->sasl.encodedRawLength = vs->output.offset; in vnc_client_write_sasl()
92 vs->sasl.encodedOffset = 0; in vnc_client_write_sasl()
96 vs->sasl.encoded + vs->sasl.encodedOffset, in vnc_client_write_sasl()
97 vs->sasl.encodedLength - vs->sasl.encodedOffset); in vnc_client_write_sasl()
101 vs->sasl.encodedOffset += ret; in vnc_client_write_sasl()
102 if (vs->sasl.encodedOffset == vs->sasl.encodedLength) { in vnc_client_write_sasl()
105 if (vs->sasl.encodedRawLength >= vs->force_update_offset) { in vnc_client_write_sasl()
108 vs->force_update_offset -= vs->sasl.encodedRawLength; in vnc_client_write_sasl()
114 buffer_advance(&vs->output, vs->sasl.encodedRawLength); in vnc_client_write_sasl()
120 vs->sasl.encoded = NULL; in vnc_client_write_sasl()
121 vs->sasl.encodedOffset = vs->sasl.encodedLength = 0; in vnc_client_write_sasl()
154 err = sasl_decode(vs->sasl.conn, in vnc_client_read_sasl()
175 rv = sasl_getprop(vs->sasl.conn, SASL_USERNAME, &val); in vnc_auth_sasl_check_access()
186 vs->sasl.username = g_strdup((const char*)val); in vnc_auth_sasl_check_access()
187 trace_vnc_auth_sasl_username(vs, vs->sasl.username); in vnc_auth_sasl_check_access()
189 if (vs->vd->sasl.authzid == NULL) { in vnc_auth_sasl_check_access()
194 allow = qauthz_is_allowed_by_id(vs->vd->sasl.authzid, in vnc_auth_sasl_check_access()
195 vs->sasl.username, &err); in vnc_auth_sasl_check_access()
212 if (!vs->sasl.wantSSF) in vnc_auth_sasl_check_ssf()
215 err = sasl_getprop(vs->sasl.conn, SASL_SSF, &val); in vnc_auth_sasl_check_ssf()
232 vs->sasl.runSSF = 1; in vnc_auth_sasl_check_ssf()
269 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_step()
270 vs->sasl.conn = NULL; in protocol_client_auth_sasl_step()
276 err = sasl_server_step(vs->sasl.conn, in protocol_client_auth_sasl_step()
285 sasl_errdetail(vs->sasl.conn)); in protocol_client_auth_sasl_step()
286 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_step()
287 vs->sasl.conn = NULL; in protocol_client_auth_sasl_step()
293 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_step()
294 vs->sasl.conn = NULL; in protocol_client_auth_sasl_step()
329 if (vs->sasl.runSSF) in protocol_client_auth_sasl_step()
330 vs->sasl.waitWriteSSF = vs->output.offset; in protocol_client_auth_sasl_step()
397 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_start()
398 vs->sasl.conn = NULL; in protocol_client_auth_sasl_start()
404 err = sasl_server_start(vs->sasl.conn, in protocol_client_auth_sasl_start()
405 vs->sasl.mechlist, in protocol_client_auth_sasl_start()
414 sasl_errdetail(vs->sasl.conn)); in protocol_client_auth_sasl_start()
415 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_start()
416 vs->sasl.conn = NULL; in protocol_client_auth_sasl_start()
421 sasl_dispose(&vs->sasl.conn); in protocol_client_auth_sasl_start()
422 vs->sasl.conn = NULL; in protocol_client_auth_sasl_start()
493 if (strncmp(vs->sasl.mechlist, mechname, len) == 0) { in protocol_client_auth_sasl_mechname()
494 if (vs->sasl.mechlist[len] != '\0' && in protocol_client_auth_sasl_mechname()
495 vs->sasl.mechlist[len] != ',') { in protocol_client_auth_sasl_mechname()
499 char *offset = strstr(vs->sasl.mechlist, mechname); in protocol_client_auth_sasl_mechname()
510 g_free(vs->sasl.mechlist); in protocol_client_auth_sasl_mechname()
511 vs->sasl.mechlist = mechname; in protocol_client_auth_sasl_mechname()
607 &vs->sasl.conn); in start_auth_sasl()
615 vs->sasl.conn = NULL; in start_auth_sasl()
630 sasl_dispose(&vs->sasl.conn); in start_auth_sasl()
631 vs->sasl.conn = NULL; in start_auth_sasl()
636 err = sasl_setprop(vs->sasl.conn, SASL_SSF_EXTERNAL, &ssf); in start_auth_sasl()
640 sasl_dispose(&vs->sasl.conn); in start_auth_sasl()
641 vs->sasl.conn = NULL; in start_auth_sasl()
645 vs->sasl.wantSSF = !vnc_socket_is_unix(vs->sioc); in start_auth_sasl()
673 err = sasl_setprop(vs->sasl.conn, SASL_SEC_PROPS, &secprops); in start_auth_sasl()
677 sasl_dispose(&vs->sasl.conn); in start_auth_sasl()
678 vs->sasl.conn = NULL; in start_auth_sasl()
682 err = sasl_listmech(vs->sasl.conn, in start_auth_sasl()
692 sasl_errdetail(vs->sasl.conn)); in start_auth_sasl()
693 sasl_dispose(&vs->sasl.conn); in start_auth_sasl()
694 vs->sasl.conn = NULL; in start_auth_sasl()
701 sasl_dispose(&vs->sasl.conn); in start_auth_sasl()
702 vs->sasl.conn = NULL; in start_auth_sasl()
706 vs->sasl.mechlist = g_strdup(mechlist); in start_auth_sasl()