[i18n-discuss] EOF of @euro locales [PSARC/2009/342 FastTrack timeout 06/11/2009]

2009-06-05 Thread Joerg Schilling
Nicolas Williams Nicolas.Williams at sun.com wrote:

 It's easiest to resolve by EOFing all non-Unicode locales.  But that's
 not necessarily a practical solution.

/usr/bin/vi is listed as non multi byte enabled, you would need to change 
at least this program, there are others.

J?rg

-- 
 EMail:joerg at schily.isdn.cs.tu-berlin.de (home) J?rg Schilling D-13353 Berlin
   js at cs.tu-berlin.de(uni)  
   joerg.schilling at fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily



HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Edward Pilatowicz
ok.  we've descended into design review here, so i'll toss in my $0.02.

wrt the comments below, i think that having the X server close and
re-open devices during VT switches is a bad idea.  too much complexity
and lots of opportunites for ugly failures.

i understand that the HIDIOCKM?DIRECT ioctls are modeled after the
KIOC?DIRECT, but imho, the suggested ioctls also suffer from some ugly
potential failure modes as well.  for example, what does the X server do
if this ioctl call fails.  will the VT we switch to work?  or if the X
server never issues these ioctls (because it's hung or for some other
reason), will we switch to a VT that can't get any input?

hence, if at all possible, i'd like the kernel to handle all these
plumbing changes automatically rather than requiring additional X server
interactions whenever a VT switch occurs.

so would it be possible to introduce a new ioctl that the X server could
use that would tell the kernel that a given device stream (hid, or
/dev/mouse, /dev/kbd, etc) is associated with a specific VT?  if we had
such an ioctl then when the X server opened an input device it would
immediatly issue the ioctl to associate the device with the VT it's
using.  (if the X server isn't using a VT but is instead running on a
dedicated framebuffer, it wouldn't issue the ioctl.)  that way, the
kernel could keep track of input device stream to VT bindings, and when
switching between VTs it could automatically redirect device streams as
necessary without requiring any interractions from the X server.

thoughts?
ed

On Wed, Jun 03, 2009 at 10:20:38AM +0800, Aaron Zang wrote:
 I'd like to summarize the request or benefit of this pair of ioctls.

 1. Switching from Xorg to console while Xorg is running as a non-root
user. Of course we can seteuid() to root, close the input devices
and reopen them with root euid again while switching back to Xorg.
The thing is the handling of VT switching in xfree86 level of Xorg
(not down to Solaris level yet) *disables* the input devices instead
of closing them. If we were to adopt the close/reopen way, we need
to add Solaris specific code to the xfree86 level which seems ugly
to me and does not align with the handling of other OSes. Since
the upstream is the Xorg community, the better we make our changes
in Solaris specific level the better.
Plus, not setting euid to root again reduces the risk of potential
security attacks.

 2. When we are back on console, Xorg is still listening to HAL.
If a keyboard is hooked up, Xorg will get the hotplug inform
from HAL and thus will open the keyboard via its hid nodes.
This would cause the input routed to the external stream even
if we are on the console now. Without the ioctl, the keyboard
will not be usable until we switch to Xorg. It could be reproduced
on my prototype of Xorg vt support.
Maybe the Xorg can ignore the input device hotplugging information
while on console, and query the info again upon switching back.
But this would involve deciding which input devices are old and
which are newly plugged. Complex.

 3. hid device driver maintains 2 streams, ioctls to control the
routing of input between these 2 streams seems to be a natural
thing. If we can save the above complexities with these 2 simple
ioctls and accomplish a desirable clear architecture, why not?


 The above are what I could think of till now.

 Regards,
 Aaron


 On 06/03/09 08:46, Aaron Zang wrote:
 Actually this case is not with the intention to fix the hotplugged
 devices bug.
 Yes, Xorg needs to seteuid(0) back to open the newly plugged devices.
 But for the existing devices which are already opened, would it be
 easier and
 better to just send down a ioctl to switch streams than closing them on
 switching
 away and opening them upon switching back with seteuid(0)?

 I was just following the idea of KIOCSDIRECT ioctl, and at least to me, the
 shorter of time an application is running with euid 0 the better.


 Regards,
 Aaron


 On 06/03/09 08:28, Alan Coopersmith wrote:
 James Carlson wrote:
 Alan Coopersmith writes:
 That's a bug that was just reported to me in private e-mail while
 I was out on
 vacation last week.   We need to fix Xorg to setuid back to root
 before opening
 hotplugged devices.
 So ... with that bug fixed, does the need for this special ioctl
 remain?  Doesn't closing the descriptor and reopening it when needed
 fix the problem?

 Now that I've had a chance to look at it and not just read the
 e-mail, I'm
 trying to determine if that is the correct fix or if the bug is in
 the kernel
 side.   The devices are owned by the uid Xorg is running as, due to
 logindevperms, but it seems additional privileges are being required
 by the
 kernel drivers (PRIV_SYS_DEVICES) - if it's correct for them to
 require that,
 then I'll work on fixing Xorg to seteuid(0) there.   (Xorg has not
 been made
 privilege aware so far since the two 

HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Edward Pilatowicz
On Fri, Jun 05, 2009 at 11:11:42AM +0800, Aaron Zang wrote:
 Hey Ed,

 Yes, as you said, we've descended into design review again. ;) I guess
 it's because these fast changes/features in Xorg were not foreseeable
 during the initial design.

 Your philosophy of more simple interface between the application and
 the kernel is what I have been seeking.
 Here is some of my primary thoughts on what you pointed out. Please advise.

 1) The HID streams switch ioctls are still needed, even though within
the kernel.
If the kernel knows which hid device is related to which VT, it (console)
still need to tell the hid driver to switch streams when necessary.


sure, but then those redirection ioctls are then private kernel
interfaces that the xserver doesn't need to know about them.  (there by
simplifying the xserver and requiring less solaris specific code within
the xserver.)

 2) The following is the current architecture digram.
Letting console know about the information in hid level sounds bad to me.
The other option is to let conskbd maintain the info of which hid device
is related to which VT. This would result in conskbd knowing about
console/VT details. Still not good.


   +-+  ||
   | console |  ||
   +++  ||
|   ||
|   ||
  +-+---+--+ |
  |  conskbd   | |
  ++---+ |
   | |
   | |
 +-+-+--+
 |hid   |
 +--+


why doesn't the VT subsystem keep track of which devices are associated
with a given VT?

if a hid device get's a vt bind ioctl it could invoke some VT callback
function that tracks the binding/association.  then when the VT
subsystem get's a request to switch VTs, it could redirect io as needed.

 3) Say Xorg registers which input device it's using during start up to
the kernel, and upon receiving that ioctl, the kernel (either console
or conskbd) set up a list of input devices for each VT. What if
Xorg gets killed and does not have the chance to issue the ioctl to
inform the kernel to free the list?
Yes, every opened file would be closed, it could be the hid driver
tell the list maintainer to update, would it involve complex interfaces
between the 3 components -- console/conskbd/hid?



this would need to be managed in two ways.

first, if a VT is closed (which is what would presumably happen if the
X server died), then all device bindings for that VT are torn down.

second, whenever a hid device stream is being closed, it could invoke
another VT callback function to let the VT subsystem know that any
bindings for that device stream should be torn down.

all this io-redirection complexity is being introduced by the fact that
we want to support VTs.  hence, at least to me, it makes sense to have
the VT subsystem track and manage this complexity.  handling this all
automatically in the VT subsystems seems like a much cleaner approach
than forcing every VT consumer (like the X server) to manage system VT
device io.

ed



rtorrent libtorrent [PSARC/2009/336 FastTrack timeout 06/10/2009]

2009-06-05 Thread Jim Walker
James Walker wrote:
 I'm sponsoring this familiarity case for Alex Zhang. The requested
 release binding is minor. The man pages have been posted in the
 materials directory. The OpenSSL contract link will be posted after
 it is approved.

I added the approved openssl contract link to the materials directory.

Cheers,
Jim



HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Edward Pilatowicz
On Fri, Jun 05, 2009 at 03:09:23PM +0800, Aaron Zang wrote:
 Hi Ed,

 I think we are missing some points here.

it's quite likely that i'm missing a lot of points, so please be patient
with me.

 The hid (or other devices) are not only associated to VTs.
 If these devices are exclusively for console uses, it would
 be great to bind them to VTs.
 But how about other appliations which access these devices
 with no regard to console?


other apps wouldn't issue the binding ioctl, so they would have
exclusive access to the device, regardless of vt switching.  just the
way it works today.

do you have any specific examples of these types of applications and how
they work?

 Say Xorg opens /dev/usb/hid0, and then a privileged application
 opens /dev/usb/hid0 and starts to read. If switched back to console,
 input will be switched to the internal stream silently.
 The user application may starve if never switching back.
 At least with the HIDIOC[GS]IOCTLS the user application may switch
 the input back.


can you provide an example of this case?

it seems to me that if both X and the privileged app try to read from
the same stream at the same time, the results will be non-deterministic.
(X may get some data and the app may get other bits.)  how does this
work today?

also, do you really expect applications (other than X) to be
HIDIOC[GS]IOCTLS aware?  if the X server switches intput away from the
app with HIDIOCSIOCTLS, how will the app detect that it should be
issuing a HIDIOC[GS]IOCTLS to switch back?  also, if the application did
this wouldn't X also start recieving data again as well?

 The real problem resulting in the Solaris specific code in handling
 switch in Xorg is because our console/hid... devices are STREAMS
 based, if they are normal character devices, there won't be any
 differences.


really?  i thought the problem was an issue of deciding which consumer
of a keyboard/mouse (say console subsystem or an X session) is active,
and hence which device consumer should actually be recieving input from
the device.  is my understanding of the problem correct?  if so, how is
this decision affected by the device type (streams vs normal character
device).

ed

 Regards,
 Aaron


 On 06/05/09 14:11, Edward Pilatowicz wrote:
 On Fri, Jun 05, 2009 at 11:11:42AM +0800, Aaron Zang wrote:
 Hey Ed,

 Yes, as you said, we've descended into design review again. ;) I guess
 it's because these fast changes/features in Xorg were not foreseeable
 during the initial design.

 Your philosophy of more simple interface between the application and
 the kernel is what I have been seeking.
 Here is some of my primary thoughts on what you pointed out. Please advise.

 1) The HID streams switch ioctls are still needed, even though within
the kernel.
If the kernel knows which hid device is related to which VT, it (console)
still need to tell the hid driver to switch streams when necessary.


 sure, but then those redirection ioctls are then private kernel
 interfaces that the xserver doesn't need to know about them.  (there by
 simplifying the xserver and requiring less solaris specific code within
 the xserver.)

 2) The following is the current architecture digram.
Letting console know about the information in hid level sounds bad to me.
The other option is to let conskbd maintain the info of which hid device
is related to which VT. This would result in conskbd knowing about
console/VT details. Still not good.


   +-+  ||
   | console |  ||
   +++  ||
|   ||
|   ||
  +-+---+--+ |
  |  conskbd   | |
  ++---+ |
   | |
   | |
 +-+-+--+
 |hid   |
 +--+


 why doesn't the VT subsystem keep track of which devices are associated
 with a given VT?

 if a hid device get's a vt bind ioctl it could invoke some VT callback
 function that tracks the binding/association.  then when the VT
 subsystem get's a request to switch VTs, it could redirect io as needed.

 3) Say Xorg registers which input device it's using during start up to
the kernel, and upon receiving that ioctl, the kernel (either console
or conskbd) set up a list of input devices for each VT. What if
Xorg gets killed and does not have the chance to issue the ioctl to
inform the kernel to free the list?
Yes, every opened file would be closed, it could be the hid driver
tell the list maintainer to update, would it involve complex interfaces
between the 3 components -- console/conskbd/hid?



 this would need to be managed in two ways.

 first, if a VT is closed (which is what would presumably happen if the
 X server died), then all device bindings for that VT are torn down.

 second, whenever a hid device stream is being closed, it could invoke
 another VT callback function to let the VT subsystem know that 

Introducing non-persistent property group fastreboot_disable_np [PSARC/2009/338 FastTrack timeout 06/10/2009]

2009-06-05 Thread James Carlson
Sherry Moore writes:
 The updated write-up has been copied to the materials directory.

+1

-- 
James Carlson, Solaris Networking  james.d.carlson at sun.com
Sun Microsystems / 35 Network Drive71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677



PSARC/2009/332 New projects with boundless resources

2009-06-05 Thread Darren Reed
Updated spec below.

Darren

This project seeks micro/patch binding.

Problem
===
The /etc/project file has been delivered (PSARC/1999/119) but its
delivery did not define how we would add and name new projects,
only that the numbers less than 100 were reserved. In addition,
it did not offer full support of the features found in the project
utilities such as prctl(1).

Namespace
=
Now that the file has been shipped for a number of years, we need
to make reasonable guesses about what customers may have done since
its delivery.  One such guess is that they may have created projects
with names similar or the same as SMF FMRIs or executables with which
they are associated.  Thus in creating a new project to be shipped by
default, using a name such as login or init or inetd cannot be
considered to be without risk.

To provide us with the required flexibility for future enginering,
this case proposes that all project names starting with SUNW be
reserved and that they are not to be used by customers to define
their own projects.  This limitation needs to be documented in
updates to project(4) and projadd(1M).

Removing Limits
===
Using prctl(1), it is possible (depending on your privileges) to
add, change or remove resource limits associated with projects.
When using projadd(1M), it is only possible to define projects in
terms of new limits they will have: it is not possible to remove
an inherited resource limit using a project definition in
/etc/project.

Thus this case would like to propose that the /etc/project file
be extended to allow resource limits to be removed. The suggested
syntax is to simply be 'resource_name=removed'. As an example,
it would be possible to use project.max-contracts=removed.

Implementation
==
This cases proposes to implement the above suggestions and to
deliver the following changes to the existing platform.

New Project
~~~
| This case will deliver a new project called svc.inetd that will
  be added to /etc/project. The line to be added is:

| svc.inetd:5project.max-contracts=remove

| The project name svc.inetd is a Project Private interface.

svc:/network/inetd:default
~~
  The manifest for svc:/network/inetd:default will be updated to define
| the default inetd SMF service as a member of the svc.inetd project.

Discussion
==
It is reasonable to ask the question if one daemon has a resource
control problem, isn't it likely others will and thus isn't the
inetd problem being solved more generic? To answer that question,
it behooves us to recognise that inetd is a rather special daemon
and in SMF parlance, it is also in a special cateogry - restarter.

The problem being investigated here (6271923) is particular to inetd
in specific workload testing. Whilst we shouldn't be engineering the
system to require tuning, removing limits for all processes removes
the protection the limits offer, see PSARC/2004/460. In this regard,
the best course of action is for project teams to analyse and
understand the execution profiles that their daemons are likely to
have and deliver special project defintions as required.




IP Datapath Refactoring [PSARC/2009/331 FastTrack timeout 06/09/2009]

2009-06-05 Thread James Carlson
Erik Nordmark writes:
  The table that I know about is in here:
  

  http://cvsweb.netbsd.org/cgi-bin/cvsweb.cgi/~checkout~/src/usr.bin/netstat/netstat.1?rev=1.51content-type=text/plain
  
  ... and it maps RTF_CLONING to 'C' and RTF_CLONED to 'c'.  I don't
  know of a flag that maps to 'W', but I guess it's possible that was
  done on some system.
 
 Ah - I looked at freebsd at 
 http://www.freebsd.org/cgi/man.cgi?query=netstatapropos=0sektion=0manpath=FreeBSD+7.2-RELEASEformat=html
  
 which has different flags:
   C RTF_CLONING  Generate new routes on use
   c RTF_PRCLONINGProtocol-specified generate new routes on use
   W RTF_WASCLONEDRoute was generated as a result of cloning

Interesting ... I guess it's not surprising that there's mutation
going on here, though it's puzzling how that RTF_PRCLONING would be
used.

  Lining up with BSD would be a nice thing, if possible, but if we have
  to be different, I wouldn't complain too much.
 
 Which BSD seems to be the key question ;-)
 
 I'll stick with 'C'.

OK.

  Note that right now the refactor-gate implementation for local 
  connections doesn't have visibility to the port numbers when it does the 
  ECMP behavior. We'd to fix that to get better spreading.
  
  I'm not sure I follow.  I thought that the selection mechanism for
  local connections was described as round-robin.  How would port
  numbers or any ECMP get involved with that?
 
 Where is it described as round-robin?
 In my email where I said currently the kernel only does some form of 
 round robin for default routes?

You said this:

  The project extends the kernel's ability to handle multiple routes for the 
same
  prefix; currently the kernel only does some form of round robin for default 
  routes and the project extends that to all off-link routes (default, prefix, 
and
  host routes).

That text appears to say directly that you're extending the existing
round-robin behavior seen for default routes to all off-link routes.

Is that not true?

 The issue is that we don't want the implementation to pick a different 
 route just because some unrelated route change caused a need to 
 revalidate the ire cached for the connection. We do this by having a 
 predictable implementation. My point was that that algorithm can be 
 improved.

OK.  Hashed IDs instead of round-robin is certainly fine by me.  If
you go back through the thread, I was just trying to find out exactly
what the feature was (and wasn't) supposed to do.  Nothing more.

  At least to me, that's not quite the point.  We're _breaking_ that
  previous feature by permanently disabling it.  I think that may well
  be a good thing -- I can believe that we get acceptably good
  performance without the complication of MDT -- but I don't think it's
  useful to say that those things are still supported but simply never
  work.
 
 In which sense is it a feature? It is just a performance trick with a 
 contract private interface. Given that the trick now cost more in 
 support complexity than its benefits, why are we not free to stop using 
 that trick?

The IP stack has a contract extended to 'ce' to use it.

  Would we say we support LSO but then never allow anyone to use it?
 
 Do we claim to support MDT?

Sure.  For example, see:

  http://docs.sun.com/app/docs/doc/817-0404/appendixa-46?a=view

That's still not really the point here.

 I don't see what that would mean given that 
 the interfaces are contract private, hence no ISV/IHV should use them.

I doubt they do.  I think you're missing the point I'm making.

  I think doing this cleanly means obsoleting those old interfaces
  properly.
 
 I do not see any harm in keeping the MDT interfaces in place so that the 
 Cassini driver binaries continue to load into the kernel and work properly.
 Once Cassini is EOLed we can remove all vestiges of the MDT from the 
 system, but removing it earlier implies addition cost to the business 
 (maintaining another version of the Cassini driver) which doesn't seem 
 warranted.
 
 But if you are going to block this case on this issue, then I would be 
 forced to go spend the time to start the EO*L process.

I'm not asking about removal of the functions.  I agree that'd be
quite foolish.  It'd break at least the 'ce' driver and do so in
violation of the agreed-on contract and for no apparent benefit.  But,
as I said, I'm not asking for that at all.  (Nor do I understand why
anyone would think I'd ask for breakage like that or that by asking
questions I'd somehow block this case.  I never said any such
things.)

What I am asking for is *merely* documentation.  Please explicitly say
that this project retires those previous projects (the ARC cases
themselves).  You could do so by:

  - Explicitly stating that the interfaces specified in those previous
projects are now Obsolete.

  - Going through the process of notifying the contract holders that
the interfaces are going away.

That's all.  

PSARC/2009/332 New projects with boundless resources

2009-06-05 Thread Garrett D'Amore
+1

Darren Reed wrote:
 Updated spec below.

 Darren

 This project seeks micro/patch binding.

 Problem
 ===
 The /etc/project file has been delivered (PSARC/1999/119) but its
 delivery did not define how we would add and name new projects,
 only that the numbers less than 100 were reserved. In addition,
 it did not offer full support of the features found in the project
 utilities such as prctl(1).

 Namespace
 =
 Now that the file has been shipped for a number of years, we need
 to make reasonable guesses about what customers may have done since
 its delivery.  One such guess is that they may have created projects
 with names similar or the same as SMF FMRIs or executables with which
 they are associated.  Thus in creating a new project to be shipped by
 default, using a name such as login or init or inetd cannot be
 considered to be without risk.

 To provide us with the required flexibility for future enginering,
 this case proposes that all project names starting with SUNW be
 reserved and that they are not to be used by customers to define
 their own projects.  This limitation needs to be documented in
 updates to project(4) and projadd(1M).

 Removing Limits
 ===
 Using prctl(1), it is possible (depending on your privileges) to
 add, change or remove resource limits associated with projects.
 When using projadd(1M), it is only possible to define projects in
 terms of new limits they will have: it is not possible to remove
 an inherited resource limit using a project definition in
 /etc/project.

 Thus this case would like to propose that the /etc/project file
 be extended to allow resource limits to be removed. The suggested
 syntax is to simply be 'resource_name=removed'. As an example,
 it would be possible to use project.max-contracts=removed.

 Implementation
 ==
 This cases proposes to implement the above suggestions and to
 deliver the following changes to the existing platform.

 New Project
 ~~~
 | This case will deliver a new project called svc.inetd that will
  be added to /etc/project. The line to be added is:

 | svc.inetd:5project.max-contracts=remove

 | The project name svc.inetd is a Project Private interface.

 svc:/network/inetd:default
 ~~
  The manifest for svc:/network/inetd:default will be updated to define
 | the default inetd SMF service as a member of the svc.inetd project.

 Discussion
 ==
 It is reasonable to ask the question if one daemon has a resource
 control problem, isn't it likely others will and thus isn't the
 inetd problem being solved more generic? To answer that question,
 it behooves us to recognise that inetd is a rather special daemon
 and in SMF parlance, it is also in a special cateogry - restarter.

 The problem being investigated here (6271923) is particular to inetd
 in specific workload testing. Whilst we shouldn't be engineering the
 system to require tuning, removing limits for all processes removes
 the protection the limits offer, see PSARC/2004/460. In this regard,
 the best course of action is for project teams to analyse and
 understand the execution profiles that their daemons are likely to
 have and deliver special project defintions as required.





T11 Storage Management HBA API(SM-HBA) [PSARC/2008/687 FastTrack timeout 06/04/2009]

2009-06-05 Thread John Forte
This case has timed out with a +1 and no issues and has been marked 
closed approved.

- John



rtorrent libtorrent [PSARC/2009/336 FastTrack timeout 06/10/2009]

2009-06-05 Thread alex zhang
Hi all
 Thanks for the reply.

   A good news, it seem that this isn't a problem now.
   I just download the other libtorrent -- libtorrent- 
rasterbar-0.14.4.tar.gz,
after compile it, I saw it generate a library named libtorrent- 
rasterbar.so
In its compile options, I saw this define: -DPACKAGE_NAME=\libtorrent- 
rasterbar\
also the include directory it exported is named libtorrent, while  
our libtorrent's
include directory named torrent.

   That means there is not any conflict between both libtorrent now.
When we try to port libtorrent-rasterbar later, we can give it an other
package name : SUNWlibtorrent-rasterbar.

Thanks
- Alex
On Jun 4, 2009, at 8:36 PM, James Carlson wrote:

 Andras Barna writes:
 yeap
 they have libtorrent-rasterbar.so for libtorrent-rastebar
 and for rakshasa's simply libtorrent. so we can go this way too (if
 noone has other idea(s))

 If the library isn't really well-accepted in the open source community
 (i.e., it has just one consumer *and* there's an alternative that has
 many consumers), then making it a static library makes a lot more
 sense to me.  That way, you don't have to deal with either the package
 naming or the /usr/lib real estate issues.

 You can always break it back apart later and deliver it as a dynamic
 library if you find that someone else needs it.

 -- 
 James Carlson, Solaris Networking  james.d.carlson at sun.com 
 
 Sun Microsystems / 35 Network Drive71.232W   Vox +1 781 442  
 2084
 MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442  
 1677




[Fwd: Re: bvi [PSARC/2009/326 FastTrack timeout 06/04/2009]]

2009-06-05 Thread Vector Li
Jim Walker wrote:
 Vector,

 Can you comment on this?

 Cheers,
 Jim

Hi Jim,
Thanks for your help.


 

 Subject:
 Re: bvi [PSARC/2009/326 FastTrack timeout 06/04/2009]
 From:
 Alan Coopersmith Alan.Coopersmith at Sun.COM
 Date:
 Thu, 28 May 2009 15:34:28 -0700
 To:
 James Walker jw137282 at sac.sfbay.sun.com

 To:
 James Walker jw137282 at sac.sfbay.sun.com
 CC:
 PSARC-ext at Sun.COM, Vector.Li at Sun.COM


 James Walker wrote:
   
   4.2 Imported Interfaces

 Interface Name   Classification   Comments
 ---  
 --
 None
 

 Does this mean it will be using the standard curses library and not
 ncurses?   (ncurses would need to be called out in the imported interfaces
 since it's Volatile, and a Contract required.  The configure script allows
 using either one depending on flags.)
   
Yes, it uses standard curses library.
By default, to build bvi, we run configure as:
$ ./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/share/bvi
and we don't support this option (I don't think it is necessary to 
support as it is optional),
--with-ncurses=DIRpath to ncurses
So package SUNWbvi does not have a dependency on ncurses.

-- 
Regards,
Vector
Tel: +86-10-6267-3534 | SWAN: x80534




HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Aaron Zang
Hey Ed,

Yes, as you said, we've descended into design review again. ;) I guess
it's because these fast changes/features in Xorg were not foreseeable
during the initial design.

Your philosophy of more simple interface between the application and
the kernel is what I have been seeking.
Here is some of my primary thoughts on what you pointed out. Please advise.

1) The HID streams switch ioctls are still needed, even though within
the kernel.
If the kernel knows which hid device is related to which VT, it (console)
still need to tell the hid driver to switch streams when necessary.

2) The following is the current architecture digram.
Letting console know about the information in hid level sounds bad to me.
The other option is to let conskbd maintain the info of which hid device
is related to which VT. This would result in conskbd knowing about
console/VT details. Still not good.


   +-+  ||
   | console |  ||
   +++  ||
|   ||
|   ||
  +-+---+--+ |
  |  conskbd   | |
  ++---+ |
   | |
   | |
 +-+-+--+
 |hid   |
 +--+

3) Say Xorg registers which input device it's using during start up to
the kernel, and upon receiving that ioctl, the kernel (either console
or conskbd) set up a list of input devices for each VT. What if
Xorg gets killed and does not have the chance to issue the ioctl to
inform the kernel to free the list?
Yes, every opened file would be closed, it could be the hid driver
tell the list maintainer to update, would it involve complex interfaces
between the 3 components -- console/conskbd/hid?


Regards,
Aaron



On 06/05/09 10:20, Edward Pilatowicz wrote:
 ok.  we've descended into design review here, so i'll toss in my $0.02.
 
 wrt the comments below, i think that having the X server close and
 re-open devices during VT switches is a bad idea.  too much complexity
 and lots of opportunites for ugly failures.
 
 i understand that the HIDIOCKM?DIRECT ioctls are modeled after the
 KIOC?DIRECT, but imho, the suggested ioctls also suffer from some ugly
 potential failure modes as well.  for example, what does the X server do
 if this ioctl call fails.  will the VT we switch to work?  or if the X
 server never issues these ioctls (because it's hung or for some other
 reason), will we switch to a VT that can't get any input?
 
 hence, if at all possible, i'd like the kernel to handle all these
 plumbing changes automatically rather than requiring additional X server
 interactions whenever a VT switch occurs.
 
 so would it be possible to introduce a new ioctl that the X server could
 use that would tell the kernel that a given device stream (hid, or
 /dev/mouse, /dev/kbd, etc) is associated with a specific VT?  if we had
 such an ioctl then when the X server opened an input device it would
 immediatly issue the ioctl to associate the device with the VT it's
 using.  (if the X server isn't using a VT but is instead running on a
 dedicated framebuffer, it wouldn't issue the ioctl.)  that way, the
 kernel could keep track of input device stream to VT bindings, and when
 switching between VTs it could automatically redirect device streams as
 necessary without requiring any interractions from the X server.
 
 thoughts?
 ed
 
 On Wed, Jun 03, 2009 at 10:20:38AM +0800, Aaron Zang wrote:
 I'd like to summarize the request or benefit of this pair of ioctls.

 1. Switching from Xorg to console while Xorg is running as a non-root
user. Of course we can seteuid() to root, close the input devices
and reopen them with root euid again while switching back to Xorg.
The thing is the handling of VT switching in xfree86 level of Xorg
(not down to Solaris level yet) *disables* the input devices instead
of closing them. If we were to adopt the close/reopen way, we need
to add Solaris specific code to the xfree86 level which seems ugly
to me and does not align with the handling of other OSes. Since
the upstream is the Xorg community, the better we make our changes
in Solaris specific level the better.
Plus, not setting euid to root again reduces the risk of potential
security attacks.

 2. When we are back on console, Xorg is still listening to HAL.
If a keyboard is hooked up, Xorg will get the hotplug inform
from HAL and thus will open the keyboard via its hid nodes.
This would cause the input routed to the external stream even
if we are on the console now. Without the ioctl, the keyboard
will not be usable until we switch to Xorg. It could be reproduced
on my prototype of Xorg vt support.
Maybe the Xorg can ignore the input device hotplugging information
while on console, and query the info again upon switching back.
But this would involve deciding which input 

HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Aaron Zang
Hi Ed,

I think we are missing some points here.
The hid (or other devices) are not only associated to VTs.
If these devices are exclusively for console uses, it would
be great to bind them to VTs.
But how about other appliations which access these devices
with no regard to console?

Say Xorg opens /dev/usb/hid0, and then a privileged application
opens /dev/usb/hid0 and starts to read. If switched back to console,
input will be switched to the internal stream silently.
The user application may starve if never switching back.
At least with the HIDIOC[GS]IOCTLS the user application may switch
the input back.

The real problem resulting in the Solaris specific code in handling
switch in Xorg is because our console/hid... devices are STREAMS
based, if they are normal character devices, there won't be any
differences.

Regards,
Aaron


On 06/05/09 14:11, Edward Pilatowicz wrote:
 On Fri, Jun 05, 2009 at 11:11:42AM +0800, Aaron Zang wrote:
 Hey Ed,

 Yes, as you said, we've descended into design review again. ;) I guess
 it's because these fast changes/features in Xorg were not foreseeable
 during the initial design.

 Your philosophy of more simple interface between the application and
 the kernel is what I have been seeking.
 Here is some of my primary thoughts on what you pointed out. Please advise.

 1) The HID streams switch ioctls are still needed, even though within
the kernel.
If the kernel knows which hid device is related to which VT, it (console)
still need to tell the hid driver to switch streams when necessary.

 
 sure, but then those redirection ioctls are then private kernel
 interfaces that the xserver doesn't need to know about them.  (there by
 simplifying the xserver and requiring less solaris specific code within
 the xserver.)
 
 2) The following is the current architecture digram.
Letting console know about the information in hid level sounds bad to me.
The other option is to let conskbd maintain the info of which hid device
is related to which VT. This would result in conskbd knowing about
console/VT details. Still not good.


   +-+  ||
   | console |  ||
   +++  ||
|   ||
|   ||
  +-+---+--+ |
  |  conskbd   | |
  ++---+ |
   | |
   | |
 +-+-+--+
 |hid   |
 +--+

 
 why doesn't the VT subsystem keep track of which devices are associated
 with a given VT?
 
 if a hid device get's a vt bind ioctl it could invoke some VT callback
 function that tracks the binding/association.  then when the VT
 subsystem get's a request to switch VTs, it could redirect io as needed.
 
 3) Say Xorg registers which input device it's using during start up to
the kernel, and upon receiving that ioctl, the kernel (either console
or conskbd) set up a list of input devices for each VT. What if
Xorg gets killed and does not have the chance to issue the ioctl to
inform the kernel to free the list?
Yes, every opened file would be closed, it could be the hid driver
tell the list maintainer to update, would it involve complex interfaces
between the 3 components -- console/conskbd/hid?


 
 this would need to be managed in two ways.
 
 first, if a VT is closed (which is what would presumably happen if the
 X server died), then all device bindings for that VT are torn down.
 
 second, whenever a hid device stream is being closed, it could invoke
 another VT callback function to let the VT subsystem know that any
 bindings for that device stream should be torn down.
 
 all this io-redirection complexity is being introduced by the fact that
 we want to support VTs.  hence, at least to me, it makes sense to have
 the VT subsystem track and manage this complexity.  handling this all
 automatically in the VT subsystems seems like a much cleaner approach
 than forcing every VT consumer (like the X server) to manage system VT
 device io.
 
 ed

-- 
You know some birds are not meant to be caged, their feathers are just too 
bright.




HIDIOCKM[GS]DIRECT ioctls for the USB HID driver [PSARC/2009/329 FastTrack timeout 06/10/2009]

2009-06-05 Thread Aaron Zang


On 06/05/09 15:52, Edward Pilatowicz wrote:
 On Fri, Jun 05, 2009 at 03:09:23PM +0800, Aaron Zang wrote:
 Hi Ed,

 I think we are missing some points here.
 
 it's quite likely that i'm missing a lot of points, so please be patient
 with me.
 
 The hid (or other devices) are not only associated to VTs.
 If these devices are exclusively for console uses, it would
 be great to bind them to VTs.
 But how about other appliations which access these devices
 with no regard to console?

 
 other apps wouldn't issue the binding ioctl, so they would have
 exclusive access to the device, regardless of vt switching.  just the
 way it works today.
 

Other applications may share the same devices with Xorg which are bind
to certain VT by Xorg.


 do you have any specific examples of these types of applications and how
 they work?
 

No. But occasionally I need to cat /dev/usb/hid0 to see if my keyboard
is still working.
If a user does that on purpose, he probably won't want to lose
input, especially for a long time.
That might not be a very proper example. Just the idea of Xorg binding shared
devices to VTs seems very weird to me.

 Say Xorg opens /dev/usb/hid0, and then a privileged application
 opens /dev/usb/hid0 and starts to read. If switched back to console,
 input will be switched to the internal stream silently.
 The user application may starve if never switching back.
 At least with the HIDIOC[GS]IOCTLS the user application may switch
 the input back.

 
 can you provide an example of this case?
 
 it seems to me that if both X and the privileged app try to read from
 the same stream at the same time, the results will be non-deterministic.
 (X may get some data and the app may get other bits.)  how does this
 work today?
 

Yes, if they are both reading the results will be non-deterministic.
When switched away, Xorg may not be reading input, though it still keeps
the file open, but the other application may still reading.
Even when Xorg is active, it polls the input devices, so if there
are other applications reading the same input device, the input would
likely be read by the application.
I tried /dev/usb/hid0 in my gnome terminal, it seems this thread
gets all the input since the characters echoed on the terminal is
not recognizable.

 also, do you really expect applications (other than X) to be
 HIDIOC[GS]IOCTLS aware?  if the X server switches intput away from the
 app with HIDIOCSIOCTLS, how will the app detect that it should be
 issuing a HIDIOC[GS]IOCTLS to switch back?  also, if the application did
 this wouldn't X also start recieving data again as well?
 

My thoughts are if we switch streams automatically during switch
if would be UNFAIR for other applications not be able to switch them back.
There might not be any existing well known applications do that, but
we can not rule out the possibility, especially in the future.

The application could set up a timer, if it expires, it could
check the direction and if switched away, switched back, it is
privileged application, it could do anything it likes.


 The real problem resulting in the Solaris specific code in handling
 switch in Xorg is because our console/hid... devices are STREAMS
 based, if they are normal character devices, there won't be any
 differences.

 
 really?  i thought the problem was an issue of deciding which consumer
 of a keyboard/mouse (say console subsystem or an X session) is active,
 and hence which device consumer should actually be recieving input from
 the device.  is my understanding of the problem correct?  if so, how is
 this decision affected by the device type (streams vs normal character
 device).
 

If not STREAMS based, you do not need to switch streams. Just stop
reading the input devices if switched away.

Regards,
Aaron


 ed
 
 Regards,
 Aaron


 On 06/05/09 14:11, Edward Pilatowicz wrote:
 On Fri, Jun 05, 2009 at 11:11:42AM +0800, Aaron Zang wrote:
 Hey Ed,

 Yes, as you said, we've descended into design review again. ;) I guess
 it's because these fast changes/features in Xorg were not foreseeable
 during the initial design.

 Your philosophy of more simple interface between the application and
 the kernel is what I have been seeking.
 Here is some of my primary thoughts on what you pointed out. Please advise.

 1) The HID streams switch ioctls are still needed, even though within
the kernel.
If the kernel knows which hid device is related to which VT, it 
 (console)
still need to tell the hid driver to switch streams when necessary.

 sure, but then those redirection ioctls are then private kernel
 interfaces that the xserver doesn't need to know about them.  (there by
 simplifying the xserver and requiring less solaris specific code within
 the xserver.)

 2) The following is the current architecture digram.
Letting console know about the information in hid level sounds bad to 
 me.
The other option is to let conskbd maintain the info of which hid device
is related to which VT. 

Coherence [LSARC/2009/199 FastTrack timeout 04/08/2009]

2009-06-05 Thread Brian Cameron

A minor change to the coherence onepager.  The following package was
added to the Exported Interface table to contain the SMF integration
files.

   SUNWpython24-coherence-rootUncommitted  Package name to
   contain SMF
   integration files.

And also section 4.10 was updated to list the new package name as well:

  4.10. Packaging  Delivery:

  Adds new packages: SUNWpython24-coherence,
  SUNWpython24-coherence-root, and SUNWpython26-coherence

Brian


Brian Cameron wrote:
 Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
 This information is Copyright 2009 Sun Microsystems
 1. Introduction
 1.1. Project/Component Working Name:
Coherence
 1.2. Name of Document Author/Supplier:
Author:  Alfred Peng
 1.3  Date of This Document:
   25 March, 2009
 4. Technical Description
 Copyright 2009 Sun Microsystems
 
 1. Introduction
 1.1. Project/Component Working Name:
 
 Coherence
 
 1.2. Name of Document Author/Supplier:
 
 Alfred Peng
 
 1.3. Date of This Document:
 
 03/13/2009
 
 1.3.1. Date this project was conceived:
 
 07/12/2007
 
 1.4. Name of Major Document Customer(s)/Consumer(s):
 
 1.4.1. The PAC or CPT you expect to review your project:
 
 Solaris PAC
 
 1.4.2. The ARC(s) you expect to review your project:
 
 LSARC
 
 1.4.3. The Director/VP who is Sponsoring this project:
 
 robert.odea at sun.com
 
 1.4.4. The name of your business unit:
 
 New Solaris Group, Desktop
 
 1.5. Email Aliases:
 
 1.5.1. Responsible Manager:
 
 leo.binchy at sun.com
 
 1.5.2. Responsible Engineer:
 
 alfred.peng at sun.com
 
 1.5.3. Marketing Manager:
 
 glynn.foster at sun.com
 
 1.5.4. Interest List:
 
 desktop-discuss at opensolaris.org
 
 4. Technical Description:
 4.1. Details:
 Coherence is a DLNA (Digital Living Network Alliance)/UPnP (Universal
 Plug and Play) Framework written in Python for the Digital Living.
 
 The goals of UPnP are to allow devices to connect seamlessly and to
 simplify the implementation of networks in the home (data sharing,
 communications, and entertainment) and in corporate environments for
 simplified installation of computer components. With the UPnP 
 framework,
 users can setup their home media center with PCs, wireless devices
 (mobile phones, tablet PCs etc.) and networked appliances (TVs, audio
 players, multimedia players, games consoles etc.)[2].
 
 Coherence is divided into three main parts: the core, the virtual
 devices, and the device backends[3]. The core of coherence provides an
 implementation of: a SSDP (Simple Service Discovery Protocol) [4]
 server, a MSEARCH (command to find other devices connected to the
 UPnP network) client to find other devices connected to the network,
 server and client for HTTP/SOAP requests, server and client for Event
 Subscription and Notification.
 
 The virtual devices contain: Media Server to provide media content
 (local storage or online services) and directory information,
 Media Renderer to play back media content provided by the Media 
 Server,
 Control Point to interconnect Media Server and Media Renderer. The
 virtual device implementation registers with the core, declares which
 service interfaces it is using, and attaches callbacks which map the
 service actions to its backend. It's generally a translation map
 between the core and the device backend.
 
 The device backend is the part to host, render and control the media
 files. The following components could act as the device backend: file
 systems to store the media files, audio/video hardware and desktop GUI
 applications to render the media content and control the playback.
 
 For users, coherence can be used in conjunction with Rhythmbox, Totem 
 or
 Elisa, and become a controllable DLNA/UPnP Media Renderer. For 
 example,
 coherence is used in Elisa to talk with the Apple Movie trailer Media
 Server for its Movie trailer plugin and YouTube Media Server for its
 YouTube plugin. Coherence can also be configured as a DLNA/UPnP Media
 Server and exports local and remote media files via its backend to
 other UPnP clients.
 
 Developers get a python framework with an emerging DBus API. This
 framework is designed to automate all UPnP-related tasks as much as
 possible and enable applications to participate in digital living
 networks.
 
 In short, coherence provides two main features 

Obsoleting the multi-data transmit contracted interfaces [Re: IP Datapath Refactoring [PSARC/2009/331 FastTrack timeout 06/09/2009]

2009-06-05 Thread Erik Nordmark

Yatin,

[I assume you are the best contact to notify about this.]

The IP datapath refactoring project will make TCP/IP stop sending down 
M_MULTIDATA messages to the device drivers. However, the different ARCed 
interfaces remain in the system thus the Cassini driver will *not* need 
any changes.

To accurately reflect this I've asked the interfaces in PSARC 2004/594 
and PSARC 2002/276 to be marked as Obsolete.

(In some future when the Cassini driver has been EOLed we can consider 
removing those interfaces from the system.)

The two contracts have the following contacts at your end.

http://sac.eng/arc/PSARC/2004/594/contract-01.txt
3.  The CONSUMER is identified by the following:
 Product or Bundle: Solaris
 Consolidation: NSPG
 Department or Group:   NCS Connectivity
 Bugtraq Category/SubCategory:  ethernet_cassini/cassini_sw
 Responsible Manager:   Leo Hejza

http://sac.eng/arc/PSARC/2002/276/contract-001

3. The CONSUMER is identified by the following:
Product or Bundle:  Solaris
Consolidation:  OS/Networking
Department or Group:NS/Cassini
Bugtraq Category/SubCategory:   ethernet_cassini/cassini_sw
Responsible Manager:Jay Jayachandran

Erik




IP Datapath Refactoring [PSARC/2009/331 FastTrack timeout 06/09/2009]

2009-06-05 Thread Erik Nordmark
Here is the updated writeup, with draft man page diffs.

Hopefully this clarifies things.

Erik
-- next part --
An embedded and charset-unspecified text was scrubbed...
Name: ipd.psarc2
URL: 
http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20090605/dd75477c/attachment.ksh
-- next part --
An embedded and charset-unspecified text was scrubbed...
Name: ipd.psarc.netstat.diff
URL: 
http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20090605/dd75477c/attachment-0001.ksh
-- next part --
An embedded and charset-unspecified text was scrubbed...
Name: ipd.psarc.route.diff
URL: 
http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20090605/dd75477c/attachment-0002.ksh
-- next part --
An embedded and charset-unspecified text was scrubbed...
Name: ipd.psarc.route7p.diff
URL: 
http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20090605/dd75477c/attachment-0003.ksh


VSD locking update [PSARC/2009/343 FastTrack timeout 06/12/2009]

2009-06-05 Thread rich.br...@sun.com

I'm sponsoring the following fast-track for Bob Mastors.

This case is an update to PSARC 2007/456 Vnode Specific Data and adds
a new field to the vnode structure (in sys/vnode.h): v_vsd_lock.

The case seeks Minor binding which matches the binding of the original
case.  The timer expires on June 12, 2009.


Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
 VSD locking update
1.2. Name of Document Author/Supplier:
 Author:  Bob Mastors
1.3  Date of This Document:
05 June, 2009
4. Technical Description

PSARC 2007/456 Vnode Specific Data was created to easily associate
project specific data with a vnode.  The current implementation
requires consumers of vsd_get() and vsd_set() to hold the vnode v_lock
mutex across the calls.  However, vsd_set() may go to sleep on
kmem_alloc().  This could cause the system to deadlock if the vnode had
dirty pages that needed to be written.  This problem is described by:

  6839233 VSD usage of v_lock could cause deadlock

The solution adds a new mutex to vnode_t:

kmutex_tv_vsd_lock;/* protects v_vsd field */

Consumers of vsd_get() and vsd_set() would hold v_vsd_lock across the
calls instead of v_lock.  There are no lock ordering issues since the
locks are independent and there is no reason to hold both simultaneously.

Currently, the only ON consumer of vsd_get() and vsd_set() is NFS.

Exported Interfaces

Interface Name | Classification | Comments
=
   ||
v_vsd_lock | Consolidation  | New mutex in the vnode structure
   | Private| to protect v_vsd field

6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
ON
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open




PSARC/2009/332 New projects with boundless resources

2009-06-05 Thread Steve Lawrence
 Removing Limits
 ===
 Using prctl(1), it is possible (depending on your privileges) to
 add, change or remove resource limits associated with projects.
 When using projadd(1M), it is only possible to define projects in
 terms of new limits they will have: it is not possible to remove
 an inherited resource limit using a project definition in
 /etc/project.

 Thus this case would like to propose that the /etc/project file
 be extended to allow resource limits to be removed. The suggested
 syntax is to simply be 'resource_name=removed'. As an example,
 it would be possible to use project.max-contracts=removed.

I assume we would maintain the current removal behavor, which is done
by specifying the rctl name without any value?

-Steve L.




PSARC/2009/332 New projects with boundless resources

2009-06-05 Thread Scott Rotondo
Darren Reed wrote:
 Updated spec below.
 
 Darren
 
 This project seeks micro/patch binding.
 
 Problem
 ===
 The /etc/project file has been delivered (PSARC/1999/119) but its
 delivery did not define how we would add and name new projects,
 only that the numbers less than 100 were reserved. In addition,
 it did not offer full support of the features found in the project
 utilities such as prctl(1).
 
 Namespace
 =
 Now that the file has been shipped for a number of years, we need
 to make reasonable guesses about what customers may have done since
 its delivery.  One such guess is that they may have created projects
 with names similar or the same as SMF FMRIs or executables with which
 they are associated.  Thus in creating a new project to be shipped by
 default, using a name such as login or init or inetd cannot be
 considered to be without risk.
 
 To provide us with the required flexibility for future enginering,
 this case proposes that all project names starting with SUNW be
 reserved and that they are not to be used by customers to define
 their own projects.  This limitation needs to be documented in
 updates to project(4) and projadd(1M).

Don't you want to update this paragraph to reserve the svc.name 
namespace instead?

Scott

 
 Removing Limits
 ===
 Using prctl(1), it is possible (depending on your privileges) to
 add, change or remove resource limits associated with projects.
 When using projadd(1M), it is only possible to define projects in
 terms of new limits they will have: it is not possible to remove
 an inherited resource limit using a project definition in
 /etc/project.
 
 Thus this case would like to propose that the /etc/project file
 be extended to allow resource limits to be removed. The suggested
 syntax is to simply be 'resource_name=removed'. As an example,
 it would be possible to use project.max-contracts=removed.
 
 Implementation
 ==
 This cases proposes to implement the above suggestions and to
 deliver the following changes to the existing platform.
 
 New Project
 ~~~
 | This case will deliver a new project called svc.inetd that will
  be added to /etc/project. The line to be added is:
 
 | svc.inetd:5project.max-contracts=remove
 
 | The project name svc.inetd is a Project Private interface.
 
 svc:/network/inetd:default
 ~~
  The manifest for svc:/network/inetd:default will be updated to define
 | the default inetd SMF service as a member of the svc.inetd project.
 
 Discussion
 ==
 It is reasonable to ask the question if one daemon has a resource
 control problem, isn't it likely others will and thus isn't the
 inetd problem being solved more generic? To answer that question,
 it behooves us to recognise that inetd is a rather special daemon
 and in SMF parlance, it is also in a special cateogry - restarter.
 
 The problem being investigated here (6271923) is particular to inetd
 in specific workload testing. Whilst we shouldn't be engineering the
 system to require tuning, removing limits for all processes removes
 the protection the limits offer, see PSARC/2004/460. In this regard,
 the best course of action is for project teams to analyse and
 understand the execution profiles that their daemons are likely to
 have and deliver special project defintions as required.
 


-- 
Scott Rotondo
Principal Engineer, Solaris Security Technologies
President, Trusted Computing Group
Phone/FAX: +1 408 850 3655 (Internal x68278)