From sacadmin Wed Aug 30 20:32:21 2006
Received: from triplex.East.Sun.COM (triplex.East.Sun.COM [129.148.174.104])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7V3WLxb013992
	for <psarc@sac.sfbay.Sun.COM>; Wed, 30 Aug 2006 20:32:21 -0700 (PDT)
Received: from triplex.East.Sun.COM (localhost [127.0.0.1])
	by triplex.East.Sun.COM (8.13.8+Sun/8.13.8) with ESMTP id k7V3WKh8010181;
	Wed, 30 Aug 2006 23:32:20 -0400 (EDT)
Received: (from meem@localhost)
	by triplex.East.Sun.COM (8.13.8+Sun/8.13.8/Submit) id k7V3WKev010178;
	Wed, 30 Aug 2006 23:32:20 -0400 (EDT)
From: Peter Memishian <peter.memishian@sun.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17654.22596.609613.219172@triplex.East.Sun.COM>
Date: Wed, 30 Aug 2006 23:32:20 -0400
To: psarc@sac.sfbay.sun.com
Cc: wifi-dladm@sun.com
Subject: PSARC/2006/517 WiFi for GLDv3 Addendum
X-Mailer: VM 7.17 under 21.4 (patch 18) "Social Property" XEmacs Lucid
Status: RO
Content-Length: 7039


I'm sponsoring this case for myself and the WiFi for GLDv3 team.

The timer is set for Wednesday, September 6th.  We again request Patch
binding; all changes are to Consolidation Private interfaces, except for
minor tweaks to dladm subcommands, which will be Committed but have not
yet been integrated into Solaris.

  While wrapping up the implementation of WiFi for GLDv3 (specified by
  PSARC/2006/406), we needed to change some minor pieces of the original
  proposal.  The changes and their rationale are provided below.  In order
  to provide broader context, we have also updated the WiFi architectural
  documents (in the `materials' directory).  Pointers to the relevant
  updated sections are provided below.

  Proposed changes:

   1. AUTH field changes              [ dladm-wifi.pdf, sections 3.1+3.2 ]

      The "AUTH" field of `dladm scan-wifi' will be removed, because there
      is no good way to obtain this information at scan time.  Note that
      this was previously an optional field (available through -o), and
      not part of the default scan-wifi output format.

      Similarly, `dladm connect-wifi' will not use `-a' as a scan filter.

   2. Connect to non-broadcast WLANs  [ dladm-wifi.pdf, section 3.2 ]

      To support connections to non-broadcast WLANs and to improve
      performance, if the -e (ESSID) or -i (BSSID) options are specified
      to connect-wifi, then connect-wifi immediately attempts to connect
      to the specified network that matches the rest of the provided
      parameters.  If this connect fails and an ESSID was specified,
      connect-wifi falls back to the existing approach (if a BSSID was
      specified, there is no need to fall back since there can only be
      one network with the specified BSSID.)

   3. "secobj" -> "dladm" username    [ dladm-wifi.pdf, sections 2.6+2.7 ]

      The "secobj" user will be changed to "dladm".  This falls out of
      changes necessary to allow dladm to run without being root:

        a. In order for dladm to modify persistent link configuration other
           than secobj.conf (such as aggregation.conf and linkprop.conf) all
           dladm files must also be writable by the same uid that dladm
           executes as.

        b. Since it doesn't make sense to have files with non-confidential
           information owned by user "secobj", we propose to generalize the
           user name to "dladm".
 
      As before, secobj.conf will be mode 600, and the other configuration
      files will be 644.

   4. /etc/dladm directory            [ dladm-wifi.pdf, section 2.8 ]

      A new /etc/dladm directory will house the dladm configuration files.
      This is also necessary to allow dladm to run without being root.
      Specifically, since /etc is owned by root, dladm does not have
      permission to create files in it without being root.  Thus, we propose
      an /etc/dladm directory owned by the new dladm user with mode 755.
      The existing configuration file (/etc/aggregation.conf) will be
      automatically migrated to /etc/dladm/aggregation.conf upon upgrade.
      Note that /etc/aggregation.conf was/is not documented, and is
      manipulated exclusively through dladm.

   5. RBAC instead of direct setuid   [ dladm-wifi.pdf, section 2.6 ]

      The dladm command will use RBAC to change its uid to `dladm', rather
      than use setuid.  This was done to minimize the changes needed to
      audit all subcommands, since all RBAC command invocations are already
      audited.  In addition, if exploits are found in dladm, this limits
      possible privilege escalation to any users who are part of the Network
      Administration RBAC profile.

   6. Auditing                        [ dladm-wifi.pdf, section 2.7 ]

      Thanks to the help of Gary Winiger and Darren Moffat, the specifics
      for auditing have been bolted down.  RBAC will be used to audit most
      dladm subcommands, but two new audit events have been added to track
      attempts to create and destroy secure objects.  We will obtain a
      contract so that dladm can use the internal auditing API specified
      by PSARC/2000/517.

   7. dladm init subcommands          [ dladm-wifi.pdf, section 2.9 ]

      Two new undocumented dladm subcommands, init-linkprop and init-secobj,
      will be added to configure any persistent link properties and secure
      objects at boot.  These will be run from the net-physical script.
      This mirrors the existing handling of persistent link aggregations.

   8. dladm show-linkprop tweak       [ dladm-wifi.pdf, section 2.3 ]

      The heading for the final show-linkprop field has been changed to
      POSSIBLE VALUES.  This is necessary because in some cases the only way
      to figure out what values can be set is to attempt the set operation
      itself, which is destructive (and further, that the list of modifiable
      values depends on the driver and the WiFi link's state).

   9. mactype_register_t tweak        [ gldv3-wifi.txt, section 2.2.2 ]

      The consolidation-private mactype_register_t structure introduced by
      PSARC/2006/248 will be expanded to include one additional member,
      mtr_nativetype.  This will indicate the native type associated with
      the plugin (e.g., DL_WIFI); plugins that always use their native type
      will set mtr_nativetype to mtr_type.  We will update all plugins to
      fill in mtr_nativetype.

      This will enable the GLDv3 framework to automatically handle the
      DLIOCNATIVE by adjusting the DLPI stream to use the native type.
      The DLIOCNATIVE semantics proposed by PSARC/2006/406 are unchanged.

  10. Alternate root API support      [ libdladm.txt, sections 1.1+2.1+2.3 ]

      The dladm_set_prop(), dladm_set_secobj(), and dladm_unset_secobj()
      functions now take an `altroot' parameter, to allow implementation of
      the existing dladm(1M) -R support.

  11. Persistent secobj walk API      [ libdladm.txt, section 2.4 ]

      The dladm_walk_secobj() function now can walk persistent secure
      objects, as needed by the existing dladm show-secobj subcommand.

  12. Direct connect API              [ libwladm.txt, section 1.2 ]

      The wladm_connect() function now supports a WLADM_OPT_NOSCAN flag,
      which allows the caller to bypass the normal scan behavior.  This has
      been requested by the NWAM project, and is also used to provide the
      aforementioned support for connecting to non-broadcast WLANs.

  13. libdladm conversion API         [ libdladm.txt, section 3 ]

      Conversion routines for mapping libdladm error codes and secure object
      classes to strings (and vice versa) are now specified in libdladm.txt.
      These are not new, but were accidentally omitted from the 2006/406
      materials.

  14. libdladm init API               [ libdladm.txt, sections 1.4+2.6 ]

      To support the dladm init subcommands (item 7), dladm_init_linkprop()
      and dladm_init_secobj() have been added to libdladm.

-- 
meem

From sacadmin Thu Aug 31 04:59:40 2006
Received: from phorcys.east.sun.com (phorcys.East.Sun.COM [129.148.174.143])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7VBxeT8021029
	for <psarc@sac.sfbay.sun.com>; Thu, 31 Aug 2006 04:59:40 -0700 (PDT)
Received: from phorcys.east.sun.com (localhost [127.0.0.1])
	by phorcys.east.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7VC1ajN009208;
	Thu, 31 Aug 2006 08:01:36 -0400 (EDT)
Received: (from carlsonj@localhost)
	by phorcys.east.sun.com (8.13.7+Sun/8.13.7/Submit) id k7VC1aXT009205;
	Thu, 31 Aug 2006 08:01:36 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17654.53152.264486.960715@gargle.gargle.HOWL>
Date: Thu, 31 Aug 2006 08:01:36 -0400
From: James Carlson <james.d.carlson@sun.com>
To: Peter Memishian <Peter.Memishian@sun.com>
Cc: psarc@sac.sfbay.sun.com, wifi-dladm@sun.com
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
In-Reply-To: Peter Memishian's message of 30 August 2006 23:32:20
References: <17654.22596.609613.219172@triplex.East.Sun.COM>
X-Mailer: VM 7.01 under Emacs 21.3.1
Status: RO
Content-Length: 1075

Peter Memishian writes:
>   10. Alternate root API support      [ libdladm.txt, sections 1.1+2.1+2.3 ]
> 
>       The dladm_set_prop(), dladm_set_secobj(), and dladm_unset_secobj()
>       functions now take an `altroot' parameter, to allow implementation of
>       the existing dladm(1M) -R support.

You don't need to do it this same way, but other libraries with this
functionality have a separate "set root" function that sets a global
root directory path for the entire library, rather than inserting
extra arguments to the set/get functions.

Besides making the usage of the API more complex (it's easier to call
a "set root" function from the getopt loop), having this as an extra
parameter can turn out to be inconvenient when you find you need to
access private configuration files from within API functions that
aren't given the root path.

-- 
James Carlson, KISS Network                    <james.d.carlson@sun.com>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

From sacadmin Thu Aug 31 12:31:33 2006
Received: from triplex.East.Sun.COM (triplex.East.Sun.COM [129.148.174.104])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7VJVW34000029
	for <psarc@sac.sfbay.sun.com>; Thu, 31 Aug 2006 12:31:33 -0700 (PDT)
Received: from triplex.East.Sun.COM (localhost [127.0.0.1])
	by triplex.East.Sun.COM (8.13.8+Sun/8.13.8) with ESMTP id k7VJVWJJ014249;
	Thu, 31 Aug 2006 15:31:32 -0400 (EDT)
Received: (from meem@localhost)
	by triplex.East.Sun.COM (8.13.8+Sun/8.13.8/Submit) id k7VJVWK1014246;
	Thu, 31 Aug 2006 15:31:32 -0400 (EDT)
From: Peter Memishian <peter.memishian@sun.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17655.14612.433266.157261@triplex.East.Sun.COM>
Date: Thu, 31 Aug 2006 15:31:32 -0400
To: James Carlson <James.D.Carlson@sun.com>
Cc: Peter Memishian <Peter.Memishian@sun.com>, psarc@sac.sfbay.sun.com,
        wifi-dladm@sun.com
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
In-Reply-To: <17654.53152.264486.960715@gargle.gargle.HOWL>
References: <17654.22596.609613.219172@triplex.East.Sun.COM>
	<17654.53152.264486.960715@gargle.gargle.HOWL>
X-Mailer: VM 7.17 under 21.4 (patch 18) "Social Property" XEmacs Lucid
Status: RO
Content-Length: 708


 > You don't need to do it this same way, but other libraries with this
 > functionality have a separate "set root" function that sets a global
 > root directory path for the entire library, rather than inserting
 > extra arguments to the set/get functions.
 > 
 > Besides making the usage of the API more complex (it's easier to call
 > a "set root" function from the getopt loop), having this as an extra
 > parameter can turn out to be inconvenient when you find you need to
 > access private configuration files from within API functions that
 > aren't given the root path.

That's a good point.  Eric, any objection to adding a dladm_set_root()
function and removing the `altroot' arguments?

-- 
meem

From sacadmin Thu Aug 31 13:45:18 2006
Received: from albian-mail.SFbay.Sun.COM (albian-mail.SFBay.Sun.COM [10.11.30.12])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7VKjIU0001750
	for <psarc@sac.sfbay.sun.com>; Thu, 31 Aug 2006 13:45:18 -0700 (PDT)
Received: from albian-mail.SFbay.Sun.COM (localhost [127.0.0.1])
	by albian-mail.SFbay.Sun.COM (8.12.10+Sun/8.12.10/ENSMAIL,v2.2) with ESMTP id k7VKjH1R018761;
	Thu, 31 Aug 2006 13:45:17 -0700 (PDT)
Received: (from ericheng@localhost)
	by albian-mail.SFbay.Sun.COM (8.12.10+Sun/8.12.10/Submit) id k7VKjHvd018760;
	Thu, 31 Aug 2006 13:45:17 -0700 (PDT)
Message-Id: <200608312045.k7VKjHvd018760@albian-mail.SFbay.Sun.COM>
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
In-Reply-To: <17655.14612.433266.157261@triplex.East.Sun.COM> from Peter Memishian
 at "Aug 31, 2006 03:31:32 pm"
To: Peter Memishian <Peter.Memishian@sun.com>
Date: Thu, 31 Aug 2006 13:45:17 -0700 (PDT)
CC: James Carlson <James.D.Carlson@sun.com>, psarc@sac.sfbay.sun.com,
        wifi-dladm@sun.com
From: Eric Cheng <tlc@sun.com>
X-Mailer: ELM [version 2.4ME+ PL66 (25)]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Status: RO
Content-Length: 775

> 
>  > You don't need to do it this same way, but other libraries with this
>  > functionality have a separate "set root" function that sets a global
>  > root directory path for the entire library, rather than inserting
>  > extra arguments to the set/get functions.
>  > 
>  > Besides making the usage of the API more complex (it's easier to call
>  > a "set root" function from the getopt loop), having this as an extra
>  > parameter can turn out to be inconvenient when you find you need to
>  > access private configuration files from within API functions that
>  > aren't given the root path.
> 
> That's a good point.  Eric, any objection to adding a dladm_set_root()
> function and removing the `altroot' arguments?
> 

no. I'll add it. I agree it's cleaner.

eric

From sacadmin Wed Sep  6 00:18:25 2006
Received: from stradale.prc.sun.com (dhcp-cbjs05-219-68.PRC.Sun.COM [129.158.219.192])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k867IEQU007424
	for <psarc@sac.sfbay.sun.com>; Wed, 6 Sep 2006 00:18:25 -0700 (PDT)
Received: from stradale.prc.sun.com (stradale [127.0.0.1])
	by stradale.prc.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k867HYUK008000;
	Wed, 6 Sep 2006 03:17:34 -0400 (EDT)
Received: (from meem@localhost)
	by stradale.prc.sun.com (8.13.7+Sun/8.13.7/Submit) id k867HYZg007997;
	Wed, 6 Sep 2006 03:17:34 -0400 (EDT)
From: <peter.memishian@sun.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17662.30221.980394.61142@gargle.gargle.HOWL>
Date: Wed, 6 Sep 2006 03:17:33 -0400
To: James Carlson <James.D.Carlson@sun.com>
Cc: psarc@sac.sfbay.sun.com, wifi-dladm@sun.com
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
In-Reply-To: <17654.53152.264486.960715@gargle.gargle.HOWL>
References: <17654.22596.609613.219172@triplex.East.Sun.COM>
	<17654.53152.264486.960715@gargle.gargle.HOWL>
X-Mailer: VM 7.17 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid
Status: RO
Content-Length: 907


 > Besides making the usage of the API more complex (it's easier to call
 > a "set root" function from the getopt loop), having this as an extra
 > parameter can turn out to be inconvenient when you find you need to
 > access private configuration files from within API functions that
 > aren't given the root path.

I have updated libdladm.txt in the materials directory to include this
change -- see section 4.1.

One messy bit is validation of the specified directory; the current
proposal is for dladm_set_rootdir() to validate that the specified
directory exists and is accessible -- but this is not bulletproof since
the directory may be removed or become inaccessible by the time it needs
to be used.  Still, I think this behavior is preferable to always doing
"lazy" validation because it eases error reporting in the common case
(e.g., where the administrator fat-fingered the -R path).

-- 
meem

From sacadmin Wed Sep  6 08:04:29 2006
Received: from phorcys.east.sun.com (phorcys.East.Sun.COM [129.148.174.143])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k86F4T52004207
	for <psarc@sac.sfbay.sun.com>; Wed, 6 Sep 2006 08:04:29 -0700 (PDT)
Received: from phorcys.east.sun.com (localhost [127.0.0.1])
	by phorcys.east.sun.com (8.13.8+Sun/8.13.8) with ESMTP id k86F6WlK006719;
	Wed, 6 Sep 2006 11:06:32 -0400 (EDT)
Received: (from carlsonj@localhost)
	by phorcys.east.sun.com (8.13.8+Sun/8.13.8/Submit) id k86F6We4006716;
	Wed, 6 Sep 2006 11:06:32 -0400 (EDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17662.58359.733679.675395@gargle.gargle.HOWL>
Date: Wed, 6 Sep 2006 11:06:31 -0400
From: James Carlson <james.d.carlson@sun.com>
To: Peter.Memishian@sun.com
Cc: psarc@sac.sfbay.sun.com, wifi-dladm@sun.com
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
In-Reply-To: Peter.Memishian@Sun.COM's message of 6 September 2006 03:17:33
References: <17654.22596.609613.219172@triplex.East.Sun.COM>
	<17654.53152.264486.960715@gargle.gargle.HOWL>
	<17662.30221.980394.61142@gargle.gargle.HOWL>
X-Mailer: VM 7.01 under Emacs 21.3.1
Status: RO
Content-Length: 1366

Peter.Memishian@Sun.COM writes:
> 
>  > Besides making the usage of the API more complex (it's easier to call
>  > a "set root" function from the getopt loop), having this as an extra
>  > parameter can turn out to be inconvenient when you find you need to
>  > access private configuration files from within API functions that
>  > aren't given the root path.
> 
> I have updated libdladm.txt in the materials directory to include this
> change -- see section 4.1.
> 
> One messy bit is validation of the specified directory; the current
> proposal is for dladm_set_rootdir() to validate that the specified
> directory exists and is accessible -- but this is not bulletproof since
> the directory may be removed or become inaccessible by the time it needs
> to be used.  Still, I think this behavior is preferable to always doing
> "lazy" validation because it eases error reporting in the common case
> (e.g., where the administrator fat-fingered the -R path).

If you're removing the root directory for the alternate system image
at the same time you're trying to administer it, I think you're bound
to see a number of surprising effects.

-- 
James Carlson, KISS Network                    <james.d.carlson@sun.com>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

From sacadmin Mon Sep 11 08:29:58 2006
Received: from stradale.prc.sun.com (dhcp-cbjs05-219-106.PRC.Sun.COM [129.158.219.230])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k8BFTu8p028757
	for <psarc@sac.sfbay.sun.com>; Mon, 11 Sep 2006 08:29:57 -0700 (PDT)
Received: from stradale.prc.sun.com (stradale [127.0.0.1])
	by stradale.prc.sun.com (8.13.8+Sun/8.13.8) with ESMTP id k8BFSxEY011601;
	Mon, 11 Sep 2006 11:28:59 -0400 (EDT)
Received: (from meem@localhost)
	by stradale.prc.sun.com (8.13.8+Sun/8.13.8/Submit) id k8BFSx9Z011598;
	Mon, 11 Sep 2006 11:28:59 -0400 (EDT)
From: <peter.memishian@sun.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <17669.32955.158764.93044@gargle.gargle.HOWL>
Date: Mon, 11 Sep 2006 11:28:59 -0400
To: psarc@sac.sfbay.sun.com
Cc: wifi-dladm@sun.com
Subject: Re: PSARC/2006/517 WiFi for GLDv3 Addendum
X-Mailer: VM 7.17 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid
Status: RO
Content-Length: 691


This case was approved at the PSARC meeting on September 6th.

I have updated the case materials to reflect two additional tiny changes
requested by the team during our last round of self-review:

	* The "-t <timeout>" argument to connect-wifi has been changed
	  to  "-T <timeout>", since other uses of "time" in other dladm
	  subcommands use -T, and since -t is otherwise used to mean
	  "temporary".

	* The "maximum" value of the "powermode" link property has been
	  changed to "max", on the grounds that it is just as clear,
	  consumes less 80-column space, and is easier to type.

If these changes are seen as controversial, please let us know and we can
discuss further.

--
meem

