Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
Andri Yngvason | 4de85acadb | |
Andri Yngvason | 2466f3a1d1 | |
Lucas Servén Marín | 51d82a183f | |
Andri Yngvason | 4a518986b8 | |
Andri Yngvason | f9b129e096 | |
Christopher Snowhill | e035f642a6 | |
Andri Yngvason | 53cc5d185c | |
Andri Yngvason | 6ee3303c68 |
|
@ -1,7 +1,7 @@
|
|||
project(
|
||||
'wayvnc',
|
||||
'c',
|
||||
version: '0.6.0',
|
||||
version: '0.7.2',
|
||||
license: 'ISC',
|
||||
default_options: [
|
||||
'c_std=gnu11',
|
||||
|
@ -54,7 +54,7 @@ wayland_client = dependency('wayland-client')
|
|||
jansson = dependency('jansson')
|
||||
|
||||
aml_version = ['>=0.3.0', '<0.4.0']
|
||||
neatvnc_version = ['>=0.6.0', '<0.7.0']
|
||||
neatvnc_version = ['>=0.7.0', '<0.8.0']
|
||||
|
||||
neatvnc_project = subproject(
|
||||
'neatvnc',
|
||||
|
|
|
@ -369,7 +369,10 @@ static struct cmd_response* generate_vnc_client_list(struct ctl* self)
|
|||
json_object_set_new(packed, "username",
|
||||
json_string(info.username));
|
||||
|
||||
json_object_set_new(packed, "seat", json_string(info.seat));
|
||||
if (info.seat)
|
||||
json_object_set_new(packed, "seat",
|
||||
json_string(info.seat));
|
||||
|
||||
json_array_append_new(response->data, packed);
|
||||
}
|
||||
|
||||
|
|
24
src/main.c
24
src/main.c
|
@ -527,7 +527,7 @@ static void client_info(const struct ctl_server_client* client_handle,
|
|||
info->id = client->id;
|
||||
info->hostname = nvnc_client_get_hostname(vnc_client);
|
||||
info->username = nvnc_client_get_auth_username(vnc_client);
|
||||
info->seat = client->seat->name;
|
||||
info->seat = client->seat ? client->seat->name : NULL;
|
||||
}
|
||||
|
||||
static int get_output_list(struct ctl* ctl,
|
||||
|
@ -948,6 +948,9 @@ void wayvnc_process_frame(struct wayvnc* self)
|
|||
nvnc_fb_set_transform(buffer->nvnc_fb,
|
||||
(enum nvnc_transform)buffer_transform);
|
||||
|
||||
pixman_region_intersect_rect(&damage, &damage, 0, 0, buffer->width,
|
||||
buffer->height);
|
||||
|
||||
nvnc_display_feed_buffer(self->nvnc_display, buffer->nvnc_fb,
|
||||
&damage);
|
||||
|
||||
|
@ -999,18 +1002,14 @@ int check_cfg_sanity(struct cfg* cfg)
|
|||
|
||||
if (!nvnc_has_auth()) {
|
||||
nvnc_log(NVNC_LOG_ERROR, "Authentication can't be enabled because it was not selected during build");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!cfg->certificate_file && !cfg->rsa_private_key_file) {
|
||||
nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing certificate_file");
|
||||
rc = -1;
|
||||
}
|
||||
|
||||
if (!cfg->private_key_file && !cfg->rsa_private_key_file) {
|
||||
nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing private_key_file");
|
||||
if (!!cfg->certificate_file != !!cfg->private_key_file) {
|
||||
nvnc_log(NVNC_LOG_ERROR, "Need both certificate_file and private_key_file for TLS");
|
||||
rc = -1;
|
||||
}
|
||||
|
||||
if (!cfg->username && !cfg->enable_pam) {
|
||||
nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing username");
|
||||
rc = -1;
|
||||
|
@ -1020,6 +1019,11 @@ int check_cfg_sanity(struct cfg* cfg)
|
|||
nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing password");
|
||||
rc = -1;
|
||||
}
|
||||
|
||||
if (cfg->relax_encryption) {
|
||||
nvnc_log(NVNC_LOG_WARNING, "Authentication enabled with relaxed encryption; not all sessions are guaranteed to be encrypted");
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -1095,7 +1099,7 @@ static void client_destroy(void* obj)
|
|||
.id = self->id,
|
||||
.hostname = nvnc_client_get_hostname(self->nvnc_client),
|
||||
.username = nvnc_client_get_auth_username(self->nvnc_client),
|
||||
.seat = self->seat->name,
|
||||
.seat = self->seat ? self->seat->name : NULL,
|
||||
};
|
||||
|
||||
ctl_server_event_disconnected(wayvnc->ctl, &info, wayvnc->nr_clients);
|
||||
|
@ -1143,7 +1147,7 @@ static void on_nvnc_client_new(struct nvnc_client* client)
|
|||
.id = wayvnc_client->id,
|
||||
.hostname = nvnc_client_get_hostname(client),
|
||||
.username = nvnc_client_get_auth_username(client),
|
||||
.seat = wayvnc_client->seat->name,
|
||||
.seat = wayvnc_client->seat ? wayvnc_client->seat->name : NULL,
|
||||
};
|
||||
|
||||
ctl_server_event_connected(self->ctl, &info, self->nr_clients);
|
||||
|
|
|
@ -52,6 +52,9 @@ wayvnc - A VNC server for wlroots based Wayland compositors.
|
|||
*-v,--verbose*
|
||||
Be more verbose. Same as setting `--log-level=info`.
|
||||
|
||||
*-w,--websocket*
|
||||
Create a websocket.
|
||||
|
||||
*-L,--log-level*
|
||||
Set log level. The levels are: error, warning, info, debug, trace and
|
||||
quiet.
|
||||
|
|
Loading…
Reference in New Issue