rpm
5.4.14
|
#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 <rpmgit.h>
#include <rpmjs.h>
#include <rpmlua.h>
#include <rpmnix.h>
#include <rpmodbc.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.
Macros | |
#define | NI_MAXHOST 1025 |
#define | _RPMHKP_INTERNAL /* XXX awol/crl bloom filters */ |
#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) /* assert(fdGetIo(fd) == ufdio) */ |
#define | fdGetFILE(_fd) ((FILE *)fdGetFp(_fd)) |
#define | TIMEOUT_SECS 60 |
#define | IAC ((unsigned char)255) /* interpret as command: */ |
#define | IP ((unsigned char)244) /* interrupt process--permanently */ |
#define | DM ((unsigned char)242) /* data mark--for connect. cleaning */ |
#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((char *)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 *_u, 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. More... | |
size_t | Fread (void *buf, size_t size, size_t nmemb, FD_t fd) |
fread(3) clone. More... | |
size_t | Fwrite (const void *buf, size_t size, size_t nmemb, FD_t fd) |
fwrite(3) clone. More... | |
int | Fseek (FD_t fd, _libio_off_t offset, int whence) |
fseek(3) clone. More... | |
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. More... | |
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. More... | |
FD_t | Fdopen (FD_t ofd, const char *fmode) |
FD_t | Fopen (const char *path, const char *_fmode) |
fopen(3) clone. More... | |
int | Fflush (FD_t fd) |
fflush(3) clone. More... | |
int | Ferror (FD_t fd) |
ferror(3) clone. More... | |
int | Fileno (FD_t fd) |
fileno(3) clone. More... | |
int | Fcntl (FD_t fd, int op, void *lip) |
fcntl(2) clone. More... | |
int | rpmioMkpath (const char *path, mode_t mode, uid_t uid, gid_t gid) |
Insure that directories in path exist, creating as needed. More... | |
int | rpmioAccess (const char *FN, const char *path, int mode) |
Check FN access, expanding relative paths and twiddles. More... | |
void | rpmioClean (void) |
Free all memory allocated by rpmio usage. More... | |
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 |
#define alloca_strdup | ( | _s | ) | strcpy((char *)alloca(strlen(_s)+1), (_s)) |
Definition at line 3068 of file rpmio.c.
Referenced by rpmioAccess().
Definition at line 1696 of file rpmio.c.
Referenced by ftpAbort().
#define fdClose __fdClose |
Definition at line 136 of file rpmio.c.
Referenced by Fclose(), Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), and ufdClose().
Definition at line 157 of file rpmio.c.
Referenced by argvFgets(), Fclose(), Ferror(), Fflush(), Fgetpos(), Fread(), Fseek(), Fsetpos(), Ftell(), Fwrite(), Rewind(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), and ufdClose().
#define fdOpen __fdOpen |
#define fdRead __fdRead |
#define fdWrite __fdWrite |
Definition at line 134 of file rpmio.c.
Referenced by ftpAbort(), ftpCommand(), ftpReq(), httpReq(), and ufdWrite().
#define IAC ((unsigned char)255) /* interpret as command: */ |
Definition at line 1690 of file rpmio.c.
Referenced by ftpAbort().
#define inet_aton | ( | cp, | |
inp | |||
) | rpm_inet_aton(cp,inp) |
Definition at line 109 of file rpmio.c.
Referenced by ftpReq(), and getHostAddress().
#define IP ((unsigned char)244) /* interrupt process--permanently */ |
Definition at line 1693 of file rpmio.c.
Referenced by ftpAbort(), and runScript().
#define IPPORT_FTP 21 |
Definition at line 102 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 1699 of file rpmio.c.
Referenced by ftpAbort().
Definition at line 155 of file rpmio.c.
Referenced by ufdClose(), ufdRead(), and ufdWrite().
Definition at line 499 of file rpmio.c.
References c2f(), davClose(), DBGIO, fd, fdbg(), fdFileno(), fdFree(), fdno, fdSetFdno(), FDSTAT_CLOSE, fdstat_enter(), fdstat_exit(), NULL, rc, and _FD_s::req.
Definition at line 531 of file rpmio.c.
References assert(), DBGIO, fd, fdbg(), fdNew(), fdno, fdSetFdno(), fdSetOpen(), _FD_s::flags, flags, NULL, and void.
|
static |
Definition at line 401 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), davRead(), DBGIO, fd, fdbg(), fdFileno(), fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), _FD_s::ndigests, NULL, rc, _FD_s::req, _FD_s::xar, and xarRead().
|
static |
Definition at line 443 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), davWrite(), DBGIO, fd, fdbg(), fdFileno(), fdno, fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), _FD_s::ndigests, NULL, rc, and _FD_s::req.
Definition at line 973 of file rpmio.c.
References _ftp_debug, _url_iobuf_size, urlinfo_s::allow, urlinfo_s::buf, buf, urlinfo_s::bufAlloced, _FD_s::contentLength, ec, fdFgets(), fdWritable(), fprintf(), FTPERR_BAD_SERVER_RESPONSE, urlinfo_s::httpVersion, if(), int, ne, NULL, _FD_s::persist, rc, RPMURL_SERVER_HASRANGE, s, se, strcmp(), strncpy(), u, URLSANE, _FD_s::wr_chunked, and xcalloc().
Referenced by ftpCheckResponse(), and httpResp().
|
inlinestatic |
Convert stdio fmode to open(2) mode, filtering out zlib/bzlib flags.
returns stdio[0] = NUL on error.
Definition at line 2640 of file rpmio.c.
fclose(3) clone.
Definition at line 2532 of file rpmio.c.
References FDIO_s::close, davDisconnect(), DBGIO, ec, 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, NULL, _FD_s::persist, rc, _FD_s::req, ufdClose(), and void.
Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), dodigest(), doIcon(), fsmStage(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), processPackageFiles(), readLineFromOFI(), rpmcliSign(), rpmdbExportHR_MIB(), rpmdcFiniFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), 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(), rpmtsCallback(), rpmtsRollback(), rpmtsSolve(), runScript(), showVerifyPackage(), statFormat(), ufdGetFile(), unsatisfiedDepend(), urlFini(), urlGetFile(), and writeRPM().
fcntl(2) clone.
Definition at line 3007 of file rpmio.c.
References Fileno().
Referenced by rpmShowProgress().
Definition at line 264 of file rpmio.c.
References DBGIO, fd, fdbg(), fdNew(), fdSetFdno(), fdSetOpen(), NULL, and void.
Referenced by cpio_doio(), dodigest(), main(), rpmHeaderFromFD(), rpmHeaderToFD(), rpmpsmStage(), rpmSingleHeaderFromFD(), rpmsqlNew(), rpmsqlRun(), rpmts_setattro(), rpmtsCallback(), runScript(), showVerifyPackage(), and ufdOpen().
Definition at line 295 of file rpmio.c.
References _free(), assert(), _FD_s::contentDisposition, _FD_s::contentType, ctx, _FD_s::dig, _FD_s::digests, fd, fprintf(), i, _FD_s::ndigests, NULL, _FD_s::opath, pgpDigFree(), _FD_s::req, rpmDigestFinal(), rpmxarFree(), _FD_s::stats, void, and _FD_s::xar.
Referenced by fdGetPool().
Definition at line 337 of file rpmio.c.
References _fdPool, _FD_s::_item, _rpmio_debug, fd, fdbg(), fdFini(), memset(), NULL, rpmioGetPool(), and rpmioNewPool().
Referenced by XfdNew().
Definition at line 2716 of file rpmio.c.
References FDIO_s::_fdopen, _rpmio_debug, bzdio, FDIO_s::close, cvtfmode(), DBGIO, fd, fdbg(), fdGetFp(), fdio, fdLink(), fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, fprintf(), gzdio, lzdio, noLibio, NULL, FDIO_s::read, FDIO_s::seek, stpcpy(), strcmp(), ufdio, void, FDIO_s::write, and xzdio.
Referenced by cpio_doio(), Fopen(), main(), rpmpsmStage(), rpmReadPackageManifest(), and rpmsqlRun().
Definition at line 633 of file rpmio.c.
References errno, fdFileno(), fdno, NULL, rc, and _FD_s::req.
Referenced by fdFgets(), ftpAbort(), ufdClose(), and ufdRead().
|
static |
Definition at line 477 of file rpmio.c.
References assert(), _FD_s::bytesRemain, c2f(), DBGIO, fd, fdbg(), fdFileno(), fdstat_enter(), fdstat_exit(), FDSTAT_SEEK, p, pos, and rc.
Referenced by ufdSeek().
|
inlinestatic |
Definition at line 578 of file rpmio.c.
References _rpmio_debug, errno, fdFileno(), fdno, fprintf(), NULL, rc, and _FD_s::req.
Referenced by checkResponse(), ftpLogin(), httpReq(), and ufdWrite().
ferror(3) clone.
Definition at line 2942 of file rpmio.c.
References bzdio, DBGIO, ec, _FD_s::errcookie, fdbg(), fdFileno(), fdGetFILE, fpio, _FD_s::fps, gzdio, i, _FDSTACK_s::io, lzdio, _FD_s::nfps, NULL, rc, _FD_s::req, _FD_s::syserrno, and xzdio.
Referenced by addFileToTagAux(), cpio_copy(), dodigest(), doIcon(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), rpmcliSign(), rpmdcCalcFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmgiOpen(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmmgFile(), rpmpsmStage(), rpmReadPackageManifest(), rpmrepoReadHeader(), rpmrepoRfileDigest(), rpmShowProgress(), rpmsqlRun(), rpmTempFile(), rpmtsSolve(), rpmWriteHeader(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
fflush(3) clone.
Definition at line 2914 of file rpmio.c.
References FDIO_s::_flush, bzdio, fdGetFILE, fdGetFp(), fdGetIo(), fpio, gzdio, lzdio, NULL, and xzdio.
Referenced by copyFile(), cpio_doio(), extractRegular(), rpmdcPrintFile(), rpmpsmStage(), rpmsqlRun(), and writeRPM().
fileno(3) clone.
Definition at line 2989 of file rpmio.c.
References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, i, _FD_s::nfps, NULL, rc, and _FD_s::req.
Referenced by cpio_doio(), extractRegular(), 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 2831 of file rpmio.c.
References _free(), _rpmio_debug, cvtfmode(), exit, fd, fdClose, fdFileno(), fdGetFdno(), fdGetFp(), fdno, fdOpen, Fdopen(), fdPush(), flags, fpio, fprintf(), NULL, _FD_s::req, rpmExpand(), strcmp(), 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, urlIsURL(), and void.
Referenced by addFileToTagAux(), dodigest(), doIcon(), fsmStage(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), processPackageFiles(), readLineFromOFI(), rpmcliSign(), rpmdbExportHR_MIB(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmgiOpen(), rpmHeaderFromFile(), rpmHeaderToFile(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmmgFile(), rpmpsmStage(), rpmrepoDoRepoMetadata(), rpmrepoOpenMDFile(), rpmrepoReadHeader(), rpmrepoRfileDigest(), rpmShowProgress(), rpmsqlRun(), rpmTempFile(), rpmtsRollback(), rpmtsSolve(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
fread(3) clone.
Definition at line 2410 of file rpmio.c.
References DBGIO, fd, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, int, NULL, rc, and FDIO_s::read.
Referenced by copyFile(), cpio_copy(), dodigest(), doIcon(), iosmStage(), isCompressed(), makeGPGSignature(), readFile(), rpmdcCalcFile(), rpmiobSlurp(), rpmmgFile(), rpmReadPackageFile(), rpmrepoReadHeader(), rpmrepoRfileDigest(), statFormat(), ufdCopy(), unsatisfiedDepend(), 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 2399 of file rpmio.c.
References errno, FDSANE, getFdErrstr(), and NULL.
Referenced by copyFile(), cpio_copy(), doIcon(), IDTXglob(), if(), isCompressed(), main(), manageFile(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), rpmcliSign(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmgiOpen(), rpmInstallSource(), rpmpsmStage(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmrepoOpenMDFile(), rpmrepoReadHeader(), rpmReSign(), rpmrfileXMLWrite(), rpmShowProgress(), rpmtsSolve(), rpmWriteHeader(), statFormat(), urlGetFile(), and writeRPM().
long Ftell | ( | FD_t | fd | ) |
Definition at line 1702 of file rpmio.c.
References assert(), 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, NULL, rc, _FD_s::rd_timeoutsecs, FDIO_s::read, SHUT_RDWR, sprintf(), ufdio, URLSANE, and void.
Referenced by ufdClose().
Definition at line 1136 of file rpmio.c.
References checkResponse(), urlinfo_s::ctrl, ec, FTPERR_BAD_SERVER_RESPONSE, FTPERR_FILE_NOT_FOUND, FTPERR_NIC_ABORT_IN_PROGRESS, rc, and URLSANE.
Referenced by ftpAbort(), ftpCommand(), ftpFileDone(), ftpLogin(), and ftpReq().
Definition at line 1162 of file rpmio.c.
References _ftp_debug, alloca(), urlinfo_s::ctrl, fdWrite, fprintf(), ftpCheckResponse(), FTPERR_SERVER_IO_ERROR, len, NULL, rc, s, stpcpy(), t, te, and URLSANE.
Referenced by ftpCmd(), ftpLogin(), and ftpReq().
Definition at line 1766 of file rpmio.c.
References assert(), urlinfo_s::ctrl, fdFree(), ftpCheckResponse(), _FD_s::ftpFileDoneNeeded, NULL, rc, and URLSANE.
Referenced by ufdClose().
Definition at line 1200 of file rpmio.c.
References alloca(), urlinfo_s::ctrl, errno, errxit, fdClose, fdFileno(), fdLink(), fdSetSyserrno(), fdWritable(), ftpCheckResponse(), ftpCommand(), FTPERR_BAD_HOSTNAME, ftpStrerror(), urlinfo_s::host, IPPORT_FTP, NULL, urlinfo_s::password, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, urlinfo_s::proxyu, rc, tcpConnect(), URLSANE, urlinfo_s::user, and void.
Referenced by urlConnect().
const char* ftpStrerror | ( | int | errorNumber | ) |
Definition at line 751 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().
fwrite(3) clone.
Definition at line 2432 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, int, NULL, rc, and FDIO_s::write.
Referenced by copyFile(), cpio_copy(), iosmStage(), main(), rpmdcPrintFile(), rpmrepoOpenMDFile(), rpmrfileXMLWrite(), rpmsqlRun(), rpmWriteHeader(), runScript(), ufdCopy(), writeRPM(), wrLead(), and wrSignature().
|
static |
Definition at line 2364 of file rpmio.c.
References bzdio, _FD_s::errcookie, fdGetIo(), gzdio, lzdio, NULL, _FD_s::syserrno, and xzdio.
Referenced by Fstrerror().
|
static |
Definition at line 849 of file rpmio.c.
References errno, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, inet_aton, mygethostbyname(), strcmp(), and xisdigit().
Referenced by tcpConnect().
Definition at line 1814 of file rpmio.c.
References _ftp_debug, alloca(), assert(), errno, errxit, fdClose, fdFileno(), fdLink(), fdSetSyserrno(), fdWritable(), fdWrite, fprintf(), FTPERR_BAD_HOSTNAME, FTPERR_SERVER_IO_ERROR, ftpStrerror(), urlinfo_s::host, httpResp(), urlinfo_s::httpVersion, if(), len, NI_MAXHOST, NULL, path, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, rc, sprintf(), strcmp(), tcpConnect(), _FD_s::u, u, urlinfo_s::url, URLSANE, VERSION, void, and _FD_s::wr_chunked.
Referenced by ufdOpen().
Definition at line 1785 of file rpmio.c.
References _ftp_debug, checkResponse(), ec, fprintf(), FTPERR_FILE_NOT_FOUND, FTPERR_UNKNOWN, rc, _FD_s::syserrno, and URLSANE.
Referenced by httpReq().
|
static |
Definition at line 831 of file rpmio.c.
Referenced by getHostAddress().
|
static |
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 3070 of file rpmio.c.
References _path, _rpmio_debug, Access(), alloca_strdup, exit, F_OK, fn, fprintf(), getenv(), negate, NULL, R_OK, rc, rpmCleanPath(), stpcpy(), strcmp(), t, te, W_OK, and X_OK.
Referenced by rpmtsPRCO(), and unsatisfiedDepend().
Free all memory allocated by rpmio usage.
Definition at line 3217 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(), NULL, rpmioFreePool(), rpmjsFree(), rpmlogClose(), rpmluaFree(), rpmperlFree(), rpmpythonFree(), rpmrubyFree(), rpmsqlFree(), rpmsquirrelFree(), rpmsxFree(), rpmtclFree(), urlFreeCache(), and void.
Referenced by 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 3015 of file rpmio.c.
References alloca(), Chown(), D_, errno, Mkdir(), NULL, rc, rpmlog(), RPMLOG_DEBUG, Stat(), and stpcpy().
Referenced by db3open(), db_init(), doSetupMacro(), packageBinaries(), packageSources(), rpmdbExportHR_MIB(), rpmdbExportL10N_SQL(), rpmrepoMkdir(), rpmTempFile(), sql_initDB(), and sql_open().
Definition at line 878 of file rpmio.c.
References _ftp_debug, errno, errxit, fdSetFdno(), fdSetSyserrno(), fprintf(), FTPERR_FAILED_CONNECT, ftpStrerror(), getHostAddress(), memset(), NI_MAXHOST, NULL, rc, res, sprintf(), void, and xx.
Referenced by ftpLogin(), and httpReq().
Definition at line 1547 of file rpmio.c.
References buf, DBGIO, Fread(), FTPERR_FILE_IO_ERROR, ftpStrerror(), Fwrite(), int, n, NULL, rc, RPMCALLBACK_INST_OPEN_FILE, RPMCALLBACK_INST_PROGRESS, and void.
Referenced by main(), and ufdGetFile().
Definition at line 2254 of file rpmio.c.
References _rpmio_debug, assert(), _FD_s::bytesRemain, _FD_s::contentLength, davOpen(), davReq(), DBGIO, fd, fdbg(), fdDup(), fdLink(), fdOpen, fdSetIo(), fdSetOpen(), Fileno(), fprintf(), ftpOpen(), ftpReq(), httpOpen(), httpReq(), NULL, urlinfo_s::openError, path, _FD_s::rd_timeoutsecs, strcmp(), u, 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(), void, and _FD_s::wr_chunked.
Referenced by Fopen().
|
static |
Definition at line 1939 of file rpmio.c.
References _rpmio_debug, assert(), _FD_s::bytesRemain, c2f(), count, errno, fdFileno(), fdGetIo(), fdRead, fdReadable(), fprintf(), int, rc, _FD_s::rd_timeoutsecs, UFDONLY, and void.
|
static |
Definition at line 2067 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 |
Definition at line 2002 of file rpmio.c.
References _rpmio_debug, _FD_s::bytesRemain, c2f(), count, errno, fdGetFdno(), fdGetIo(), fdWritable(), fdWrite, fprintf(), int, rc, UFDONLY, and void.
Definition at line 1611 of file rpmio.c.
References assert(), _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, D_, fd, fdFileno(), fdFree(), fdLink(), fdNew(), fdSetIo(), fdSetOpen(), _FD_s::ftpFileDoneNeeded, ftpLogin(), ftpTimeoutSecs, urlinfo_s::host, NULL, urlinfo_s::openError, urlinfo_s::password, rc, _FD_s::rd_timeoutsecs, rpmlog(), RPMLOG_DEBUG, _FD_s::u, u, ufdio, URL_IS_FTP, urlFree(), urlLink(), urlSplit(), urlType(), and urlinfo_s::user.
const char* urlStrerror | ( | const char * | url | ) |
Definition at line 806 of file rpmio.c.
References _, errno, ftpStrerror(), urlinfo_s::openError, u, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_MONGO, urlIsURL(), and urlSplit().
Definition at line 355 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, _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, memset(), _FD_s::ndigests, _FD_s::nfps, NULL, _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().
rpmioPool _fdPool |
Definition at line 335 of file rpmio.c.
Referenced by fdGetPool().
int _ftp_debug = 0 |
Definition at line 188 of file rpmio.c.
Referenced by checkResponse(), ftpCommand(), ftpLstat(), ftpOpendir(), ftpReadlink(), ftpReq(), ftpStat(), httpReq(), httpResp(), and tcpConnect().
|
static |
Definition at line 3066 of file rpmio.c.
Referenced by rpmioAccess().
|
static |
|
static |
|
static |
Definition at line 173 of file rpmio.c.
Referenced by ftpOpen(), and urlConnect().
int noLibio = 1 |
Definition at line 165 of file rpmio.c.
Referenced by Fclose(), Fdopen(), and ufdClose().
Definition at line 2360 of file rpmio.c.
Referenced by fdbg(), Fdopen(), ftpAbort(), ftpOpen(), httpOpen(), ufdOpen(), urlConnect(), and XfdNew().
|
static |