Re: [Spice-devel] [PATCH spice-common] proto: Remove obsolete TunnelChannel
Hi On Fri, Feb 22, 2019 at 10:54 AM Frediano Ziglio wrote: > > No reason to keep it, spice-gtk and spice-server don't > implement it and was removed for security reasons. > > Signed-off-by: Frediano Ziglio ack (I think this could eventually be hacked together again when slirp is made a standalone project. Without modifying much of qemu or spice-gtk, you could let a guest access the client network.. that could be fun, not sure if it should become a real solution ;). > --- > common/messages.h | 99 > spice.proto | 113 +- > 2 files changed, 2 insertions(+), 210 deletions(-) > > diff --git a/common/messages.h b/common/messages.h > index 3e37235..43d3602 100644 > --- a/common/messages.h > +++ b/common/messages.h > @@ -489,105 +489,6 @@ typedef struct SpiceMsgcRecordStartMark { > uint32_t time; > } SpiceMsgcRecordStartMark; > > -typedef struct SpiceMsgTunnelInit { > -uint16_t max_num_of_sockets; > -uint32_t max_socket_data_size; > -} SpiceMsgTunnelInit; > - > -typedef uint8_t SpiceTunnelIPv4[4]; > - > -typedef struct SpiceMsgTunnelIpInfo { > -uint16_t type; > -union { > - SpiceTunnelIPv4 ipv4; > -} u; > -uint8_t data[0]; > -} SpiceMsgTunnelIpInfo; > - > -typedef struct SpiceMsgTunnelServiceIpMap { > -uint32_t service_id; > -SpiceMsgTunnelIpInfo virtual_ip; > -} SpiceMsgTunnelServiceIpMap; > - > -typedef struct SpiceMsgTunnelSocketOpen { > -uint16_t connection_id; > -uint32_t service_id; > -uint32_t tokens; > -} SpiceMsgTunnelSocketOpen; > - > -/* connection id must be the first field in msgs directed to a specific > connection */ > - > -typedef struct SpiceMsgTunnelSocketFin { > -uint16_t connection_id; > -} SpiceMsgTunnelSocketFin; > - > -typedef struct SpiceMsgTunnelSocketClose { > -uint16_t connection_id; > -} SpiceMsgTunnelSocketClose; > - > -typedef struct SpiceMsgTunnelSocketData { > -uint16_t connection_id; > -uint8_t data[0]; > -} SpiceMsgTunnelSocketData; > - > -typedef struct SpiceMsgTunnelSocketTokens { > -uint16_t connection_id; > -uint32_t num_tokens; > -} SpiceMsgTunnelSocketTokens; > - > -typedef struct SpiceMsgTunnelSocketClosedAck { > -uint16_t connection_id; > -} SpiceMsgTunnelSocketClosedAck; > - > -typedef struct SpiceMsgcTunnelAddGenericService { > -uint32_t type; > -uint32_t id; > -uint32_t group; > -uint32_t port; > -uint64_t name; > -uint64_t description; > -union { > -SpiceMsgTunnelIpInfo ip; > -} u; > -} SpiceMsgcTunnelAddGenericService; > - > -typedef struct SpiceMsgcTunnelRemoveService { > -uint32_t id; > -} SpiceMsgcTunnelRemoveService; > - > -/* connection id must be the first field in msgs directed to a specific > connection */ > - > -typedef struct SpiceMsgcTunnelSocketOpenAck { > -uint16_t connection_id; > -uint32_t tokens; > -} SpiceMsgcTunnelSocketOpenAck; > - > -typedef struct SpiceMsgcTunnelSocketOpenNack { > -uint16_t connection_id; > -} SpiceMsgcTunnelSocketOpenNack; > - > -typedef struct SpiceMsgcTunnelSocketData { > -uint16_t connection_id; > -uint8_t data[0]; > -} SpiceMsgcTunnelSocketData; > - > -typedef struct SpiceMsgcTunnelSocketFin { > -uint16_t connection_id; > -} SpiceMsgcTunnelSocketFin; > - > -typedef struct SpiceMsgcTunnelSocketClosed { > -uint16_t connection_id; > -} SpiceMsgcTunnelSocketClosed; > - > -typedef struct SpiceMsgcTunnelSocketClosedAck { > -uint16_t connection_id; > -} SpiceMsgcTunnelSocketClosedAck; > - > -typedef struct SpiceMsgcTunnelSocketTokens { > -uint16_t connection_id; > -uint32_t num_tokens; > -} SpiceMsgcTunnelSocketTokens; > - > #ifdef USE_SMARTCARD > typedef struct SpiceMsgSmartcard { > VSCMsgType type; > diff --git a/spice.proto b/spice.proto > index 02ab4df..51ce3ca 100644 > --- a/spice.proto > +++ b/spice.proto > @@ -1235,115 +1235,6 @@ channel RecordChannel : BaseChannel { > } start_mark; > }; > > -enum16 tunnel_service_type { > -INVALID, > -GENERIC, > -IPP, > -}; > - > -enum16 tunnel_ip_type { > -INVALID, > -IPv4, > -}; > - > -struct TunnelIpInfo { > -tunnel_ip_type type; > -switch (type) { > -case IPv4: > -uint8 ipv4[4]; > -} u; > -} @ctype(SpiceMsgTunnelIpInfo); > - > -channel TunnelChannel : BaseChannel { > - server: > -message { > -uint16 max_num_of_sockets; > -uint32 max_socket_data_size; > -} init = 101; > - > -message { > -uint32 service_id; > -TunnelIpInfo virtual_ip; > -} service_ip_map; > - > -message { > -uint16 connection_id; > -uint32 service_id; > -uint32 tokens; > -} socket_open; > - > -message { > -uint16 connection_id; > -} socket_fin; > - > -message { > -uint16 connection_id; > -} socket_close; > - > -message { > -uint16 connection_id; > -uint8 data[] @end; > -
[Spice-devel] [PATCH spice-common] proto: Remove obsolete TunnelChannel
No reason to keep it, spice-gtk and spice-server don't implement it and was removed for security reasons. Signed-off-by: Frediano Ziglio --- common/messages.h | 99 spice.proto | 113 +- 2 files changed, 2 insertions(+), 210 deletions(-) diff --git a/common/messages.h b/common/messages.h index 3e37235..43d3602 100644 --- a/common/messages.h +++ b/common/messages.h @@ -489,105 +489,6 @@ typedef struct SpiceMsgcRecordStartMark { uint32_t time; } SpiceMsgcRecordStartMark; -typedef struct SpiceMsgTunnelInit { -uint16_t max_num_of_sockets; -uint32_t max_socket_data_size; -} SpiceMsgTunnelInit; - -typedef uint8_t SpiceTunnelIPv4[4]; - -typedef struct SpiceMsgTunnelIpInfo { -uint16_t type; -union { - SpiceTunnelIPv4 ipv4; -} u; -uint8_t data[0]; -} SpiceMsgTunnelIpInfo; - -typedef struct SpiceMsgTunnelServiceIpMap { -uint32_t service_id; -SpiceMsgTunnelIpInfo virtual_ip; -} SpiceMsgTunnelServiceIpMap; - -typedef struct SpiceMsgTunnelSocketOpen { -uint16_t connection_id; -uint32_t service_id; -uint32_t tokens; -} SpiceMsgTunnelSocketOpen; - -/* connection id must be the first field in msgs directed to a specific connection */ - -typedef struct SpiceMsgTunnelSocketFin { -uint16_t connection_id; -} SpiceMsgTunnelSocketFin; - -typedef struct SpiceMsgTunnelSocketClose { -uint16_t connection_id; -} SpiceMsgTunnelSocketClose; - -typedef struct SpiceMsgTunnelSocketData { -uint16_t connection_id; -uint8_t data[0]; -} SpiceMsgTunnelSocketData; - -typedef struct SpiceMsgTunnelSocketTokens { -uint16_t connection_id; -uint32_t num_tokens; -} SpiceMsgTunnelSocketTokens; - -typedef struct SpiceMsgTunnelSocketClosedAck { -uint16_t connection_id; -} SpiceMsgTunnelSocketClosedAck; - -typedef struct SpiceMsgcTunnelAddGenericService { -uint32_t type; -uint32_t id; -uint32_t group; -uint32_t port; -uint64_t name; -uint64_t description; -union { -SpiceMsgTunnelIpInfo ip; -} u; -} SpiceMsgcTunnelAddGenericService; - -typedef struct SpiceMsgcTunnelRemoveService { -uint32_t id; -} SpiceMsgcTunnelRemoveService; - -/* connection id must be the first field in msgs directed to a specific connection */ - -typedef struct SpiceMsgcTunnelSocketOpenAck { -uint16_t connection_id; -uint32_t tokens; -} SpiceMsgcTunnelSocketOpenAck; - -typedef struct SpiceMsgcTunnelSocketOpenNack { -uint16_t connection_id; -} SpiceMsgcTunnelSocketOpenNack; - -typedef struct SpiceMsgcTunnelSocketData { -uint16_t connection_id; -uint8_t data[0]; -} SpiceMsgcTunnelSocketData; - -typedef struct SpiceMsgcTunnelSocketFin { -uint16_t connection_id; -} SpiceMsgcTunnelSocketFin; - -typedef struct SpiceMsgcTunnelSocketClosed { -uint16_t connection_id; -} SpiceMsgcTunnelSocketClosed; - -typedef struct SpiceMsgcTunnelSocketClosedAck { -uint16_t connection_id; -} SpiceMsgcTunnelSocketClosedAck; - -typedef struct SpiceMsgcTunnelSocketTokens { -uint16_t connection_id; -uint32_t num_tokens; -} SpiceMsgcTunnelSocketTokens; - #ifdef USE_SMARTCARD typedef struct SpiceMsgSmartcard { VSCMsgType type; diff --git a/spice.proto b/spice.proto index 02ab4df..51ce3ca 100644 --- a/spice.proto +++ b/spice.proto @@ -1235,115 +1235,6 @@ channel RecordChannel : BaseChannel { } start_mark; }; -enum16 tunnel_service_type { -INVALID, -GENERIC, -IPP, -}; - -enum16 tunnel_ip_type { -INVALID, -IPv4, -}; - -struct TunnelIpInfo { -tunnel_ip_type type; -switch (type) { -case IPv4: -uint8 ipv4[4]; -} u; -} @ctype(SpiceMsgTunnelIpInfo); - -channel TunnelChannel : BaseChannel { - server: -message { -uint16 max_num_of_sockets; -uint32 max_socket_data_size; -} init = 101; - -message { -uint32 service_id; -TunnelIpInfo virtual_ip; -} service_ip_map; - -message { -uint16 connection_id; -uint32 service_id; -uint32 tokens; -} socket_open; - -message { -uint16 connection_id; -} socket_fin; - -message { -uint16 connection_id; -} socket_close; - -message { -uint16 connection_id; -uint8 data[] @end; -} socket_data; - -message { -uint16 connection_id; -} socket_closed_ack; - -message { -uint16 connection_id; -uint32 num_tokens; -} @ctype(SpiceMsgTunnelSocketTokens) socket_token; - - client: -message { -tunnel_service_type type; -uint32 id; -uint32 group; -uint32 port; -uint8 *name[cstring()] @nocopy; -uint8 *description[cstring()] @nocopy; -switch (type) { -case IPP: -TunnelIpInfo ip @ctype(SpiceMsgTunnelIpInfo); -} u; -} @ctype(SpiceMsgcTunnelAddGenericService) service_add = 101; - -message { -uint32 id; -} @ctype(SpiceMs