set the mode of .grive to 0600 for security.

Thanks Huin for the reminder.
pull/40/head
Matchman Green 2012-05-24 19:06:03 +08:00
parent a0570d507c
commit 50f1d813e2
4 changed files with 15 additions and 6 deletions

View File

@ -19,7 +19,8 @@
#include "Config.hh" #include "Config.hh"
#include <fstream> #include "util/StdioFile.hh"
#include <iterator> #include <iterator>
namespace gr { namespace gr {
@ -39,8 +40,9 @@ Config::Config() :
void Config::Save( ) void Config::Save( )
{ {
std::ofstream ofile( Filename().c_str() ) ; StdioFile file( Filename(), "w" ) ;
ofile << m_cfg ; file.Chmod( 0600 ) ;
m_cfg.Write( file ) ;
} }
Json& Config::Get() Json& Config::Get()

View File

@ -117,7 +117,6 @@ Drive::Drive( OAuth2& auth ) :
if ( has_next ) if ( has_next )
{ {
// http::ResponseLog log2( "second-", ".xml", &xrsp ) ;
http.Get( nss["@href"], &xrsp, m_http_hdr ) ; http.Get( nss["@href"], &xrsp, m_http_hdr ) ;
resp = xrsp.Response() ; resp = xrsp.Response() ;
} }
@ -132,8 +131,6 @@ void Drive::SaveState()
void Drive::ConstructDirTree( http::Agent *http ) void Drive::ConstructDirTree( http::Agent *http )
{ {
http::XmlResponse xml ; http::XmlResponse xml ;
// http::ResponseLog log( "dir-", ".xml", &xml ) ;
http->Get( feed_base + "/-/folder?max-results=10&showroot=true", &xml, m_http_hdr ) ; http->Get( feed_base + "/-/folder?max-results=10&showroot=true", &xml, m_http_hdr ) ;
xml::Node resp = xml.Response() ; xml::Node resp = xml.Response() ;

View File

@ -25,6 +25,7 @@
#include <json/linkhash.h> #include <json/linkhash.h>
#include <cassert> #include <cassert>
#include <cstring>
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>
@ -256,6 +257,12 @@ std::ostream& operator<<( std::ostream& os, const Json& json )
return os << ::json_object_to_json_string( json.m_json ) ; return os << ::json_object_to_json_string( json.m_json ) ;
} }
void Json::Write( StdioFile& file ) const
{
const char *str = ::json_object_to_json_string( m_json ) ;
file.Write( str, std::strlen(str) ) ;
}
Json::Type Json::DataType() const Json::Type Json::DataType() const
{ {
assert( m_json != 0 ) ; assert( m_json != 0 ) ;

View File

@ -29,6 +29,8 @@ struct json_object ;
namespace gr { namespace gr {
class StdioFile ;
class Json class Json
{ {
public : public :
@ -72,6 +74,7 @@ public :
bool FindInArray( const std::string& key, const std::string& value, Json& result ) const ; bool FindInArray( const std::string& key, const std::string& value, Json& result ) const ;
friend std::ostream& operator<<( std::ostream& os, const Json& json ) ; friend std::ostream& operator<<( std::ostream& os, const Json& json ) ;
void Write( StdioFile& file ) const ;
enum Type { null_type, bool_type, double_type, int_type, object_type, array_type, string_type } ; enum Type { null_type, bool_type, double_type, int_type, object_type, array_type, string_type } ;