summaryrefslogtreecommitdiffstats
path: root/sbin/ldconfig/ldconfig.c
diff options
context:
space:
mode:
authorjdp <jdp@FreeBSD.org>2000-08-07 19:12:04 +0000
committerjdp <jdp@FreeBSD.org>2000-08-07 19:12:04 +0000
commitdaf512cf554964046743c93a27d735a1807cabf3 (patch)
treef2b8a8eac5f24101b2eed0ae33869b3532cf8114 /sbin/ldconfig/ldconfig.c
parent69f47a0a2a9ec3b664f30e4afa0fa1bdebaa4773 (diff)
downloadFreeBSD-src-daf512cf554964046743c93a27d735a1807cabf3.zip
FreeBSD-src-daf512cf554964046743c93a27d735a1807cabf3.tar.gz
Add a "-i" option ("insecure") which disables the checks for
root ownership, etc. I will soon commit a companion knob for "/etc/rc.conf". Submitted by: Maxime Henrion <mhenrion@cybercable.fr>
Diffstat (limited to 'sbin/ldconfig/ldconfig.c')
-rw-r--r--sbin/ldconfig/ldconfig.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/sbin/ldconfig/ldconfig.c b/sbin/ldconfig/ldconfig.c
index cde4f9a..5c655b4 100644
--- a/sbin/ldconfig/ldconfig.c
+++ b/sbin/ldconfig/ldconfig.c
@@ -117,7 +117,7 @@ char *argv[];
hints_file = is_aout ? _PATH_LD_HINTS : _PATH_ELF_HINTS;
if (argc == 1)
rescan = 1;
- else while((c = getopt(argc, argv, "Rf:mrsv")) != -1) {
+ else while((c = getopt(argc, argv, "Rf:imrsv")) != -1) {
switch (c) {
case 'R':
rescan = 1;
@@ -125,6 +125,9 @@ char *argv[];
case 'f':
hints_file = optarg;
break;
+ case 'i':
+ insecure = 1;
+ break;
case 'm':
merge = 1;
break;
@@ -152,6 +155,7 @@ char *argv[];
return 0;
}
+ /* Here begins the aout libs processing */
dir_list = strdup("");
if (justread || merge || rescan) {
@@ -209,7 +213,7 @@ static void
usage()
{
fprintf(stderr,
- "usage: ldconfig [-aout | -elf] [-Rmrsv] [-f hints_file] [dir | file ...]\n");
+ "usage: ldconfig [-aout | -elf] [-Rimrsv] [-f hints_file] [dir | file ...]\n");
exit(1);
}
@@ -259,7 +263,6 @@ int silent;
{
DIR *dd;
struct dirent *dp;
- struct stat stbuf;
char name[MAXPATHLEN];
int dewey[MAXDEWEY], ndewey;
@@ -270,20 +273,6 @@ int silent;
return -1;
}
- /* Do some security checks */
- if (fstat(dirfd(dd), &stbuf) == -1) {
- warn("%s", dir);
- return -1;
- }
- if (stbuf.st_uid != 0) {
- warnx("%s: not owned by root", dir);
- return -1;
- }
- if ((stbuf.st_mode & S_IWOTH) != 0) {
- warnx("%s: ignoring world-writable directory", dir);
- return -1;
- }
-
while ((dp = readdir(dd)) != NULL) {
register int n;
register char *cp;
OpenPOWER on IntegriCloud