#include "system.h"#include <stdarg.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/types.h>#include <netinet/in_systm.h>#include <rpmio_internal.h>#include <rpmdav.h>#include "ugid.h"#include "rpmmessages.h"#include "debug.h"#include <zlib.h>#include <bzlib.h>Go to the source code of this file.
Defines | |
| #define | IPPORT_FTP 21 |
| #define | IPPORT_HTTP 80 |
| #define | fdOpen __fdOpen |
| #define | fdRead __fdRead |
| #define | fdWrite __fdWrite |
| #define | fdClose __fdClose |
| #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 | bzopen BZ2_bzopen |
| #define | bzclose BZ2_bzclose |
| #define | bzdopen BZ2_bzdopen |
| #define | bzerror BZ2_bzerror |
| #define | bzflush BZ2_bzflush |
| #define | bzread BZ2_bzread |
| #define | bzwrite BZ2_bzwrite |
| #define | FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL) |
Functions | |
| 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) |
| FILE * | fdFdopen (void *cookie, const char *fmode) |
| 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) |
| static ssize_t | __fdRead (void *cookie, char *buf, size_t count) |
| static ssize_t | __fdWrite (void *cookie, const char *buf, size_t count) |
| static int | fdSeek (void *cookie, _libio_pos_t pos, int whence) |
| static int | __fdClose (void *cookie) |
| static 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 | 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 void * | gzdFileno (FD_t fd) |
| static FD_t | gzdOpen (const char *path, const char *fmode) |
| static FD_t | gzdFdopen (void *cookie, const char *fmode) |
| static int | gzdFlush (FD_t fd) |
| static ssize_t | gzdRead (void *cookie, char *buf, size_t count) |
| static ssize_t | gzdWrite (void *cookie, const char *buf, size_t count) |
| static int | gzdSeek (void *cookie, _libio_pos_t pos, int whence) |
| static int | gzdClose (void *cookie) |
| static void * | bzdFileno (FD_t fd) |
| static FD_t | bzdOpen (const char *path, const char *mode) |
| static FD_t | bzdFdopen (void *cookie, const char *fmode) |
| static int | bzdFlush (FD_t fd) |
| static ssize_t | bzdRead (void *cookie, char *buf, size_t count) |
| static ssize_t | bzdWrite (void *cookie, const char *buf, size_t count) |
| static int | bzdSeek (void *cookie, _libio_pos_t pos, int whence) |
| static int | bzdClose (void *cookie) |
| 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. | |
| char * | rpmEscapeSpaces (const char *s) |
| Escape isspace(3) characters in string. | |
| int | rpmioMkpath (const char *path, mode_t mode, uid_t uid, gid_t gid) |
| Insure that directories in path exist, creating as needed. | |
| int | rpmioSlurp (const char *fn, const byte **bp, ssize_t *blenp) |
| Read an entire file into a buffer. | |
Variables | |
| int | noLibio = 1 |
| static int | ftpTimeoutSecs = 60 |
| static int | httpTimeoutSecs = 60 |
| int | _rpmio_debug = 0 |
| int | _av_debug = 0 |
| int | _ftp_debug = 0 |
| int | _dav_debug = 0 |
| static struct FDIO_s | fdio_s |
| FDIO_t | fdio = &fdio_s |
| 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 | gzdio_s |
| FDIO_t | gzdio = &gzdio_s |
| static struct FDIO_s | bzdio_s |
| FDIO_t | bzdio = &bzdio_s |
| static struct FDIO_s | fpio_s |
| FDIO_t | fpio = &fpio_s |
Definition in file rpmio.c.
| #define bzclose BZ2_bzclose |
Definition at line 2593 of file rpmio.c.
Referenced by bzdClose().
| #define BZDONLY | ( | fd | ) | assert(fdGetIo(fd) == bzdio) |
| #define bzdopen BZ2_bzdopen |
Definition at line 2594 of file rpmio.c.
Referenced by bzdFdopen().
| #define bzerror BZ2_bzerror |
Definition at line 2595 of file rpmio.c.
Referenced by bzdClose(), bzdRead(), and bzdWrite().
| #define bzflush BZ2_bzflush |
Definition at line 2596 of file rpmio.c.
Referenced by bzdFlush().
| #define bzwrite BZ2_bzwrite |
Definition at line 2598 of file rpmio.c.
Referenced by bzdWrite().
| #define DM 242 |
Definition at line 1638 of file rpmio.c.
Referenced by ftpAbort().
| #define fdClose __fdClose |
Definition at line 68 of file rpmio.c.
Referenced by Fclose(), Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), and ufdClose().
| #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 fdOpen __fdOpen |
| #define fdRead __fdRead |
| #define fdWrite __fdWrite |
Definition at line 66 of file rpmio.c.
Referenced by ftpAbort(), ftpCommand(), ftpReq(), httpReq(), and ufdWrite().
| #define IAC 255 |
Definition at line 1632 of file rpmio.c.
Referenced by ftpAbort().
| #define IP 244 |
Definition at line 1635 of file rpmio.c.
Referenced by ftpAbort().
| #define IPPORT_FTP 21 |
Definition at line 35 of file rpmio.c.
Referenced by ftpLogin(), and urlSplit().
| #define IPPORT_HTTP 80 |
Definition at line 38 of file rpmio.c.
Referenced by urlSplit().
| #define SHUT_RDWR 1+1 |
Definition at line 1641 of file rpmio.c.
Referenced by ftpAbort().
| #define UFDONLY | ( | fd | ) |
Definition at line 88 of file rpmio.c.
Referenced by ufdClose(), ufdRead(), and ufdWrite().
| static int __fdClose | ( | void * | cookie | ) | [static] |
Definition at line 453 of file rpmio.c.
References c2f(), DBGIO, fdbg(), fdFileno, fdFree, fdSetFdno(), FDSTAT_CLOSE, fdstat_enter(), fdstat_exit(), and _FD_s::req.
| static FD_t __fdOpen | ( | const char * | path, | |
| int | flags, | |||
| mode_t | mode | |||
| ) | [static] |
Definition at line 487 of file rpmio.c.
References DBGIO, fdbg(), fdNew, fdSetFdno(), and _FD_s::flags.
| static ssize_t __fdRead | ( | void * | cookie, | |
| char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 363 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), _FD_s::ndigests, and _FD_s::req.
| static ssize_t __fdWrite | ( | void * | cookie, | |
| const char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 398 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), _FD_s::ndigests, and _FD_s::req.
| static void* _free | ( | const void * | p | ) | [inline, static] |
| static int bzdClose | ( | void * | cookie | ) | [static] |
Definition at line 2736 of file rpmio.c.
References _rpmio_debug, bzclose, bzdFileno(), bzerror, c2f(), DBGIO, _FD_s::errcookie, fdbg(), fdFree, FDSTAT_CLOSE, fdstat_enter(), fdstat_exit(), fdstat_print(), and rpmIsDebug.
| static FD_t bzdFdopen | ( | void * | cookie, | |
| const char * | fmode | |||
| ) | [static] |
| static void* bzdFileno | ( | FD_t | fd | ) | [inline, static] |
Definition at line 2601 of file rpmio.c.
References bzdio, FDSANE, _FDSTACK_s::fp, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.
Referenced by bzdClose(), bzdFlush(), bzdRead(), and bzdWrite().
| static int bzdFlush | ( | FD_t | fd | ) | [static] |
Definition at line 2659 of file rpmio.c.
References bzdFileno(), and bzflush.
Referenced by Fflush().
| static FD_t bzdOpen | ( | const char * | path, | |
| const char * | mode | |||
| ) | [static] |
| static ssize_t bzdRead | ( | void * | cookie, | |
| char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 2670 of file rpmio.c.
References _FD_s::bytesRemain, bzdFileno(), bzerror, bzread, c2f(), _FD_s::errcookie, fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), and _FD_s::ndigests.
| static int bzdSeek | ( | void * | cookie, | |
| _libio_pos_t | pos, | |||
| int | whence | |||
| ) | [inline, static] |
| static ssize_t bzdWrite | ( | void * | cookie, | |
| const char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 2701 of file rpmio.c.
References _FD_s::bytesRemain, bzdFileno(), bzerror, bzwrite, c2f(), _FD_s::errcookie, fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), and _FD_s::ndigests.
| static int checkResponse | ( | void * | uu, | |
| FD_t | ctrl, | |||
| int * | ecp, | |||
| char ** | str | |||
| ) | [static] |
Definition at line 913 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] = NUL on error.
| int Fclose | ( | FD_t | fd | ) |
fclose(3) clone.
Definition at line 2903 of file rpmio.c.
References FDIO_s::close, DBGIO, fdbg(), fdClose, 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, _FD_s::persist, _FD_s::req, and ufdClose().
Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), defaultMachine(), domd5(), doReadRC(), doScript(), fsmStage(), ftsStashLatest(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readIcon(), readLineFromOFI(), readRPM(), rewriteRPM(), rpmcliSign(), rpmfd_dealloc(), rpmfd_free(), rpmfd_init(), rpmgiFree(), rpmgiLoadManifest(), rpmgiNext(), rpmgiOpen(), rpmgiReadHeader(), rpmGraph(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmInstall(), rpmInstallSource(), rpmInstallSourcePackage(), rpmioSlurp(), rpmLoadMacroFile(), rpmMergeHeadersFromFD(), rpmpsmStage(), rpmShowProgress(), rpmSingleHeaderFromFD(), rpmts_dealloc(), rpmts_free(), rpmts_HdrFromFdno(), rpmtsCallback(), rpmtsSolve(), rpmxpProcess(), runScript(), showVerifyPackage(), ufdGetFile(), urlGetFile(), writeRPM(), and XurlFree().
| int Fcntl | ( | FD_t | fd, | |
| int | op, | |||
| void * | lip | |||
| ) |
| static const char* fdbg | ( | FD_t | fd | ) | [static] |
Definition at line 149 of file rpmio.c.
References _FD_s::bytesRemain, bzdio, 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 __fdClose(), __fdOpen(), __fdRead(), __fdWrite(), bzdClose(), Fclose(), fdDup(), Fdopen(), fdSeek(), Ferror(), Fileno(), Fread(), Fseek(), Fwrite(), gzdClose(), gzdOpen(), gzdRead(), gzdSeek(), gzdWrite(), ufdOpen(), XfdFree(), and XfdLink().
| FD_t fdDup | ( | int | fdno | ) |
Definition at line 237 of file rpmio.c.
References DBGIO, fdbg(), fdNew, and fdSetFdno().
Referenced by cpio_doio(), domd5(), main(), readRPM(), rpmHeaderFromFD(), rpmMergeHeadersFromFD(), rpmpsmStage(), rpmSingleHeaderFromFD(), rpmts_HdrFromFdno(), rpmts_setattro(), rpmtsCallback(), runScript(), showVerifyPackage(), and ufdOpen().
| FILE* fdFdopen | ( | void * | cookie, | |
| const char * | fmode | |||
| ) |
Definition at line 3077 of file rpmio.c.
References _rpmio_debug, bzdFdopen(), FDIO_s::close, cvtfmode(), DBGIO, fdbg(), fdGetFp(), fdLink, fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, gzdFdopen(), noLibio, FDIO_s::read, FDIO_s::seek, and FDIO_s::write.
Referenced by cpio_doio(), doScript(), Fopen(), main(), and rpmpsmStage().
| int fdReadable | ( | FD_t | fd, | |
| int | secs | |||
| ) |
Definition at line 570 of file rpmio.c.
References errno, fdFileno, and _FD_s::req.
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 210 of file rpmio.c.
References _FD_s::contentLength, DBGIO, FDSANE, Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, 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 515 of file rpmio.c.
References _rpmio_debug, errno, fdFileno, and _FD_s::req.
Referenced by checkResponse(), ftpLogin(), httpReq(), and ufdWrite().
| int Ferror | ( | FD_t | fd | ) |
ferror(3) clone.
Definition at line 3277 of file rpmio.c.
References DBGIO, _FD_s::errcookie, fdbg(), fdFileno, fdGetFILE, fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, _FD_s::req, and _FD_s::syserrno.
Referenced by addFileToTagAux(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), doScript(), fsmStage(), ftsStashLatest(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readIcon(), readLead(), readLineFromOFI(), readRPM(), rpmcliSign(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmGraph(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmReadRC(), rpmShowProgress(), rpmtsSolve(), runScript(), urlGetFile(), and writeRPM().
| int Fflush | ( | FD_t | fd | ) |
fflush(3) clone.
Definition at line 3257 of file rpmio.c.
References bzdFlush(), fdGetFILE, fdGetFp(), fdGetIo(), fpio, and gzdFlush().
Referenced by copyFile(), cpio_doio(), expandRegular(), rpmpsmStage(), and writeRPM().
| int Fileno | ( | FD_t | fd | ) |
fileno(3) clone.
Definition at line 3316 of file rpmio.c.
References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, _FD_s::nfps, and _FD_s::req.
Referenced by cpio_doio(), doScript(), Fcntl(), Fdopen(), fdSize(), main(), makeTempFile(), printSize(), rpmpsmStage(), rpmReadPackageFile(), rpmtsCallback(), runScript(), ufdOpen(), writeFile(), and writeRPM().
| FD_t Fopen | ( | const char * | path, | |
| const char * | fmode | |||
| ) |
fopen(3) clone.
Definition at line 3184 of file rpmio.c.
References _rpmio_debug, cvtfmode(), fdClose, fdFileno, fdGetFdno(), fdGetFp(), Fdopen(), fdOpen, fdPush(), fpio, _FD_s::req, ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().
Referenced by addFileToTagAux(), defaultMachine(), domd5(), doReadRC(), fsmStage(), ftsStashLatest(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readIcon(), readLineFromOFI(), readRPM(), rpmcliSign(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmGraph(), rpmHeaderFromFile(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmReadRC(), rpmShowProgress(), rpmtsSolve(), rpmxpProcess(), runScript(), urlGetFile(), and writeRPM().
| size_t Fread | ( | void * | buf, | |
| size_t | size, | |||
| size_t | nmemb, | |||
| FD_t | fd | |||
| ) |
fread(3) clone.
Definition at line 2824 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::read.
Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), fsmStage(), isCompressed(), isSpecFile(), main(), readFile(), readIcon(), readRPM(), rpmioSlurp(), rpmReadPackageFile(), 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 2813 of file rpmio.c.
References errno, FDSANE, and getFdErrstr().
Referenced by copyFile(), cpio_copy(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), main(), manageFile(), processPackageFiles(), readFile(), readIcon(), readLead(), readLineFromOFI(), readRPM(), rpmcliSign(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmGraph(), rpmInstall(), rpmInstallSource(), rpmpsmStage(), rpmReadPackageFile(), rpmReadRC(), rpmReSign(), rpmShowProgress(), rpmtsSolve(), urlGetFile(), and writeRPM().
Definition at line 1644 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 1077 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 1103 of file rpmio.c.
References _ftp_debug, urlinfo_s::ctrl, fdWrite, ftpCheckResponse(), FTPERR_SERVER_IO_ERROR, and URLSANE.
Referenced by ftpCmd(), ftpLogin(), and ftpReq().
Definition at line 1707 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 1143 of file rpmio.c.
References 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 690 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_NE_AUTH, FTPERR_NE_CONNECT, FTPERR_NE_ERROR, FTPERR_NE_FAILED, FTPERR_NE_LOOKUP, FTPERR_NE_PROXYAUTH, FTPERR_NE_REDIRECT, FTPERR_NE_RETRY, FTPERR_NE_TIMEOUT, 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 2846 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::write.
Referenced by copyFile(), cpio_copy(), fsmStage(), headerWrite(), main(), rpmWriteSignature(), runScript(), spewHeader(), ufdCopy(), writeLead(), and writeRPM().
| static const char* getFdErrstr | ( | FD_t | fd | ) | [static] |
Definition at line 2787 of file rpmio.c.
References _FD_s::errcookie, fdGetIo(), and _FD_s::syserrno.
Referenced by Fstrerror().
| static int gzdClose | ( | void * | cookie | ) | [static] |
Definition at line 2531 of file rpmio.c.
References _rpmio_debug, c2f(), DBGIO, _FD_s::errcookie, errno, fdbg(), fdFree, FDSTAT_CLOSE, fdstat_enter(), fdstat_exit(), fdstat_print(), gzdFileno(), rpmIsDebug, and _FD_s::syserrno.
| static FD_t gzdFdopen | ( | void * | cookie, | |
| const char * | fmode | |||
| ) | [static] |
| static void* gzdFileno | ( | FD_t | fd | ) | [inline, static] |
Definition at line 2363 of file rpmio.c.
References FDSANE, _FDSTACK_s::fp, _FD_s::fps, gzdio, _FDSTACK_s::io, and _FD_s::nfps.
Referenced by gzdClose(), gzdFlush(), gzdRead(), gzdSeek(), and gzdWrite().
| static int gzdFlush | ( | FD_t | fd | ) | [static] |
| static FD_t gzdOpen | ( | const char * | path, | |
| const char * | fmode | |||
| ) | [static] |
| static ssize_t gzdRead | ( | void * | cookie, | |
| char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 2430 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, _FD_s::errcookie, errno, fdbg(), fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), gzdFileno(), _FD_s::ndigests, and _FD_s::syserrno.
| static int gzdSeek | ( | void * | cookie, | |
| _libio_pos_t | pos, | |||
| int | whence | |||
| ) | [inline, static] |
Definition at line 2492 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, _FD_s::errcookie, errno, fdbg(), fdstat_enter(), fdstat_exit(), FDSTAT_SEEK, gzdFileno(), and _FD_s::syserrno.
| static ssize_t gzdWrite | ( | void * | cookie, | |
| const char * | buf, | |||
| size_t | count | |||
| ) | [static] |
Definition at line 2460 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), DBGIO, _FD_s::errcookie, errno, fdbg(), fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), gzdFileno(), _FD_s::ndigests, and _FD_s::syserrno.
Definition at line 2199 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, httpTimeoutSecs, _FD_s::nrefs, _FD_s::rd_timeoutsecs, ufdio, _FD_s::url, URL_IS_HTTP, urlLink, urlSplit(), and _FD_s::urlType.
Referenced by ufdOpen().
| static int httpReq | ( | FD_t | ctrl, | |
| const char * | httpCmd, | |||
| const char * | httpArg | |||
| ) | [static] |
Definition at line 1754 of file rpmio.c.
References _ftp_debug, 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 1725 of file rpmio.c.
References _ftp_debug, checkResponse(), FTPERR_FILE_NOT_FOUND, FTPERR_UNKNOWN, _FD_s::syserrno, and URLSANE.
Referenced by httpReq().
| char* rpmEscapeSpaces | ( | const char * | s | ) |
Escape isspace(3) characters in string.
| s | string |
Definition at line 3344 of file rpmio.c.
References xmalloc().
Referenced by rpmgiGlobArgv(), and rpmInstall().
| int rpmioMkpath | ( | const char * | path, | |
| mode_t | mode, | |||
| uid_t | uid, | |||
| gid_t | gid | |||
| ) |
Insure that directories in path exist, creating as needed.
| path | diretory path | |
| mode | directory mode (if created) | |
| uid | directory uid (if created), or -1 to skip | |
| gid | directory uid (if created), or -1 to skip |
Definition at line 3369 of file rpmio.c.
References errno, Mkdir(), RPMMESS_DEBUG, rpmMessage, and Stat().
Referenced by db3open(), and makeTempFile().
| int rpmioSlurp | ( | const char * | fn, | |
| const unsigned char ** | bp, | |||
| ssize_t * | blenp | |||
| ) |
Read an entire file into a buffer.
| fn | file name to read |
| *bp | (malloc'd) buffer address | |
| *blenp | (malloc'd) buffer length |
Definition at line 3420 of file rpmio.c.
References Fclose(), fdSize(), Ferror(), Fopen(), Fread(), xmalloc(), and xrealloc().
Referenced by pgpReadPkts(), processMetadataFile(), and rpmPlatform().
| static int tcpConnect | ( | FD_t | ctrl, | |
| const char * | host, | |||
| int | port | |||
| ) | [static] |
Definition at line 822 of file rpmio.c.
References _ftp_debug, errno, fdSetFdno(), fdSetSyserrno(), FTPERR_FAILED_CONNECT, and ftpStrerror().
Referenced by ftpLogin(), and httpReq().
Definition at line 1491 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 | ) |
Definition at line 1877 of file rpmio.c.
References FDSANE, _FD_s::url, and urlLink.
| static FD_t ufdOpen | ( | const char * | url, | |
| int | flags, | |||
| mode_t | mode | |||
| ) | [static] |
Definition at line 2247 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, _FD_s::rd_timeoutsecs, ufdClose(), ufdio, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, 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 1886 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, c2f(), errno, fdFileno, fdGetIo(), fdRead, fdReadable(), _FD_s::rd_timeoutsecs, and UFDONLY.
| static int ufdSeek | ( | void * | cookie, | |
| _libio_pos_t | pos, | |||
| int | whence | |||
| ) | [inline, static] |
Definition at line 2018 of file rpmio.c.
References c2f(), fdSeek(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, 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 1953 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, c2f(), errno, fdGetFdno(), fdGetIo(), fdWritable(), fdWrite, and UFDONLY.
| static int urlConnect | ( | const char * | url, | |
| urlinfo * | uret | |||
| ) | [static] |
Definition at line 1555 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 745 of file rpmio.c.
References errno, ftpStrerror(), urlinfo_s::openError, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, urlIsURL(), and urlSplit().
| static FD_t XfdFree | ( | FD_t | fd, | |
| const char * | msg, | |||
| const char * | file, | |||
| unsigned | line | |||
| ) | [inline, static] |
Definition at line 297 of file rpmio.c.
References _free(), DBGREFS, _FD_s::digests, fdbg(), FDNREFS, FDSANE, _FDDIGEST_s::hashctx, _FD_s::ndigests, _FD_s::nrefs, rpmDigestFinal(), and _FD_s::stats.
| 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] |
Definition at line 325 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentLength, _FD_s::digests, _FD_s::errcookie, _FD_s::fd_cpioPos, fdio, FDMAGIC, _FDSTACK_s::fdno, _FD_s::fileSize, _FD_s::firstFree, _FD_s::flags, _FDSTACK_s::fp, _FD_s::fps, _FD_s::ftpFileDoneNeeded, _FDSTACK_s::io, _FD_s::magic, _FD_s::ndigests, _FD_s::nfps, _FD_s::nrefs, _FD_s::rd_timeoutsecs, _FD_s::stats, _FD_s::syserrno, _FD_s::url, URL_IS_UNKNOWN, _FD_s::urlType, _FD_s::wr_chunked, xcalloc(), and XfdLink().
| int _dav_debug = 0 |
| int _ftp_debug = 0 |
Definition at line 126 of file rpmio.c.
Referenced by checkResponse(), ftpCommand(), ftpLstat(), ftpOpendir(), ftpReadlink(), ftpReq(), ftpStat(), httpReq(), httpResp(), and tcpConnect().
| int _rpmio_debug = 0 |
Definition at line 116 of file rpmio.c.
Referenced by Access(), bzdClose(), Closedir(), fdFgets(), Fdopen(), fdWritable(), Fopen(), Glob(), Globfree(), gzdClose(), Link(), Lstat(), Opendir(), Readdir(), Rename(), Stat(), ufdOpen(), ufdRead(), and ufdWrite().
Definition at line 2780 of file rpmio.c.
Referenced by bzdFdopen(), bzdFileno(), bzdOpen(), and fdbg().
Definition at line 513 of file rpmio.c.
Referenced by fdbg(), XfdNew(), and XurlFree().
int ftpTimeoutSecs = 60 [static] |
Definition at line 106 of file rpmio.c.
Referenced by ftpOpen(), and urlConnect().
Definition at line 2578 of file rpmio.c.
Referenced by fdbg(), gzdFdopen(), gzdFileno(), and gzdOpen().
int httpTimeoutSecs = 60 [static] |
Definition at line 111 of file rpmio.c.
Referenced by httpOpen().
| int noLibio = 1 |
Definition at line 98 of file rpmio.c.
Referenced by Fclose(), Fdopen(), and ufdClose().
Definition at line 2351 of file rpmio.c.
Referenced by fdbg(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().
rpmCallbackFunction urlNotify = NULL [static] |
int urlNotifyCount = -1 [static] |
void* urlNotifyData = NULL [static] |
1.6.1