|
rpm
5.4.4
|
#include "system.h"#include <stdarg.h>#include <netdb.h>#include <netinet/in.h>#include <arpa/inet.h>#include <rpmiotypes.h>#include <rpmmacro.h>#include <mongo.h>#include <rpmaug.h>#include <rpmficl.h>#include <rpmjs.h>#include <rpmlua.h>#include <rpmnix.h>#include <rpmperl.h>#include <rpmpython.h>#include <rpmruby.h>#include <rpmsql.h>#include <rpmsquirrel.h>#include <rpmtcl.h>#include <rpmhkp.h>#include <rpmsm.h>#include <rpmsp.h>#include <rpmsx.h>#include <rpmio_internal.h>#include <ugid.h>#include <rpmcb.h>#include <rpmdav.h>#include "debug.h"
Go to the source code of this file.
Defines | |
| #define | NI_MAXHOST 1025 |
| #define | _RPMHKP_INTERNAL |
| #define | IPPORT_FTP 21 |
| #define | IPPORT_HTTP 80 |
| #define | inet_aton(cp, inp) rpm_inet_aton(cp,inp) |
| #define | fdOpen __fdOpen |
| #define | fdRead __fdRead |
| #define | fdWrite __fdWrite |
| #define | fdClose __fdClose |
| #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 | UFDONLY(fd) |
| #define | fdGetFILE(_fd) ((FILE *)fdGetFp(_fd)) |
| #define | TIMEOUT_SECS 60 |
| #define | IAC ((unsigned char)255) |
| #define | IP ((unsigned char)244) |
| #define | DM ((unsigned char)242) |
| #define | SHUT_RDWR 1+1 |
| #define | FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL) |
| #define | _PATH "/bin:/usr/bin:/sbin:/usr/sbin" |
| #define | alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s)) |
Functions | |
| static int | rpm_inet_aton (const char *cp, struct in_addr *inp) |
| const char * | fdbg (FD_t fd) |
| FD_t | fdDup (int fdno) |
| static int | fdSeekNot (void *cookie, _libio_pos_t pos, int whence) |
| static void | fdFini (void *_fd) |
| static FD_t | fdGetPool (rpmioPool pool) |
| FD_t | XfdNew (const char *msg, const char *fn, unsigned ln) |
| 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 * | 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) |
| 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 | 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. | |
| long | Ftell (FD_t fd) |
| void | Rewind (FD_t fd) |
| int | Fgetpos (FD_t fd, fpos_t *pos) |
| int | Fsetpos (FD_t fd, fpos_t *pos) |
| 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 | rpmioMkpath (const char *path, mode_t mode, uid_t uid, gid_t gid) |
| Insure that directories in path exist, creating as needed. | |
| int | rpmioAccess (const char *FN, const char *path, int mode) |
| Check FN access, expanding relative paths and twiddles. | |
| void | rpmioClean (void) |
| Free all memory allocated by rpmio usage. | |
Variables | |
| int | noLibio = 1 |
| static int | ftpTimeoutSecs = 60 |
| int | _rpmio_debug = 0 |
| int | _av_debug = 0 |
| int | _ftp_debug = 0 |
| int | _dav_debug = 0 |
| rpmioPool | _fdPool |
| static struct FDIO_s | fdio_s |
| FDIO_t | fdio = &fdio_s |
| static struct FDIO_s | ufdio_s |
| FDIO_t | ufdio = &ufdio_s |
| static const char * | _path = "/bin:/usr/bin:/sbin:/usr/sbin" |
| static struct FDIO_s | fpio_s |
| FDIO_t | fpio = &fpio_s |
Definition in file rpmio.c.
| #define alloca_strdup | ( | _s | ) | strcpy(alloca(strlen(_s)+1), (_s)) |
Definition at line 3064 of file rpmio.c.
Referenced by rpmioAccess().
| #define DM ((unsigned char)242) |
Definition at line 1693 of file rpmio.c.
Referenced by ftpAbort().
| #define fdClose __fdClose |
Definition at line 134 of file rpmio.c.
Referenced by Fclose(), Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), and ufdClose().
| #define fdGetFILE | ( | _fd | ) | ((FILE *)fdGetFp(_fd)) |
Definition at line 155 of file rpmio.c.
Referenced by argvFgets(), Fclose(), Ferror(), Fflush(), Fgetpos(), Fread(), Fseek(), Fsetpos(), Ftell(), Fwrite(), mireLoadPatternFiles(), mtreeReadExcludes(), rdcl(), Rewind(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), and ufdClose().
| #define FDIOVEC | ( | _fd, | |
| _vec | |||
| ) | ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL) |
| #define fdOpen __fdOpen |
| #define fdRead __fdRead |
| #define fdWrite __fdWrite |
Definition at line 132 of file rpmio.c.
Referenced by ftpAbort(), ftpCommand(), ftpReq(), httpReq(), and ufdWrite().
| #define IAC ((unsigned char)255) |
Definition at line 1687 of file rpmio.c.
Referenced by ftpAbort().
| #define inet_aton | ( | cp, | |
| inp | |||
| ) | rpm_inet_aton(cp,inp) |
Definition at line 107 of file rpmio.c.
Referenced by ftpReq(), and getHostAddress().
| #define IP ((unsigned char)244) |
Definition at line 1690 of file rpmio.c.
Referenced by ftpAbort(), and runScript().
| #define IPPORT_FTP 21 |
Definition at line 100 of file rpmio.c.
Referenced by ftpLogin().
| #define NI_MAXHOST 1025 |
Definition at line 17 of file rpmio.c.
Referenced by ftpReq(), httpReq(), and tcpConnect().
| #define SHUT_RDWR 1+1 |
Definition at line 1696 of file rpmio.c.
Referenced by ftpAbort().
| #define UFDONLY | ( | fd | ) |
Definition at line 153 of file rpmio.c.
Referenced by ufdClose(), ufdRead(), and ufdWrite().
| static int __fdClose | ( | void * | cookie | ) | [static] |
Definition at line 497 of file rpmio.c.
References c2f(), davClose(), 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 529 of file rpmio.c.
References DBGIO, fdbg(), fdNew(), fdSetFdno(), fdSetOpen(), and _FD_s::flags.
| static ssize_t __fdRead | ( | void * | cookie, |
| char * | buf, | ||
| size_t | count | ||
| ) | [static] |
Definition at line 399 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), davRead(), DBGIO, fdbg(), fdFileno(), fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), _FD_s::ndigests, _FD_s::req, _FD_s::xar, and xarRead().
| static ssize_t __fdWrite | ( | void * | cookie, |
| const char * | buf, | ||
| size_t | count | ||
| ) | [static] |
Definition at line 441 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), davWrite(), DBGIO, fdbg(), fdFileno(), fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), _FD_s::ndigests, and _FD_s::req.
| static int checkResponse | ( | void * | uu, |
| FD_t | ctrl, | ||
| int * | ecp, | ||
| char ** | str | ||
| ) | [static] |
Definition at line 970 of file rpmio.c.
References _ftp_debug, _url_iobuf_size, urlinfo_s::allow, urlinfo_s::buf, urlinfo_s::bufAlloced, _FD_s::contentLength, fdFgets(), fdWritable(), FTPERR_BAD_SERVER_RESPONSE, urlinfo_s::httpVersion, _FD_s::persist, RPMURL_SERVER_HASRANGE, 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 2529 of file rpmio.c.
References FDIO_s::close, davDisconnect(), 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(), compare(), cpio_doio(), dodigest(), doIcon(), fsmStage(), grep_or_recurse(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mireLoadPatternFiles(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), readLineFromOFI(), rpmcliSign(), rpmdbExportInfo(), rpmdcFiniFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_dealloc(), rpmfd_free(), rpmfd_init(), rpmgiFini(), rpmgiLoadManifest(), rpmgiNext(), rpmgiOpen(), rpmgiReadHeader(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderToFD(), rpmHeaderToFile(), rpmInstallSource(), rpmInstallSourcePackage(), rpmiobSlurp(), rpmLoadMacroFile(), rpmmgFile(), rpmpsmStage(), rpmrepoFclose(), rpmrepoReadHeader(), rpmShowProgress(), rpmSingleHeaderFromFD(), rpmsqlFini(), rpmsqlNew(), rpmsqlRun(), rpmTempFile(), rpmts_dealloc(), rpmts_free(), rpmts_HdrFromFdno(), rpmtsCallback(), rpmtsRollback(), rpmtsSolve(), runScript(), showVerifyPackage(), statFormat(), ufdGetFile(), unsatisfiedDepend(), urlFini(), urlGetFile(), and writeRPM().
| int Fcntl | ( | FD_t | fd, |
| int | op, | ||
| void * | lip | ||
| ) |
| FD_t fdDup | ( | int | fdno | ) |
Definition at line 262 of file rpmio.c.
References DBGIO, fdbg(), fdNew(), fdSetFdno(), and fdSetOpen().
Referenced by cpio_doio(), dodigest(), grep_or_recurse(), main(), rpmHeaderFromFD(), rpmHeaderToFD(), rpmpsmStage(), rpmSingleHeaderFromFD(), rpmsqlNew(), rpmsqlRun(), rpmts_HdrFromFdno(), rpmts_setattro(), rpmtsCallback(), runScript(), showVerifyPackage(), and ufdOpen().
| static void fdFini | ( | void * | _fd | ) | [static] |
Definition at line 293 of file rpmio.c.
References _fd, _free(), _FD_s::contentDisposition, _FD_s::contentType, _FD_s::dig, _FD_s::digests, _FD_s::ndigests, _FD_s::opath, pgpDigFree(), _FD_s::req, rpmDigestFinal(), rpmxarFree(), _FD_s::stats, and _FD_s::xar.
Referenced by fdGetPool().
Definition at line 335 of file rpmio.c.
References _fdPool, _rpmio_debug, fdbg(), fdFini(), rpmioGetPool(), and rpmioNewPool().
Referenced by XfdNew().
Definition at line 2713 of file rpmio.c.
References FDIO_s::_fdopen, _rpmio_debug, bzdio, FDIO_s::close, cvtfmode(), DBGIO, fdbg(), fdGetFp(), fdio, fdLink(), fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, gzdio, lzdio, noLibio, FDIO_s::read, FDIO_s::seek, stpcpy(), ufdio, FDIO_s::write, and xzdio.
Referenced by cpio_doio(), Fopen(), main(), rpmpsmStage(), rpmReadPackageManifest(), and rpmsqlRun().
| int fdReadable | ( | FD_t | fd, |
| int | secs | ||
| ) |
Definition at line 631 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 | ||
| ) | [static] |
Definition at line 475 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] |
| int fdWritable | ( | FD_t | fd, |
| int | secs | ||
| ) |
Definition at line 576 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 2938 of file rpmio.c.
References bzdio, DBGIO, _FD_s::errcookie, fdbg(), fdFileno(), fdGetFILE, fpio, _FD_s::fps, gzdio, _FDSTACK_s::io, lzdio, _FD_s::nfps, _FD_s::req, _FD_s::syserrno, and xzdio.
Referenced by addFileToTagAux(), compare(), cpio_copy(), crc(), dodigest(), doIcon(), grep_or_recurse(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mireLoadPatternFiles(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), rpmcliSign(), rpmdcCalcFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmmgFile(), rpmpsmStage(), rpmReadPackageManifest(), rpmrepoReadHeader(), rpmrepoRfileDigest(), rpmShowProgress(), rpmsqlRun(), rpmTempFile(), rpmtsSolve(), rpmWriteHeader(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
| int Fflush | ( | FD_t | fd | ) |
fflush(3) clone.
Definition at line 2910 of file rpmio.c.
References FDIO_s::_flush, bzdio, fdGetFILE, fdGetFp(), fdGetIo(), fpio, gzdio, lzdio, and xzdio.
Referenced by copyFile(), cpio_doio(), rpmdcPrintFile(), rpmpsmStage(), rpmsqlRun(), and writeRPM().
| int Fgetpos | ( | FD_t | fd, |
| fpos_t * | pos | ||
| ) |
| int Fileno | ( | FD_t | fd | ) |
fileno(3) clone.
Definition at line 2985 of file rpmio.c.
References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, _FD_s::nfps, and _FD_s::req.
Referenced by cpio_doio(), Fadvise(), Fallocate(), Fchflags(), Fchmod(), Fchown(), Fcntl(), Fdopen(), fsmStage(), Fstat(), printSize(), rpmiobSlurp(), rpmpsmStage(), rpmrepoRfileDigest(), rpmTempFile(), rpmtsCallback(), runScript(), ufdOpen(), writeFile(), and writeRPM().
| FD_t Fopen | ( | const char * | path, |
| const char * | _fmode | ||
| ) |
fopen(3) clone.
Definition at line 2828 of file rpmio.c.
References _free(), _rpmio_debug, cvtfmode(), fdClose, fdFileno(), fdGetFdno(), fdGetFp(), fdOpen, Fdopen(), fdPush(), fpio, _FD_s::req, rpmExpand(), ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_MONGO, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().
Referenced by addFileToTagAux(), compare(), dodigest(), doIcon(), fsmStage(), grep_or_recurse(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mireLoadPatternFiles(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), readLineFromOFI(), rpmcliSign(), rpmdbExportInfo(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmHeaderFromFile(), rpmHeaderToFile(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmmgFile(), rpmpsmStage(), rpmrepoDoRepoMetadata(), rpmrepoOpenMDFile(), rpmrepoReadHeader(), rpmrepoRfileDigest(), rpmShowProgress(), rpmsqlRun(), rpmTempFile(), rpmtsRollback(), rpmtsSolve(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
| size_t Fread | ( | void * | buf, |
| size_t | size, | ||
| size_t | nmemb, | ||
| FD_t | fd | ||
| ) |
fread(3) clone.
Definition at line 2407 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::read.
Referenced by compare(), copyFile(), cpio_copy(), crc(), dodigest(), doIcon(), iosmStage(), isCompressed(), makeGPGSignature(), mtreeVisitF(), pcregrep(), readFile(), rpmdcCalcFile(), rpmiobSlurp(), rpmmgFile(), rpmReadPackageFile(), rpmrepoReadHeader(), rpmrepoRfileDigest(), statFormat(), ufdCopy(), unsatisfiedDepend(), and writeRPM().
| int Fseek | ( | FD_t | fd, |
| _libio_off_t | offset, | ||
| int | whence | ||
| ) |
| int Fsetpos | ( | FD_t | fd, |
| fpos_t * | pos | ||
| ) |
| const char* Fstrerror | ( | FD_t | fd | ) |
strerror(3) clone.
Definition at line 2396 of file rpmio.c.
References errno, FDSANE, and getFdErrstr().
Referenced by compare(), copyFile(), cpio_copy(), doIcon(), grep_or_recurse(), IDTXglob(), isCompressed(), main(), manageFile(), mireLoadPatternFiles(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), rpmcliSign(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmpsmStage(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmrepoOpenMDFile(), rpmrepoReadHeader(), rpmReSign(), rpmrfileXMLWrite(), rpmShowProgress(), rpmtsSolve(), rpmWriteHeader(), statFormat(), urlGetFile(), and writeRPM().
| long Ftell | ( | FD_t | fd | ) |
Definition at line 1699 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, FDIO_s::read, SHUT_RDWR, ufdio, and URLSANE.
Referenced by ufdClose().
| static int ftpCheckResponse | ( | urlinfo | u, |
| char ** | str | ||
| ) | [static] |
Definition at line 1133 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 1159 of file rpmio.c.
References _ftp_debug, alloca(), urlinfo_s::ctrl, fdWrite, ftpCheckResponse(), FTPERR_SERVER_IO_ERROR, stpcpy(), and URLSANE.
Referenced by ftpCmd(), ftpLogin(), and ftpReq().
Definition at line 1763 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 1197 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* ftpStrerror | ( | int | errorNumber | ) |
Definition at line 749 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 ftpLogin(), ftpReq(), httpReq(), prepFetch(), 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 2429 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::write.
Referenced by copyFile(), cpio_copy(), iosmStage(), main(), rpmdcPrintFile(), rpmrepoOpenMDFile(), rpmrfileXMLWrite(), rpmsqlRun(), rpmWriteHeader(), runScript(), ufdCopy(), writeRPM(), wrLead(), and wrSignature().
| static const char* getFdErrstr | ( | FD_t | fd | ) | [static] |
Definition at line 2361 of file rpmio.c.
References bzdio, _FD_s::errcookie, fdGetIo(), gzdio, lzdio, _FD_s::syserrno, and xzdio.
Referenced by Fstrerror().
| static int getHostAddress | ( | const char * | host, |
| struct in_addr * | address | ||
| ) | [static] |
Definition at line 847 of file rpmio.c.
References errno, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, inet_aton, mygethostbyname(), and xisdigit().
Referenced by tcpConnect().
| static int httpReq | ( | FD_t | ctrl, |
| const char * | httpCmd, | ||
| const char * | httpArg | ||
| ) | [static] |
Definition at line 1811 of file rpmio.c.
References _ftp_debug, alloca(), errno, fdClose, fdFileno(), fdLink(), fdSetSyserrno(), fdWritable(), fdWrite, FTPERR_BAD_HOSTNAME, FTPERR_SERVER_IO_ERROR, ftpStrerror(), urlinfo_s::host, httpResp(), urlinfo_s::httpVersion, NI_MAXHOST, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, tcpConnect(), _FD_s::u, urlinfo_s::url, URLSANE, VERSION, and _FD_s::wr_chunked.
Referenced by ufdOpen().
Definition at line 1782 of file rpmio.c.
References _ftp_debug, checkResponse(), FTPERR_FILE_NOT_FOUND, FTPERR_UNKNOWN, _FD_s::syserrno, and URLSANE.
Referenced by httpReq().
| static int mygethostbyname | ( | const char * | host, |
| struct in_addr * | address | ||
| ) | [static] |
Definition at line 829 of file rpmio.c.
Referenced by getHostAddress().
| void Rewind | ( | FD_t | fd | ) |
| static int rpm_inet_aton | ( | const char * | cp, |
| struct in_addr * | inp | ||
| ) | [static] |
| int rpmioAccess | ( | const char * | FN, |
| const char * | path, | ||
| int | mode | ||
| ) |
Check FN access, expanding relative paths and twiddles.
| FN | file path to check |
| path | colon separated search path (NULL uses $PATH) |
| mode | type of access(2) to check (0 uses X_OK) |
Definition at line 3066 of file rpmio.c.
References _path, _rpmio_debug, Access(), alloca_strdup, F_OK, getenv(), R_OK, rpmCleanPath(), stpcpy(), W_OK, and X_OK.
Referenced by rpmtsPRCO(), and unsatisfiedDepend().
| void rpmioClean | ( | void | ) |
Free all memory allocated by rpmio usage.
Definition at line 3207 of file rpmio.c.
References _ctxPool, _digPool, _htmlPool, _htPool, _mirePool, _rpmiobPool, _rpmjsI, _rpmjsPool, _rpmluaPool, _rpmluavPool, _rpmmgPool, _rpmperlI, _rpmperlPool, _rpmpythonI, _rpmpythonPool, _rpmrubyI, _rpmrubyPool, _rpmsqlI, _rpmsqlPool, _rpmsquirrelI, _rpmsquirrelPool, _rpmsxI, _rpmsxPool, _rpmtclI, _rpmtclPool, _rpmvcPool, _rpmvtPool, _urlPool, _xarPool, davDestroy(), rpmioFreePool(), rpmjsFree(), rpmlogClose(), rpmluaFree(), rpmperlFree(), rpmpythonFree(), rpmrubyFree(), rpmsqlFree(), rpmsquirrelFree(), rpmsxFree(), rpmtclFree(), and urlFreeCache().
Referenced by rpmcliFini(), and rpmioFini().
| int rpmioMkpath | ( | const char * | path, |
| mode_t | mode, | ||
| uid_t | uid, | ||
| gid_t | gid | ||
| ) |
Insure that directories in path exist, creating as needed.
| path | directory 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 3011 of file rpmio.c.
References alloca(), Chown(), D_, errno, Mkdir(), rpmlog(), RPMLOG_DEBUG, Stat(), and stpcpy().
Referenced by db3open(), db_init(), doSetupMacro(), packageBinaries(), packageSources(), rpmdbExportInfo(), rpmrepoMkdir(), rpmTempFile(), and sql_open().
| static int tcpConnect | ( | FD_t | ctrl, |
| const char * | host, | ||
| int | port | ||
| ) | [static] |
Definition at line 876 of file rpmio.c.
References _ftp_debug, errno, fdSetFdno(), fdSetSyserrno(), FTPERR_FAILED_CONNECT, ftpStrerror(), getHostAddress(), and NI_MAXHOST.
Referenced by ftpLogin(), and httpReq().
Definition at line 1544 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 2251 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, _FD_s::contentLength, davOpen(), davReq(), DBGIO, fdbg(), fdDup(), fdLink(), fdOpen, fdSetIo(), fdSetOpen(), 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_MONGO, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and _FD_s::wr_chunked.
Referenced by Fopen().
| static ssize_t ufdRead | ( | void * | cookie, |
| char * | buf, | ||
| size_t | count | ||
| ) | [static] |
Definition at line 1936 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 | ||
| ) | [static] |
Definition at line 2064 of file rpmio.c.
References c2f(), fdSeek(), _FD_s::u, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_MONGO, URL_IS_PATH, URL_IS_UNKNOWN, and urlType().
| static ssize_t ufdWrite | ( | void * | cookie, |
| const char * | buf, | ||
| size_t | count | ||
| ) | [static] |
Definition at line 1999 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 1608 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, D_, fdFileno(), fdFree(), fdLink(), fdNew(), fdSetIo(), fdSetOpen(), _FD_s::ftpFileDoneNeeded, ftpLogin(), ftpTimeoutSecs, urlinfo_s::host, urlinfo_s::openError, urlinfo_s::password, _FD_s::rd_timeoutsecs, rpmlog(), RPMLOG_DEBUG, _FD_s::u, ufdio, URL_IS_FTP, urlFree(), urlLink(), urlSplit(), urlType(), and urlinfo_s::user.
| const char* urlStrerror | ( | const char * | url | ) |
Definition at line 804 of file rpmio.c.
References _, errno, ftpStrerror(), urlinfo_s::openError, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_MONGO, urlIsURL(), and urlSplit().
| FD_t XfdNew | ( | const char * | msg, |
| const char * | fn, | ||
| unsigned | ln | ||
| ) |
Definition at line 353 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentDisposition, _FD_s::contentLength, _FD_s::contentType, _FD_s::dig, _FD_s::digests, _FD_s::errcookie, _FD_s::fd_cpioPos, fdGetPool(), FDMAGIC, _FDSTACK_s::fdno, _FD_s::flags, _FDSTACK_s::fp, _FD_s::fps, _FD_s::ftpFileDoneNeeded, _FDSTACK_s::io, _FD_s::lastModified, _FD_s::magic, _FD_s::ndigests, _FD_s::nfps, _FD_s::oflags, _FD_s::omode, _FD_s::opath, _FD_s::persist, _FD_s::rd_timeoutsecs, _FD_s::req, rpmioLinkPoolItem(), _FD_s::stats, _FD_s::syserrno, _FD_s::u, ufdio, _FD_s::wr_chunked, _FD_s::xar, and xcalloc().
| int _dav_debug = 0 |
Definition at line 333 of file rpmio.c.
Referenced by fdGetPool().
| int _ftp_debug = 0 |
Definition at line 186 of file rpmio.c.
Referenced by checkResponse(), ftpCommand(), ftpLstat(), ftpOpendir(), ftpReadlink(), ftpReq(), ftpStat(), httpReq(), httpResp(), and tcpConnect().
const char* _path = "/bin:/usr/bin:/sbin:/usr/sbin" [static] |
Definition at line 3062 of file rpmio.c.
Referenced by rpmioAccess().
int ftpTimeoutSecs = 60 [static] |
Definition at line 171 of file rpmio.c.
Referenced by ftpOpen(), and urlConnect().
| int noLibio = 1 |
Definition at line 163 of file rpmio.c.
Referenced by Fclose(), Fdopen(), and ufdClose().
Definition at line 2357 of file rpmio.c.
Referenced by fdbg(), Fdopen(), ftpAbort(), ftpOpen(), httpOpen(), ufdOpen(), urlConnect(), and XfdNew().
1.7.5.1