DCE: The Open Group Distributed Computing Environment
Notes on the free RPC source

The following is not an official statement. It is my personal opinion, based on looking at the distribution.

The distribution includes some extensions to pthreads needed by DCE, the RPC client and server runtime, the IDL compiler, the rpcd endpoint mapper, and a test program called perf. The runtime only supports the dummy ``no authentication'' RPC; standard DCE security features (authentication, authorization, privacy, etc.) are not provided in this free release. The NSI interface to the DCE namespace (e.g., that lets you map names like /.:/printers/mine to a particular printer) is not provided.

The code appears to be based on the DCE 1.1 codebase. I ran a few diffs to compare some files with what's going out on the 1.1 tapes and found no differences (other than copyright).

DCE needs threads; specifically it is based on Posix threads, Draft 4. The RPC runtime isolates threads use pretty well to a handful of macros, so if you don't have DCE threads it should be possible to port to your own threads. Full details on the semantics of DCE threads are available as part of the specifications.

Some documentation covers the threads requirements and should help with general building issues such as all the C pre-processor #define's. The IDL compiler sources ``recursively'' call lex and yacc. To do this they need to save and restore the state. You will need to know something about the internals of your generated code. Once you've solved those problems, the free DCE package provides you with a free DCE-compatible package for doing unauthenticated RPCs across clients and servers.

The distribution is covered by the following copyright:

 * (c) Copyright 1994 OPEN SOFTWARE FOUNDATION, INC.
 * (c) Copyright 1994 HEWLETT-PACKARD COMPANY
 * (c) Copyright 1991 DIGITAL EQUIPMENT CORPORATION
 * To anyone who acknowledges that this file is provided "AS IS"
 * without any express or implied warranty:
 *                 permission to use, copy, modify, and distribute this
 * file for any purpose is hereby granted without fee, provided that
 * the above copyright notices and this notice appears in all source
 * code copies, and that none of the names of Open Software
 * Foundation, Inc., Hewlett-Packard Company, or Digital Equipment
 * Corporation be used in advertising or publicity pertaining to
 * distribution of the software without specific, written prior
 * permission.  Neither Open Software Foundation, Inc., Hewlett-
 * Packard Company, nor Digital Equipment Corporation makes any
 * representations about the suitability of this software for any
 * purpose.

Hope you find this article OF MY OPINION useful.

Rich Salz