Page MenuHomeFreeBSD
Feed Advanced Search

Fri, Dec 20

rmacklem committed rGefe6a0997383: fs: Add static asserts for the size of fid structures (authored by rmacklem).
fs: Add static asserts for the size of fid structures
Fri, Dec 20, 10:09 PM

Thu, Dec 19

rmacklem requested review of D48139: exports.5: Document correct behaviour for -alldirs.
Thu, Dec 19, 12:52 AM
rmacklem requested review of D48138: mountd.8: Document the new -a mountd option.
Thu, Dec 19, 12:47 AM
rmacklem requested review of D48137: mountd.c: Add a new "-a" command line option for -alldris.
Thu, Dec 19, 12:44 AM

Sun, Dec 15

rmacklem accepted D48093: RELNOTES: Document file handle layout changes.

Looks fine to me.

Sun, Dec 15, 9:32 PM

Wed, Dec 11

rmacklem committed rGaf66ffbf69e4: RELNOTES: Add an entry for commit 0e8a36a2ab12 (authored by rmacklem).
RELNOTES: Add an entry for commit 0e8a36a2ab12
Wed, Dec 11, 11:27 PM
rmacklem committed rG91a74536a159: mount_nfs.8: Document the new "mountport" NFS mount option (authored by rmacklem).
mount_nfs.8: Document the new "mountport" NFS mount option
Wed, Dec 11, 11:19 PM
rmacklem closed D47849: update mount_nfs.8 for the new mountport option.
Wed, Dec 11, 11:19 PM
rmacklem committed rG0e8a36a2ab12: mount_nfs.c: Add an NFS mount option to set a port# for Mount (authored by rmacklem).
mount_nfs.c: Add an NFS mount option to set a port# for Mount
Wed, Dec 11, 11:08 PM
rmacklem closed D47743: Add a new NFS mount option to specify the Mount protocol port#.
Wed, Dec 11, 11:08 PM

Mon, Dec 9

rmacklem accepted D47954: tarfs: 'struct tarfs_fid': Switch 'gen' to 'u_int', avoid packing.
Mon, Dec 9, 2:46 PM

Sun, Dec 8

rmacklem committed rGf6245e432208: nfs_commonsubs.c: Make all upper case user domain work (authored by rmacklem).
nfs_commonsubs.c: Make all upper case user domain work
Sun, Dec 8, 1:51 AM
rmacklem committed rG7a4f370a352f: nfs_commonsubs.c: Make all upper case user domain work (authored by rmacklem).
nfs_commonsubs.c: Make all upper case user domain work
Sun, Dec 8, 1:43 AM
rmacklem committed rG9d1d9fe0a077: nfs: Add support for the NFSv4.2 mode_umask attribute (authored by rmacklem).
nfs: Add support for the NFSv4.2 mode_umask attribute
Sun, Dec 8, 1:39 AM

Sat, Dec 7

rmacklem added a comment to D47956: tmpfs: Rework file handles.

Oh, and I think just copying fid_data would fix cd9660
as well, for those who don't like __packed.

Sat, Dec 7, 8:48 PM
rmacklem added a comment to D47956: tmpfs: Rework file handles.

Btw, I replaced "sizeof(struct fid)" with MAXFIDSZ in the _Static_assert()
and it passed (at least for amd64).

Sat, Dec 7, 8:43 PM
rmacklem added a comment to D47956: tmpfs: Rework file handles.

Good catch w.r.t. the _Static_assert(). It does need to be fixed,
even if these changes don't go in.

Sat, Dec 7, 4:05 PM
rmacklem added a comment to D47956: tmpfs: Rework file handles.

I'll leave it someone familiar with tmpfs to decide if having
tn_gen wrap around to zero is a real concern.

Sat, Dec 7, 4:03 PM
rmacklem added inline comments to D47954: tarfs: 'struct tarfs_fid': Switch 'gen' to 'u_int', avoid packing.
Sat, Dec 7, 3:57 PM
rmacklem added a comment to D47879: cd9660: Make sure that struct ifid fits in generic filehandle structure.

Just fyi, whenever the "struct fid" changes, the file handles
change. As such, an upgrade of the NFS server requires that
all clients be unmounted/remounted.

Sat, Dec 7, 6:00 AM

Fri, Dec 6

rmacklem updated the diff for D47743: Add a new NFS mount option to specify the Mount protocol port#.

Added upper bound check for port# as suggested
by delphi@.

Fri, Dec 6, 11:57 PM
rmacklem accepted D47955: ext2fs: 'struct ufid': Re-order fields and unpack.

Looks fine to me.

Fri, Dec 6, 11:33 PM
rmacklem committed rG4db1b113b151: tarfs: Fix the size of struct tarfs_fid and add a static assert (authored by rmacklem).
tarfs: Fix the size of struct tarfs_fid and add a static assert
Fri, Dec 6, 2:12 AM
rmacklem committed rGbfc8e3308bee: ext2fs: Fix the size of struct ufid and add a static assert (authored by rmacklem).
ext2fs: Fix the size of struct ufid and add a static assert
Fri, Dec 6, 2:06 AM
rmacklem committed rG91b5592a1e1a: fs: Add static asserts for the size of fid structures (authored by rmacklem).
fs: Add static asserts for the size of fid structures
Fri, Dec 6, 1:58 AM
rmacklem closed D47936: Add _Static_asserts to check that file system fid structures are not larger than struct fid.
Fri, Dec 6, 1:58 AM
rmacklem added a comment to D47879: cd9660: Make sure that struct ifid fits in generic filehandle structure.

Btw, ext2fs and tarfs both are broken w.r.t. *fid size.

Fri, Dec 6, 1:48 AM

Thu, Dec 5

rmacklem updated the summary of D47936: Add _Static_asserts to check that file system fid structures are not larger than struct fid.
Thu, Dec 5, 11:46 PM
rmacklem requested review of D47936: Add _Static_asserts to check that file system fid structures are not larger than struct fid.
Thu, Dec 5, 11:31 PM

Tue, Dec 3

rmacklem added a comment to D47879: cd9660: Make sure that struct ifid fits in generic filehandle structure.
In D47879#1091920, @kib wrote:

I think more relevant question there are compilers generate proper code to access unaligned ifid_ino and ifid_start on sensitive arches.

They have to, else the packed attribute would just be useless. Bugs should be filed against those that don't.

Yes, that would be a major compiler bug, I hope..

It might be that the better fix is to re-order members without introducing __packed. There is no ABI involved.

That doesn't seem possible as len and pad must stay first.

As far as I can see, this isn't true - the layout is up to the filesystem. The filesystem just needs to guarantee that fh1 == fh2 implies that the two FIDs refer to the same file.

I can't see any NFS code which peeks into the fid structure. Perhaps @rmacklem can confirm?

As far as I know, the NFS server code does not look inside the fid structure.

Tue, Dec 3, 9:49 PM

Fri, Nov 29

rmacklem requested review of D47849: update mount_nfs.8 for the new mountport option.
Fri, Nov 29, 9:57 PM

Mon, Nov 25

rmacklem updated the summary of D47743: Add a new NFS mount option to specify the Mount protocol port#.
Mon, Nov 25, 7:36 PM
rmacklem requested review of D47743: Add a new NFS mount option to specify the Mount protocol port#.
Mon, Nov 25, 7:35 PM

Sun, Nov 24

rmacklem committed rG0347ddf41f42: nfs_commonsubs.c: Make all upper case user domain work (authored by rmacklem).
nfs_commonsubs.c: Make all upper case user domain work
Sun, Nov 24, 8:49 PM

Oct 24 2024

rmacklem committed rGfcd20d3181a7: nfsd: Fix handling of credentials with cr_ngroups == 0 (authored by rmacklem).
nfsd: Fix handling of credentials with cr_ngroups == 0
Oct 24 2024, 1:15 AM
rmacklem committed rGf6e1add0c9d3: nfsd: Fix handling of credentials with cr_ngroups == 0 (authored by rmacklem).
nfsd: Fix handling of credentials with cr_ngroups == 0
Oct 24 2024, 1:09 AM

Oct 21 2024

rmacklem accepted D47012: exports(5): -maproot, -mapall: Explain the fallback on no group.

Looks fine to me. You might ask manpages for a review as well.

Oct 21 2024, 10:56 PM
rmacklem closed D47204: Fix the NFS server's handling of exported mapped credentials with cr_ngroups == 0.
Oct 21 2024, 10:51 PM
rmacklem committed rGcaa309c8811d: nfsd: Fix handling of credentials with cr_ngroups == 0 (authored by rmacklem).
nfsd: Fix handling of credentials with cr_ngroups == 0
Oct 21 2024, 10:51 PM
rmacklem added a comment to D47204: Fix the NFS server's handling of exported mapped credentials with cr_ngroups == 0.

This seems fine. Is this fix the result of a bug report or just something you noticed? If the latter I wonder if just fixing the documentation would be simpler if the feature never worked.

Oct 21 2024, 4:11 PM

Oct 19 2024

rmacklem requested review of D47204: Fix the NFS server's handling of exported mapped credentials with cr_ngroups == 0.
Oct 19 2024, 8:31 PM

Oct 16 2024

rmacklem accepted D47014: mountd(8): parsecred(): Remove comment on non-existent bug.

Looks ok to me.

Oct 16 2024, 3:30 PM

Oct 14 2024

rmacklem accepted D47016: mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups.

This version looks fine to me.

Oct 14 2024, 8:03 PM

Oct 13 2024

rmacklem committed rG6b0b026ae1a4: nfsd.c: Synchronize error handling (authored by joyul_juniper.net).
nfsd.c: Synchronize error handling
Oct 13 2024, 9:01 PM
rmacklem committed rG5a2cd24c46e3: nfsd.c: Synchronize error handling (authored by joyul_juniper.net).
nfsd.c: Synchronize error handling
Oct 13 2024, 8:51 PM
rmacklem accepted D47015: mountd(8): parsecred(): Re-order operations for clarity.

I'll click Accept, although I do not think it makes the code
clearer.
Just make it clear in the commit message that there are
no semantics change/bugfix done by this commit.

Oct 13 2024, 8:45 PM
rmacklem added inline comments to D47016: mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups.
Oct 13 2024, 8:39 PM

Oct 12 2024

rmacklem added a comment to D46918: nfs, rpc: Ensure kernel credentials have at least one group.

Yuck! I never noticed this in the man page (I'm not going to look and
see who the author was, it might have been me long ago;-).

So, it says that an exports mapping credential can have no groups.

The easiest fix might be to just add a couple of lines at the beginning of grouplist()
retuning failed when cr_ngroups == 0.

I think you need to ask the "collective" (on a mailing list, such as freebsd-stable@
or freebsd-current@) what should be done about this.
I.e:
--> Fix grouplist() and any others to handle the case of cr_ngroups == 0 correctly.
OR
--> Fix the exports(5) man page and do not allow the case of "no groups".

Oops, when I said grouplist() above, I meant groupmember(), which I
think is the only function that checks to see if a credential has a group
that matches the group ownership of the file (or the ACE in the ACL for
the file).

groupmember() (and realgroupmember() I added a while ago) are just the tip of the iceberg. The harder problem is that cr_groups[0] (or its alias, cr_gid) is accessed in multiple places without any checks. And even adding checks can only go so far, i.e., will cause crash (or malfunction in production if checks are under INVARIANTS) only in very specific cases that may be hard to trigger. There are simply places where not having a GID is not a possibility, especially for process credentials. struct ucred is arguably used for other purposes that may not formally require a GID (and other stuff like MAC labels), which would plead in favor of having other structures/simplified access check functions for other cases, which you had to do for the NFS interfaces. I doubt that trying to remove the one-group minimum (i.e., compulsory effective GID) requirement is worth it without also doing the latter part. Just moving the required one minimum slot from cr_groups to a really separate cr_gid field alone is probably not worth the trouble. In any case, I don't have time to devote to that for now.

Well, the NFS server does not use these mapped exported credentials in many ways.
As far as I can see at a quick look, groupmember(), which is called from VOP_ACCESS()/VOP_ACCESSX()
is about it.
Since the exports(5) man page suggests that this is a valid case, then I think the code should be fixed
to handle cr_ngroups == 0 for this specific case (not all uses of cr_ngroups).
Note that this appears to have been broken by commit 7f92e57 on Jun 20, 2009.
(Prior to that, groupmember would always return failure for cr_ngroups == 0.)

I think the first step is to fix groupmember() by adding something like:

/*
 * The NFS server can use a credential with cr_ngroups == 0 when using a mapped
 * exported credential.
 */
if (cred->cr_ngroups == 0)
    return (false);

at the beginning of groupmember().
Since the code in vfs_domount_update() sets export.ex_groups = NULL, it should
be easy to find any other places that need to be fixed by running some testing.
(I will start doing that to-day.)

Making the credentials into a grouplist of one element set to GID_NOGROUP is
not the best plan, since it is possible to have a file with a gid ownership of GID_NOGROUP.
(It can happen frequently when NFSv4 is misconfigured, so the Owner_group translates
to GID_NOGROUP, since it cannot do the correct translation.)

The above change is obviously safe and can be MFC'd.

I did test the above patch along with a "hack" that set cr_groups = NULL,
so any access would cause a crash.
The only one I got was from a totally bogus line in nfsd_excred(0 which
looks like: nd->nd_cred->cr_gid = credanon->cr_gid;
just before crsetgroups(), so it is harmless noise (left over from code meant
to work for BSDen that had a separate cr_gid.)

Oct 12 2024, 11:58 PM
rmacklem committed rGcc07d914bc80: nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1 (authored by rmacklem).
nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1
Oct 12 2024, 12:51 AM
rmacklem added a reverting change for rG9792c7d3eb41: nfscl: Enable support for the Lookup+Open RPC: rG83ac4cebe84e: Revert "nfscl: Enable support for the Lookup+Open RPC".
Oct 12 2024, 12:46 AM
rmacklem committed rG83ac4cebe84e: Revert "nfscl: Enable support for the Lookup+Open RPC" (authored by rmacklem).
Revert "nfscl: Enable support for the Lookup+Open RPC"
Oct 12 2024, 12:46 AM
rmacklem committed rGe7474c619270: nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1 (authored by rmacklem).
nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1
Oct 12 2024, 12:45 AM

Oct 11 2024

rmacklem added a comment to D46918: nfs, rpc: Ensure kernel credentials have at least one group.

Yuck! I never noticed this in the man page (I'm not going to look and
see who the author was, it might have been me long ago;-).

So, it says that an exports mapping credential can have no groups.

The easiest fix might be to just add a couple of lines at the beginning of grouplist()
retuning failed when cr_ngroups == 0.

I think you need to ask the "collective" (on a mailing list, such as freebsd-stable@
or freebsd-current@) what should be done about this.
I.e:
--> Fix grouplist() and any others to handle the case of cr_ngroups == 0 correctly.
OR
--> Fix the exports(5) man page and do not allow the case of "no groups".

Oops, when I said grouplist() above, I meant groupmember(), which I
think is the only function that checks to see if a credential has a group
that matches the group ownership of the file (or the ACE in the ACL for
the file).

groupmember() (and realgroupmember() I added a while ago) are just the tip of the iceberg. The harder problem is that cr_groups[0] (or its alias, cr_gid) is accessed in multiple places without any checks. And even adding checks can only go so far, i.e., will cause crash (or malfunction in production if checks are under INVARIANTS) only in very specific cases that may be hard to trigger. There are simply places where not having a GID is not a possibility, especially for process credentials. struct ucred is arguably used for other purposes that may not formally require a GID (and other stuff like MAC labels), which would plead in favor of having other structures/simplified access check functions for other cases, which you had to do for the NFS interfaces. I doubt that trying to remove the one-group minimum (i.e., compulsory effective GID) requirement is worth it without also doing the latter part. Just moving the required one minimum slot from cr_groups to a really separate cr_gid field alone is probably not worth the trouble. In any case, I don't have time to devote to that for now.

Oct 11 2024, 9:26 PM

Oct 9 2024

rmacklem accepted D47013: nmount(2), NFS: Accept 'ngroups_max + 1' groups in "export" credentials.

Looks fine to me, since ngroups_max can never
be set < NGROUPS_MAX.

Oct 9 2024, 2:29 AM

Oct 8 2024

rmacklem added a comment to D46918: nfs, rpc: Ensure kernel credentials have at least one group.

You claim there are bugs that result in no groups
(cr_ngroups == 0), but you do not show a specific
test case that finds this or describe exactly how it
happens.

See, e.g., current processing of a list uid:gid:.. when just uid: is passed (no GID, but a colon at the end), and the below patch. This possibility is incidentally documented as the way to specify no groups in the exports(5) man page (under -maproot).

Yuck! I never noticed this in the man page (I'm not going to look and
see who the author was, it might have been me long ago;-).

So, it says that an exports mapping credential can have no groups.

The easiest fix might be to just add a couple of lines at the beginning of grouplist()
retuning failed when cr_ngroups == 0.

I think you need to ask the "collective" (on a mailing list, such as freebsd-stable@
or freebsd-current@) what should be done about this.
I.e:
--> Fix grouplist() and any others to handle the case of cr_ngroups == 0 correctly.
OR
--> Fix the exports(5) man page and do not allow the case of "no groups".

Oops, when I said grouplist() above, I meant groupmember(), which I
think is the only function that checks to see if a credential has a group
that matches the group ownership of the file (or the ACE in the ACL for
the file).

Oct 8 2024, 12:39 AM
rmacklem added inline comments to D46921: mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1.
Oct 8 2024, 12:24 AM
rmacklem added a comment to D46918: nfs, rpc: Ensure kernel credentials have at least one group.

You claim there are bugs that result in no groups
(cr_ngroups == 0), but you do not show a specific
test case that finds this or describe exactly how it
happens.

See, e.g., current processing of a list uid:gid:.. when just uid: is passed (no GID, but a colon at the end), and the below patch. This possibility is incidentally documented as the way to specify no groups in the exports(5) man page (under -maproot).

Yuck! I never noticed this in the man page (I'm not going to look and
see who the author was, it might have been me long ago;-).

Oct 8 2024, 12:04 AM

Oct 7 2024

rmacklem added inline comments to D46919: mountd(8): parsecred(): uid:gid:... loop: Simplify a bit.
Oct 7 2024, 3:59 PM
rmacklem added inline comments to D46919: mountd(8): parsecred(): uid:gid:... loop: Simplify a bit.
Oct 7 2024, 3:22 PM
rmacklem added a comment to D46920: mountd(8): parsecred(): Remove "duplicate compression".

Sun RPC has a gid plus a list of additional groups (MAX 16) on the wire.
Broken code existed for a long time, that did the following:

cr_gid = gid
copy groups list

Step two overwrote the first gid, since cr_gid was just cr_groups[0] for BSD

The workaround was to put the same gid# in gid and element 0 of the Sun RPC
on-the-wire gid list.

I wasn't aware, thanks for providing these elements. That said, what you describe is only a problem if that Sun RPC code is used verbatim on a BSD, which has not been the case for a long time on FreeBSD AFAICT, and the remote doesn't put the same GID in the first element of the groups array.

Are any of these broken systems still out there (several very old variants of *BSD)?
If they are, you can easily break interoperability if you take this "put the same gid
in gid and element 0 of the gid list on the wire".

I see. However, I think the situation here in mountd is the opposite: We were just getting rid of one occurrence of a GID if both present as the effective GID (slot 0) and the first supplementary group (slot 1), and my point is that doing so is unnecessary (as explained in the commit message).

--> The code that looks for and gets rid of the duplicate on the receiving side

probably doesn't matter.

Not sure why you refer to the receiving side here. mountd, AFAICT, is always the sending side for such information. Or are you referring to some implementations of getgrouplist() such as NIS, or some other method?

Yes. The historical background wass just FYI for whoever was reading this
and wondering why the code would check for a duplicate.
I agree with you that the duplicate is unlikely to still exist in passwd/group databases
used by FreeBSD, so removing the code seems reasonable and does simplify the
code slightly.

Oct 7 2024, 3:02 PM
rmacklem added a comment to D46921: mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1.

Remember this code is setting up exports. The "credentials" are created
from the exports in the kernel. It has nothing to do with setuid()/setgid()
etc. for processes.

Oct 7 2024, 2:56 PM
rmacklem added inline comments to D46920: mountd(8): parsecred(): Remove "duplicate compression".
Oct 7 2024, 2:48 PM

Oct 4 2024

rmacklem added inline comments to D46919: mountd(8): parsecred(): uid:gid:... loop: Simplify a bit.
Oct 4 2024, 11:36 PM
rmacklem accepted D46919: mountd(8): parsecred(): uid:gid:... loop: Simplify a bit.
Oct 4 2024, 11:26 PM
rmacklem added a comment to D46918: nfs, rpc: Ensure kernel credentials have at least one group.

You claim there are bugs that result in no groups
(cr_ngroups == 0), but you do not show a specific
test case that finds this or describe exactly how it
happens.
--> If there is such a case (I am not aware of one),

we should try to isolate/fix that such that there
is always at least one group in the credentials.

(There is always at least one group in the credentials
that come on on-the-wire, since there is a separate gid
in the Sun RPC AUTH_UNIX authenticator from the
list of additional groups.)

Oct 4 2024, 11:21 PM
rmacklem added inline comments to D46920: mountd(8): parsecred(): Remove "duplicate compression".
Oct 4 2024, 10:57 PM
rmacklem added inline comments to D46921: mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1.
Oct 4 2024, 10:50 PM
rmacklem added a comment to D46920: mountd(8): parsecred(): Remove "duplicate compression".

I will look at the patches later, but just in case you are not aware of
why a lot of this weirdness exists in the code...

Oct 4 2024, 2:50 PM

Sep 30 2024

rmacklem committed rGeb345e05ac66: nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1 (authored by rmacklem).
nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1
Sep 30 2024, 10:52 PM

Sep 29 2024

rmacklem committed rGf321956d9806: nfsd.c: Synchronize error handling (authored by joyul_juniper.net).
nfsd.c: Synchronize error handling
Sep 29 2024, 8:15 PM
rmacklem closed D46442: Error handling in nfsd.
Sep 29 2024, 8:14 PM

Sep 28 2024

rmacklem committed rG6df05714da16: Revert "nfscl: Enable support for the Lookup+Open RPC" (authored by rmacklem).
Revert "nfscl: Enable support for the Lookup+Open RPC"
Sep 28 2024, 10:04 PM
rmacklem added a reverting change for rG9792c7d3eb41: nfscl: Enable support for the Lookup+Open RPC: rG6df05714da16: Revert "nfscl: Enable support for the Lookup+Open RPC".
Sep 28 2024, 10:04 PM

Sep 27 2024

rmacklem committed rG132f5d03d358: mountd: Add check for "=" after exports(5) options (authored by rmacklem).
mountd: Add check for "=" after exports(5) options
Sep 27 2024, 10:20 PM
rmacklem committed rGc09ca8f43de1: mountd: Add check for "=" after exports(5) options (authored by rmacklem).
mountd: Add check for "=" after exports(5) options
Sep 27 2024, 10:16 PM

Sep 15 2024

rmacklem accepted D46442: Error handling in nfsd.

Looks ok to me.

Sep 15 2024, 8:41 PM

Sep 10 2024

rmacklem added a comment to D46247: Fix the ZFS sharenfs property for DNS names with '-'s in them.

Just fyi, I have created a Pull Request for this on OpenZFS,
so please review it over there.

Sep 10 2024, 10:30 PM
rmacklem committed rGd72ace979924: nfsd: Fix handling of NFSv4 setable attributes (authored by rmacklem).
nfsd: Fix handling of NFSv4 setable attributes
Sep 10 2024, 1:38 AM
rmacklem committed rG617a9b99a594: nfsd: Fix handling of NFSv4 setable attributes (authored by rmacklem).
nfsd: Fix handling of NFSv4 setable attributes
Sep 10 2024, 1:33 AM

Sep 6 2024

rmacklem committed rG3df987c99d11: mountd: Add check for "=" after exports(5) options (authored by rmacklem).
mountd: Add check for "=" after exports(5) options
Sep 6 2024, 11:43 PM

Aug 31 2024

rmacklem committed rG6bde10b638d1: nfsproto.h: Define the new mode_umask attribute (authored by rmacklem).
nfsproto.h: Define the new mode_umask attribute
Aug 31 2024, 2:04 AM
rmacklem committed rGcfcf0db9097a: nfsproto.h: Define the new mode_umask attribute (authored by rmacklem).
nfsproto.h: Define the new mode_umask attribute
Aug 31 2024, 1:55 AM

Aug 27 2024

rmacklem committed rG5037c6398b23: nfsd: Fix handling of NFSv4 setable attributes (authored by rmacklem).
nfsd: Fix handling of NFSv4 setable attributes
Aug 27 2024, 9:21 PM

Aug 21 2024

rmacklem committed rG2477e88b8d43: nfs: Add support for the NFSv4.2 mode_umask attribute (authored by rmacklem).
nfs: Add support for the NFSv4.2 mode_umask attribute
Aug 21 2024, 1:50 AM

Aug 17 2024

rmacklem committed rG10d5b43424da: nfsproto.h: Define the new mode_umask attribute (authored by rmacklem).
nfsproto.h: Define the new mode_umask attribute
Aug 17 2024, 12:42 AM

Aug 8 2024

rmacklem requested review of D46247: Fix the ZFS sharenfs property for DNS names with '-'s in them.
Aug 8 2024, 11:55 PM

Jul 28 2024

rmacklem committed rG0172b5145ad9: nfscl: Scan readdir reply filenames for invalid characters (authored by rmacklem).
nfscl: Scan readdir reply filenames for invalid characters
Jul 28 2024, 4:15 AM
rmacklem committed rG9328ded386d5: nfscl: Scan readdir reply filenames for invalid characters (authored by rmacklem).
nfscl: Scan readdir reply filenames for invalid characters
Jul 28 2024, 3:55 AM

Jul 23 2024

rmacklem committed rGf84ac01e1829: nfsd: Make modifying vfs.nfsd.enable_locallocks safe (authored by rmacklem).
nfsd: Make modifying vfs.nfsd.enable_locallocks safe
Jul 23 2024, 12:57 AM
rmacklem committed rGd5ae681d2e74: nfsd: Make modifying vfs.nfsd.enable_locallocks safe (authored by rmacklem).
nfsd: Make modifying vfs.nfsd.enable_locallocks safe
Jul 23 2024, 12:32 AM

Jul 22 2024

rmacklem committed rGe6d78780c9cc: nfsd: Allow a mutex lock for clientID handling (authored by rmacklem).
nfsd: Allow a mutex lock for clientID handling
Jul 22 2024, 11:33 PM
rmacklem committed rG7a76f3591036: nfsd: Allow a mutex lock for clientID handling (authored by rmacklem).
nfsd: Allow a mutex lock for clientID handling
Jul 22 2024, 10:10 PM
rmacklem committed rGc664b786ccd1: nfsd: Fix nfsrv_cleanclient so that it can be called with a mutex (authored by rmacklem).
nfsd: Fix nfsrv_cleanclient so that it can be called with a mutex
Jul 22 2024, 1:40 AM

Jul 21 2024

rmacklem committed rG7ac2b39c59bd: nfsd: Fix nfsrv_cleanclient so that it can be called with a mutex (authored by rmacklem).
nfsd: Fix nfsrv_cleanclient so that it can be called with a mutex
Jul 21 2024, 11:11 PM
rmacklem committed rG026cdaa3b3a9: nfscl: Scan readdir reply filenames for invalid characters (authored by rmacklem).
nfscl: Scan readdir reply filenames for invalid characters
Jul 21 2024, 10:58 PM

Jul 13 2024

rmacklem committed rG0ed8ae14d9e0: nfscl: Add a check for VREG for delegations (authored by rmacklem).
nfscl: Add a check for VREG for delegations
Jul 13 2024, 12:50 AM
rmacklem committed rGc71b59bbc4a3: nfscl: Add support for read delegations and atomic upgrade (authored by rmacklem).
nfscl: Add support for read delegations and atomic upgrade
Jul 13 2024, 12:48 AM
rmacklem committed rGf6f9589b9f05: nfscl: Add support for the NFSv4.1/4.2 WANT_xxx flags (authored by rmacklem).
nfscl: Add support for the NFSv4.1/4.2 WANT_xxx flags
Jul 13 2024, 12:47 AM

Jul 11 2024

rmacklem committed rGbae19029ad2a: rpcbind.8: Fix missing option entry in commit df3f247e4696 (authored by rmacklem).
rpcbind.8: Fix missing option entry in commit df3f247e4696
Jul 11 2024, 8:05 PM
rmacklem committed rG2e5c9eaf5728: mountd.8: Update the man page for -N and -s (authored by joyul_juniper.net).
mountd.8: Update the man page for -N and -s
Jul 11 2024, 7:53 PM