#include "system.h"
#include <stdarg.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <rpmio_internal.h>
#include "ugid.h"
#include "rpmmessages.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | IPPORT_FTP 21 |
#define | IPPORT_HTTP 80 |
#define | FDNREFS(fd) (fd ? ((FD_t)fd)->nrefs : -9) |
#define | FDTO(fd) (fd ? ((FD_t)fd)->rd_timeoutsecs : -99) |
#define | FDCPIOPOS(fd) (fd ? ((FD_t)fd)->fd_cpioPos : -99) |
#define | FDONLY(fd) assert(fdGetIo(fd) == fdio) |
#define | GZDONLY(fd) assert(fdGetIo(fd) == gzdio) |
#define | BZDONLY(fd) assert(fdGetIo(fd) == bzdio) |
#define | UFDONLY(fd) |
#define | fdGetFILE(_fd) ((FILE *)fdGetFp(_fd)) |
#define | TIMEOUT_SECS 60 |
#define | IAC 255 |
#define | IP 244 |
#define | DM 242 |
#define | SHUT_RDWR 1+1 |
#define | FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL) |
Functions | |
static int | inet_aton (const char *cp, struct in_addr *inp) |
static void * | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | |
static const char * | fdbg (FD_t fd) |
off_t | fdSize (FD_t fd) |
FD_t | fdDup (int fdno) |
static int | fdSeekNot (void *cookie, _libio_pos_t pos, int whence) |
static FD_t | XfdLink (void *cookie, const char *msg, const char *file, unsigned line) |
static FD_t | XfdFree (FD_t fd, const char *msg, const char *file, unsigned line) |
static FD_t | XfdNew (const char *msg, const char *file, unsigned line) |
ssize_t | fdRead (void *cookie, char *buf, size_t count) |
ssize_t | fdWrite (void *cookie, const char *buf, size_t count) |
static int | fdSeek (void *cookie, _libio_pos_t pos, int whence) |
int | fdClose (void *cookie) |
FD_t | fdOpen (const char *path, int flags, mode_t mode) |
int | fdWritable (FD_t fd, int secs) |
int | fdReadable (FD_t fd, int secs) |
int | fdFgets (FD_t fd, char *buf, size_t len) |
const char *const | ftpStrerror (int errorNumber) |
const char * | urlStrerror (const char *url) |
static int | mygethostbyname (const char *host, struct in_addr *address) |
static int | getHostAddress (const char *host, struct in_addr *address) |
static int | tcpConnect (FD_t ctrl, const char *host, int port) |
static int | checkResponse (void *uu, FD_t ctrl, int *ecp, char **str) |
static int | ftpCheckResponse (urlinfo u, char **str) |
static int | ftpCommand (urlinfo u, char **str,...) |
static int | ftpLogin (urlinfo u) |
int | ftpReq (FD_t data, const char *ftpCmd, const char *ftpArg) |
void | urlSetCallback (rpmCallbackFunction notify, void *notifyData, int notifyCount) |
int | ufdCopy (FD_t sfd, FD_t tfd) |
static int | urlConnect (const char *url, urlinfo *uret) |
int | ufdGetFile (FD_t sfd, FD_t tfd) |
int | ftpCmd (const char *cmd, const char *url, const char *arg2) |
static int | ftpAbort (urlinfo u, FD_t data) |
static int | ftpFileDone (urlinfo u, FD_t data) |
static int | httpResp (urlinfo u, FD_t ctrl, char **str) |
static int | httpReq (FD_t ctrl, const char *httpCmd, const char *httpArg) |
void * | ufdGetUrlinfo (FD_t fd) |
static ssize_t | ufdRead (void *cookie, char *buf, size_t count) |
static ssize_t | ufdWrite (void *cookie, const char *buf, size_t count) |
static int | ufdSeek (void *cookie, _libio_pos_t pos, int whence) |
int | ufdClose (void *cookie) |
FD_t | ftpOpen (const char *url, int flags, mode_t mode, urlinfo *uret) |
static FD_t | httpOpen (const char *url, int flags, mode_t mode, urlinfo *uret) |
static FD_t | ufdOpen (const char *url, int flags, mode_t mode) |
static const char * | getFdErrstr (FD_t fd) |
const char * | Fstrerror (FD_t fd) |
strerror(3) clone. | |
size_t | Fread (void *buf, size_t size, size_t nmemb, FD_t fd) |
fread(3) clone. | |
size_t | Fwrite (const void *buf, size_t size, size_t nmemb, FD_t fd) |
fwrite(3) clone. | |
int | Fseek (FD_t fd, _libio_off_t offset, int whence) |
fseek(3) clone. | |
int | Fclose (FD_t fd) |
fclose(3) clone. | |
static void | cvtfmode (const char *m, char *stdio, size_t nstdio, char *other, size_t nother, const char **end, int *f) |
Convert stdio fmode to open(2) mode, filtering out zlib/bzlib flags. | |
FD_t | Fdopen (FD_t ofd, const char *fmode) |
FD_t | Fopen (const char *path, const char *fmode) |
fopen(3) clone. | |
int | Fflush (FD_t fd) |
fflush(3) clone. | |
int | Ferror (FD_t fd) |
ferror(3) clone. | |
int | Fileno (FD_t fd) |
fileno(3) clone. | |
int | Fcntl (FD_t fd, int op, void *lip) |
fcntl(2) clone. | |
int | rpmioSlurp (const char *fn, const byte **bp, ssize_t *blenp) |
Variables | |
int | noLibio = 1 |
static int | ftpTimeoutSecs = 60 |
static int | httpTimeoutSecs = 60 |
int | _ftp_debug = 0 |
int | _rpmio_debug = 0 |
static struct FDIO_s | fdio_s |
FDIO_t | fdio = &fdio_s |
FDIO_t | fadio |
static rpmCallbackFunction | urlNotify = NULL |
static void * | urlNotifyData = NULL |
static int | urlNotifyCount = -1 |
static struct FDIO_s | ufdio_s |
FDIO_t | ufdio = &ufdio_s |
static struct FDIO_s | fpio_s |
FDIO_t | fpio = &fpio_s |
Definition in file rpmio.c.
#define DM 242 |
#define fdGetFILE | ( | _fd | ) | ((FILE *)fdGetFp(_fd)) |
#define FDIOVEC | ( | _fd, | |||
_vec | ) | ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL) |
#define FDNREFS | ( | fd | ) | (fd ? ((FD_t)fd)->nrefs : -9) |
#define IAC 255 |
#define IP 244 |
#define IPPORT_FTP 21 |
#define IPPORT_HTTP 80 |
#define SHUT_RDWR 1+1 |
#define UFDONLY | ( | fd | ) |
static void* _free | ( | const void * | p | ) | [inline, static] |
static int checkResponse | ( | void * | uu, | |
FD_t | ctrl, | |||
int * | ecp, | |||
char ** | str | |||
) | [static] |
Definition at line 833 of file rpmio.c.
References _ftp_debug, _url_iobuf_size, urlinfo_s::buf, urlinfo_s::bufAlloced, _FD_s::contentLength, fdFgets(), fdWritable(), FTPERR_BAD_SERVER_RESPONSE, urlinfo_s::httpHasRange, urlinfo_s::httpVersion, _FD_s::persist, URLSANE, _FD_s::wr_chunked, and xcalloc().
Referenced by ftpCheckResponse(), and httpResp().
static void cvtfmode | ( | const char * | m, | |
char * | stdio, | |||
size_t | nstdio, | |||
char * | other, | |||
size_t | nother, | |||
const char ** | end, | |||
int * | f | |||
) | [inline, static] |
Convert stdio fmode to open(2) mode, filtering out zlib/bzlib flags.
returns stdio[0] = '' on error.
int Fclose | ( | FD_t | fd | ) |
fclose(3) clone.
Definition at line 2699 of file rpmio.c.
References FDIO_s::close, DBGIO, fdbg(), fdFree, fdGetFdno(), fdGetFILE, FDIOVEC, fdLink, _FDSTACK_s::fdno, fdPop(), FDSANE, fdSetFp(), _FDSTACK_s::fp, fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, noLibio, ufdClose(), and ufdio.
Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), db1close(), defaultMachine(), domd5(), doReadRC(), doScript(), fadOpen(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rewriteRPM(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderFromPackage(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmMergeHeadersFromFD(), rpmQueryVerify(), rpmShowProgress(), rpmtransDealloc(), runScript(), showVerifyPackage(), tsCallback(), ufdGetFile(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), writeRPM(), and XurlFree().
int Fcntl | ( | FD_t | fd, | |
int | op, | |||
void * | lip | |||
) |
static const char* fdbg | ( | FD_t | fd | ) | [static] |
Definition at line 141 of file rpmio.c.
References _FD_s::bytesRemain, bzdio, fadio, fdio, _FDSTACK_s::fdno, _FDSTACK_s::fp, fpio, _FD_s::fps, gzdio, _FDSTACK_s::io, _FD_s::nfps, _FD_s::rd_timeoutsecs, ufdio, and _FD_s::wr_chunked.
Referenced by Fclose(), fdClose(), fdDup(), Fdopen(), fdOpen(), fdRead(), fdSeek(), fdWrite(), Ferror(), Fileno(), Fread(), Fseek(), Fwrite(), ufdOpen(), XfdFree(), and XfdLink().
int fdClose | ( | void * | cookie | ) |
Definition at line 456 of file rpmio.c.
References c2f(), DBGIO, fdbg(), fdFileno, fdFree, fdSetFdno(), FDSTAT_CLOSE, fdstat_enter(), and fdstat_exit().
Referenced by Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), and ufdClose().
FD_t fdDup | ( | int | fdno | ) |
Definition at line 229 of file rpmio.c.
References DBGIO, fdbg(), fdNew, and fdSetFdno().
Referenced by cpio_doio(), main(), psmStage(), readRPM(), rpmHeaderFromFD(), rpmHeaderFromPackage(), rpmMergeHeadersFromFD(), rpmtransSetAttr(), runScript(), showVerifyPackage(), tsCallback(), and ufdOpen().
Definition at line 2850 of file rpmio.c.
References _rpmio_debug, FDIO_s::close, cvtfmode(), DBGIO, fadio, fdbg(), fdGetFp(), fdio, fdLink, fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, noLibio, FDIO_s::read, FDIO_s::seek, ufdio, and FDIO_s::write.
Referenced by cpio_doio(), doScript(), Fopen(), main(), and psmStage().
FD_t fdOpen | ( | const char * | path, | |
int | flags, | |||
mode_t | mode | |||
) |
Definition at line 482 of file rpmio.c.
References DBGIO, fdbg(), fdNew, fdSetFdno(), and _FD_s::flags.
ssize_t fdRead | ( | void * | cookie, | |
char * | buf, | |||
size_t | count | |||
) |
Definition at line 373 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), and _FD_s::ndigests.
int fdReadable | ( | FD_t | fd, | |
int | secs | |||
) |
Definition at line 567 of file rpmio.c.
References errno, and fdFileno.
Referenced by fdFgets(), ftpAbort(), ufdClose(), and ufdRead().
static int fdSeek | ( | void * | cookie, | |
_libio_pos_t | pos, | |||
int | whence | |||
) | [inline, static] |
Definition at line 431 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), and FDSTAT_SEEK.
Referenced by ufdSeek().
static int fdSeekNot | ( | void * | cookie, | |
_libio_pos_t | pos, | |||
int | whence | |||
) | [inline, static] |
off_t fdSize | ( | FD_t | fd | ) |
Definition at line 204 of file rpmio.c.
References _FD_s::contentLength, DBGIO, FDSANE, Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and _FD_s::urlType.
Referenced by doReadRC(), readIcon(), and rpmioSlurp().
int fdWritable | ( | FD_t | fd, | |
int | secs | |||
) |
Definition at line 527 of file rpmio.c.
References _rpmio_debug, errno, fdFileno, and strerror().
Referenced by checkResponse(), ftpLogin(), httpReq(), and ufdWrite().
ssize_t fdWrite | ( | void * | cookie, | |
const char * | buf, | |||
size_t | count | |||
) |
Definition at line 395 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, errno, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), _FD_s::ndigests, _FD_s::syserrno, and _FD_s::wr_chunked.
int Ferror | ( | FD_t | fd | ) |
ferror(3) clone.
Definition at line 3059 of file rpmio.c.
References DBGIO, _FD_s::errcookie, fdbg(), fdFileno, fdGetFILE, fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, and _FD_s::syserrno.
Referenced by addFileToTagAux(), cpio_copy(), db1open(), defaultMachine(), doFopen(), domd5(), doReadRC(), doScript(), fadOpen(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().
int Fflush | ( | FD_t | fd | ) |
fflush(3) clone.
Definition at line 3039 of file rpmio.c.
References fdGetFILE, fdGetFp(), fdGetIo(), and fpio.
Referenced by cpio_doio(), expandRegular(), and writeRPM().
int Fileno | ( | FD_t | fd | ) |
fileno(3) clone.
Definition at line 3094 of file rpmio.c.
References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, and _FD_s::nfps.
Referenced by checkSize(), cpio_doio(), db1sync(), doScript(), Fcntl(), Fdopen(), fdSize(), makeTempFile(), psmStage(), readPackageHeaders(), runScript(), ufdOpen(), writeFile(), and writeRPM().
FD_t Fopen | ( | const char * | path, | |
const char * | fmode | |||
) |
fopen(3) clone.
Definition at line 2962 of file rpmio.c.
References FDIO_s::_open, _rpmio_debug, cvtfmode(), fadio, fdClose(), fdFileno, fdGetFdno(), fdGetFp(), fdOpen, Fdopen(), fdPush(), fpio, ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().
Referenced by addFileToTagAux(), defaultMachine(), doFopen(), domd5(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmHeaderFromFile(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), rpmShowProgress(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().
size_t Fread | ( | void * | buf, | |
size_t | size, | |||
size_t | nmemb, | |||
FD_t | fd | |||
) |
fread(3) clone.
Definition at line 2613 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::read.
Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), isCompressed(), isSpecFile(), main(), Pread(), readIcon(), readRPM(), rpmioSlurp(), ufdCopy(), and writeRPM().
int Fseek | ( | FD_t | fd, | |
_libio_off_t | offset, | |||
int | whence | |||
) |
const char* Fstrerror | ( | FD_t | fd | ) |
strerror(3) clone.
Definition at line 2602 of file rpmio.c.
References errno, FDSANE, getFdErrstr(), and strerror().
Referenced by copyFile(), cpio_copy(), doFopen(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), main(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLead(), readLine(), readRPM(), rpmInstall(), rpmInstallSource(), rpmQueryVerify(), rpmReadRC(), rpmReSign(), urlGetFile(), and writeRPM().
Definition at line 1445 of file rpmio.c.
References urlinfo_s::buf, urlinfo_s::bufAlloced, urlinfo_s::ctrl, DBGIO, DM, fdClose(), fdFileno, fdFree, _FDSTACK_s::fdno, fdReadable(), fdWrite, _FD_s::fps, ftpCheckResponse(), FTPERR_NIC_ABORT_IN_PROGRESS, FTPERR_SERVER_IO_ERROR, _FD_s::ftpFileDoneNeeded, IAC, IP, _FD_s::rd_timeoutsecs, SHUT_RDWR, timedRead, and URLSANE.
Referenced by ufdClose().
static int ftpCheckResponse | ( | urlinfo | u, | |
char ** | str | |||
) | [static] |
Definition at line 996 of file rpmio.c.
References checkResponse(), urlinfo_s::ctrl, FTPERR_BAD_SERVER_RESPONSE, FTPERR_FILE_NOT_FOUND, FTPERR_NIC_ABORT_IN_PROGRESS, and URLSANE.
Referenced by ftpAbort(), ftpCommand(), ftpFileDone(), ftpLogin(), and ftpReq().
static int ftpCommand | ( | urlinfo | u, | |
char ** | str, | |||
... | ||||
) | [static] |
Definition at line 1022 of file rpmio.c.
References alloca(), urlinfo_s::ctrl, fdWrite, ftpCheckResponse(), FTPERR_SERVER_IO_ERROR, stpcpy(), and URLSANE.
Referenced by ftpCmd(), ftpLogin(), and ftpReq().
Definition at line 1508 of file rpmio.c.
References urlinfo_s::ctrl, fdFree, ftpCheckResponse(), _FD_s::ftpFileDoneNeeded, and URLSANE.
Referenced by ufdClose().
static int ftpLogin | ( | urlinfo | u | ) | [static] |
Definition at line 1060 of file rpmio.c.
References alloca(), urlinfo_s::ctrl, errno, fdClose(), fdFileno, fdLink, fdSetSyserrno(), fdWritable(), ftpCheckResponse(), ftpCommand(), FTPERR_BAD_HOSTNAME, ftpStrerror(), urlinfo_s::host, IPPORT_FTP, urlinfo_s::password, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, urlinfo_s::proxyu, tcpConnect(), URLSANE, and urlinfo_s::user.
Referenced by urlConnect().
const char* const ftpStrerror | ( | int | errorNumber | ) |
Definition at line 671 of file rpmio.c.
References _, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, FTPERR_BAD_SERVER_RESPONSE, FTPERR_FAILED_CONNECT, FTPERR_FAILED_DATA_CONNECT, FTPERR_FILE_IO_ERROR, FTPERR_FILE_NOT_FOUND, FTPERR_NIC_ABORT_IN_PROGRESS, FTPERR_PASSIVE_ERROR, FTPERR_SERVER_IO_ERROR, FTPERR_SERVER_TIMEOUT, and FTPERR_UNKNOWN.
Referenced by doUntar(), ftpLogin(), ftpReq(), httpReq(), rpmInstall(), tcpConnect(), ufdCopy(), and urlStrerror().
size_t Fwrite | ( | const void * | buf, | |
size_t | size, | |||
size_t | nmemb, | |||
FD_t | fd | |||
) |
fwrite(3) clone.
Definition at line 2640 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::write.
Referenced by copyFile(), cpio_copy(), fadOpen(), main(), Pwrite(), rpmWriteSignature(), runScript(), ufdCopy(), verifyGPGSignature(), verifyPGPSignature(), writeLead(), and writeRPM().
static const char* getFdErrstr | ( | FD_t | fd | ) | [static] |
Definition at line 2576 of file rpmio.c.
References _FD_s::errcookie, fdGetIo(), strerror(), and _FD_s::syserrno.
Referenced by Fstrerror().
static int getHostAddress | ( | const char * | host, | |
struct in_addr * | address | |||
) | [static] |
Definition at line 759 of file rpmio.c.
References errno, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, inet_aton(), mygethostbyname(), and xisdigit().
Referenced by tcpConnect().
Definition at line 1986 of file rpmio.c.
References urlinfo_s::ctrl, urlinfo_s::data, fdLink, fdNew, fdSetIo(), httpTimeoutSecs, _FD_s::nrefs, ufdio, _FD_s::url, URL_IS_HTTP, urlLink, and urlSplit().
Referenced by ufdOpen().
static int httpReq | ( | FD_t | ctrl, | |
const char * | httpCmd, | |||
const char * | httpArg | |||
) | [static] |
Definition at line 1550 of file rpmio.c.
References alloca(), errno, fdClose(), fdFileno, fdLink, fdSetSyserrno(), fdWritable(), fdWrite, FTPERR_BAD_HOSTNAME, FTPERR_SERVER_IO_ERROR, ftpStrerror(), urlinfo_s::host, httpResp(), urlinfo_s::httpVersion, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, tcpConnect(), urlinfo_s::url, _FD_s::url, URLSANE, VERSION, and _FD_s::wr_chunked.
Referenced by ufdOpen().
Definition at line 1526 of file rpmio.c.
References checkResponse(), FTPERR_FILE_NOT_FOUND, and URLSANE.
Referenced by httpReq(), and ufdClose().
static int inet_aton | ( | const char * | cp, | |
struct in_addr * | inp | |||
) | [static] |
static int mygethostbyname | ( | const char * | host, | |
struct in_addr * | address | |||
) | [static] |
int rpmioSlurp | ( | const char * | fn, | |
const byte ** | bp, | |||
ssize_t * | blenp | |||
) |
Definition at line 3117 of file rpmio.c.
References Fclose(), fdSize(), Ferror(), Fopen(), Fread(), xmalloc(), and xrealloc().
Referenced by pgpReadPkts().
static int tcpConnect | ( | FD_t | ctrl, | |
const char * | host, | |||
int | port | |||
) | [static] |
Definition at line 781 of file rpmio.c.
References _ftp_debug, errno, fdSetFdno(), fdSetSyserrno(), FTPERR_FAILED_CONNECT, ftpStrerror(), and getHostAddress().
Referenced by ftpLogin(), and httpReq().
Definition at line 1298 of file rpmio.c.
References DBGIO, Fread(), FTPERR_FILE_IO_ERROR, ftpStrerror(), Fwrite(), RPMCALLBACK_INST_OPEN_FILE, and RPMCALLBACK_INST_PROGRESS.
Referenced by main(), and ufdGetFile().
void* ufdGetUrlinfo | ( | FD_t | fd | ) |
static FD_t ufdOpen | ( | const char * | url, | |
int | flags, | |||
mode_t | mode | |||
) | [static] |
Definition at line 2030 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, _FD_s::contentLength, DBGIO, fdbg(), fdDup(), fdLink, fdOpen, fdSetIo(), Fileno(), ftpOpen(), ftpReq(), httpOpen(), httpReq(), urlinfo_s::openError, ufdClose(), ufdio, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), _FD_s::urlType, and _FD_s::wr_chunked.
Referenced by Fopen().
static ssize_t ufdRead | ( | void * | cookie, | |
char * | buf, | |||
size_t | count | |||
) | [static] |
Definition at line 1674 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, c2f(), errno, fdFileno, fdGetIo(), fdio, fdRead, fdReadable(), _FD_s::rd_timeoutsecs, strerror(), and UFDONLY.
static int ufdSeek | ( | void * | cookie, | |
_libio_pos_t | pos, | |||
int | whence | |||
) | [inline, static] |
Definition at line 1803 of file rpmio.c.
References c2f(), fdSeek(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and _FD_s::urlType.
static ssize_t ufdWrite | ( | void * | cookie, | |
const char * | buf, | |||
size_t | count | |||
) | [static] |
Definition at line 1738 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, c2f(), errno, fdGetFdno(), fdGetIo(), fdio, fdWritable(), fdWrite, strerror(), and UFDONLY.
static int urlConnect | ( | const char * | url, | |
urlinfo * | uret | |||
) | [static] |
Definition at line 1358 of file rpmio.c.
References _, _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, fdFileno, fdFree, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, ftpLogin(), ftpTimeoutSecs, urlinfo_s::host, urlinfo_s::openError, urlinfo_s::password, _FD_s::rd_timeoutsecs, RPMMESS_DEBUG, rpmMessage, ufdio, _FD_s::url, URL_IS_FTP, urlFree, urlLink, urlSplit(), urlinfo_s::urltype, and urlinfo_s::user.
void urlSetCallback | ( | rpmCallbackFunction | notify, | |
void * | notifyData, | |||
int | notifyCount | |||
) |
const char* urlStrerror | ( | const char * | url | ) |
Definition at line 715 of file rpmio.c.
References errno, ftpStrerror(), urlinfo_s::openError, strerror(), URL_IS_FTP, URL_IS_HTTP, urlIsURL(), and urlSplit().
static FD_t XfdFree | ( | FD_t | fd, | |
const char * | msg, | |||
const char * | file, | |||
unsigned | line | |||
) | [inline, static] |
Definition at line 301 of file rpmio.c.
References _free(), DBGREFS, fdbg(), FDNREFS, FDSANE, _FDDIGEST_s::hashctx, and rpmDigestFinal().
static FD_t XfdLink | ( | void * | cookie, | |
const char * | msg, | |||
const char * | file, | |||
unsigned | line | |||
) | [inline, static] |
static FD_t XfdNew | ( | const char * | msg, | |
const char * | file, | |||
unsigned | line | |||
) | [inline, static] |
int _ftp_debug = 0 |
int _rpmio_debug = 0 |
Definition at line 521 of file rpmio.c.
Referenced by fadOpen(), fdbg(), Fdopen(), ufdRead(), ufdWrite(), XfdNew(), and XurlFree().
int ftpTimeoutSecs = 60 [static] |
int httpTimeoutSecs = 60 [static] |
int noLibio = 1 |
Definition at line 2124 of file rpmio.c.
Referenced by fadOpen(), Fclose(), fdbg(), Fdopen(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().
rpmCallbackFunction urlNotify = NULL [static] |
int urlNotifyCount = -1 [static] |
void* urlNotifyData = NULL [static] |