Solution

I patched the source of the nfs-utils package, created a local version of the package, and my hosts can now mount their shares again.

It works by allowing the admin to edit /etc/krb5.conf to include an appdefaults stanza:

[appdefaults]
        nfs = {
                ad_principal_name = 129.125.74.165$
        }
      

The way (after git init and git-import-dsc --allow-unauthenticated --download https://launchpad.net/ubuntu/+archive/primary/+files/nfs-utils_1.2.8-6ubuntu1.dsc) to patch a Debian package is:

quilt push -a
quilt new 25-configurable-ad-principal.diff
quilt add utils/gssd/krb5_util.c
quilt add utils/gssd/gssd.man
# edit away
quilt pop -a

Check the manpage with

cat utils/gssd/gssd.man |nroff -man

Then it's time to alter the changelog according to NMU naming guidelines, commit and build, and to upload to the repository.

To send a patch upstream to the kernel, I had to clone the git repository, and after writing, do:

git commit -s -a
      git format-patch -1
      git send-email --dry-run --to "Steve Dickson <steved@redhat.com>" --cc "Linux NFS Mailing list <linux-nfs@vger.kernel.org>" *.patch
      git send-email --dry-run --to "Steve Dickson <steved@redhat.com>" --cc "Linux NFS Mailing list <linux-nfs@vger.kernel.org>" *.patch