[Info-vax] Reinventing VMS logical names (Fuchsia & Win NT)
Jake Hamby (Solid State Jake)
jake.hamby at gmail.com
Thu Nov 16 15:07:31 EST 2023
On Thursday, November 16, 2023 at 11:17:26 AM UTC-8, Dan Cross wrote:
> In article <uj5n1i$2cg8e$1... at dont-email.me>,
> Arne Vajhøj <ar... at vajhoej.dk> wrote:
> >On 11/16/2023 1:18 PM, Dan Cross wrote:
> >> In article <uj5en8$2b2rf$1... at dont-email.me>,
> >> Arne Vajhøj <ar... at vajhoej.dk> wrote:
> >>>
> >>> DCE RPC use IDL. And it seems perfectly OO to me. A client can
> >>> be written in C but so can clients for CORBA. Just cumbersome.
> >>
> >> Sun ONC RPC uses an IDL too. Would you call that "Object
> >> Oriented"? If so, what does that term even mean?
> >
> >I don't know Sun ONC RPC IDL.
> It is easy enough to look it up. Same with DCE RPC, for that
> matter.
> >But if it is an abstract definition of an interface defining
> >the methods that an object implementation has to implement,
> >then it object oriented.
> That is too abstract to have meaning. For instance, how does
> one define "object" in this context? If I have a data structure
> represented as, say, a global array of machine words, and I
> expose a bunch of methods to manipulate that array via an RPC
> interface, is that "object oriented"? I don't think many
> serious programmers would argue that it is. Certainly, I don't
> think anyone would seriously describe either ONC or DCE RPC as
> "object oriented" even if things like MSFT's RPC is derived from
> the latter, and either _can_ be used to implement OO-style
> distributed systems. But that's sort of like asserting that a
> function call is OO because OO languages make function calls.
> >>> Clean (as in "out of the box from OSF") DCE RPC may never have caught
> >>> on, but DCOM that is based on DCE RPC is on every Windows system
> >>> out there.
> >>
> >> The RPC protocol was just one component of DCE. There was also
> >> the time service, authentication service, name service, and
> >> filesystem.
> >
> >Time, auth and name services are supporting services for the
> >application framework.
> >
> >File system seems weird. And I don't think any of the similar
> >technologies had such.
> Sun's NFS is an RPC service, and CMU/Transarc/IBM used the `rx`
> RPC interface in its implementation.
Microsoft's flavor of DCE RPC is embedded into the SMB protocol for various server requests not handled by the main SMB/SMB2 protocol (I believe mostly related to enumerating shares, users, printers, etc.). The benefit is that the user has already been authenticated by SMB before they're allowed to access the named pipe used to send RPCs.
Drawbacks include vulnerabilities in Microsoft's DCE RPC implementation making it an attractive attack vector for malware, and the relatively complex IDL and hard-to-use DCE IDL compiler make writing an SMB client a lot more irritating. Apple's SMB client code released as open source doesn't appear to include all the files that they used to generate IDL stubs. I think they may have modified Microsoft's IDL files to get them to compile with the version of the DCE IDL compiler they used, and then couldn't include those files in the archive for copyright reasons.
More information about the Info-vax
mailing list