Lines Matching refs:url
104 static struct url cached_host;
908 _ftp_authenticate(conn_t *conn, struct url *url, struct url *purl)
917 if (url->user[0] == '\0')
918 _fetch_netrc_auth(url);
919 user = url->user;
924 if (purl && url->port == _fetch_default_port(url->scheme))
925 e = _ftp_cmd(conn, "USER %s@%s", user, url->host);
927 e = _ftp_cmd(conn, "USER %s@%s@%d", user, url->host, url->port);
933 pwd = url->pwd;
956 _ftp_connect(struct url *url, struct url *purl, const char *flags)
982 conn = _fetch_connect(url->host, url->port, af, verbose);
996 if ((e = _ftp_authenticate(conn, url, purl)) != FTP_LOGGED_IN)
1027 _ftp_isconnected(struct url *url)
1030 && (strcmp(url->host, cached_host.host) == 0)
1031 && (strcmp(url->user, cached_host.user) == 0)
1032 && (strcmp(url->pwd, cached_host.pwd) == 0)
1033 && (url->port == cached_host.port));
1040 _ftp_cached_connect(struct url *url, struct url *purl, const char *flags)
1046 if (!url->port)
1047 url->port = _fetch_default_port(url->scheme);
1050 if (_ftp_isconnected(url)) {
1057 if ((conn = _ftp_connect(url, purl, flags)) == NULL)
1062 memcpy(&cached_host, url, sizeof(*url));
1069 static struct url *
1072 struct url *purl;
1100 _ftp_request(struct url *url, const char *op, struct url_stat *us,
1101 struct url *purl, const char *flags)
1109 return (_http_request(url, "HEAD", us, purl, flags));
1111 return (_http_request(url, "GET", us, purl, flags));
1119 conn = _ftp_cached_connect(url, purl, flags);
1126 if (_ftp_cwd(conn, url->doc) == -1)
1130 if (us && _ftp_stat(conn, url->doc, us) == -1
1144 return (_ftp_transfer(conn, op, url->doc, oflag, url->offset, flags));
1151 fetchXGetFTP(struct url *url, struct url_stat *us, const char *flags)
1153 return (_ftp_request(url, "RETR", us, _ftp_get_proxy(flags), flags));
1160 fetchGetFTP(struct url *url, const char *flags)
1162 return (fetchXGetFTP(url, NULL, flags));
1169 fetchPutFTP(struct url *url, const char *flags)
1172 return (_ftp_request(url, CHECK_FLAG('a') ? "APPE" : "STOR", NULL,
1180 fetchStatFTP(struct url *url, struct url_stat *us, const char *flags)
1184 f = _ftp_request(url, "STAT", us, _ftp_get_proxy(flags), flags);
1195 fetchListFTP(struct url *url __unused, const char *flags __unused)