This is a read-only archive of the Mumble forums.

This website archives and makes accessible historical state. It receives no updates or corrections. It is provided only to keep the information accessible as-is, under their old address.

For up-to-date information please refer to the Mumble website and its linked documentation and other resources. For support please refer to one of our other community/support channels.

Jump to content

PHP + IceSecret


graveeater
 Share

Recommended Posts

Hi all,

I already asked in the sf help board, but I have the feeling that this board is kinda undervisited.


So I am asking here again.


How can I access Ice from PHP if I want to use the icesecret feature (which works fine with python).

I have checked a couple of projects, but none seems to use icesecret so I am beginning to doubt that it is possible.

If so, has anyone some hints how to secure my connection otherwise? Should I use Glacier?

Link to comment
Share on other sites

Hi.

It's possible to set the icesecret with php: ice_context().


Example:


$ICEsecret = array( 'secret' => 'yourSecretWord' );


$proxy = $ICE->stringToProxy( "Meta:tcp -h $iceIP -p $icePORT -t $TIMEOUT" );

$meta = $proxy->ice_checkedCast('::Murmur::Meta')->ice_context( $ICEsecret );


So the icesecret is set for the meta interface:


$meta->newServer();

$meta->getAllServers();

$meta->getUptime();

etc...


Unlikely for python, ice-php 3.2 & 3.3 don't have the getImplicitContext function, so when you call a server methode with getServer(), getAllServers() or getBootedServers(), you have to set the icesecret again:


$server = $meta->getServer( intval( $serverID ) )->ice_context( $ICEsecret );

echo $server->id();


$getAllServers = $meta->getAllServers();

foreach( $getAllServers as $server ) {

$server = $server->ice_context( $ICEsecret );

echo $server->id();

}


It's works :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...