All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] (v4) gss-proxy upcall for nfsd
@ 2013-04-15 19:35 J. Bruce Fields
  2013-04-15 19:35 ` [PATCH 1/5] SUNRPC: attempt AF_LOCAL connect on setup J. Bruce Fields
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: J. Bruce Fields @ 2013-04-15 19:35 UTC (permalink / raw)
  To: linux-nfs; +Cc: J. Bruce Fields

From: "J. Bruce Fields" <bfields@redhat.com>

Changes since my last posting:
	- disable idle timeout by passing down rpc create flags to xprt
	  create and defining a new RPC_CLNT_CREATE_NO_IDLE_TIMEOUT flag
	  instead of hardwiring timeout to 0 in the AF_LOCAL case.
	  (Chuck's suggestion.)
	- Reduce stack usage in gssp_rpc_create by removing some unused
	  structure fields from the xdr code.  I plan to do more, but at
	  this point that function is down to about 500 bytes of stack,
	  which probably makes it not an immediately problem.  (Thanks
	  to Trond for pointing out the problem.)
	- Use C99 initializers to clean up gssp_rpc_create (Trond's
	  suggestion.)

Series description, as before:

The following patches add support for rpc servers to use gss-proxy
instead of the existing cache-based method to accept new rpcsec_gss
contexts.

The existing cache-based upcall has some increasingly annoying
limitations that would be difficult to fix without incompatible changes,
and gss-proxy looks like a reasonable replacement.

J. Bruce Fields (2):
  SUNRPC: attempt AF_LOCAL connect on setup
  SUNRPC: allow disabling idle timeout

Simo Sorce (3):
  SUNRPC: conditionally return endtime from import_sec_context
  SUNRPC: Add RPC based upcall mechanism for RPCGSS auth
  SUNRPC: Use gssproxy upcall for server RPCGSS authentication.

 Documentation/filesystems/nfs/00-INDEX           |    2 +
 Documentation/filesystems/nfs/rpc-server-gss.txt |   91 +++
 include/linux/sunrpc/clnt.h                      |    1 +
 include/linux/sunrpc/gss_api.h                   |    2 +
 include/linux/sunrpc/xprt.h                      |    1 +
 net/sunrpc/auth_gss/Makefile                     |    3 +-
 net/sunrpc/auth_gss/auth_gss.c                   |    2 +-
 net/sunrpc/auth_gss/gss_krb5_mech.c              |    7 +-
 net/sunrpc/auth_gss/gss_mech_switch.c            |    5 +-
 net/sunrpc/auth_gss/gss_rpc_upcall.c             |  357 ++++++++++
 net/sunrpc/auth_gss/gss_rpc_upcall.h             |   47 ++
 net/sunrpc/auth_gss/gss_rpc_xdr.c                |  832 ++++++++++++++++++++++
 net/sunrpc/auth_gss/gss_rpc_xdr.h                |  264 +++++++
 net/sunrpc/auth_gss/svcauth_gss.c                |  350 ++++++++-
 net/sunrpc/clnt.c                                |    2 +
 net/sunrpc/netns.h                               |    6 +
 net/sunrpc/xprt.c                                |    2 +
 net/sunrpc/xprtsock.c                            |    3 +
 18 files changed, 1961 insertions(+), 16 deletions(-)
 create mode 100644 Documentation/filesystems/nfs/rpc-server-gss.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.9.5


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/5] [RFC] Add support for new upcall mechanism for nfsd
@ 2012-04-17 13:39 Simo Sorce
  2012-04-17 13:39 ` [PATCH 4/5] SUNRPC: Add RPC based upcall mechanism for RPCGSS auth Simo Sorce
  0 siblings, 1 reply; 18+ messages in thread
From: Simo Sorce @ 2012-04-17 13:39 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Simo Sorce

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 large user credentials set to be set in
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.


Simo Sorce (5):
  SUNRPC: Document a bit RPCGSS handling in the NFS Server
  SUNRPC: conditionally return endtime from import_sec_context
  SUNRPC: split upcall function to extract reusable parts
  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              |  342 ++++++++--
 14 files changed, 1945 insertions(+), 51 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


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-04-26 15:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-15 19:35 [PATCH 0/5] (v4) gss-proxy upcall for nfsd J. Bruce Fields
2013-04-15 19:35 ` [PATCH 1/5] SUNRPC: attempt AF_LOCAL connect on setup J. Bruce Fields
2013-04-15 19:35 ` [PATCH 2/5] SUNRPC: allow disabling idle timeout J. Bruce Fields
2013-04-18 17:00   ` J. Bruce Fields
2013-04-18 17:07     ` Myklebust, Trond
2013-04-18 17:14       ` J. Bruce Fields
2013-04-18 17:25         ` Chuck Lever
2013-04-24 15:00           ` J. Bruce Fields
2013-04-24 15:03             ` Myklebust, Trond
2013-04-26 15:43               ` J. Bruce Fields
2013-04-15 19:35 ` [PATCH 3/5] SUNRPC: conditionally return endtime from import_sec_context J. Bruce Fields
2013-04-15 19:35 ` [PATCH 4/5] SUNRPC: Add RPC based upcall mechanism for RPCGSS auth J. Bruce Fields
2013-04-15 19:35 ` [PATCH 5/5] SUNRPC: Use gssproxy upcall for server RPCGSS authentication J. Bruce Fields
  -- strict thread matches above, loose matches on Subject: below --
2012-04-17 13:39 [PATCH 0/5] [RFC] Add support for new upcall mechanism for nfsd Simo Sorce
2012-04-17 13:39 ` [PATCH 4/5] SUNRPC: Add RPC based upcall mechanism for RPCGSS auth Simo Sorce
2012-04-17 22:28   ` J. Bruce Fields
2012-04-17 23:00     ` Simo Sorce
     [not found]     ` <20120417222825.GA32619-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-04-18 10:59       ` Jeff Layton
2012-04-18 10:59         ` Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.