Files | |
file | falloc.c |
The entire file space is thus divided into blocks with a "struct fablock" at the header of each. | |
file | macro.c |
file | rpmlog.c |
file | rpmerr.h |
file | rpmio.c |
file | rpmio.h |
file | rpmio_internal.h |
file | rpmmacro.h |
file | rpmmalloc.c |
file | rpmmessages.h |
file | rpmpgp.c |
Routines to handle RFC-2440 detached signatures. | |
file | rpmpgp.h |
OpenPGP constants and structures from RFC-2440. | |
file | rpmrpc.c |
file | rpmurl.h |
file | strcasecmp.c |
file | ugid.c |
file | ugid.h |
file | url.c |
Data Structures | |
struct | FDIO_s |
struct | _FDSTACK_s |
struct | OPSTAT_t |
Cumulative statistics for an I/O operation. More... | |
struct | _FDDIGEST_s |
struct | _FD_s |
The FD_t File Handle data structure. More... | |
typedef off_t | _libio_off_t |
Hide libio API lossage. | |
typedef off_t | _libio_pos_t |
Typedefs | |
typedef _FD_s * | FD_t |
typedef FDIO_s * | FDIO_t |
typedef _FDSTACK_s | FDSTACK_t |
struct { | |
timeval create | |
timeval begin | |
OPSTAT_t ops [4] | |
} | FDSTAT_t |
Cumulative statistics for a descriptor. | |
typedef enum rpmDigestFlags_e | rpmDigestFlags |
Bit(s) to control digest operation. | |
typedef _FDDIGEST_s * | FDDIGEST_t |
Enumerations | |
enum | FDSTAT_e { FDSTAT_READ = 0, FDSTAT_WRITE = 1, FDSTAT_SEEK = 2, FDSTAT_CLOSE = 3 } |
Identify per-desciptor I/O operation statistics. More... | |
enum | rpmDigestFlags_e { RPMDIGEST_NONE = 0 } |
Bit(s) to control digest operation. More... | |
Functions | |
int | xstrcasecmp (const char *s1, const char *s2) |
Locale insensitive strcasecmp(3). | |
int | xstrncasecmp (const char *s1, const char *s2, size_t n) |
Locale insensitive strncasecmp(3). | |
DIGEST_CTX | rpmDigestDup (DIGEST_CTX octx) |
Duplicate a digest context. | |
DIGEST_CTX | rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags) |
Initialize digest. | |
int | rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len) |
Update context with next plain text buffer. | |
int | rpmDigestFinal (DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii) |
Return digest and destroy context. | |
int | fdFgets (FD_t fd, char *buf, size_t len) |
FD_t | ftpOpen (const char *url, int flags, mode_t mode, urlinfo *uret) |
int | ftpReq (FD_t data, const char *ftpCmd, const char *ftpArg) |
int | ftpCmd (const char *cmd, const char *url, const char *arg2) |
int | ufdClose (void *cookie) |
static const FDIO_t | fdGetIo (FD_t fd) |
static void | fdSetIo (FD_t fd, FDIO_t io) |
static FILE * | fdGetFILE (FD_t fd) |
static void * | fdGetFp (FD_t fd) |
static void | fdSetFp (FD_t fd, void *fp) |
static int | fdGetFdno (FD_t fd) |
static void | fdSetFdno (FD_t fd, int fdno) |
static void | fdSetContentLength (FD_t fd, ssize_t contentLength) |
static void | fdPush (FD_t fd, FDIO_t io, void *fp, int fdno) |
static void | fdPop (FD_t fd) |
static void | fdstat_enter (FD_t fd, int opx) |
static time_t | tvsub (const struct timeval *etv, const struct timeval *btv) |
static void | fdstat_exit (FD_t fd, int opx, ssize_t rc) |
static void | fdstat_print (FD_t fd, const char *msg, FILE *fp) |
static void | fdSetSyserrno (FD_t fd, int syserrno, const void *errcookie) |
static int | fdGetRdTimeoutSecs (FD_t fd) |
static long int | fdGetCpioPos (FD_t fd) |
static void | fdSetCpioPos (FD_t fd, long int cpioPos) |
static FD_t | c2f (void *cookie) |
static void | fdInitDigest (FD_t fd, pgpHashAlgo hashalgo, int flags) |
Attach digest to fd. | |
static void | fdUpdateDigests (FD_t fd, const byte *buf, ssize_t buflen) |
Update digest(s) attached to fd. | |
static void | fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void **datap, size_t *lenp, int asAscii) |
static int | fdFileno (void *cookie) |
typedef off_t _libio_off_t |
typedef off_t _libio_pos_t |
typedef struct _FDDIGEST_s * FDDIGEST_t |
typedef struct _FDSTACK_s FDSTACK_t |
typedef { ... } * FDSTAT_t |
Cumulative statistics for a descriptor.
typedef enum rpmDigestFlags_e rpmDigestFlags |
Bit(s) to control digest operation.
enum FDSTAT_e |
Identify per-desciptor I/O operation statistics.
FDSTAT_READ | Read statistics index. |
FDSTAT_WRITE | Write statistics index. |
FDSTAT_SEEK | Seek statistics index. |
FDSTAT_CLOSE | Close statistics index |
Definition at line 33 of file rpmio_internal.h.
enum rpmDigestFlags_e |
static FD_t c2f | ( | void * | cookie | ) | [inline, static] |
Definition at line 441 of file rpmio_internal.h.
References FDSANE.
Referenced by fdClose(), fdFileno(), fdRead(), fdSeek(), fdSeekNot(), fdWrite(), ufdClose(), ufdRead(), ufdSeek(), ufdWrite(), and XfdLink().
int fdFgets | ( | FD_t | fd, | |
char * | buf, | |||
size_t | len | |||
) |
Definition at line 605 of file rpmio.c.
References _rpmio_debug, errno, fdFileno, fdRead, fdReadable(), _FD_s::rd_timeoutsecs, strerror(), and _FD_s::syserrno.
Referenced by checkResponse(), and ftpNLST().
static int fdFileno | ( | void * | cookie | ) | [inline, static] |
Definition at line 521 of file rpmio_internal.h.
References c2f(), _FDSTACK_s::fdno, and _FD_s::fps.
static void fdFiniDigest | ( | FD_t | fd, | |
pgpHashAlgo | hashalgo, | |||
void ** | datap, | |||
size_t * | lenp, | |||
int | asAscii | |||
) | [inline, static] |
Definition at line 487 of file rpmio_internal.h.
References _FD_s::digests, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestFinal().
Referenced by domd5(), expandRegular(), and writeRPM().
static long int fdGetCpioPos | ( | FD_t | fd | ) | [inline, static] |
Definition at line 421 of file rpmio_internal.h.
References _FD_s::fd_cpioPos, and FDSANE.
Referenced by fsmSetup(), fsmStage(), and writeFile().
static int fdGetFdno | ( | FD_t | fd | ) | [inline, static] |
Definition at line 256 of file rpmio_internal.h.
References _FDSTACK_s::fdno, FDSANE, _FD_s::fps, and _FD_s::nfps.
Referenced by Fclose(), Fopen(), and ufdWrite().
static FILE* fdGetFILE | ( | FD_t | fd | ) | [inline, static] |
static void* fdGetFp | ( | FD_t | fd | ) | [inline, static] |
Definition at line 232 of file rpmio_internal.h.
References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps.
Referenced by addFileToTagAux(), doFopen(), doScript(), Fdopen(), Fflush(), Fopen(), processPackageFiles(), readLine(), rpmReadPackageManifest(), and XurlFree().
Definition at line 196 of file rpmio_internal.h.
References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.
Referenced by Fflush(), Fread(), Fseek(), Fwrite(), getFdErrstr(), ufdRead(), and ufdWrite().
static int fdGetRdTimeoutSecs | ( | FD_t | fd | ) | [inline, static] |
static void fdInitDigest | ( | FD_t | fd, | |
pgpHashAlgo | hashalgo, | |||
int | flags | |||
) | [inline, static] |
Attach digest to fd.
Definition at line 455 of file rpmio_internal.h.
References _FD_s::digests, FDDIGEST_MAX, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestInit().
Referenced by domd5(), expandRegular(), and writeRPM().
static void fdPop | ( | FD_t | fd | ) | [inline, static] |
Definition at line 300 of file rpmio_internal.h.
References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), and _FD_s::nfps.
Referenced by Fclose().
Definition at line 286 of file rpmio_internal.h.
References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), _FD_s::fps, and _FD_s::nfps.
Referenced by Fdopen(), Fopen(), and XurlFree().
static void fdSetContentLength | ( | FD_t | fd, | |
ssize_t | contentLength | |||
) | [inline, static] |
Definition at line 276 of file rpmio_internal.h.
References _FD_s::bytesRemain, _FD_s::contentLength, and FDSANE.
Referenced by db1cput().
static void fdSetCpioPos | ( | FD_t | fd, | |
long int | cpioPos | |||
) | [inline, static] |
Definition at line 431 of file rpmio_internal.h.
References _FD_s::fd_cpioPos, and FDSANE.
Referenced by fsmSetup().
static void fdSetFdno | ( | FD_t | fd, | |
int | fdno | |||
) | [inline, static] |
Definition at line 266 of file rpmio_internal.h.
References _FDSTACK_s::fdno, FDSANE, _FD_s::fps, and _FD_s::nfps.
Referenced by fdClose(), fdDup(), fdOpen(), fdPop(), fdPush(), ftpReq(), and tcpConnect().
static void fdSetFp | ( | FD_t | fd, | |
void * | fp | |||
) | [inline, static] |
Definition at line 243 of file rpmio_internal.h.
References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps.
Referenced by Fclose(), Fdopen(), fdPop(), fdPush(), and ufdClose().
Definition at line 207 of file rpmio_internal.h.
References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.
Referenced by fadOpen(), fdPop(), fdPush(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().
static void fdSetSyserrno | ( | FD_t | fd, | |
int | syserrno, | |||
const void * | errcookie | |||
) | [inline, static] |
Definition at line 398 of file rpmio_internal.h.
References _FD_s::errcookie, FDSANE, and _FD_s::syserrno.
Referenced by ftpLogin(), ftpReq(), httpReq(), and tcpConnect().
static void fdstat_enter | ( | FD_t | fd, | |
int | opx | |||
) | [inline, static] |
static void fdstat_exit | ( | FD_t | fd, | |
int | opx, | |||
ssize_t | rc | |||
) | [inline, static] |
Definition at line 339 of file rpmio_internal.h.
References _FD_s::bytesRemain, errno, FDSTAT_SEEK, _FD_s::stats, _FD_s::syserrno, and tvsub().
static void fdstat_print | ( | FD_t | fd, | |
const char * | msg, | |||
FILE * | fp | |||
) | [inline, static] |
Definition at line 365 of file rpmio_internal.h.
References OPSTAT_t::bytes, OPSTAT_t::count, FDSTAT_CLOSE, FDSTAT_READ, FDSTAT_SEEK, FDSTAT_WRITE, OPSTAT_t::msecs, ops, and _FD_s::stats.
static void fdUpdateDigests | ( | FD_t | fd, | |
const byte * | buf, | |||
ssize_t | buflen | |||
) | [inline, static] |
Update digest(s) attached to fd.
Definition at line 470 of file rpmio_internal.h.
References _FD_s::digests, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestUpdate().
int ftpCmd | ( | const char * | cmd, | |
const char * | url, | |||
const char * | arg2 | |||
) |
Definition at line 1415 of file rpmio.c.
References urlinfo_s::ctrl, fdFree, ftpCommand(), urlConnect(), and urlPath().
Referenced by ftpChdir(), ftpMkdir(), ftpRename(), ftpRmdir(), and ftpUnlink().
Definition at line 1946 of file rpmio.c.
References urlinfo_s::data, fdLink, fdNew, fdSetIo(), ftpTimeoutSecs, ufdio, _FD_s::url, URL_IS_FTP, urlConnect(), and urlLink.
int ftpReq | ( | FD_t | data, | |
const char * | ftpCmd, | |||
const char * | ftpArg | |||
) |
Definition at line 1143 of file rpmio.c.
References alloca(), _FD_s::contentLength, urlinfo_s::ctrl, errno, fdClose(), fdFileno, fdLink, fdSetFdno(), fdSetSyserrno(), fdWrite, ftpCheckResponse(), ftpCommand(), FTPERR_BAD_SERVER_RESPONSE, FTPERR_FAILED_CONNECT, FTPERR_FAILED_DATA_CONNECT, FTPERR_PASSIVE_ERROR, FTPERR_SERVER_IO_ERROR, FTPERR_UNKNOWN, _FD_s::ftpFileDoneNeeded, ftpStrerror(), inet_aton(), stpcpy(), _FD_s::url, and URLSANE.
DIGEST_CTX rpmDigestDup | ( | DIGEST_CTX | octx | ) |
Duplicate a digest context.
ctx | existing digest context |
Definition at line 39 of file digest.c.
References DIGEST_CTX_s::param, and xcalloc().
int rpmDigestFinal | ( | DIGEST_CTX | ctx, | |
void ** | datap, | |||
size_t * | lenp, | |||
int | asAscii | |||
) |
Return digest and destroy context.
Final wrapup - pad to 64-byte boundary with the bit pattern 1 0* (64-bit count of bits processed, MSB-first)
ctx | digest context |
datap | address of returned digest | |
lenp | address of digest length |
asAscii | return digest as ascii string? |
Definition at line 119 of file digest.c.
References DIGEST_CTX_s::Digest, DIGEST_CTX_s::digestlen, DPRINTF, _dendian::i, IS_LITTLE_ENDIAN, DIGEST_CTX_s::param, DIGEST_CTX_s::paramlen, and xmalloc().
Referenced by fdFiniDigest(), pgpFreeDig(), rhnUnload(), rpmVerifyDigest(), and XfdFree().
DIGEST_CTX rpmDigestInit | ( | pgpHashAlgo | hashalgo, | |
rpmDigestFlags | flags | |||
) |
Initialize digest.
Set bit count to 0 and buffer to mysterious initialization constants.
flags | bit(s) to control digest operation |
Definition at line 47 of file digest.c.
References DPRINTF, PGPHASHALGO_HAVAL_5_160, PGPHASHALGO_MD2, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_TIGER192, and xcalloc().
Referenced by fdInitDigest(), rhnUnload(), and rpmVerifyDigest().
int rpmDigestUpdate | ( | DIGEST_CTX | ctx, | |
const void * | data, | |||
size_t | len | |||
) |
Update context with next plain text buffer.
ctx | digest context | |
data | next data buffer | |
len | no. bytes of data |
Definition at line 99 of file digest.c.
References DPRINTF, DIGEST_CTX_s::param, and DIGEST_CTX_s::Update.
Referenced by fdUpdateDigests(), rhnUnload(), and rpmVerifyDigest().
static time_t tvsub | ( | const struct timeval * | etv, | |
const struct timeval * | btv | |||
) | [inline, static] |
int ufdClose | ( | void * | cookie | ) |
Definition at line 1825 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdClose(), fdFree, fdGetFILE, fdReadable(), fdSetFp(), fdWrite, ftpAbort(), ftpFileDone(), _FD_s::ftpFileDoneNeeded, httpResp(), urlinfo_s::httpVersion, noLibio, _FD_s::persist, urlinfo_s::service, UFDONLY, _FD_s::url, URL_IS_FTP, urlFree, urlinfo_s::urltype, and _FD_s::wr_chunked.
int xstrcasecmp | ( | const char * | s1, | |
const char * | s2 | |||
) |
Locale insensitive strcasecmp(3).
Definition at line 9 of file strcasecmp.c.
References xtolower().
Referenced by findTag(), getTagVal(), hdrSubscript(), isMemberInEntry(), machEquivSearch(), optionCompare(), parseYesNo(), pkgCompare(), pkgCompareVer(), rpmLookupSignatureType(), rpmRebuildTargetVars(), tagNumFromPyObject(), and tagValue().
int xstrncasecmp | ( | const char * | s1, | |
const char * | s2, | |||
size_t | n | |||
) |
Locale insensitive strncasecmp(3).
Definition at line 30 of file strcasecmp.c.
References xtolower().
Referenced by findPreambleTag(), getTagVal(), isPart(), Link(), matchTok(), Rename(), and verifyGPGSignature().
struct { ... } begin [inherited] |
Operation start time.
Definition at line 45 of file rpmio_internal.h.
struct { ... } create [inherited] |
Structure creation time.
Definition at line 44 of file rpmio_internal.h.
OPSTAT_t { ... } ops[4] [inherited] |
Cumulative statistics.
Definition at line 46 of file rpmio_internal.h.