vnc: avoid deprecation warnings for SASL on OS X
Apple has deprecated sasl.h functions in OS X 10.11. Therefore, all files that use SASL API need to disable -Wdeprecated-declarations. Remove the only use that is outside vnc-auth-sasl.c and add the relevant #pragma GCC diagnostic there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210604120915.286195-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1ea06abcee
commit
b65310ab34
@ -28,10 +28,30 @@
|
||||
#include "vnc.h"
|
||||
#include "trace.h"
|
||||
|
||||
/*
|
||||
* Apple has deprecated sasl.h functions in OS X 10.11. Therefore,
|
||||
* files that use SASL API need to disable -Wdeprecated-declarations.
|
||||
*/
|
||||
#ifdef CONFIG_DARWIN
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
/* Max amount of data we send/recv for SASL steps to prevent DOS */
|
||||
#define SASL_DATA_MAX_LEN (1024 * 1024)
|
||||
|
||||
|
||||
bool vnc_sasl_server_init(Error **errp)
|
||||
{
|
||||
int saslErr = sasl_server_init(NULL, "qemu");
|
||||
|
||||
if (saslErr != SASL_OK) {
|
||||
error_setg(errp, "Failed to initialize SASL auth: %s",
|
||||
sasl_errstring(saslErr, NULL, NULL));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void vnc_sasl_client_cleanup(VncState *vs)
|
||||
{
|
||||
if (vs->sasl.conn) {
|
||||
|
@ -63,6 +63,7 @@ struct VncDisplaySASL {
|
||||
char *authzid;
|
||||
};
|
||||
|
||||
bool vnc_sasl_server_init(Error **errp);
|
||||
void vnc_sasl_client_cleanup(VncState *vs);
|
||||
|
||||
size_t vnc_client_read_sasl(VncState *vs);
|
||||
|
10
ui/vnc.c
10
ui/vnc.c
@ -4154,14 +4154,8 @@ void vnc_display_open(const char *id, Error **errp)
|
||||
trace_vnc_auth_init(vd, 1, vd->ws_auth, vd->ws_subauth);
|
||||
|
||||
#ifdef CONFIG_VNC_SASL
|
||||
if (sasl) {
|
||||
int saslErr = sasl_server_init(NULL, "qemu");
|
||||
|
||||
if (saslErr != SASL_OK) {
|
||||
error_setg(errp, "Failed to initialize SASL auth: %s",
|
||||
sasl_errstring(saslErr, NULL, NULL));
|
||||
goto fail;
|
||||
}
|
||||
if (sasl && !vnc_sasl_server_init(errp)) {
|
||||
goto fail;
|
||||
}
|
||||
#endif
|
||||
vd->lock_key_sync = lock_key_sync;
|
||||
|
Loading…
Reference in New Issue
Block a user