FreeBSD Bugzilla – Attachment 13940 Details for
Bug 26320
[mount] [patch] mountd breaks IRIX automounter
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 2.95 KB, created by
bg
on 2001-04-03 17:40:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
bg
Created:
2001-04-03 17:40:00 UTC
Size:
2.95 KB
patch
obsolete
>--- mountd.c.ORIG Tue Nov 23 00:03:59 1999 >+++ mountd.c Mon Apr 2 18:43:17 2001 >@@ -191,11 +191,12 @@ > void nextfield __P((char **, char **)); > void out_of_mem __P((void)); > void parsecred __P((char *, struct ucred *)); >-int put_exlist __P((struct dirlist *, XDR *, struct dirlist *, int *)); >+int put_exlist __P((struct dirlist *, XDR *, struct dirlist *, int *,int)); > int scan_tree __P((struct dirlist *, u_int32_t)); > static void usage __P((void)); > int xdr_dir __P((XDR *, char *)); > int xdr_explist __P((XDR *, caddr_t)); >+int xdr_explist_brief __P((XDR *, caddr_t)); > int xdr_fhs __P((XDR *, caddr_t)); > int xdr_mlist __P((XDR *, caddr_t)); > >@@ -542,7 +543,8 @@ > return; > case RPCMNT_EXPORT: > if (!svc_sendreply(transp, xdr_explist, (caddr_t)NULL)) >- syslog(LOG_ERR, "can't send reply"); >+ if (!svc_sendreply(transp, xdr_explist_brief, (caddr_t)NULL)) >+ syslog(LOG_ERR, "can't send reply"); > if (log) > syslog(LOG_NOTICE, > "export request succeeded from %s", >@@ -630,9 +632,10 @@ > * Xdr conversion for export list > */ > int >-xdr_explist(xdrsp, cp) >+xdr_explist_common(xdrsp, cp, brief) > XDR *xdrsp; > caddr_t cp; >+ int brief; > { > struct exportlist *ep; > int false = 0; >@@ -645,11 +648,12 @@ > ep = exphead; > while (ep) { > putdef = 0; >- if (put_exlist(ep->ex_dirl, xdrsp, ep->ex_defdir, &putdef)) >+ if (put_exlist(ep->ex_dirl, xdrsp, ep->ex_defdir, >+ &putdef, brief)) > goto errout; > if (ep->ex_defdir && putdef == 0 && > put_exlist(ep->ex_defdir, xdrsp, (struct dirlist *)NULL, >- &putdef)) >+ &putdef, brief)) > goto errout; > ep = ep->ex_next; > } >@@ -667,11 +671,12 @@ > * directory paths. > */ > int >-put_exlist(dp, xdrsp, adp, putdefp) >+put_exlist(dp, xdrsp, adp, putdefp, brief) > struct dirlist *dp; > XDR *xdrsp; > struct dirlist *adp; > int *putdefp; >+ int brief; > { > struct grouplist *grp; > struct hostlist *hp; >@@ -681,7 +686,7 @@ > char *strp; > > if (dp) { >- if (put_exlist(dp->dp_left, xdrsp, adp, putdefp)) >+ if (put_exlist(dp->dp_left, xdrsp, adp, putdefp, brief)) > return (1); > if (!xdr_bool(xdrsp, &true)) > return (1); >@@ -692,7 +697,13 @@ > gotalldir = 1; > *putdefp = 1; > } >- if ((dp->dp_flag & DP_DEFSET) == 0 && >+ if (brief) { >+ if (!xdr_bool(xdrsp, &true)) >+ return (1); >+ strp = "(...)"; >+ if (!xdr_string(xdrsp, &strp, RPCMNT_PATHLEN)) >+ return (1); >+ } else if ((dp->dp_flag & DP_DEFSET) == 0 && > (gotalldir == 0 || (adp->dp_flag & DP_DEFSET) == 0)) { > hp = dp->dp_hosts; > while (hp) { >@@ -721,10 +732,26 @@ > } > if (!xdr_bool(xdrsp, &false)) > return (1); >- if (put_exlist(dp->dp_right, xdrsp, adp, putdefp)) >+ if (put_exlist(dp->dp_right, xdrsp, adp, putdefp, brief)) > return (1); > } > return (0); >+} >+ >+int >+xdr_explist(xdrsp, cp) >+ XDR *xdrsp; >+ caddr_t cp; >+{ >+ return xdr_explist_common(xdrsp, cp, 0 /* !brief */); >+} >+ >+int >+xdr_explist_brief(xdrsp, cp) >+ XDR *xdrsp; >+ caddr_t cp; >+{ >+ return xdr_explist_common(xdrsp, cp, 1 /* brief */); > } > > #define LINESIZ 10240
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 26320
: 13940