delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/05/31/09:00:12

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Date: Thu, 31 May 2001 14:59:57 +0200
From: Corinna Vinschen <vinschen AT redhat DOT com>
To: cygdev <cygwin-developers AT cygwin DOT com>
Subject: Re: [RFD]: Egor's proposal for a Cygwin server process
Message-ID: <20010531145957.H1870@cygbert.vinschen.de>
Reply-To: cygdev <cygwin-developers AT cygwin DOT com>
Mail-Followup-To: cygdev <cygwin-developers AT cygwin DOT com>
References: <20010531124452 DOT G1870 AT cygbert DOT vinschen DOT de> <041801c0e9c0$23a3e4b0$0200a8c0 AT lifelesswks>
Mime-Version: 1.0
User-Agent: Mutt/1.2.5i
In-Reply-To: <041801c0e9c0$23a3e4b0$0200a8c0@lifelesswks>; from robert.collins@itdomain.com.au on Thu, May 31, 2001 at 08:54:59PM +1000

On Thu, May 31, 2001 at 08:54:59PM +1000, Robert Collins wrote:
> From: "Corinna Vinschen" <vinschen AT redhat DOT com>
> > Has somebody a suggestion how to interact with that server process?
> > Sockets? Named pipes? Smoke signals?
> 
> Smoke signals. Definately. They will offer us many benefits:
> * We will gain instant cross-platform access. (Smoke signals are
> understood equally well on any binary computer).
> * Lower heating bills for folk in cold places.
> * Smoke Access Protocol (SAP). Derived from the source for SMOKE(wet
> foliage), this protocol offers sticky information tagging, an important
> resource for a wide area system such as smoke signals.

Does anybody know if an RFC exists for IPC using smoke signals?
I know of an RFC for IP over avian carrier but smoke signals...

> More seriously?
> Sockets: I think this offers security issues.
> Named pipes: Ditto.
> 
> I think COM with out-of-process only offers the capability for tight
> integration between the daemon and the process calling it. I'm not
> religious on this - just offering more work for someone else :].

Whatever method we use, it must provide at least the following features:

- Simple standarized protocol which is able to transport _any_ new
  messages. New features in the server should not affect the protocol
  implementation at all.

- Secure transmission of process data (pid, uid, gid) in terms of TRUTH.
  A process should never be able to pretend to be started by another
  user, for example.

> Most importantly: I think that the daemon interface needs a some-what fo
> rmal API for us in the peanut gallery that want to be able to add calls
> to it in the future.

Yep, that's too. But be aware that the interface to the server
process is only meant to be used INSIDE of Cygwin. For example,
the `seteuid()' call could be implemented as a call to the
server in future:

	int
	seteuid (uid_t uid)
	{
	  if (os_being_run == winNT)
	    {
	      cygsrv_message msg;
	      msg.set_message_type (CYGSRV_SETEUID);
	      msg.add_ulong_parameter (uid);
	      msg.call_cygwin_server ();
	      return msg.get_int_result ();
	    }
	  ...
	}

and the cygsrv_message class would implement the actual protocol.

The application interface is and will be the Cygwin DLL. The server
process is just used to do the dirty jobs for the DLL itself.

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin AT cygwin DOT com
Red Hat, Inc.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019