]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Remove unused hostname resolution in shm plugins and aserver
authorTakashi Iwai <tiwai@suse.de>
Wed, 28 Jan 2015 15:21:14 +0000 (16:21 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 28 Jan 2015 15:23:06 +0000 (16:23 +0100)
PCM and control shm plugins and aserver have some codes to resolve the
host address and check whether it's a local host although the given
address is never used.  In addition, the code contains gethostbyname()
that is known to be obsoleted.  So, let's get rid of all these unused
codes.

The host configuration item is still accepted (but just ignored) for
keeping the compatibility.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
aserver/aserver.c
include/aserver.h
src/control/control_shm.c
src/pcm/pcm_shm.c
src/socket.c

index 73ea4e957d3b3d3e42f53551e08a3baf926315bf..1579da7b44eb394e07ace6c5635db545145e09f9 100644 (file)
@@ -1013,11 +1013,10 @@ int main(int argc, char **argv)
        snd_config_t *conf;
        snd_config_iterator_t i, next;
        const char *sockname = NULL;
-       const char *host = NULL;
        long port = -1;
        int err;
        char *srvname;
-       struct hostent *h;
+
        command = argv[0];
        while ((c = getopt_long(argc, argv, "h", long_options, 0)) != -1) {
                switch (c) {
@@ -1055,14 +1054,8 @@ int main(int argc, char **argv)
                        continue;
                if (strcmp(id, "comment") == 0)
                        continue;
-               if (strcmp(id, "host") == 0) {
-                       err = snd_config_get_string(n, &host);
-                       if (err < 0) {
-                               ERROR("Invalid type for %s", id);
-                               return 1;
-                       }
+               if (strcmp(id, "host") == 0)
                        continue;
-               }
                if (strcmp(id, "socket") == 0) {
                        err = snd_config_get_string(n, &sockname);
                        if (err < 0) {
@@ -1082,19 +1075,6 @@ int main(int argc, char **argv)
                ERROR("Unknown field %s", id);
                return 1;
        }
-       if (!host) {
-               ERROR("host is not defined");
-               return 1;
-       }
-       h = gethostbyname(host);
-       if (!h) {
-               ERROR("Cannot resolve %s", host);
-               return 1;
-       }
-       if (!snd_is_local(h)) {
-               ERROR("%s is not the local host", host);
-               return 1;
-       }
        if (!sockname && port < 0) {
                ERROR("either socket or port need to be defined");
                return 1;
index 2586832460d7a0f33e6c2235298030531a7467a7..5da2e5447ee2e7909f75553a329962f2ffb42da4 100644 (file)
@@ -23,7 +23,6 @@
 #include "../src/control/control_local.h"
 
 int snd_receive_fd(int sock, void *data, size_t len, int *fd);
-int snd_is_local(struct hostent *hent);
 
 typedef enum _snd_dev_type {
        SND_DEV_TYPE_PCM,
index abab39831f61dd15df403c163b13dc9fe6e9caed..40bc705d8036086c43bee959ebfec41615c3a1dc 100644 (file)
@@ -441,29 +441,6 @@ static int make_local_socket(const char *filename)
        return sock;
 }
 
-#if 0
-static int make_inet_socket(const char *host, int port)
-{
-       struct sockaddr_in addr;
-       int sock;
-       struct hostent *h = gethostbyname(host);
-       if (!h)
-               return -ENOENT;
-
-       sock = socket(PF_INET, SOCK_STREAM, 0);
-       if (sock < 0)
-               return -errno;
-       
-       addr.sin_family = AF_INET;
-       addr.sin_port = htons(port);
-       memcpy(&addr.sin_addr, h->h_addr_list[0], sizeof(struct in_addr));
-
-       if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0)
-               return -errno;
-       return sock;
-}
-#endif
-
 int snd_ctl_shm_open(snd_ctl_t **handlep, const char *name, const char *sockname, const char *sname, int mode)
 {
        snd_ctl_t *ctl;
@@ -565,12 +542,10 @@ int _snd_ctl_shm_open(snd_ctl_t **handlep, char *name, snd_config_t *root, snd_c
        const char *server = NULL;
        const char *ctl_name = NULL;
        snd_config_t *sconfig;
-       const char *host = NULL;
        const char *sockname = NULL;
        long port = -1;
        int err;
-       int local;
-       struct hostent *h;
+
        snd_config_for_each(i, next, conf) {
                snd_config_t *n = snd_config_iterator_entry(i);
                const char *id;
@@ -624,14 +599,8 @@ int _snd_ctl_shm_open(snd_ctl_t **handlep, char *name, snd_config_t *root, snd_c
                        continue;
                if (strcmp(id, "comment") == 0)
                        continue;
-               if (strcmp(id, "host") == 0) {
-                       err = snd_config_get_string(n, &host);
-                       if (err < 0) {
-                               SNDERR("Invalid type for %s", id);
-                               goto _err;
-                       }
+               if (strcmp(id, "host") == 0)
                        continue;
-               }
                if (strcmp(id, "socket") == 0) {
                        err = snd_config_get_string(n, &sockname);
                        if (err < 0) {
@@ -653,24 +622,10 @@ int _snd_ctl_shm_open(snd_ctl_t **handlep, char *name, snd_config_t *root, snd_c
                goto _err;
        }
 
-       if (!host) {
-               SNDERR("host is not defined");
-               goto _err;
-       }
        if (!sockname) {
                SNDERR("socket is not defined");
                goto _err;
        }
-       h = gethostbyname(host);
-       if (!h) {
-               SNDERR("Cannot resolve %s", host);
-               goto _err;
-       }
-       local = snd_is_local(h);
-       if (!local) {
-               SNDERR("%s is not the local host", host);
-               goto _err;
-       }
        err = snd_ctl_shm_open(handlep, name, sockname, ctl_name, mode);
        _err:
        snd_config_delete(sconfig);
index 69d052409b45723321a4456d2179ea6298605cfe..a815ac6b4b83c9d5365191194b0666bf0dcd0b73 100644 (file)
@@ -654,33 +654,6 @@ static int make_local_socket(const char *filename)
        return sock;
 }
 
-#if 0
-static int make_inet_socket(const char *host, int port)
-{
-       struct sockaddr_in addr;
-       int sock;
-       struct hostent *h = gethostbyname(host);
-       if (!h)
-               return -ENOENT;
-
-       sock = socket(PF_INET, SOCK_STREAM, 0);
-       if (sock < 0) {
-               SYSERR("socket failed");
-               return -errno;
-       }
-       
-       addr.sin_family = AF_INET;
-       addr.sin_port = htons(port);
-       memcpy(&addr.sin_addr, h->h_addr_list[0], sizeof(struct in_addr));
-
-       if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
-               SYSERR("connect failed");
-               return -errno;
-       }
-       return sock;
-}
-#endif
-
 /**
  * \brief Creates a new shared memory PCM
  * \param pcmp Returns created PCM handle
@@ -842,12 +815,10 @@ int _snd_pcm_shm_open(snd_pcm_t **pcmp, const char *name,
        const char *server = NULL;
        const char *pcm_name = NULL;
        snd_config_t *sconfig;
-       const char *host = NULL;
        const char *sockname = NULL;
        long port = -1;
        int err;
-       int local;
-       struct hostent *h;
+
        snd_config_for_each(i, next, conf) {
                snd_config_t *n = snd_config_iterator_entry(i);
                const char *id;
@@ -898,14 +869,8 @@ int _snd_pcm_shm_open(snd_pcm_t **pcmp, const char *name,
                        continue;
                if (strcmp(id, "comment") == 0)
                        continue;
-               if (strcmp(id, "host") == 0) {
-                       err = snd_config_get_string(n, &host);
-                       if (err < 0) {
-                               SNDERR("Invalid type for %s", id);
-                               goto _err;
-                       }
+               if (strcmp(id, "host") == 0)
                        continue;
-               }
                if (strcmp(id, "socket") == 0) {
                        err = snd_config_get_string(n, &sockname);
                        if (err < 0) {
@@ -928,24 +893,10 @@ int _snd_pcm_shm_open(snd_pcm_t **pcmp, const char *name,
                goto __error;
        }
 
-       if (!host) {
-               SNDERR("host is not defined");
-               goto _err;
-       }
        if (!sockname) {
                SNDERR("socket is not defined");
                goto _err;
        }
-       h = gethostbyname(host);
-       if (!h) {
-               SNDERR("Cannot resolve %s", host);
-               goto _err;
-       }
-       local = snd_is_local(h);
-       if (!local) {
-               SNDERR("%s is not the local host", host);
-               goto _err;
-       }
        err = snd_pcm_shm_open(pcmp, name, sockname, pcm_name, stream, mode);
       __error:
        snd_config_delete(sconfig);
index 16979b520ae6ebd702cd8f9e888753080a607e90..d40c845e18a54f1ba1010f3dcf7b3213d3417572 100644 (file)
@@ -106,58 +106,4 @@ int snd_receive_fd(int sock, void *data, size_t len, int *fd)
        *fd = *fds;
        return ret;
 }
-
-int snd_is_local(struct hostent *hent)
-{
-       int s;
-       int err;
-       struct ifconf conf;
-       size_t numreqs = 10;
-       size_t i;
-       struct in_addr *haddr = (struct in_addr*) hent->h_addr_list[0];
-       
-       s = socket(PF_INET, SOCK_STREAM, 0);
-       if (s < 0) {
-               SYSERR("socket failed");
-               return -errno;
-       }
-       
-       conf.ifc_len = numreqs * sizeof(struct ifreq);
-       conf.ifc_buf = malloc((unsigned int) conf.ifc_len);
-       if (! conf.ifc_buf) {
-               close(s);
-               return -ENOMEM;
-       }
-       while (1) {
-               err = ioctl(s, SIOCGIFCONF, &conf);
-               if (err < 0) {
-                       SYSERR("SIOCGIFCONF failed");
-                       close(s);
-                       return -errno;
-               }
-               if ((size_t)conf.ifc_len < numreqs * sizeof(struct ifreq))
-                       break;
-               numreqs *= 2;
-               conf.ifc_len = numreqs * sizeof(struct ifreq);
-               conf.ifc_buf = realloc(conf.ifc_buf, (unsigned int) conf.ifc_len);
-               if (! conf.ifc_buf) {
-                       close(s);
-                       return -ENOMEM;
-               }
-       }
-       numreqs = conf.ifc_len / sizeof(struct ifreq);
-       for (i = 0; i < numreqs; ++i) {
-               struct ifreq *req = &conf.ifc_req[i];
-               struct sockaddr_in *s_in = (struct sockaddr_in *)&req->ifr_addr;
-               s_in->sin_family = AF_INET;
-               err = ioctl(s, SIOCGIFADDR, req);
-               if (err < 0)
-                       continue;
-               if (haddr->s_addr == s_in->sin_addr.s_addr)
-                       break;
-       }
-       close(s);
-       free(conf.ifc_buf);
-       return i < numreqs;
-}
 #endif