mount_nwfs(8): make WARNS=6 clean
uid_t and gid_t are unsigned. While initializing them to -1 and later checking against -1 to see if they are still at their default usually works, introduce two new flags and stop the inband signalling. Approved by: ed (co-mentor)
This commit is contained in:
parent
9f28039bf2
commit
7f72022f3d
@ -6,7 +6,6 @@ MAN= mount_nwfs.8
|
|||||||
|
|
||||||
MOUNT= ${.CURDIR}/../../sbin/mount
|
MOUNT= ${.CURDIR}/../../sbin/mount
|
||||||
CFLAGS+= -DNWFS -I${MOUNT}
|
CFLAGS+= -DNWFS -I${MOUNT}
|
||||||
WARNS?= 0
|
|
||||||
|
|
||||||
.PATH: ${MOUNT}
|
.PATH: ${MOUNT}
|
||||||
|
|
||||||
|
@ -62,16 +62,19 @@ static int parsercfile(struct ncp_conn_loginfo *li, struct nwfs_args *mdata);
|
|||||||
|
|
||||||
static struct mntopt mopts[] = {
|
static struct mntopt mopts[] = {
|
||||||
MOPT_STDOPTS,
|
MOPT_STDOPTS,
|
||||||
{ NULL }
|
MOPT_END
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
parsercfile(struct ncp_conn_loginfo *li, struct nwfs_args *mdata) {
|
parsercfile(struct ncp_conn_loginfo *li __unused,
|
||||||
|
struct nwfs_args *mdata __unused)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[]) {
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
NWCONN_HANDLE connHandle;
|
NWCONN_HANDLE connHandle;
|
||||||
struct nwfs_args mdata;
|
struct nwfs_args mdata;
|
||||||
struct ncp_conn_loginfo li;
|
struct ncp_conn_loginfo li;
|
||||||
@ -80,6 +83,7 @@ main(int argc, char *argv[]) {
|
|||||||
struct tm *tm;
|
struct tm *tm;
|
||||||
time_t ltime;
|
time_t ltime;
|
||||||
int opt, error, mntflags, nlsopt, wall_clock;
|
int opt, error, mntflags, nlsopt, wall_clock;
|
||||||
|
int uid_set, gid_set;
|
||||||
size_t len;
|
size_t len;
|
||||||
char *p, *p1, tmp[1024];
|
char *p, *p1, tmp[1024];
|
||||||
u_char *pv;
|
u_char *pv;
|
||||||
@ -100,7 +104,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
mntflags = error = 0;
|
mntflags = error = 0;
|
||||||
bzero(&mdata,sizeof(mdata));
|
bzero(&mdata,sizeof(mdata));
|
||||||
mdata.uid = mdata.gid = -1;
|
gid_set = uid_set = 0;
|
||||||
nlsopt = 0;
|
nlsopt = 0;
|
||||||
|
|
||||||
if (ncp_li_init(&li, argc, argv)) return 1;
|
if (ncp_li_init(&li, argc, argv)) return 1;
|
||||||
@ -182,6 +186,7 @@ main(int argc, char *argv[]) {
|
|||||||
if (pwd == NULL)
|
if (pwd == NULL)
|
||||||
errx(EX_NOUSER, "unknown user '%s'", optarg);
|
errx(EX_NOUSER, "unknown user '%s'", optarg);
|
||||||
mdata.uid = pwd->pw_uid;
|
mdata.uid = pwd->pw_uid;
|
||||||
|
uid_set = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'g': {
|
case 'g': {
|
||||||
@ -192,6 +197,7 @@ main(int argc, char *argv[]) {
|
|||||||
if (grp == NULL)
|
if (grp == NULL)
|
||||||
errx(EX_NOUSER, "unknown group '%s'", optarg);
|
errx(EX_NOUSER, "unknown group '%s'", optarg);
|
||||||
mdata.gid = grp->gr_gid;
|
mdata.gid = grp->gr_gid;
|
||||||
|
gid_set = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'd':
|
case 'd':
|
||||||
@ -282,10 +288,10 @@ main(int argc, char *argv[]) {
|
|||||||
if (ncp_geteinfo(mount_point, &einfo) == 0)
|
if (ncp_geteinfo(mount_point, &einfo) == 0)
|
||||||
errx(EX_OSERR, "can't mount on %s twice", mount_point);
|
errx(EX_OSERR, "can't mount on %s twice", mount_point);
|
||||||
|
|
||||||
if (mdata.uid == -1) {
|
if (uid_set == 0) {
|
||||||
mdata.uid = st.st_uid;
|
mdata.uid = st.st_uid;
|
||||||
}
|
}
|
||||||
if (mdata.gid == -1) {
|
if (gid_set == 0) {
|
||||||
mdata.gid = st.st_gid;
|
mdata.gid = st.st_gid;
|
||||||
}
|
}
|
||||||
if (mdata.file_mode == 0 ) {
|
if (mdata.file_mode == 0 ) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user