summary refs log tree commit diff stats
path: root/ui/vnc.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui/vnc.c')
-rw-r--r--ui/vnc.c138
1 files changed, 68 insertions, 70 deletions
diff --git a/ui/vnc.c b/ui/vnc.c
index 5090a2562f..9c4edcdbf5 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -108,31 +108,31 @@ static void vnc_set_share_mode(VncState *vs, VncShareMode mode)
 }
 
 
-static void vnc_init_basic_info(SocketAddressLegacy *addr,
+static void vnc_init_basic_info(SocketAddress *addr,
                                 VncBasicInfo *info,
                                 Error **errp)
 {
     switch (addr->type) {
-    case SOCKET_ADDRESS_LEGACY_KIND_INET:
-        info->host = g_strdup(addr->u.inet.data->host);
-        info->service = g_strdup(addr->u.inet.data->port);
-        if (addr->u.inet.data->ipv6) {
+    case SOCKET_ADDRESS_TYPE_INET:
+        info->host = g_strdup(addr->u.inet.host);
+        info->service = g_strdup(addr->u.inet.port);
+        if (addr->u.inet.ipv6) {
             info->family = NETWORK_ADDRESS_FAMILY_IPV6;
         } else {
             info->family = NETWORK_ADDRESS_FAMILY_IPV4;
         }
         break;
 
-    case SOCKET_ADDRESS_LEGACY_KIND_UNIX:
+    case SOCKET_ADDRESS_TYPE_UNIX:
         info->host = g_strdup("");
-        info->service = g_strdup(addr->u.q_unix.data->path);
+        info->service = g_strdup(addr->u.q_unix.path);
         info->family = NETWORK_ADDRESS_FAMILY_UNIX;
         break;
 
-    case SOCKET_ADDRESS_LEGACY_KIND_VSOCK:
-    case SOCKET_ADDRESS_LEGACY_KIND_FD:
+    case SOCKET_ADDRESS_TYPE_VSOCK:
+    case SOCKET_ADDRESS_TYPE_FD:
         error_setg(errp, "Unsupported socket address type %s",
-                   SocketAddressLegacyKind_lookup[addr->type]);
+                   SocketAddressType_lookup[addr->type]);
         break;
     default:
         abort();
@@ -145,7 +145,7 @@ static void vnc_init_basic_info_from_server_addr(QIOChannelSocket *ioc,
                                                  VncBasicInfo *info,
                                                  Error **errp)
 {
-    SocketAddressLegacy *addr = NULL;
+    SocketAddress *addr = NULL;
 
     if (!ioc) {
         error_setg(errp, "No listener socket available");
@@ -158,14 +158,14 @@ static void vnc_init_basic_info_from_server_addr(QIOChannelSocket *ioc,
     }
 
     vnc_init_basic_info(addr, info, errp);
-    qapi_free_SocketAddressLegacy(addr);
+    qapi_free_SocketAddress(addr);
 }
 
 static void vnc_init_basic_info_from_remote_addr(QIOChannelSocket *ioc,
                                                  VncBasicInfo *info,
                                                  Error **errp)
 {
-    SocketAddressLegacy *addr = NULL;
+    SocketAddress *addr = NULL;
 
     addr = qio_channel_socket_get_remote_address(ioc, errp);
     if (!addr) {
@@ -173,7 +173,7 @@ static void vnc_init_basic_info_from_remote_addr(QIOChannelSocket *ioc,
     }
 
     vnc_init_basic_info(addr, info, errp);
-    qapi_free_SocketAddressLegacy(addr);
+    qapi_free_SocketAddress(addr);
 }
 
 static const char *vnc_auth_name(VncDisplay *vd) {
@@ -377,7 +377,7 @@ VncInfo *qmp_query_vnc(Error **errp)
 {
     VncInfo *info = g_malloc0(sizeof(*info));
     VncDisplay *vd = vnc_display_find(NULL);
-    SocketAddressLegacy *addr = NULL;
+    SocketAddress *addr = NULL;
 
     if (vd == NULL || !vd->nlsock) {
         info->enabled = false;
@@ -398,26 +398,26 @@ VncInfo *qmp_query_vnc(Error **errp)
         }
 
         switch (addr->type) {
-        case SOCKET_ADDRESS_LEGACY_KIND_INET:
-            info->host = g_strdup(addr->u.inet.data->host);
-            info->service = g_strdup(addr->u.inet.data->port);
-            if (addr->u.inet.data->ipv6) {
+        case SOCKET_ADDRESS_TYPE_INET:
+            info->host = g_strdup(addr->u.inet.host);
+            info->service = g_strdup(addr->u.inet.port);
+            if (addr->u.inet.ipv6) {
                 info->family = NETWORK_ADDRESS_FAMILY_IPV6;
             } else {
                 info->family = NETWORK_ADDRESS_FAMILY_IPV4;
             }
             break;
 
-        case SOCKET_ADDRESS_LEGACY_KIND_UNIX:
+        case SOCKET_ADDRESS_TYPE_UNIX:
             info->host = g_strdup("");
-            info->service = g_strdup(addr->u.q_unix.data->path);
+            info->service = g_strdup(addr->u.q_unix.path);
             info->family = NETWORK_ADDRESS_FAMILY_UNIX;
             break;
 
-        case SOCKET_ADDRESS_LEGACY_KIND_VSOCK:
-        case SOCKET_ADDRESS_LEGACY_KIND_FD:
+        case SOCKET_ADDRESS_TYPE_VSOCK:
+        case SOCKET_ADDRESS_TYPE_FD:
             error_setg(errp, "Unsupported socket address type %s",
-                       SocketAddressLegacyKind_lookup[addr->type]);
+                       SocketAddressType_lookup[addr->type]);
             goto out_error;
         default:
             abort();
@@ -431,11 +431,11 @@ VncInfo *qmp_query_vnc(Error **errp)
         info->auth = g_strdup(vnc_auth_name(vd));
     }
 
-    qapi_free_SocketAddressLegacy(addr);
+    qapi_free_SocketAddress(addr);
     return info;
 
 out_error:
-    qapi_free_SocketAddressLegacy(addr);
+    qapi_free_SocketAddress(addr);
     qapi_free_VncInfo(info);
     return NULL;
 }
@@ -455,7 +455,7 @@ static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc,
     VncServerInfo2List *list;
     VncServerInfo2 *info;
     Error *err = NULL;
-    SocketAddressLegacy *addr;
+    SocketAddress *addr;
 
     addr = qio_channel_socket_get_local_address(ioc, &err);
     if (!addr) {
@@ -465,7 +465,7 @@ static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc,
 
     info = g_new0(VncServerInfo2, 1);
     vnc_init_basic_info(addr, qapi_VncServerInfo2_base(info), &err);
-    qapi_free_SocketAddressLegacy(addr);
+    qapi_free_SocketAddress(addr);
     if (err) {
         qapi_free_VncServerInfo2(info);
         error_free(err);
@@ -3149,7 +3149,7 @@ int vnc_display_pw_expire(const char *id, time_t expires)
 
 static void vnc_display_print_local_addr(VncDisplay *vd)
 {
-    SocketAddressLegacy *addr;
+    SocketAddress *addr;
     Error *err = NULL;
 
     if (!vd->nlsock) {
@@ -3161,14 +3161,14 @@ static void vnc_display_print_local_addr(VncDisplay *vd)
         return;
     }
 
-    if (addr->type != SOCKET_ADDRESS_LEGACY_KIND_INET) {
-        qapi_free_SocketAddressLegacy(addr);
+    if (addr->type != SOCKET_ADDRESS_TYPE_INET) {
+        qapi_free_SocketAddress(addr);
         return;
     }
     error_printf_unless_qmp("VNC server running on %s:%s\n",
-                            addr->u.inet.data->host,
-                            addr->u.inet.data->port);
-    qapi_free_SocketAddressLegacy(addr);
+                            addr->u.inet.host,
+                            addr->u.inet.port);
+    qapi_free_SocketAddress(addr);
 }
 
 static QemuOptsList qemu_vnc_opts = {
@@ -3414,18 +3414,17 @@ static int vnc_display_get_address(const char *addrstr,
                                    bool has_ipv6,
                                    bool ipv4,
                                    bool ipv6,
-                                   SocketAddressLegacy **retaddr,
+                                   SocketAddress **retaddr,
                                    Error **errp)
 {
     int ret = -1;
-    SocketAddressLegacy *addr = NULL;
+    SocketAddress *addr = NULL;
 
-    addr = g_new0(SocketAddressLegacy, 1);
+    addr = g_new0(SocketAddress, 1);
 
     if (strncmp(addrstr, "unix:", 5) == 0) {
-        addr->type = SOCKET_ADDRESS_LEGACY_KIND_UNIX;
-        addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
-        addr->u.q_unix.data->path = g_strdup(addrstr + 5);
+        addr->type = SOCKET_ADDRESS_TYPE_UNIX;
+        addr->u.q_unix.path = g_strdup(addrstr + 5);
 
         if (websocket) {
             error_setg(errp, "UNIX sockets not supported with websock");
@@ -3461,8 +3460,8 @@ static int vnc_display_get_address(const char *addrstr,
             }
         }
 
-        addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET;
-        inet = addr->u.inet.data = g_new0(InetSocketAddress, 1);
+        addr->type = SOCKET_ADDRESS_TYPE_INET;
+        inet = &addr->u.inet;
         if (addrstr[0] == '[' && addrstr[hostlen - 1] == ']') {
             inet->host = g_strndup(addrstr + 1, hostlen - 2);
         } else {
@@ -3518,21 +3517,21 @@ static int vnc_display_get_address(const char *addrstr,
 
  cleanup:
     if (ret < 0) {
-        qapi_free_SocketAddressLegacy(addr);
+        qapi_free_SocketAddress(addr);
     }
     return ret;
 }
 
 static int vnc_display_get_addresses(QemuOpts *opts,
                                      bool reverse,
-                                     SocketAddressLegacy ***retsaddr,
+                                     SocketAddress ***retsaddr,
                                      size_t *retnsaddr,
-                                     SocketAddressLegacy ***retwsaddr,
+                                     SocketAddress ***retwsaddr,
                                      size_t *retnwsaddr,
                                      Error **errp)
 {
-    SocketAddressLegacy *saddr = NULL;
-    SocketAddressLegacy *wsaddr = NULL;
+    SocketAddress *saddr = NULL;
+    SocketAddress *wsaddr = NULL;
     QemuOptsIter addriter;
     const char *addr;
     int to = qemu_opt_get_number(opts, "to", 0);
@@ -3577,7 +3576,7 @@ static int vnc_display_get_addresses(QemuOpts *opts,
         if (displaynum == -1) {
             displaynum = rv;
         }
-        *retsaddr = g_renew(SocketAddressLegacy *, *retsaddr, *retnsaddr + 1);
+        *retsaddr = g_renew(SocketAddress *, *retsaddr, *retnsaddr + 1);
         (*retsaddr)[(*retnsaddr)++] = saddr;
     }
 
@@ -3601,16 +3600,15 @@ static int vnc_display_get_addresses(QemuOpts *opts,
          * address for websocket too
          */
         if (*retnsaddr == 1 &&
-            (*retsaddr)[0]->type == SOCKET_ADDRESS_LEGACY_KIND_INET &&
-            wsaddr->type == SOCKET_ADDRESS_LEGACY_KIND_INET &&
-            g_str_equal(wsaddr->u.inet.data->host, "") &&
-            !g_str_equal((*retsaddr)[0]->u.inet.data->host, "")) {
-            g_free(wsaddr->u.inet.data->host);
-            wsaddr->u.inet.data->host =
-                g_strdup((*retsaddr)[0]->u.inet.data->host);
+            (*retsaddr)[0]->type == SOCKET_ADDRESS_TYPE_INET &&
+            wsaddr->type == SOCKET_ADDRESS_TYPE_INET &&
+            g_str_equal(wsaddr->u.inet.host, "") &&
+            !g_str_equal((*retsaddr)[0]->u.inet.host, "")) {
+            g_free(wsaddr->u.inet.host);
+            wsaddr->u.inet.host = g_strdup((*retsaddr)[0]->u.inet.host);
         }
 
-        *retwsaddr = g_renew(SocketAddressLegacy *, *retwsaddr, *retnwsaddr + 1);
+        *retwsaddr = g_renew(SocketAddress *, *retwsaddr, *retnwsaddr + 1);
         (*retwsaddr)[(*retnwsaddr)++] = wsaddr;
     }
 
@@ -3618,11 +3616,11 @@ static int vnc_display_get_addresses(QemuOpts *opts,
  cleanup:
     if (ret < 0) {
         for (i = 0; i < *retnsaddr; i++) {
-            qapi_free_SocketAddressLegacy((*retsaddr)[i]);
+            qapi_free_SocketAddress((*retsaddr)[i]);
         }
         g_free(*retsaddr);
         for (i = 0; i < *retnwsaddr; i++) {
-            qapi_free_SocketAddressLegacy((*retwsaddr)[i]);
+            qapi_free_SocketAddress((*retwsaddr)[i]);
         }
         g_free(*retwsaddr);
         *retsaddr = *retwsaddr = NULL;
@@ -3632,9 +3630,9 @@ static int vnc_display_get_addresses(QemuOpts *opts,
 }
 
 static int vnc_display_connect(VncDisplay *vd,
-                               SocketAddressLegacy **saddr,
+                               SocketAddress **saddr,
                                size_t nsaddr,
-                               SocketAddressLegacy **wsaddr,
+                               SocketAddress **wsaddr,
                                size_t nwsaddr,
                                Error **errp)
 {
@@ -3648,8 +3646,8 @@ static int vnc_display_connect(VncDisplay *vd,
         error_setg(errp, "Expected a single address in reverse mode");
         return -1;
     }
-    /* TODO SOCKET_ADDRESS_LEGACY_KIND_FD when fd has AF_UNIX */
-    vd->is_unix = saddr[0]->type == SOCKET_ADDRESS_LEGACY_KIND_UNIX;
+    /* TODO SOCKET_ADDRESS_TYPE_FD when fd has AF_UNIX */
+    vd->is_unix = saddr[0]->type == SOCKET_ADDRESS_TYPE_UNIX;
     sioc = qio_channel_socket_new();
     qio_channel_set_name(QIO_CHANNEL(sioc), "vnc-reverse");
     if (qio_channel_socket_connect_sync(sioc, saddr[0], errp) < 0) {
@@ -3662,7 +3660,7 @@ static int vnc_display_connect(VncDisplay *vd,
 
 
 static int vnc_display_listen_addr(VncDisplay *vd,
-                                   SocketAddressLegacy *addr,
+                                   SocketAddress *addr,
                                    const char *name,
                                    QIOChannelSocket ***lsock,
                                    guint **lsock_tag,
@@ -3670,7 +3668,7 @@ static int vnc_display_listen_addr(VncDisplay *vd,
                                    Error **errp)
 {
     QIODNSResolver *resolver = qio_dns_resolver_get_instance();
-    SocketAddressLegacy **rawaddrs = NULL;
+    SocketAddress **rawaddrs = NULL;
     size_t nrawaddrs = 0;
     Error *listenerr = NULL;
     bool listening = false;
@@ -3700,7 +3698,7 @@ static int vnc_display_listen_addr(VncDisplay *vd,
     }
 
     for (i = 0; i < nrawaddrs; i++) {
-        qapi_free_SocketAddressLegacy(rawaddrs[i]);
+        qapi_free_SocketAddress(rawaddrs[i]);
     }
     g_free(rawaddrs);
 
@@ -3724,9 +3722,9 @@ static int vnc_display_listen_addr(VncDisplay *vd,
 
 
 static int vnc_display_listen(VncDisplay *vd,
-                              SocketAddressLegacy **saddr,
+                              SocketAddress **saddr,
                               size_t nsaddr,
-                              SocketAddressLegacy **wsaddr,
+                              SocketAddress **wsaddr,
                               size_t nwsaddr,
                               Error **errp)
 {
@@ -3761,7 +3759,7 @@ void vnc_display_open(const char *id, Error **errp)
 {
     VncDisplay *vd = vnc_display_find(id);
     QemuOpts *opts = qemu_opts_find(&qemu_vnc_opts, id);
-    SocketAddressLegacy **saddr = NULL, **wsaddr = NULL;
+    SocketAddress **saddr = NULL, **wsaddr = NULL;
     size_t nsaddr, nwsaddr;
     const char *share, *device_id;
     QemuConsole *con;
@@ -3997,10 +3995,10 @@ void vnc_display_open(const char *id, Error **errp)
 
  cleanup:
     for (i = 0; i < nsaddr; i++) {
-        qapi_free_SocketAddressLegacy(saddr[i]);
+        qapi_free_SocketAddress(saddr[i]);
     }
     for (i = 0; i < nwsaddr; i++) {
-        qapi_free_SocketAddressLegacy(wsaddr[i]);
+        qapi_free_SocketAddress(wsaddr[i]);
     }
     return;