#include "system.h"
#include <rpmio_internal.h>
#include <rpmdav.h>
#include "ugid.h"
#include "debug.h"
Include dependency graph for rpmrpc.c:
Go to the source code of this file.
Defines | |
#define | _RPMDAV_INTERNAL |
#define | g_strdup xstrdup |
#define | g_free free |
#define | MAXCOLS 30 |
#define | alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s)) |
Enumerations | |
enum | ftpSysCall_t { DO_FTP_STAT = 1, DO_FTP_LSTAT = 2, DO_FTP_READLINK = 3, DO_FTP_ACCESS = 4, DO_FTP_GLOB = 5 } |
Functions | |
static void * | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | |
static int | ftpMkdir (const char *path, mode_t mode) |
static int | ftpChdir (const char *path) |
static int | ftpRmdir (const char *path) |
static int | ftpRename (const char *oldpath, const char *newpath) |
static int | ftpUnlink (const char *path) |
int | Mkdir (const char *path, mode_t mode) |
mkdir(2) clone. | |
int | Chdir (const char *path) |
chdir(2) clone. | |
int | Rmdir (const char *path) |
rmdir(2) clone. | |
int | Chroot (const char *path) |
chroot(2) clone. | |
int | Open (const char *path, int flags, mode_t mode) |
open(2) clone. | |
int | Rename (const char *oldpath, const char *newpath) |
rename(2) clone. | |
int | Link (const char *oldpath, const char *newpath) |
link(2) clone. | |
int | Unlink (const char *path) |
unlink(2) clone. | |
static int | vfs_split_text (char *p) |
static int | is_num (int idx) |
static int | is_dos_date (const char *str) |
static int | is_week (const char *str, struct tm *tim) |
static int | is_month (const char *str, struct tm *tim) |
static int | is_time (const char *str, struct tm *tim) |
static int | is_year (const char *str, struct tm *tim) |
static int | vfs_parse_filetype (char c) |
static int | vfs_parse_filemode (const char *p) |
static int | vfs_parse_filedate (int idx, time_t *t) |
static int | vfs_parse_ls_lga (char *p, struct stat *st, const char **filename, const char **linkname) |
static int | ftpNLST (const char *url, ftpSysCall_t ftpSysCall, struct stat *st, char *rlbuf, size_t rlbufsiz) |
static const char * | statstr (const struct stat *st, char *buf) |
static int | ftpStat (const char *path, struct stat *st) |
static int | ftpLstat (const char *path, struct stat *st) |
static int | ftpReadlink (const char *path, char *buf, size_t bufsiz) |
static DIR * | ftpOpendir (const char *path) |
int | Stat (const char *path, struct stat *st) |
stat(2) clone. | |
int | Lstat (const char *path, struct stat *st) |
lstat(2) clone. | |
int | Chown (const char *path, uid_t owner, gid_t group) |
chown(2) clone. | |
int | Lchown (const char *path, uid_t owner, gid_t group) |
lchown(2) clone. | |
int | Chmod (const char *path, mode_t mode) |
chmod(2) clone. | |
int | Mkfifo (const char *path, mode_t mode) |
mkfifo(3) clone. | |
int | Mknod (const char *path, mode_t mode, dev_t dev) |
mknod(3) clone. | |
int | Utime (const char *path, const struct utimbuf *buf) |
utime(2) clone. | |
int | Utimes (const char *path, const struct timeval times[2]) |
int | Symlink (const char *oldpath, const char *newpath) |
symlink(3) clone. | |
int | Readlink (const char *path, char *buf, size_t bufsiz) |
readlink(2) clone. | |
int | Access (const char *path, int amode) |
access(2) clone. | |
int | Glob_pattern_p (const char *pattern, int quote) |
glob_pattern_p(3) clone. | |
int | Glob_error (const char *epath, int eerrno) |
glob_error(3) clone. | |
int | Glob (const char *pattern, int flags, int errfunc(const char *epath, int eerrno), glob_t *pglob) |
glob(3) clone. | |
void | Globfree (glob_t *pglob) |
globfree(3) clone. | |
DIR * | Opendir (const char *path) |
opendir(3) clone. | |
direct * | Readdir (DIR *dir) |
readdir(3) clone. | |
int | Closedir (DIR *dir) |
closedir(3) clone. | |
off_t | Lseek (int fdno, off_t offset, int whence) |
lseek(2) clone. | |
Variables | |
const char * | _chroot_prefix = NULL |
static int | current_mday |
static int | current_mon |
static int | current_year |
static char * | columns [30] |
static int | column_ptr [30] |
static size_t | ftpBufAlloced = 0 |
static char * | ftpBuf = NULL |
static int | ftp_st_ino = 0xdead0000 |
Definition in file rpmrpc.c.
|
|
|
|
|
Definition at line 347 of file rpmrpc.c. Referenced by vfs_parse_ls_lga(). |
|
Definition at line 346 of file rpmrpc.c. Referenced by vfs_parse_ls_lga(). |
|
Definition at line 360 of file rpmrpc.c. Referenced by vfs_split_text(). |
|
|
|
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
|
|
access(2) clone.
Definition at line 1594 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by rpmdbRebuild(), rpmInstallSourcePackage(), and rpmioAccess(). |
|
chdir(2) clone.
Definition at line 108 of file rpmrpc.c. References errno, ftpChdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by getOutputFrom(), rpmpsmStage(), rpmtsRun(), and runScript(). |
|
chmod(2) clone.
Definition at line 1417 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
chown(2) clone.
Definition at line 1369 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
chroot(2) clone.
Definition at line 158 of file rpmrpc.c. References _chroot_prefix, _free(), _rpmio_debug, errno, rpmGetPath(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by rpmpsmStage(), rpmtsRun(), and runScript(). |
|
closedir(3) clone.
Definition at line 1749 of file rpmrpc.c. References _rpmio_debug. Referenced by Fts_open(), and Glob(). |
|
Definition at line 53 of file rpmrpc.c. References ftpCmd(). |
|
Definition at line 1145 of file rpmrpc.c. References _ftp_debug, DO_FTP_LSTAT, ftp_st_ino, ftpNLST(), and statstr(). Referenced by Lstat(). |
|
Definition at line 37 of file rpmrpc.c. References ftpCmd(). Referenced by Mkdir(). |
|
Definition at line 915 of file rpmrpc.c. References _url_iobuf_size, alloca_strdup, DO_FTP_ACCESS, DO_FTP_GLOB, DO_FTP_LSTAT, DO_FTP_READLINK, DO_FTP_STAT, fdFgets(), fdLink, ftpBuf, ftpBufAlloced, ftpChdir(), ftpOpen(), ftpReq(), urlinfo_s::openError, ufdClose(), urlPath(), vfs_parse_ls_lga(), xcalloc(), and xrealloc(). Referenced by ftpLstat(), ftpOpendir(), ftpReadlink(), and ftpStat(). |
|
Definition at line 1173 of file rpmrpc.c. References _ftp_debug, dirent, DO_FTP_GLOB, ftpBuf, ftpNLST(), stpcpy(), stpncpy(), and xcalloc(). Referenced by Opendir(). |
|
Definition at line 1160 of file rpmrpc.c. References _ftp_debug, DO_FTP_READLINK, and ftpNLST(). Referenced by Readlink(). |
|
Definition at line 67 of file rpmrpc.c. References ftpCmd(). Referenced by Rename(). |
|
Definition at line 60 of file rpmrpc.c. References ftpCmd(). Referenced by Rmdir(). |
|
Definition at line 1129 of file rpmrpc.c. References _ftp_debug, DO_FTP_STAT, ftp_st_ino, ftpNLST(), and statstr(). Referenced by Stat(). |
|
Definition at line 77 of file rpmrpc.c. References ftpCmd(). Referenced by Unlink(). |
|
glob(3) clone.
Definition at line 1668 of file rpmrpc.c. References _rpmio_debug, Closedir(), Lstat(), Opendir(), Readdir(), Stat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by rpmGlob(). |
|
glob_error(3) clone.
Definition at line 1663 of file rpmrpc.c. Referenced by rpmGlob(). |
|
glob_pattern_p(3) clone.
Definition at line 1623 of file rpmrpc.c. References URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, and urlPath(). Referenced by processBinaryFile(), and rpmGlob(). |
|
globfree(3) clone.
Definition at line 1704 of file rpmrpc.c. References _rpmio_debug. Referenced by rpmGlob(). |
|
Definition at line 404 of file rpmrpc.c. Referenced by vfs_parse_filedate(), and vfs_parse_ls_lga(). |
|
Definition at line 432 of file rpmrpc.c. Referenced by vfs_parse_filedate(), and vfs_parse_ls_lga(). |
|
Definition at line 393 of file rpmrpc.c. References columns. Referenced by vfs_parse_filedate(), and vfs_parse_ls_lga(). |
|
Definition at line 449 of file rpmrpc.c. Referenced by vfs_parse_filedate(). |
|
Definition at line 415 of file rpmrpc.c. Referenced by vfs_parse_filedate(), and vfs_parse_ls_lga(). |
|
Definition at line 468 of file rpmrpc.c. Referenced by vfs_parse_filedate(). |
|
lchown(2) clone.
Definition at line 1393 of file rpmrpc.c. References _rpmio_debug, errno, lchown, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
link(2) clone.
Definition at line 278 of file rpmrpc.c. References _rpmio_debug, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and xstrncasecmp(). Referenced by fsmStage(). |
|
lseek(2) clone.
Definition at line 1760 of file rpmrpc.c. References _rpmio_debug. |
|
lstat(2) clone.
Definition at line 1343 of file rpmrpc.c. References _rpmio_debug, errno, ftpLstat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by addFile(), checkOwners(), fsmStage(), Fts_open(), Glob(), handleInstInstalledFiles(), prepFetch(), rpmQueryVerify(), and rpmVerifyFile(). |
|
mkdir(2) clone.
Definition at line 85 of file rpmrpc.c. References ftpMkdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(), packageBinaries(), rpmdbRebuild(), rpmioMkpath(), and rpmMkdirPath(). |
|
mkfifo(3) clone.
Definition at line 1441 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
mknod(3) clone.
Definition at line 1465 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
open(2) clone.
Definition at line 189 of file rpmrpc.c. References _chroot_prefix, _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by db_init(). |
|
opendir(3) clone.
Definition at line 1711 of file rpmrpc.c. References _rpmio_debug, ftpOpendir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by Fts_open(), and Glob(). |
|
readdir(3) clone.
Definition at line 1738 of file rpmrpc.c. References _rpmio_debug. Referenced by Fts_open(), and Glob(). |
|
readlink(2) clone.
Definition at line 1568 of file rpmrpc.c. References errno, ftpReadlink(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(), genCpioListAndHeader(), and rpmVerifyFile(). |
|
rename(2) clone.
Definition at line 231 of file rpmrpc.c. References _rpmio_debug, ftpRename(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and xstrncasecmp(). Referenced by fsmStage(). |
|
rmdir(2) clone.
Definition at line 132 of file rpmrpc.c. References ftpRmdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(), and rpmdbRebuild(). |
|
stat(2) clone.
Definition at line 1317 of file rpmrpc.c. References _rpmio_debug, errno, ftpStat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by buildForTarget(), db3open(), fsmStage(), Fts_open(), Glob(), packageBinaries(), processSourceFiles(), rpmdsSysinfo(), rpmioFileExists(), rpmioMkpath(), and rpmMkdirPath(). |
|
Definition at line 1108 of file rpmrpc.c. Referenced by ftpLstat(), and ftpStat(). |
|
symlink(3) clone.
Definition at line 1541 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(). |
|
unlink(2) clone.
Definition at line 322 of file rpmrpc.c. References ftpUnlink(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by buildForTarget(), buildSpec(), db3open(), doRmSource(), doScript(), fsmStage(), rpmdbExportInfo(), rpmInstall(), rpmtsRollback(), urlGetFile(), and writeRPM(). |
|
utime(2) clone.
Definition at line 1491 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). Referenced by fsmStage(), and rpmdbExportInfo(). |
|
Definition at line 1516 of file rpmrpc.c. References _rpmio_debug, errno, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath(). |
|
Definition at line 579 of file rpmrpc.c. References columns, current_mday, current_mon, current_year, is_dos_date(), is_month(), is_num(), is_time(), is_week(), and is_year(). Referenced by vfs_parse_ls_lga(). |
|
Definition at line 519 of file rpmrpc.c. Referenced by vfs_parse_ls_lga(). |
|
Definition at line 500 of file rpmrpc.c. References S_IFSOCK. Referenced by vfs_parse_ls_lga(). |
|
Definition at line 690 of file rpmrpc.c. References column_ptr, columns, g_free, g_strdup, gnameToGid(), is_dos_date(), is_month(), is_num(), is_week(), S_ISLNK, unameToUid(), vfs_parse_filedate(), vfs_parse_filemode(), vfs_parse_filetype(), vfs_split_text(), and xmalloc(). Referenced by ftpNLST(). |
|
Definition at line 369 of file rpmrpc.c. References column_ptr, columns, and MAXCOLS. Referenced by vfs_parse_ls_lga(). |
|
|
|
Definition at line 365 of file rpmrpc.c. Referenced by vfs_parse_ls_lga(), and vfs_split_text(). |
|
Definition at line 363 of file rpmrpc.c. Referenced by is_num(), vfs_parse_filedate(), vfs_parse_ls_lga(), and vfs_split_text(). |
|
Definition at line 353 of file rpmrpc.c. Referenced by vfs_parse_filedate(). |
|
Definition at line 355 of file rpmrpc.c. Referenced by vfs_parse_filedate(). |
|
Definition at line 357 of file rpmrpc.c. Referenced by vfs_parse_filedate(). |
|
Definition at line 1126 of file rpmrpc.c. Referenced by ftpLstat(), and ftpStat(). |
|
Definition at line 910 of file rpmrpc.c. Referenced by ftpNLST(), and ftpOpendir(). |
|
Definition at line 905 of file rpmrpc.c. Referenced by ftpNLST(). |