summaryrefslogtreecommitdiff
path: root/support/junction
Commit message (Collapse)AuthorAgeFilesLines
* nfs-utils: Don't allow junction tests to trigger automountsJeff Layton2023-01-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | JianHong reported some strange behavior with automounts on an nfs server without an explicit pseudoroot. When clients issued a readdir in the pseudoroot, automounted directories that were not yet mounted would show up even if they weren't exported, though the clients wouldn't be able to do anything with them. The issue was that triggering the automount on a directory would cause the mountd upcall to time out, which would cause nfsd to include the automounted dentry in the readdir response. Eventually, the automount would work and report that it wasn't exported and subsequent attempts to access the dentry would (properly) fail. We never want mountd to trigger an automount. The kernel should do that if it wants to use it. Change the junction checks to do an O_PATH open and use fstatat with AT_NO_AUTOMOUNT. Cc: Chuck Lever <chuck.lever@oracle.com> Link: https://bugzilla.redhat.com/show_bug.cgi?id=2148353 Link: https://bugzilla.kernel.org/show_bug.cgi?id=216777 Reported-by: JianHong Yin <jiyin@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Steve Dickson <steved@redhat.com>
* fix compilation with -Werror=format on i586Guillaume Rousse2019-11-221-1/+1
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Ensure consistent struct stat definitionDoug Nazar2019-11-171-0/+4
| | | | | | | | | | | Although 2fbc62e2a13fc ("Fix include order between config.h and stat.h") reorganized those files that were already including config.h, not all files were including config.h. Fixes at least stack smashing crashes in mountd on 32-bit systems. Signed-off-by: Doug Nazar <nazard@nazar.ca> Signed-off-by: Steve Dickson <steved@redhat.com>
* junction: Fixed debug statement to compile with -Werror=format=2 flagSteve Dickson2019-11-131-2/+2
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed resource leaks from junction/path.cSteve Dickson2019-05-101-1/+5
| | | | | | | | | | | | | junction/path.c:167: leaked_storage: Variable "start" going out of scope leaks the storage it points to. junction/path.c:331: leaked_storage: Variable "normalized" going out of scope leaks the storage it points to. junction/path.c:340: leaked_storage: Variable "normalized" going out of scope leaks the storage it points to. Signed-off-by: Steve Dickson <steved@redhat.com>
* Harden configure.ac checks for libxml2Chuck Lever2018-11-291-2/+0
| | | | | | | | | Modernize the libxml2 script to use PKG_PROG_PKG_CONFIG instead of an ad hoc macro. This automates the population of AM_CPPFLAGS with "-I/usr/include/libxml2" when it is needed. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: Fix minor memory leaks before return.Kenneth D'souza2018-06-251-1/+3
| | | | | | Signed-off-by: Kenneth D'souza <kdsouza@redhat.com> Signed-off-by: Frank Sorenson <sorenson@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Remove fedfs_admin.hChuck Lever2018-02-121-0/+1
| | | | | | | | | | | | | | nfs-utils is not going to provide an implementation of the FedFS ADMIN protocol, so there's no need to include the entire .x file for that protocol. The only piece needed (for the moment) is the enum that defines the FEDFS_ERR codes, which are used by the internal and external libjunction APIs. Suggested-by: Neil Brown <neilb@suse.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Remove nsdb_display_fedfsconnectionsec()Chuck Lever2018-02-121-20/+0
| | | | | | | | | | This is a display helper function that is not needed in nfs-utils because nfs-utils does not implement the FedFS ADMIN protocol (and therefore does not need to display ADMIN protocol-related security settings). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Add LDAP-free version of libjunction to nfs-utilsChuck Lever2018-02-078-0/+3216
| | | | | | | | | | | | | | | | | | A "junction" is a physical filesystem object that contains an NFS referral. On Linux, a junction is a directory with special mode bits that has an extended attribute containing referral location information, represented as XML. A junction can contain either a list of target locations, or it can contain the location of an LDAP directory entry where the actual referral information is maintained. The former is called an "NFS basic junction", the latter is a "FedFS junction". libjunction contains support for reading or updating a junction that resides on an NFS server. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Add infrastructure for libjunctionChuck Lever2018-02-072-0/+151
The source code for libjunction used to be maintained in fedfs-utils, but fedfs-utils is being retired. Although interest in FedFS junctions has waned, NFS basic junctions are still appealing enough that we've decided we want to continue supporting them. Therefore this patch moves the non-LDAP parts of libjunction into nfs-utils, to enable nfs-utils to also support the user-visible pieces of NFS basic junctions. I've added yet another configure command line option to control whether libjunction is built. It defaults to "disabled" for the moment. Reasons you might want to leave it disabled: - Your distribution still provides fedfs-utils, which already has a working libjunction which is installed separately - Your distribution does not provide libxml2, which is required to support libjunction When it's disabled, nfs-utils builds just like it did before this patch, and there's no new dependency on libxml2. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>