IPC-Door

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Perl extension IPC::Door.

0.11  Tue Jun  7 07:25:33 CDT 2005
    - Tested with the shipping version of Solaris 10.
    - Combined client-server test scripts into one.
    - Other miscellaneous changes in test scripts.
    - Refuse to compile for threaded perl until it is fixed.
    - Reorganized benchmark scripts in a separate directory.
    - Client credentials are properly fetched, and stored in special
      variables.

0.10  Sat May 22 23:30:24 CDT 2004
    - Updated for Solaris 10 (some changes in API).

0.09  Thu May  6 00:52:29 CDT 2004
    - Reverted to non-XS memory management in __call(), due to some
      problems in certain configurations.

0.08  Wed May  5 21:39:58 CDT 2004

Door.xs  view on Meta::CPAN

    if (SvOK(sv))
        XPUSHs(sv);
    else {
        /* fall through; we shouldn't be here, but you never know. */
        WARN(("Something went horribly wrong in servproc"));
        return;
    }

    PUTBACK;

    /* grab the client's credentials before calling &main::serv */
#ifdef _UCRED_H_
/* the new way to get the client process credentials */
    if ( (*info = calloc(1, ucred_size())) == NULL )
    {
        WARN(("memory allocation error: %s\n", strerror(errno)));
        return;
    }
    if (door_ucred(info) < 0)
        WARN(("door_ucred() failed: %s\n", strerror(errno)));

    sv_setiv( get_sv("IPC::Door::CLIENT_EUID",TRUE), ucred_geteuid( *info));
    sv_setiv( get_sv("IPC::Door::CLIENT_EGID",TRUE), ucred_getegid( *info));

Door/Server.pm  view on Meta::CPAN


Currently, these arguments can't be a reference or any other data
structure.
See <IPC::Door/"KNOWN ISSUES">.

=head2 SPECIAL VARIABLES

When an C<IPC::Door::Client> process makes a call, the
C<IPC::Door::Server> process sets 5 special variables as a result of
C<door_cred>/C<doore_ucred> (3DOOR) call.
These corresponds to self-explanatory credentials of the client process:
C<$IPC::Door::CLIENT_EUID>,
C<$IPC::Door::CLIENT_EGID>,
C<$IPC::Door::CLIENT_RUID>,
C<$IPC::Door::CLIENT_RGID>, and
C<$IPC::Door::CLIENT_PID>.

(These names may change in the future releases of this module.)

=head1 SEE ALSO



( run in 0.264 second using v1.01-cache-2.11-cpan-4d50c553e7e )