mirror of
https://github.com/sheumann/hush.git
synced 2024-07-07 10:28:56 +00:00
nfsmount: style fix
This commit is contained in:
parent
5983914c1b
commit
2244a21a8e
@ -192,45 +192,45 @@ get_mountport(struct sockaddr_in *server_addr,
|
|||||||
long unsigned proto,
|
long unsigned proto,
|
||||||
long unsigned port)
|
long unsigned port)
|
||||||
{
|
{
|
||||||
struct pmaplist *pmap;
|
struct pmaplist *pmap;
|
||||||
static struct pmap p = {0, 0, 0, 0};
|
static struct pmap p = {0, 0, 0, 0};
|
||||||
|
|
||||||
server_addr->sin_port = PMAPPORT;
|
server_addr->sin_port = PMAPPORT;
|
||||||
pmap = pmap_getmaps(server_addr);
|
pmap = pmap_getmaps(server_addr);
|
||||||
|
|
||||||
if (version > MAX_NFSPROT)
|
if (version > MAX_NFSPROT)
|
||||||
version = MAX_NFSPROT;
|
version = MAX_NFSPROT;
|
||||||
if (!prog)
|
if (!prog)
|
||||||
prog = MOUNTPROG;
|
prog = MOUNTPROG;
|
||||||
p.pm_prog = prog;
|
p.pm_prog = prog;
|
||||||
p.pm_vers = version;
|
p.pm_vers = version;
|
||||||
p.pm_prot = proto;
|
p.pm_prot = proto;
|
||||||
p.pm_port = port;
|
p.pm_port = port;
|
||||||
|
|
||||||
while (pmap) {
|
while (pmap) {
|
||||||
if (pmap->pml_map.pm_prog != prog)
|
if (pmap->pml_map.pm_prog != prog)
|
||||||
goto next;
|
goto next;
|
||||||
if (!version && p.pm_vers > pmap->pml_map.pm_vers)
|
if (!version && p.pm_vers > pmap->pml_map.pm_vers)
|
||||||
goto next;
|
goto next;
|
||||||
if (version > 2 && pmap->pml_map.pm_vers != version)
|
if (version > 2 && pmap->pml_map.pm_vers != version)
|
||||||
goto next;
|
goto next;
|
||||||
if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
|
if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
|
||||||
goto next;
|
goto next;
|
||||||
if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
|
if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
|
||||||
(proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
|
(proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
|
||||||
(port && pmap->pml_map.pm_port != port))
|
(port && pmap->pml_map.pm_port != port))
|
||||||
goto next;
|
goto next;
|
||||||
memcpy(&p, &pmap->pml_map, sizeof(p));
|
memcpy(&p, &pmap->pml_map, sizeof(p));
|
||||||
next:
|
next:
|
||||||
pmap = pmap->pml_next;
|
pmap = pmap->pml_next;
|
||||||
}
|
}
|
||||||
if (!p.pm_vers)
|
if (!p.pm_vers)
|
||||||
p.pm_vers = MOUNTVERS;
|
p.pm_vers = MOUNTVERS;
|
||||||
if (!p.pm_port)
|
if (!p.pm_port)
|
||||||
p.pm_port = MOUNTPORT;
|
p.pm_port = MOUNTPORT;
|
||||||
if (!p.pm_prot)
|
if (!p.pm_prot)
|
||||||
p.pm_prot = IPPROTO_TCP;
|
p.pm_prot = IPPROTO_TCP;
|
||||||
return &p;
|
return &p;
|
||||||
}
|
}
|
||||||
|
|
||||||
int nfsmount(const char *spec, const char *node, int *flags,
|
int nfsmount(const char *spec, const char *node, int *flags,
|
||||||
@ -242,7 +242,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
char *hostname;
|
char *hostname;
|
||||||
char *pathname;
|
char *pathname;
|
||||||
char *old_opts;
|
char *old_opts;
|
||||||
char *mounthost=NULL;
|
char *mounthost = NULL;
|
||||||
char new_opts[1024];
|
char new_opts[1024];
|
||||||
struct timeval total_timeout;
|
struct timeval total_timeout;
|
||||||
enum clnt_stat clnt_stat;
|
enum clnt_stat clnt_stat;
|
||||||
@ -321,11 +321,11 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
hp->h_length = sizeof(struct in_addr);
|
hp->h_length = sizeof(struct in_addr);
|
||||||
}
|
}
|
||||||
memcpy(&server_addr.sin_addr,
|
memcpy(&server_addr.sin_addr,
|
||||||
hp->h_addr, hp->h_length);
|
hp->h_addr, hp->h_length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy (&mount_server_addr, &server_addr, sizeof (mount_server_addr));
|
memcpy(&mount_server_addr, &server_addr, sizeof (mount_server_addr));
|
||||||
|
|
||||||
/* add IP address to mtab options for use when unmounting */
|
/* add IP address to mtab options for use when unmounting */
|
||||||
|
|
||||||
@ -403,9 +403,9 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
else if (!strcmp(opt, "port"))
|
else if (!strcmp(opt, "port"))
|
||||||
port = val;
|
port = val;
|
||||||
else if (!strcmp(opt, "mountport"))
|
else if (!strcmp(opt, "mountport"))
|
||||||
mountport = val;
|
mountport = val;
|
||||||
else if (!strcmp(opt, "mounthost"))
|
else if (!strcmp(opt, "mounthost"))
|
||||||
mounthost=xstrndup(opteq+1,
|
mounthost = xstrndup(opteq+1,
|
||||||
strcspn(opteq+1," \t\n\r,"));
|
strcspn(opteq+1," \t\n\r,"));
|
||||||
else if (!strcmp(opt, "mountprog"))
|
else if (!strcmp(opt, "mountprog"))
|
||||||
mountprog = val;
|
mountprog = val;
|
||||||
@ -536,23 +536,23 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
/* create mount daemon client */
|
/* create mount daemon client */
|
||||||
/* See if the nfs host = mount host. */
|
/* See if the nfs host = mount host. */
|
||||||
if (mounthost) {
|
if (mounthost) {
|
||||||
if (mounthost[0] >= '0' && mounthost[0] <= '9') {
|
if (mounthost[0] >= '0' && mounthost[0] <= '9') {
|
||||||
mount_server_addr.sin_family = AF_INET;
|
mount_server_addr.sin_family = AF_INET;
|
||||||
mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
|
mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
|
||||||
} else {
|
} else {
|
||||||
if ((hp = gethostbyname(mounthost)) == NULL) {
|
if ((hp = gethostbyname(mounthost)) == NULL) {
|
||||||
bb_herror_msg("%s", mounthost);
|
bb_herror_msg("%s", mounthost);
|
||||||
goto fail;
|
goto fail;
|
||||||
} else {
|
} else {
|
||||||
if (hp->h_length > sizeof(struct in_addr)) {
|
if (hp->h_length > sizeof(struct in_addr)) {
|
||||||
bb_error_msg("got bad hp->h_length?");
|
bb_error_msg("got bad hp->h_length?");
|
||||||
hp->h_length = sizeof(struct in_addr);
|
hp->h_length = sizeof(struct in_addr);
|
||||||
}
|
}
|
||||||
mount_server_addr.sin_family = AF_INET;
|
mount_server_addr.sin_family = AF_INET;
|
||||||
memcpy(&mount_server_addr.sin_addr,
|
memcpy(&mount_server_addr.sin_addr,
|
||||||
hp->h_addr, hp->h_length);
|
hp->h_addr, hp->h_length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -593,10 +593,10 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
sleep(30);
|
sleep(30);
|
||||||
|
|
||||||
pm_mnt = get_mountport(&mount_server_addr,
|
pm_mnt = get_mountport(&mount_server_addr,
|
||||||
mountprog,
|
mountprog,
|
||||||
mountvers,
|
mountvers,
|
||||||
proto,
|
proto,
|
||||||
mountport);
|
mountport);
|
||||||
|
|
||||||
/* contact the mount daemon via TCP */
|
/* contact the mount daemon via TCP */
|
||||||
mount_server_addr.sin_port = htons(pm_mnt->pm_port);
|
mount_server_addr.sin_port = htons(pm_mnt->pm_port);
|
||||||
@ -609,18 +609,18 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
pm_mnt->pm_vers,
|
pm_mnt->pm_vers,
|
||||||
retry_timeout,
|
retry_timeout,
|
||||||
&msock);
|
&msock);
|
||||||
if (mclient)
|
if (mclient)
|
||||||
break;
|
break;
|
||||||
mount_server_addr.sin_port = htons(pm_mnt->pm_port);
|
mount_server_addr.sin_port = htons(pm_mnt->pm_port);
|
||||||
msock = RPC_ANYSOCK;
|
msock = RPC_ANYSOCK;
|
||||||
case IPPROTO_TCP:
|
case IPPROTO_TCP:
|
||||||
mclient = clnttcp_create(&mount_server_addr,
|
mclient = clnttcp_create(&mount_server_addr,
|
||||||
pm_mnt->pm_prog,
|
pm_mnt->pm_prog,
|
||||||
pm_mnt->pm_vers,
|
pm_mnt->pm_vers,
|
||||||
&msock, 0, 0);
|
&msock, 0, 0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mclient = 0;
|
mclient = 0;
|
||||||
}
|
}
|
||||||
if (mclient) {
|
if (mclient) {
|
||||||
/* try to mount hostname:pathname */
|
/* try to mount hostname:pathname */
|
||||||
@ -637,7 +637,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
(caddr_t) &pathname,
|
(caddr_t) &pathname,
|
||||||
(xdrproc_t) xdr_mountres3,
|
(xdrproc_t) xdr_mountres3,
|
||||||
(caddr_t) &status,
|
(caddr_t) &status,
|
||||||
total_timeout);
|
total_timeout);
|
||||||
else
|
else
|
||||||
clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
|
clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
|
||||||
(xdrproc_t) xdr_dirpath,
|
(xdrproc_t) xdr_dirpath,
|
||||||
@ -665,7 +665,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
prevt = t;
|
prevt = t;
|
||||||
}
|
}
|
||||||
if (!bg)
|
if (!bg)
|
||||||
goto fail;
|
goto fail;
|
||||||
if (!running_bg) {
|
if (!running_bg) {
|
||||||
prev_bg_host = xstrdup(hostname);
|
prev_bg_host = xstrdup(hostname);
|
||||||
if (retry > 0)
|
if (retry > 0)
|
||||||
@ -686,12 +686,12 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
memcpy(data.root.data,
|
memcpy(data.root.data,
|
||||||
(char *) status.nfsv2.fhstatus_u.fhs_fhandle,
|
(char *) status.nfsv2.fhstatus_u.fhs_fhandle,
|
||||||
NFS_FHSIZE);
|
NFS_FHSIZE);
|
||||||
data.root.size = NFS_FHSIZE;
|
data.root.size = NFS_FHSIZE;
|
||||||
memcpy(data.old_root.data,
|
memcpy(data.old_root.data,
|
||||||
(char *) status.nfsv2.fhstatus_u.fhs_fhandle,
|
(char *) status.nfsv2.fhstatus_u.fhs_fhandle,
|
||||||
NFS_FHSIZE);
|
NFS_FHSIZE);
|
||||||
} else {
|
} else {
|
||||||
fhandle3 *my_fhandle;
|
fhandle3 *my_fhandle;
|
||||||
if (status.nfsv3.fhs_status != 0) {
|
if (status.nfsv3.fhs_status != 0) {
|
||||||
@ -705,8 +705,8 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
memset(&data.root, 0, sizeof(data.root));
|
memset(&data.root, 0, sizeof(data.root));
|
||||||
data.root.size = my_fhandle->fhandle3_len;
|
data.root.size = my_fhandle->fhandle3_len;
|
||||||
memcpy(data.root.data,
|
memcpy(data.root.data,
|
||||||
(char *) my_fhandle->fhandle3_val,
|
(char *) my_fhandle->fhandle3_val,
|
||||||
my_fhandle->fhandle3_len);
|
my_fhandle->fhandle3_len);
|
||||||
|
|
||||||
data.flags |= NFS_MOUNT_VER3;
|
data.flags |= NFS_MOUNT_VER3;
|
||||||
}
|
}
|
||||||
@ -751,7 +751,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
|
|||||||
*/
|
*/
|
||||||
if (get_linux_version_code() <= KERNEL_VERSION(2,3,10)
|
if (get_linux_version_code() <= KERNEL_VERSION(2,3,10)
|
||||||
&& connect(fsock, (struct sockaddr *) &server_addr,
|
&& connect(fsock, (struct sockaddr *) &server_addr,
|
||||||
sizeof (server_addr)) < 0) {
|
sizeof (server_addr)) < 0) {
|
||||||
perror("nfs connect");
|
perror("nfs connect");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -826,20 +826,20 @@ static char *nfs_strerror(int status)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool_t xdr_fhandle (XDR *xdrs, fhandle objp)
|
static bool_t xdr_fhandle(XDR *xdrs, fhandle objp)
|
||||||
{
|
{
|
||||||
if (!xdr_opaque (xdrs, objp, FHSIZE))
|
if (!xdr_opaque(xdrs, objp, FHSIZE))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool_t xdr_fhstatus (XDR *xdrs, fhstatus *objp)
|
bool_t xdr_fhstatus(XDR *xdrs, fhstatus *objp)
|
||||||
{
|
{
|
||||||
if (!xdr_u_int (xdrs, &objp->fhs_status))
|
if (!xdr_u_int(xdrs, &objp->fhs_status))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
switch (objp->fhs_status) {
|
switch (objp->fhs_status) {
|
||||||
case 0:
|
case 0:
|
||||||
if (!xdr_fhandle (xdrs, objp->fhstatus_u.fhs_fhandle))
|
if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -848,44 +848,44 @@ bool_t xdr_fhstatus (XDR *xdrs, fhstatus *objp)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool_t xdr_dirpath (XDR *xdrs, dirpath *objp)
|
bool_t xdr_dirpath(XDR *xdrs, dirpath *objp)
|
||||||
{
|
{
|
||||||
if (!xdr_string (xdrs, objp, MNTPATHLEN))
|
if (!xdr_string(xdrs, objp, MNTPATHLEN))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool_t xdr_fhandle3 (XDR *xdrs, fhandle3 *objp)
|
bool_t xdr_fhandle3(XDR *xdrs, fhandle3 *objp)
|
||||||
{
|
{
|
||||||
if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (unsigned int *) &objp->fhandle3_len, FHSIZE3))
|
if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (unsigned int *) &objp->fhandle3_len, FHSIZE3))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool_t xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp)
|
bool_t xdr_mountres3_ok(XDR *xdrs, mountres3_ok *objp)
|
||||||
{
|
{
|
||||||
if (!xdr_fhandle3 (xdrs, &objp->fhandle))
|
if (!xdr_fhandle3(xdrs, &objp->fhandle))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!xdr_array (xdrs, &(objp->auth_flavours.auth_flavours_val), &(objp->auth_flavours.auth_flavours_len), ~0,
|
if (!xdr_array(xdrs, &(objp->auth_flavours.auth_flavours_val), &(objp->auth_flavours.auth_flavours_len), ~0,
|
||||||
sizeof (int), (xdrproc_t) xdr_int))
|
sizeof (int), (xdrproc_t) xdr_int))
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool_t xdr_mountstat3(XDR *xdrs, mountstat3 *objp)
|
||||||
|
{
|
||||||
|
if (!xdr_enum(xdrs, (enum_t *) objp))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool_t xdr_mountstat3 (XDR *xdrs, mountstat3 *objp)
|
bool_t xdr_mountres3(XDR *xdrs, mountres3 *objp)
|
||||||
{
|
{
|
||||||
if (!xdr_enum (xdrs, (enum_t *) objp))
|
if (!xdr_mountstat3(xdrs, &objp->fhs_status))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool_t xdr_mountres3 (XDR *xdrs, mountres3 *objp)
|
|
||||||
{
|
|
||||||
if (!xdr_mountstat3 (xdrs, &objp->fhs_status))
|
|
||||||
return FALSE;
|
|
||||||
switch (objp->fhs_status) {
|
switch (objp->fhs_status) {
|
||||||
case MNT_OK:
|
case MNT_OK:
|
||||||
if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo))
|
if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -893,4 +893,3 @@ bool_t xdr_mountres3 (XDR *xdrs, mountres3 *objp)
|
|||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user