Jump to content
Mumble forums

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...