Re: [Openstack] use php to make container public or not

2011-12-06 Thread pf shineyear
sorry , i did not use keystone

On Tue, Dec 6, 2011 at 7:10 PM, crayon_z crayon@gmail.com wrote:

 **
 Hi, pf shineyear.

 It seems that you use swauth or tempauth as the auth system for Swift.
 Have you tried the keystone auth system? How to make a container private
 with keystone auth system? It seems that all the containers created are
 public.

 Thanks.

 --
 Crayon

  *Sender:* pf shineyear shin...@gmail.com
 *Date:* 2011年11月23日(星期三) 下午12:47
 *To:* openstack openstack@lists.launchpad.net
 *Subject:* [Openstack] use php to make container public or not
  php curl have a shit feature: can not post an empty http header, so if
 you want to perform a command like this in php:

 swift -A http://10.38.10.127:8080/auth/v1.0 -U AUTH_testa27:AUTH_testu27
 -K testp post -r ' ' mycontainer2

 the X-Container-Read will not be send, so you can not make a container
 unpublic from public

 i write an example code to show how make it work with php, just use ' not
  and plus \n at the end

 hope can make some help


 ?php

 $prefix = AUTH_;
 $account_name = $prefix.testa27;
 $user_name = $prefix.testu27;
 $user_pass = testp;
 $container = mycontainer2;
 $user_token = AUTH_tkb21f5fcfea144cf9a99ed1de9a577db2;
 $path = /v1/.$account_name./.$container;


 #if you want to make container public use this
 #$http_headers = array(X-Auth-Token: .$user_token,
 'X-Container-Read: .r:*');

 #if you want to make container not public use this
 $http_headers = array(X-Auth-Token: .$user_token, 'X-Container-Read:
 \n');

 print_r($http_header);

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, http://10.38.10.127:8080.$path);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
 curl_setopt($ch, CURLINFO_HEADER_OUT, true);

 print test set container public\n;

 curl_exec($ch);

 $headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);

 print_r($headers);

 if (!curl_errno($ch))
 {
 $info = curl_getinfo($ch);

 if ((int)($info['http_code'] / 100) != 2)
 {
 print set container public return error
 .$info['http_code'].\n;
 return -1;
 }
 }
 else
 {
 print set container public error\n;
 return -2;
 }

 curl_close($ch);

 ?

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] use php to make container public or not

2011-12-06 Thread pf shineyear
why you do not try to swauth? it's create enough i think...

On Tue, Dec 6, 2011 at 7:10 PM, crayon_z crayon@gmail.com wrote:

 **
 Hi, pf shineyear.

 It seems that you use swauth or tempauth as the auth system for Swift.
 Have you tried the keystone auth system? How to make a container private
 with keystone auth system? It seems that all the containers created are
 public.

 Thanks.

 --
 Crayon

  *Sender:* pf shineyear shin...@gmail.com
 *Date:* 2011年11月23日(星期三) 下午12:47
 *To:* openstack openstack@lists.launchpad.net
 *Subject:* [Openstack] use php to make container public or not
  php curl have a shit feature: can not post an empty http header, so if
 you want to perform a command like this in php:

 swift -A http://10.38.10.127:8080/auth/v1.0 -U AUTH_testa27:AUTH_testu27
 -K testp post -r ' ' mycontainer2

 the X-Container-Read will not be send, so you can not make a container
 unpublic from public

 i write an example code to show how make it work with php, just use ' not
  and plus \n at the end

 hope can make some help


 ?php

 $prefix = AUTH_;
 $account_name = $prefix.testa27;
 $user_name = $prefix.testu27;
 $user_pass = testp;
 $container = mycontainer2;
 $user_token = AUTH_tkb21f5fcfea144cf9a99ed1de9a577db2;
 $path = /v1/.$account_name./.$container;


 #if you want to make container public use this
 #$http_headers = array(X-Auth-Token: .$user_token,
 'X-Container-Read: .r:*');

 #if you want to make container not public use this
 $http_headers = array(X-Auth-Token: .$user_token, 'X-Container-Read:
 \n');

 print_r($http_header);

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, http://10.38.10.127:8080.$path);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
 curl_setopt($ch, CURLINFO_HEADER_OUT, true);

 print test set container public\n;

 curl_exec($ch);

 $headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);

 print_r($headers);

 if (!curl_errno($ch))
 {
 $info = curl_getinfo($ch);

 if ((int)($info['http_code'] / 100) != 2)
 {
 print set container public return error
 .$info['http_code'].\n;
 return -1;
 }
 }
 else
 {
 print set container public error\n;
 return -2;
 }

 curl_close($ch);

 ?

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] use php to make container public or not

2011-11-23 Thread Hugo
Appreciate it
Thanks

Hugo's iPhone


pf shineyear shin...@gmail.com 於 2011/11/23 12:47 寫道:

 php curl have a shit feature: can not post an empty http header, so if you 
 want to perform a command like this in php:
 
 swift -A http://10.38.10.127:8080/auth/v1.0 -U AUTH_testa27:AUTH_testu27 -K 
 testp post -r ' ' mycontainer2
 
 the X-Container-Read will not be send, so you can not make a container 
 unpublic from public
 
 i write an example code to show how make it work with php, just use ' not  
 and plus \n at the end
 
 hope can make some help
 
 
 ?php
 
 $prefix = AUTH_;
 $account_name = $prefix.testa27;
 $user_name = $prefix.testu27;
 $user_pass = testp;
 $container = mycontainer2;
 $user_token = AUTH_tkb21f5fcfea144cf9a99ed1de9a577db2;
 $path = /v1/.$account_name./.$container;
 
 
 #if you want to make container public use this
 #$http_headers = array(X-Auth-Token: .$user_token, 'X-Container-Read: 
 .r:*');
 
 #if you want to make container not public use this
 $http_headers = array(X-Auth-Token: .$user_token, 'X-Container-Read: 
 \n');
 
 print_r($http_header);
 
 $ch = curl_init();
 
 curl_setopt($ch, CURLOPT_URL, http://10.38.10.127:8080.$path);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
 curl_setopt($ch, CURLINFO_HEADER_OUT, true);
 
 print test set container public\n;
 
 curl_exec($ch);
 
 $headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);
 
 print_r($headers);
 
 if (!curl_errno($ch))
 {
 $info = curl_getinfo($ch);
 
 if ((int)($info['http_code'] / 100) != 2)
 {
 print set container public return error 
 .$info['http_code'].\n;
 return -1;
 }
 }
 else
 {
 print set container public error\n;
 return -2;
 }
 
 curl_close($ch);
 
 ?
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp