Bug #63527 [NEW]: DCOM does not work with Username, Password parameter
From: friedrich dot grosse at gmail dot com
Operating system: Windows Server 2008 R2
PHP version: 5.4.8
Package: COM related
Bug Type: Bug
Bug description:DCOM does not work with Username, Password parameter
Description:
------------
I try to instantiate a DCOM object on a remote machine (Windows Server 2008
R2)
in another
domain using the Username and Password parameters of the COM class
constructor
[1]
I did also figure out that there is a Domain parameter which is not
mentioned in
the manual at
[1].
However I can not authenticate at the remote machine.
The event log there indicates that only the first character of the Logon
Accounts Username has
been transmitted to the DCOM Server.
The Domain parameter has been received completely.
I am not familiar with PHP internals but I did a quick look in the source
code
and would guess
that the issue can be traced back to [2].
The user_name and user_name_len are already parsed some lines above.
Why is php_com_string_to_olestring called with a -1 as second parameter
which
leads to
determining the length of the username again?
Maybe giving user_name_len instead of -1 could fix this issue?
[1] http://de1.php.net/manual/de/class.com.php
[2]
https://github.com/php/php-src/blob/master/ext/com_dotnet/com_com.c#L131
Test script:
---------------
try {
$DCOMserverInfo = array(
'Server' => "Server.com",
'Username' => "Admin",
'Domain' => "Testdomain.com",
'Password' => "password"
);
/** You may change the COM module name to word.application or whatever
COM enabled app is installed on the target machine. **/
$comObj = new COM("word.application", $DCOMserverInfo);
echo "Everything works fine";
}
catch (Exception $exception) {
echo exception->getMessage();
}
Expected result:
----------------
Everything works fine
Actual result:
--------------
Failed to create COM object `word.application': Access is denied.
--
Edit bug report at https://bugs.php.net/bug.php?id=63527&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=63527&r=trysnapshot54
Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=63527&r=trysnapshot53
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=63527&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=63527&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=63527&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=63527&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=63527&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=63527&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=63527&r=support
Expected behavior: https://bugs.php.net/fix.php?id=63527&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=63527&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=63527&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=63527&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63527&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=63527&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=63527&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=63527&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63527&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=63527&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=63527&r=mysqlcfg
Thread (7 messages)
- friedrich dot grosse at gmail dot com
- friedrich dot grosse at gmail dot comBug #63527 [Com]: DCOM does not work with Username, Password parameter
- bradley at scrapcode dot comBug #63527 [Com]: DCOM does not work with Username, Password parameter
- cmb@php.netBug #63527 [Opn]: DCOM does not work with Username, Password parameter
- cmb@php.netBug #63527 [PATCH]: DCOM does not work with Username, Password parameter
- cmb@php.netBug #63527 [Opn->Ver]: DCOM does not work with Username, Password parameter
- cmb@php.netBug #63527 [Ver->Csd]: DCOM does not work with Username, Password parameter