linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Simo Sorce <simo@redhat.com>
To: bfields@redhat.com
Cc: linux-nfs@vger.kernel.org, Simo Sorce <simo@redhat.com>
Subject: [PATCH 0/4] Add support for new upcall mechanism for nfsd
Date: Tue, 15 May 2012 09:12:26 -0400	[thread overview]
Message-ID: <1337087550-9821-1-git-send-email-simo@redhat.com> (raw)

NOTE: Rebased on top of Bruce Field's for-3.5 tree.

This patchset implements a new upcall mechanism that uses the sunrpc
client to talk to gssproxy[1], a new userspace daemon to handle gssapi
operations on behalf of other processes on the system.

The main driver for this new mechanism is to overcome limitations with
the current daemon and upcall. The current code cannot handle tickets
larger than approximatively 2k and cannot handle sending back large user
credential sets to the kernel.

These patches have been tested against the development version of gssproxy
tagged as kernel_v0.1 in the master repo[2].

I have tested walking into mountpoints using tickets artificially pumped
up to 64k and the user is properly authorized, after the accept_se_context
call is performed through the new upcall mechanism and gssproxy.

The gssproxy has the potential of handling also init_sec_context calls,
but at the moment the only targeted system is nfsd.

Simo.


[1] https://fedorahosted.org/gss-proxy/
[2] http://git.fedorahosted.org/git/?p=gss-proxy.git;a=shortlog;h=refs/tags/kernel_v0.1

Simo Sorce (4):
  SUNRPC: conditionally return endtime from import_sec_context
  SUNRPC: Document a bit RPCGSS handling in the NFS Server
  SUNRPC: Add RPC based upcall mechanism for RPCGSS auth
  SUNRPC: Use gssproxy upcall for nfsd's RPCGSS authentication.

 Documentation/filesystems/nfs/00-INDEX         |    2 +
 Documentation/filesystems/nfs/knfsd-rpcgss.txt |   65 ++
 include/linux/sunrpc/auth_gss.h                |    3 +
 include/linux/sunrpc/gss_api.h                 |    2 +
 include/linux/sunrpc/svcauth_gss.h             |    2 +-
 net/sunrpc/auth_gss/Makefile                   |    4 +-
 net/sunrpc/auth_gss/auth_gss.c                 |   11 +-
 net/sunrpc/auth_gss/gss_krb5_mech.c            |    3 +
 net/sunrpc/auth_gss/gss_mech_switch.c          |    5 +-
 net/sunrpc/auth_gss/gss_rpc_upcall.c           |  341 +++++++++
 net/sunrpc/auth_gss/gss_rpc_upcall.h           |   43 ++
 net/sunrpc/auth_gss/gss_rpc_xdr.c              |  904 ++++++++++++++++++++++++
 net/sunrpc/auth_gss/gss_rpc_xdr.h              |  269 +++++++
 net/sunrpc/auth_gss/svcauth_gss.c              |  252 +++++++-
 14 files changed, 1886 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/filesystems/nfs/knfsd-rpcgss.txt
 create mode 100644 net/sunrpc/auth_gss/gss_rpc_upcall.c
 create mode 100644 net/sunrpc/auth_gss/gss_rpc_upcall.h
 create mode 100644 net/sunrpc/auth_gss/gss_rpc_xdr.c
 create mode 100644 net/sunrpc/auth_gss/gss_rpc_xdr.h

-- 
1.7.7.6


             reply	other threads:[~2012-05-15 13:12 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-15 13:12 Simo Sorce [this message]
2012-05-15 13:12 ` [PATCH 1/4] SUNRPC: conditionally return endtime from import_sec_context Simo Sorce
2012-05-21 21:52   ` J. Bruce Fields
2012-05-15 13:12 ` [PATCH 2/4] SUNRPC: Document a bit RPCGSS handling in the NFS Server Simo Sorce
2012-05-21 21:55   ` J. Bruce Fields
2012-05-22  0:37     ` Simo Sorce
2012-05-15 13:12 ` [PATCH 3/4] SUNRPC: Add RPC based upcall mechanism for RPCGSS auth Simo Sorce
2012-05-22 12:47   ` J. Bruce Fields
2012-05-22 13:00     ` Simo Sorce
2012-05-22 13:17       ` Stanislav Kinsbursky
2012-05-22 13:22         ` Simo Sorce
2012-05-22 13:32           ` Stanislav Kinsbursky
2012-05-22 14:20             ` J. Bruce Fields
2012-05-22 14:44               ` Stanislav Kinsbursky
2012-05-22 15:07                 ` J. Bruce Fields
2012-05-22 15:16                   ` Simo Sorce
2012-05-22 15:31                     ` J. Bruce Fields
2012-05-22 15:44                       ` Simo Sorce
2012-05-22 15:19                   ` Stanislav Kinsbursky
2012-05-22 18:11                     ` J. Bruce Fields
2012-05-22 18:41                       ` Stanislav Kinsbursky
2012-05-22 14:58             ` Simo Sorce
2012-05-22 15:10               ` Stanislav Kinsbursky
2012-05-22 15:18                 ` Simo Sorce
2012-05-22 15:23                   ` Stanislav Kinsbursky
2012-05-22 13:00     ` Stanislav Kinsbursky
2012-05-22 15:02   ` J. Bruce Fields
2012-05-22 15:15     ` Simo Sorce
2012-05-22 15:29       ` J. Bruce Fields
2012-05-22 15:40         ` Simo Sorce
2012-05-22 22:49           ` J. Bruce Fields
2012-05-22 22:52             ` Simo Sorce
2012-05-22 15:03   ` J. Bruce Fields
2012-05-22 15:12     ` Simo Sorce
2012-05-22 15:24       ` J. Bruce Fields
2012-05-22 15:36         ` Simo Sorce
2012-05-15 13:12 ` [PATCH 4/4] SUNRPC: Use gssproxy upcall for nfsd's RPCGSS authentication Simo Sorce
2012-05-22 22:48   ` J. Bruce Fields
2012-05-24  4:31     ` Simo Sorce
2012-05-24 11:08       ` J. Bruce Fields
2012-05-24 13:19         ` Simo Sorce
2012-05-25 14:05           ` J. Bruce Fields
2012-05-25 15:37             ` Simo Sorce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1337087550-9821-1-git-send-email-simo@redhat.com \
    --to=simo@redhat.com \
    --cc=bfields@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).