make hex_md5 work server side
This commit is contained in:
36
scripting/utils.cpp
Normal file
36
scripting/utils.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
// utils.cpp
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "engine.h"
|
||||
#include "../util/md5.hpp"
|
||||
|
||||
namespace mongo {
|
||||
|
||||
BSONObj jsmd5( const BSONObj &a ){
|
||||
uassert( 10261 , "js md5 needs a string" , a.firstElement().type() == String );
|
||||
const char * s = a.firstElement().valuestrsafe();
|
||||
|
||||
md5digest d;
|
||||
md5_state_t st;
|
||||
md5_init(&st);
|
||||
md5_append( &st , (const md5_byte_t*)s , strlen( s ) );
|
||||
md5_finish(&st, d);
|
||||
|
||||
return BSON( "" << digestToString( d ) );
|
||||
}
|
||||
|
||||
BSONObj JSVersion( const BSONObj& args ){
|
||||
cout << "version: " << versionString << endl;
|
||||
if ( strstr( versionString , "+" ) )
|
||||
printGitVersion();
|
||||
return BSONObj();
|
||||
}
|
||||
|
||||
void installGlobalUtils( Scope& scope ){
|
||||
scope.injectNative( "hex_md5" , jsmd5 );
|
||||
scope.injectNative( "version" , JSVersion );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user