diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2010-03-29 15:27:43 +0300 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2010-03-29 15:27:43 +0300 |
commit | de5ec1af472d8af85b830c734170c3304b3df8a6 (patch) | |
tree | 5b93b0d6686731289203eebe7cf353ef23c47f0c /rpmio | |
parent | 593902eee642912245ed669e265c07dbd51ccb45 (diff) | |
download | rpm-de5ec1af472d8af85b830c734170c3304b3df8a6.tar.gz rpm-de5ec1af472d8af85b830c734170c3304b3df8a6.tar.bz2 rpm-de5ec1af472d8af85b830c734170c3304b3df8a6.zip |
Lose long since unused url control structure and related functions
- these have been unused since rpm 4.6.0, and rpm is not in the
url business, rip.
Diffstat (limited to 'rpmio')
-rw-r--r-- | rpmio/rpmurl.h | 44 | ||||
-rw-r--r-- | rpmio/url.c | 154 |
2 files changed, 0 insertions, 198 deletions
diff --git a/rpmio/rpmurl.h b/rpmio/rpmurl.h index b2997711c..3384bc4ff 100644 --- a/rpmio/rpmurl.h +++ b/rpmio/rpmurl.h @@ -22,42 +22,6 @@ typedef enum urltype_e { URL_IS_HKP = 6 /*!< hkp://... */ } urltype; -typedef struct urlinfo_s * urlinfo; - -/** \ingroup rpmurl - * URL control structure. - */ -struct urlinfo_s { - char * url; /*!< copy of original url */ - char * scheme; /*!< URI scheme. */ - char * user; /*!< URI user. */ - char * password; /*!< URI password. */ - char * host; /*!< URI host. */ - char * portstr; /*!< URI port string. */ - char * proxyu; /*!< FTP: proxy user */ - char * proxyh; /*!< FTP/HTTP: proxy host */ - int proxyp; /*!< FTP/HTTP: proxy port */ - int port; /*!< URI port. */ - int urltype; /*!< URI type. */ - int openError; /*!< Type of open failure */ - int magic; -}; - -extern int _url_debug; /*!< URL debugging? */ - -/** \ingroup rpmurl - * Create a URL info structure instance. - * @return new instance - */ -urlinfo urlNew(void); - -/** \ingroup rpmurl - * Free a URL info structure instance. - * @param u URL control structure - * @return dereferenced instance (NULL if freed) - */ -urlinfo urlFree(urlinfo u); - /** \ingroup rpmurl * Return type of URL. * @param url url string @@ -74,14 +38,6 @@ urltype urlIsURL(const char * url); urltype urlPath(const char * url, const char ** pathp); /** \ingroup rpmurl - * Parse URL string into a control structure. - * @param url url string - * @retval uret address of new control instance pointer - * @return 0 on success, -1 on error - */ -int urlSplit(const char * url, urlinfo * uret); - -/** \ingroup rpmurl * Copy data from URL to local file. * @param url url string of source * @param dest file name of destination diff --git a/rpmio/url.c b/rpmio/url.c index 8ad1c3255..1db20d0ac 100644 --- a/rpmio/url.c +++ b/rpmio/url.c @@ -4,9 +4,6 @@ #include "system.h" -#include <assert.h> -#include <netinet/in.h> -#include <netdb.h> #include <sys/wait.h> #include <rpm/rpmmacro.h> @@ -18,51 +15,6 @@ #include "debug.h" -#ifndef IPPORT_FTP -#define IPPORT_FTP 21 -#endif -#ifndef IPPORT_HTTP -#define IPPORT_HTTP 80 -#endif -#ifndef IPPORT_HTTPS -#define IPPORT_HTTPS 443 -#endif -#ifndef IPPORT_PGPKEYSERVER -#define IPPORT_PGPKEYSERVER 11371 -#endif - -#define URLMAGIC 0xd00b1ed0 -#define URLSANE(u) assert(u && u->magic == URLMAGIC) - -urlinfo urlNew() -{ - urlinfo u; - if ((u = xmalloc(sizeof(*u))) == NULL) - return NULL; - memset(u, 0, sizeof(*u)); - u->proxyp = -1; - u->port = -1; - u->urltype = URL_IS_UNKNOWN; - u->magic = URLMAGIC; - return u; -} - -urlinfo urlFree(urlinfo u) -{ - URLSANE(u); - u->url = _free(u->url); - u->scheme = _free(u->scheme); - u->user = _free(u->user); - u->password = _free(u->password); - u->host = _free(u->host); - u->portstr = _free(u->portstr); - u->proxyu = _free(u->proxyu); - u->proxyh = _free(u->proxyh); - - u = _free(u); - return NULL; -} - /** */ static struct urlstring { @@ -140,112 +92,6 @@ urltype urlPath(const char * url, const char ** pathp) return urltype; } -/* - * Split URL into components. The URL can look like - * scheme://user:password@host:port/path - * or as in RFC2732 for IPv6 address - * service://user:password@[ip:v6:ad:dr:es:s]:port/path - */ -int urlSplit(const char * url, urlinfo *uret) -{ - urlinfo u; - char *myurl; - char *s, *se, *f, *fe; - - if (uret == NULL) - return -1; - if ((u = urlNew()) == NULL) - return -1; - - if ((se = s = myurl = xstrdup(url)) == NULL) { - u = urlFree(u); - return -1; - } - - u->url = xstrdup(url); - u->urltype = urlIsURL(url); - - while (1) { - /* Point to end of next item */ - while (*se && *se != '/') se++; - /* Item was scheme. Save scheme and go for the rest ...*/ - if (*se && (se != s) && se[-1] == ':' && se[0] == '/' && se[1] == '/') { - se[-1] = '\0'; - u->scheme = xstrdup(s); - se += 2; /* skip over "//" */ - s = se++; - continue; - } - - /* Item was everything-but-path. Continue parse on rest */ - *se = '\0'; - break; - } - - /* Look for ...@host... */ - fe = f = s; - while (*fe && *fe != '@') fe++; - if (*fe == '@') { - s = fe + 1; - *fe = '\0'; - /* Look for user:password@host... */ - while (fe > f && *fe != ':') fe--; - if (*fe == ':') { - *fe++ = '\0'; - u->password = xstrdup(fe); - } - u->user = xstrdup(f); - } - - /* Look for ...host:port or [v6addr]:port*/ - fe = f = s; - if (strchr(fe, '[') && strchr(fe, ']')) - { - fe = strchr(f, ']'); - *f++ = '\0'; - *fe++ = '\0'; - } - while (*fe && *fe != ':') fe++; - if (*fe == ':') { - *fe++ = '\0'; - u->portstr = xstrdup(fe); - if (u->portstr != NULL && u->portstr[0] != '\0') { - char *end; - u->port = strtol(u->portstr, &end, 0); - if (!(end && *end == '\0')) { - rpmlog(RPMLOG_ERR, _("url port must be a number\n")); - myurl = _free(myurl); - u = urlFree(u); - return -1; - } - } - } - u->host = xstrdup(f); - - if (u->port < 0 && u->scheme != NULL) { - struct servent *serv; - /* HACK hkp:// might lookup "pgpkeyserver" */ - serv = getservbyname(u->scheme, "tcp"); - if (serv != NULL) - u->port = ntohs(serv->s_port); - else if (u->urltype == URL_IS_FTP) - u->port = IPPORT_FTP; - else if (u->urltype == URL_IS_HKP) - u->port = IPPORT_PGPKEYSERVER; - else if (u->urltype == URL_IS_HTTP) - u->port = IPPORT_HTTP; - else if (u->urltype == URL_IS_HTTPS) - u->port = IPPORT_HTTPS; - } - - myurl = _free(myurl); - if (uret) { - *uret = u; - } - return 0; -} - - int urlGetFile(const char * url, const char * dest) { char *cmd = NULL; |