summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gssd: do a more thorough change of identity after forkingJeff Layton2013-10-211-16/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The part of process_krb5_upcall that handles non-machine user creds first tries to query GSSAPI for credentials. If that fails, it then falls back to trawling through likely credcache locations to find them and then points $KRB5CCNAME at it before proceeding. There are a number of bugs in this code that this patch attempts to address. The code that queries GSSAPI for credentials does it as root which almost universally fails to do anything useful unless we happen to be looking for non-machine root creds. Because of this, gssd almost always falls back to having to search for credcaches "manually". The code that handles credential switching is in create_auth_rpc_client, so it's too late to be of any use here. Worse yet, for historical reasons the MIT krb5 authors used %{uid} in the default credcache locations which translates to the real uid. Thus switching the fsuid or even euid is insufficient. You must switch the real uid in order to be able to find the proper credcache in most cases. This patch moves the credential switching to occur much earlier in the process and has it do a much more thorough job of it. It first drops all supplimentary groups, then determines a gid to use and switches the gids and uids to the correct ones. If it can't determine the correct gid to use, it then tries to look up the one for "nobody" and uses that. Once the credentials are switched, the forked child now no longer tries to change them back. It does the downcall with the new credentials and just exits when it's done. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: have process_krb5_upcall fork before handling upcallJeff Layton2013-10-211-1/+23
| | | | | | | | | | | | | | | | | | | Most krb5 installations use credcache locations that contain %{uid}, which expands to the real UID of the current process. In order for GSSAPI to find those properly, we need to be able to switch the real UID of the process to the designated one. That however, opens the door to allowing gssd to be killed or reniced during the window where we've switched credentials. To combat this, change gssd to fork before trying to handle each upcall. The child will do the work to establish the context and the parent task will just wait for it to exit. It's still possible for the child to be killed or reniced, but that would only affect a single upcall instead of the entire daemon. Also, If the process is killed prematurely, then log an error to tip off the admin that there was a problem. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Add -s option.Tony Asleson2013-10-212-10/+20
| | | | | | | | Adds '-s' option which outputs the current exports in a format suitable for /etc/exports. Signed-off-by: Tony Asleson <tasleson@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountstats: fix python2.x supportWeston Andros Adamson2013-10-211-0/+2
| | | | | | | | | Commit b703eabe converted mountstats to using python3's print() function, but this doesn't work in python2.x without importing the print function from __future__. Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsmount.conf: remove duplicate 'timeo' from the parsing stringSteve Dickson2013-10-211-0/+10
| | | | | | | | When the 'timeo' option is specified in multiple sections of the nfsmount.conf file, each instance is added to the parsing string. This patch make the first instance override any others. Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsmount.conf: Remove duplicate 'bg' and 'fg' from parsing string.Steve Dickson2013-10-211-0/+25
| | | | | | | | | When the 'Background' and/or 'Foreground' options are set in multiple sections of the nfsmount.conf file, each instance gets added to the parsing string. This patch makes the first instance of either option override the any others. Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: remove gss_clnt_send_err and gss_destroy_credsJeff Layton2013-10-213-126/+1
| | | | | | | | | | | | | | | | | | | | As Bruce recently pointed out, gss_clnt_send_err basically does an unsolicited downcall into the kernel to try and destroy a valid GSS context. That has been broken however since this kernel commit: commit 3b68aaeaf54065e5c44583a1d33ffb7793953ba4 Author: Trond Myklebust <Trond.Myklebust@netapp.com> Date: Thu Jun 7 10:14:15 2007 -0400 SUNRPC: Always match an upcall message in gss_pipe_downcall() Downcalls that don't match an in-progress upcall just get back an -ENOENT error and don't actually do anything. Remove these tools since they've been useless for the last 6 years. Reported-by: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: clean up exports.d discussionJ. Bruce Fields2013-09-301-10/+4
| | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> The syntax here is a little convoluted. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: test_export shouldn't use invalid uid/gidJ. Bruce Fields2013-09-241-1/+1
| | | | | | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> Some newer kernels are rejecting -1 uid/gid. Actually, worse--they're silently ignoring any attempt to cache such exports, thus preventing test_export from getting back the errors it needs. And -1 wasn't a good choice anyway. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Fix the default authentication flavour settingTrond Myklebust2013-09-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 11ba3b1e01b67b7d19f26fba94fabdb60878e809 (Add a default flavor to an export's e_secinfo list) breaks the ordering of security flavours in the secinfo list, by reordering 'sec=sys' to always be the first secinfo flavour if one fails to set a default 'sec' setting. An export of the form: /export -sync,no_subtree_check,mp \ 192.168.1.0/24(sec=krb5p:krb5i:krb5,rw,sec=sys,ro) ends up getting translated by exportfs into the following entry in /var/lib/nfs/etab: /export 192.168.1.0/24(ro,sync,wdelay,hide,nocrossmnt,\ secure,root_squash,no_all_squash,\ no_subtree_check,secure_locks,acl,\ mountpoint,anonuid=65534,anongid=65534,\ sec=sys,ro,root_squash,no_all_squash,\ sec=krb5p:krb5i:krb5,rw,root_squash,no_all_squash) Note how the 'sec=sys' is now listed first... The fix is to defer adding the default flavour until the call to secinfo_show, when we can see if it is even needed at all. With the patch, the above export is now correctly entered in /var/lib/nfs/etab as: /export 192.168.1.0/24(ro,sync,wdelay,hide,nocrossmnt,\ secure,root_squash,no_all_squash,\ no_subtree_check,secure_locks,acl,\ mountpoint,anonuid=65534,anongid=65534,\ sec=krb5p:krb5i:krb5,rw,root_squash,no_all_squash,\ sec=sys,ro,root_squash,no_all_squash) Cc: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: don't use tgtname to find our keytabJ. Bruce Fields2013-09-241-6/+9
| | | | | | | | | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> The tgtname is of the form service@hostname. It's not a hostname, and attempting to look it up here just causes failure of any upcall with a "target=" field (currently, any upcall on behalf of an nfsv4.0 callback). I think the theory was that knowning that target= name might help pick the right keytab, but I don't really know if that's helpful. For now, just stop trying to do this. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: don't use tgtname to find our keytabJ. Bruce Fields2013-09-243-11/+5
| | | | | | | | | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> The tgtname is of the form service@hostname. It's not a hostname, and attempting to look it up here just causes failure of any upcall with a "target=" field (currently, any upcall on behalf of an nfsv4.0 callback). I think the theory was that knowning that target= name might help pick the right keytab, but I don't really know if that's helpful. For now, just stop trying to do this. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: fix strncmp bug causing client removalsJ. Bruce Fields2013-09-241-1/+1
| | | | | | | | | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> Both dirname and pdir are null-terminated strings, so there's no reason I can see for the strncmp. And this gives the wrong result when comparing the "nfsd" and "nfsd4_cb" directories! The results were callback clients being removed immediately after creation, when lack of a client with the corresponding name under "nfsd" lead gssd to believe it had disappeared from "nfsd4_cb". Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-iostat: Make Python 3 compatibleBohuslav Kabrda2013-09-181-11/+11
| | | | | | | This will make nfs-iostat run on Python 2.6, 2.7 and >= 3.0 Signed-off-by: Bohuslav Kabrda <bkabrda@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountstats: Make mountstats Python 3 compatibleBohuslav Kabrda2013-09-181-155/+155
| | | | | | | This will make mountstat run on Python 2.6, 2.7 and >= 3.0 Signed-off-by: Bohuslav Kabrda <bkabrda@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsiostat: periodically flush stdoutHarshula Jayasuriya2013-09-181-0/+2
| | | | | | | | | | In a shell script, when nfsiostat is run in the background with stdout redirected to a file, flush stdout periodically to ensure that we do not lose the buffered output if the nfsiostat process is killed. Signed-off-by: Harshula Jayasuriya <harshula@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: insecure/secure should be a secinfo_flagTrond Myklebust2013-09-181-7/+27
| | | | | | | | | | | | | The 'insecure' flag is listed in /proc/fs/nfsd/export_features in newer kernels as being a secinfo_flag, however it is not displayed by secinfo_show. This patch fixes that, and sets up a framework which should make it easy to add new flags to /proc/fs/nfsd/export_features and have them be displayed properly. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exports.man: quote command to preserve spaceJim Rees2013-09-051-1/+1
| | | | | Signed-off-by: Jim Rees <rees@umich.edu> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: suppress error message if rpc_pipefs dir disappears.NeilBrown2013-09-051-2/+3
| | | | | | | | | | | | | | | | | | | | It is possible for a race to cause a name to appear when an rpc_pipefs dir is scanned but to no longer be present when we try to open it. So if the error is ENOENT, don't complain. This is similar to commit 5ac9bcfd820f09af4d3f87f1f7346d896f70bc9a Author: David Jeffery <djeffery@redhat.com> Date: Wed Jan 16 15:21:55 2013 -0500 rpc.idmapd: Ignore open failures in dirscancb() which addressed a similar issue in idmapd. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: improve handling of bg, fg, and sloppy in nfsmount.confScott Mayhew2013-08-191-0/+11
| | | | | | | | | | | | | | | | | | This patch makes 2 small improvements to the parsing of the bg, fg, and sloppy mount options in nfsmount.conf. 1. "bg" and "fg" negate should each other. "Background=True" should mean "bg" and "Background=False" should mean "fg". The same applies to "Foreground". 2. Once we see "Sloppy=False" while parsing the configuration file we should ignore subsequent occurrences of the sloppy option. This will preserve the "right-most setting wins" behavior for the sloppy mount option. Acked-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Scott Mayhew <smayhew@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: dont pass options from configuration sections that are not relevantScott Mayhew2013-08-193-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | The nfsmount.conf file has the following format: [ section "arg" ] tag = value conf_get_tag_list() currently doesn't check the arg field so we wind up getting all the options that fall under a particular section value, instead of just the ones that match the specific "arg" field. As a result, we wind up passing options to the mount syscall from sections that aren't even relevant to the mount operation that is being performed. For example, if we have three different server sections, and each section has an Nfsvers tag, then the string we pass to the mount syscall will have two extra occurrences of the nfsvers option. Each option should appear at most 4 times -- once for the system section, once for the server-specific section, once for the mount-specific section, and once for the command line mount options. Acked-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Scott Mayhew <smayhew@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.idmapd: silence pointless EOF warningJ. Bruce Fields2013-08-191-4/+8
| | | | | | | | | | | | | | RH bz 831455 has a report that repeatedly mounting and unmounting over lo can hit this warning in the EOF case. I suspect that's just normal--I'm not sure of the details, but probably idmapd gets woken up to check for an upcall and then the upcall gets yanked away before idmapd gets a chance to read it. So just skip the warning in that case. I also can't see a reason to reopen. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.nfsd: Allow v4.2 server support with the -V optionSteve Dickson2013-08-193-10/+17
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.nfsd: No longer advertise NFS v2 support.Steve Dickson2013-08-192-1/+2
| | | | | | | | | Changed the default protocol versions that rpc.nfsd register with rpcbind to just 3 and 4. Version 2 can still be enabled with the '-V' flag, but it will not be on by default. Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: fixed typo in machine cred name.Doug Nazar2013-07-021-1/+1
| | | | | | | | | Commit 1c787f14 [gssd: scan for DIR: ccaches, too] changed the default prefix for the credential cache files. Update the check to ignore the machine credential file when running with -n (root ignores machine credentials). Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: don't give up on machine credential if hostname not available.NeilBrown2013-07-021-2/+6
| | | | | | | | | | | | krb5_util tries various different credential names in order to find the machine credential, not all of them use the full host name of the current host. So if getting the full host name fails, don't give up completely, still try the other options. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsiostat: restore output formatWeston Andros Adamson2013-07-011-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Recent changes to support python 3 changed the output of nfsiostat from: read: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms) 48.094 2889.133 60.072 0 (0.0%) 177.160 184.833 ... to: read: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms) 0.000 0.000 0.000 0 (0.0%) 0.000 0.000 ... Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Fix handling of preferred realm command line option.Maximilian Wilhelm2013-07-011-2/+10
| | | | | | | | | | The current implementation ignores any preferred realm specified on the command line. Fix this behaviour and make sure the preferred realm is used as first realm when trying to acquire a keytab entry Signed-off-by: Maximilian Wilhelm <max@rfc2324.org> Signed-off-by: Frederik Moellers <frederik.moellers@upb.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: remove redundant array size.NeilBrown2013-07-011-1/+1
| | | | | | | | | | | | When initialising an array there is no need to specify the size as the size is taken from the initialiser. Having the size there means that any change to the initialiser needs to change the size to and so is error-prone. So just remove the size. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsidmap: add default id_resolver.confLuk Claes2013-05-282-1/+3
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsdcltrack.man: drop autogenerated roffLuk Claes2013-05-281-114/+0
| | | | | | | | | | | The man page was generated, but this file is intended as the source to make modifications. So remove all generated comments and only leave what's needed and easily maintained manually without changing the appearance of the man page. Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Luk Claes <luk@debian.org> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Fix recent fix to Avoid DNS reverse resolution in gssd.Signed-off-by: NeilBrown2013-05-282-13/+32
| | | | | | | | | | | | | | | | The final version for this fix that was committed inverted the test so makes no change in the important cases. The documentation didn't really help a naive user know when the new -D flag should be used. And the code (once fixed) avoided DNS resolution on non-qualified names too, which probably isn't a good idea. This patch fixes all three issues. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Remove unnecessary including of ctype.hSteve Dickson2013-05-071-1/+0
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: Fix is_subdirectory againNeilBrown2013-05-071-10/+14
| | | | | | | | | | | | | | | | | The problem was that is_subdirectory() would also succeed if the two directories were the same. This is needed for path_matches() which needs to see if the child is same-or-descendant. So this patch rearranges path_matches() to do the "are they the same" test itself and only bother with is_subdirectory() if it they are not the same. So now is_subdirectory() can be strict, and so can be usable for subexport(), which needs a strong 'in subdirectory - not the same' test. Acked-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* statd: exit if a statd is already runningWeston Andros Adamson2013-05-074-17/+34
| | | | | | | | Moves nfs_probe_statd from mount to nfs support lib to share with statd. Acked-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs.man: Move nfsvers to "Options supported by all versions" sectionChris Vogan2013-05-071-12/+14
| | | | | | | | | After inclusion of NFSv4.1 it seems that now you can specify an NFSv4 mount with either "-tnfs4" or "-overs=4". This patch moves "nfsvers/vers" from "Options for NFS versions 2 and 3 only" to "Options supported by all versions". Signed-off-by: Steve Dickson <steved@redhat.com>
* Release 1.2.8Steve Dickson2013-05-021-1/+1
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Avoid DNS reverse resolution for server names (take 3)Simo Sorce2013-04-224-7/+41
| | | | | | | | | | | | | | A NFS client should be able to work properly even if the DNS Reverse record for the server is not set. This means a DNS lookup should not be done on server names at are passed to GSSAPI. This patch changes the default behavior to no longer do those types of lookups This change default behavior could negatively impact some current environments, so the -D option is also being added that will re-enable the DNS reverse looks on server names, which are passed to GSSAPI. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* .gitignore: ignore more generated filesMike Frysinger2013-04-221-1/+3
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* configure.ac: do not fail sqlite check when cross-compilingMike Frysinger2013-04-221-3/+8
| | | | | | | | | If we're cross-compiling, we can't do a runtime test of sqlite, so just assume that the user has a good enough version rather than falling over. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Steve Dickson <steved@redhat.com>
* sm-notify: "-v hostname" doesn't work when IPV6_SUPPORT is enabledChuck Lever2013-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | Marc Eshel reports that using the -v command line option on the sm-notify command stopped working after nfs-utils 1.2.2, when IPv6 support was added. If nfs-utils is built without IPv6 support, it still works. Marc specified a hostname with a single A record. smn_bind_address() must construct a bind address with the same family as the RPC socket's protocol family. Add an AI_V4MAPPED hint so an appropriate IPv6 bind address is constructed even if -v specifies an IPv4 presentation address, or a hostname with only IPv4 mappings. We still use an IPv4 bind address if IPv6 support is compiled out or the host does not support IPv6. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com> Cc: Marc Eshel <eshel@us.ibm.com>
* mount: No longer negotiate to v2Steve Dickson2013-04-222-8/+7
| | | | | | | | | This patch remove the ability of negotiating to the v2 protocol. Explicitly setting the version on the command line will be the only way to use v2. Signed-off-by: Steve Dickson <steved@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: fix exporting of "/" with sec= setting.NeilBrown2013-04-223-1/+3
| | | | | | | | | | | | | | | | Commit 91bb95f2689e84856ecdf6fac365489d36709cf9 4set_root: force "fsid=0" for all exports of '/' set NFSEXP_FSID for the export of "/" if nothing else had any fsid set, however it didn't also set the flag for all security flavours. So the kernel complains that the flags on the security flavours don't match and it rejects the export. So call fix_pseudoflavor_flags() in write_secinfo() to make sure that any fiddling that has been done to e_flags gets copied to e_secinfo. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Allow GSSAPI to try to acquire credentials first.Simo Sorce2013-04-223-26/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GSSAPI can be given a uid number as a special name, and then gss_acquire_cred() can use the name to try to find credentials for the user. Give GSSAPI a chance to do it on its own, then fallback to the classic method of trolling through the file system to find a credential cache. This patch uses a little know feature of GSSAPI that permits to acquire crdentials specifying the user's UID. Normally GSSAPI will simply perform a getpwuid() call and use the user name to generate a principal name and then see if it can find a TGT for that principal in the local ccache. This feature is vital to allow the GSS-Proxy to be able to initiate crdentials on behalf of rpc.gssd using client keytabs stored in the filsystem. GSS-Proxy works through an interposer-type plugin (new feature in MIT 1.11) that allows to intercept all GSSAPI requestes and relay them to a system daemon via a socket. This daemon (GSS-Proxy) then can perform operations on behalf of other applications with additional logic. In the rpc.gssd case the GSS-Proxy daemon allows applications running as system users to properly access krb5 protected shares by creating a credential cache on the fly when necessary. This way all applications that need access to krb5 protected shares do not need to be taught how to initiate crdentials on their own, nor they need to be wrapped in additional init scripts like k5start or use wasteful cronjobs to keep credentials fresh. All is needed is to drop a keytab with the right keys in a special location on the system and gss-proxy will do the rest. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: Add the missing '$' in auth_unix_ip()Jose Castillo2013-04-221-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We found this problem because NFS clients to a RHEL6 NFS server were experiencing periods of ESTALE errors after being mounted and initially working successfully. Tests were run which snapshotted the nfs/sunrpc caches before and after the issue, and it was found that the '$' character at the beginning of the ID strings, used when in use_ipaddr mode, was getting lost: GOOD, while mount was working: nfsd 1.2.3.4 $1.2.3.4 BAD, after mount started returning ESTALE: nfsd 1.2.3.4 1.2.3.4 This would then cause the export checks to fail by passing '1.2.3.4' instead of '$1.2.3.4' up to rpc.mountd. The problem appears to be in the auth_unix_ip() function when renewing the auth.unix.ip cache entry. It would fail to add the '$' character back to the beginning of the string used for the domain string, breaking the use_ipaddr mode. Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): Update description of sec= mount optionChuck Lever2013-04-101-21/+23
| | | | | | | | | | | | Bryan recently added SECINFO support, and I've beefed up the NFSv3 MNT processing in kernel to do some security flavor negotiation. Thus the kernel can perform additional security flavor negotiation now. Update the description of the sec= mount option and the SECURITY CONSIDERATIONS section to reflect this change. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Fix double free when exporting lucid contextSimo Sorce2013-04-107-12/+12
| | | | | | | | | | | | | When using GSSAPI's gss_krb5_export_lucid_context the context passed into the function is actually deleted during the export (to avoid reuse as the context contains state that depends on its usage). Change the code to pass in a pointer to the context so that it can be properly NULLed if we are using the GSSAPI context and following calls to gss_delete_sec_context will not cause double free errors and segfaults. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Fix segfault when using -R optionSimo Sorce2013-04-021-1/+1
| | | | | | | | The getopt string did not add : after the R option resulting in a sefgault whenever -R was used as optarg is NULL and it is dereferenced. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Switch to use standard GSSAPI by defaultSimo Sorce2013-04-025-7/+35
| | | | | | | | | Make libgssglue configurable still but disabled by default. There is no reason to use libgssglue anymore, and modern gssapi supports all needed features for nfs-utils. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Add configure check for gss_krb5_free_lucid_sec_context().Simo Sorce2013-04-021-0/+2
| | | | | | Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: GÃnther Deschner <gdeschner@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>