[Spice-devel] [PATCH spice-common] proto: Remove obsolete TunnelChannel

Marc-André Lureau marcandre.lureau at gmail.com
Fri Feb 22 10:35:42 UTC 2019


Hi

On Fri, Feb 22, 2019 at 10:54 AM Frediano Ziglio <fziglio at redhat.com> 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 <fziglio at redhat.com>

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;
> -    } 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(SpiceMsgcTunnelRemoveService) service_remove;
> -
> -    message {
> -        uint16 connection_id;
> -        uint32 tokens;
> -    } socket_open_ack;
> -
> -    message {
> -        uint16 connection_id;
> -    } socket_open_nack;
> -
> -    message {
> -        uint16 connection_id;
> -    } socket_fin;
> -
> -    message {
> -        uint16 connection_id;
> -    } socket_closed;
> -
> -    message {
> -        uint16 connection_id;
> -    } socket_closed_ack;
> -
> -    message {
> -        uint16 connection_id;
> -        uint8 data[] @end;
> -    } socket_data;
> -
> -    message {
> -        uint16 connection_id;
> -        uint32 num_tokens;
> -    } @ctype(SpiceMsgcTunnelSocketTokens) socket_token;
> -};
> -
>  enum32 vsc_message_type {
>      Init = 1,
>      Error,
> @@ -1466,8 +1357,8 @@ protocol Spice {
>      CursorChannel cursor;
>      PlaybackChannel playback;
>      RecordChannel record;
> -    TunnelChannel tunnel;
> -    SmartcardChannel smartcard;
> +    // there used to be a TunnelChannel
> +    SmartcardChannel smartcard = 8;
>      UsbredirChannel usbredir;
>      PortChannel port;
>      WebDAVChannel webdav;
> --
> 2.20.1
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel



-- 
Marc-André Lureau


More information about the Spice-devel mailing list