<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4,3 +4,7 @@ lib/erlsdb/test/*.beam
 lib/*/ebin
 erlang_config.rb
 .depend_erlang.mf
+bin/connect_local
+bin/start_erl_local
+bin/start_local
+erl_crash.dump
\ No newline at end of file</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,10 @@
-ErlSDB README
-
+ErlSDB README
+-----------
+
+That README is currently under construction.
+
+-- Eric
+
 Summary
 -----------
 Amazon SimpleDB is a web service for running queries on structured data 
@@ -44,29 +49,29 @@ Released under the GNU General Public License v2.
 Feedback
 --------
 
-Send patches, issues and comments to bhatti@plexobject.com.
-
+Send patches, issues and comments to bhatti@plexobject.com.
+
 = BUILDING =
-= Usage = 
-rake --tasks : to know all tasks
-
-You'll need a configuration in which you'll have to put things specific to your installation.
-A template of file is generated the first time you launch 'rake'
-
-Here is some useful tasks:
-rake erlang:modules: Compile all erlang source files (test included)
-rake erlang:releases: Build a tarball for each rel file found in the directory tree
-rake erlang:tests[name]: Run the eunit test for the application &quot;name&quot;. If no name is given, 
-     all applications are tested. If a file test.desc is find in the &quot;app_name/test&quot; directory, eunit will
-     use it as eunit test description.
-rake erlang:edoc[name]: Build the document for an application or all if 'name' is omitted
-rake otp:new_application[name]: Create a new application squeleton
-rake otp:start_local[name]: Start a release in the developper environment
-
-rake otp:initial_targer[name,version]: Create a tarball with a 'ready' to deploy
-     an erlang system running the release. To use the system, you have to provide
-     2 startup files in a directory named 'release_config'. Look at the sample in the
-     application sample_rake.
-= Author = 
-Nicolas Charpentier &lt;open_source@charpi.net&gt;
+= Usage = 
+rake --tasks : to know all tasks
+
+You'll need a configuration in which you'll have to put things specific to your installation.
+A template of file is generated the first time you launch 'rake'
+
+Here is some useful tasks:
+rake erlang:modules: Compile all erlang source files (test included)
+rake erlang:releases: Build a tarball for each rel file found in the directory tree
+rake erlang:tests[name]: Run the eunit test for the application &quot;name&quot;. If no name is given, 
+     all applications are tested. If a file test.desc is find in the &quot;app_name/test&quot; directory, eunit will
+     use it as eunit test description.
+rake erlang:edoc[name]: Build the document for an application or all if 'name' is omitted
+rake otp:new_application[name]: Create a new application squeleton
+rake otp:start_local[name]: Start a release in the developper environment
+
+rake otp:initial_targer[name,version]: Create a tarball with a 'ready' to deploy
+     an erlang system running the release. To use the system, you have to provide
+     2 startup files in a directory named 'release_config'. Look at the sample in the
+     application sample_rake.
+= Author = 
+Nicolas Charpentier &lt;open_source@charpi.net&gt;
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,10 @@
+
 %%%-------------------------------------------------------------------
 %%% @doc This header defines common record definitions
 %%% @end
 %%%-------------------------------------------------------------------
 
--record(sdb_state, {access_key, secret_key, domain}).
+-record(state, {access_key, secret_key}).
 
 -record(response, {box_usage, more_token, xml}).
 </diff>
      <filename>lib/erlsdb/include/erlsdb.hrl</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
-ERL_FLAGS=&quot;-pa patches +K true -sname erlsdb -smp auto&quot;
+ERL_FLAGS=&quot;-pa patches +K true -sname erlsdb -smp auto &quot;
 export ERL_FLAGS</diff>
      <filename>lib/erlsdb/release_config/startup.conf</filename>
    </modified>
    <modified>
      <diff>@@ -5,5 +5,5 @@
   {modules, %MODULES%},
   {mod, {erlsdb,[]}},
   {registered, [erlsdb_sup]},
-  {applications, [kernel, stdlib, sasl, crypto, xmerl]}
+  {applications, [kernel, stdlib, sasl, crypto, inets, xmerl]}
  ]}.</diff>
      <filename>lib/erlsdb/src/erlsdb.app.src</filename>
    </modified>
    <modified>
      <diff>@@ -72,9 +72,11 @@
 %% @spec start(Type, StartArgs) -&gt; {ok, Pid} | {ok, Pid, State} | {error, Reason}
 %% @end
 %%--------------------------------------------------------------------
-start(_Type, StartArgs) -&gt;
+start(_Type, _StartArgs) -&gt;
     %case erlsdb_sup:start_link(StartArgs) of
-    case erlsdb_server:start_link(StartArgs) of
+    ID = param(access),
+    Secret = param(secret),
+    case erlsdb_server:start_link([ID, Secret]) of
 	{ok, Pid} -&gt; 
 	    {ok, Pid};
 	Error -&gt;
@@ -258,3 +260,12 @@ delete_attributes(ItemName, AttributeNames) -&gt;
 %%--------------------------------------------------------------------
 stop(_State) -&gt;
     ok.
+
+
+param(Name, Default)-&gt;
+	case application:get_env(?MODULE, Name) of
+		{ok, Value} -&gt; Value;
+		_-&gt; Default
+	end.
+
+param(Name) -&gt; param(Name, nil).
\ No newline at end of file</diff>
      <filename>lib/erlsdb/src/erlsdb.erl</filename>
    </modified>
    <modified>
      <diff>@@ -7,5 +7,6 @@
   {sasl, &quot;_&quot;},
   {crypto, &quot;_&quot;},
   {xmerl, &quot;_&quot;},
+  {inets, &quot;_&quot;},
   {erlsdb, &quot;_&quot;}]
 }.</diff>
      <filename>lib/erlsdb/src/erlsdb.rel.src</filename>
    </modified>
    <modified>
      <diff>@@ -81,11 +81,9 @@
 %% @spec start_link() -&gt; {ok, pid()} | {error, Reason}
 %% @end
 %%--------------------------------------------------------------------
-start_link(InitialState) -&gt;
-    crypto:start(),
-    inets:start(),
+start_link(Args) -&gt;
     %%?DEBUG(&quot;******* erlsdb_server:start_link/1 starting~n&quot;, [InitialState]),
-    gen_server:start_link({local, ?SERVER}, ?MODULE, InitialState, []).
+    gen_server:start_link({local, ?SERVER}, ?MODULE, Args, []).
 
 %%--------------------------------------------------------------------
 %% @doc Stops the server.
@@ -283,9 +281,9 @@ delete_attributes(ItemName, AttributeNames) -&gt;
 %%          ignore               |
 %%          {stop, Reason}
 %%--------------------------------------------------------------------
-init([InitialState]) -&gt;
-    ?DEBUG(&quot;******* erlsdb_server:init/1 starting~n&quot;, [InitialState]),
-    {ok, InitialState}.
+init([Access, Secret]) -&gt;
+    ?DEBUG(&quot;******* erlsdb_server:init/1 starting~n&quot;, []),
+    {ok, #state{access_key=Access, secret_key=Secret}}.
 
 %%--------------------------------------------------------------------
 %% Function: handle_call/3
@@ -297,7 +295,7 @@ init([InitialState]) -&gt;
 %%          {stop, Reason, Reply, State}   | (terminate/2 is called)
 %%          {stop, Reason, State}            (terminate/2 is called)
 %%--------------------------------------------------------------------
-handle_call({list_domains, MoreToken, MaxNumberOfDomains}, _From, #sdb_state{access_key=AccessKey, secret_key = SecretKey} = State) -&gt;
+handle_call({list_domains, MoreToken, MaxNumberOfDomains}, _From, #state{access_key=AccessKey, secret_key = SecretKey} = State) -&gt;
     ?DEBUG(&quot;******* erlsdb_server:list_domains BEGIN~n&quot;, []),
     Base = base_parameters(&quot;ListDomains&quot;, AccessKey),
     Base1 = if MoreToken == nil -&gt; Base; true -&gt; Base ++ [[&quot;MoreToken&quot;, MoreToken]] end,
@@ -312,7 +310,7 @@ handle_call({list_domains, MoreToken, MaxNumberOfDomains}, _From, #sdb_state{acc
     {reply, Response, State};
 
 
-handle_call({get_attributes, ItemName, AttributeNames}, _From, #sdb_state{access_key=AccessKey, secret_key = SecretKey, domain = Domain} = State) -&gt;
+handle_call({get_attributes, Domain, ItemName, AttributeNames}, _From, #state{access_key=AccessKey, secret_key = SecretKey} = State) -&gt;
     ?DEBUG(&quot;******* erlsdb_server:get_attributes~n&quot;, []),
     Base = [[&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)],
 	    [&quot;ItemName&quot;, erlsdb_util:url_encode(ItemName)]|
@@ -355,36 +353,36 @@ handle_cast(stop, State) -&gt;
     {stop, normal, State};
 
     
-handle_cast({create_domain}, #sdb_state{access_key=AccessKey, secret_key = SecretKey, domain = Domain} = State) -&gt; 
+handle_cast({create_domain, Domain}, #state{access_key=AccessKey, secret_key = SecretKey } = State) -&gt; 
     ?DEBUG(&quot;******* erlsdb_server:create_domain ~p~n&quot;, [Domain]),
-    Base = [[&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)]| 
+    Base = [{&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)}| 
 		base_parameters(&quot;CreateDomain&quot;, AccessKey)],
     rest_request(SecretKey, Base, fun(_Xml) -&gt; nil end),
     {noreply, State};
 
 
-handle_cast({delete_domain}, #sdb_state{access_key=AccessKey, secret_key = SecretKey, domain = Domain} = State) -&gt; 
+handle_cast({delete_domain, Domain}, #state{access_key=AccessKey, secret_key = SecretKey } = State) -&gt; 
     ?DEBUG(&quot;******* erlsdb_server:delete_domain ~p~n&quot;, [Domain]),
-    Base = [[&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)]| 
+    Base = [{&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)}| 
 		base_parameters(&quot;DeleteDomain&quot;, AccessKey)],
     rest_request(SecretKey, Base, fun(_Xml) -&gt; nil end),
     {noreply, State};
 
 
-handle_cast({put_attributes, ItemName, Attributes, Replace}, #sdb_state{access_key=AccessKey, secret_key = SecretKey, domain = Domain} = State) -&gt; 
+handle_cast({put_attributes,Domain, ItemName, Attributes, Replace}, #state{access_key=AccessKey, secret_key = SecretKey } = State) -&gt; 
     ?DEBUG(&quot;******* erlsdb_server:put_attributes ~p~n&quot;, [Domain, ItemName, Attributes]),
-    Base = [[&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)],
-	    [&quot;ItemName&quot;, erlsdb_util:url_encode(ItemName)]|
+    Base = [{&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)},
+	    {&quot;ItemName&quot;, erlsdb_util:url_encode(ItemName)}|
 		base_parameters(&quot;PutAttributes&quot;, AccessKey)] ++
 		erlsdb_util:encode_attributes(Attributes),
     Base1 = if Replace == false -&gt; Base; true -&gt; Base ++ [[&quot;Replace&quot;, &quot;true&quot;]] end,
     rest_request(SecretKey, Base1, fun(_Xml) -&gt; nil end),
     {noreply, State};
 
-handle_cast({delete_attributes, ItemName, AttributeNames}, #sdb_state{access_key=AccessKey, secret_key = SecretKey, domain = Domain} = State) -&gt; 
+handle_cast({delete_attributes, Domain, ItemName, AttributeNames}, #state{access_key=AccessKey, secret_key = SecretKey} = State) -&gt; 
     ?DEBUG(&quot;******* erlsdb_server:delete_attributes ~p~n&quot;, [Domain, ItemName, AttributeNames]),
-    Base = [[&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)],
-	    [&quot;ItemName&quot;, erlsdb_util:url_encode(ItemName)]|
+    Base = [{&quot;DomainName&quot;, erlsdb_util:url_encode(Domain)},
+	    {&quot;ItemName&quot;, erlsdb_util:url_encode(ItemName)}|
 		base_parameters(&quot;DeleteAttributes&quot;, AccessKey)] ++
 		erlsdb_util:encode_attribute_names(AttributeNames),
     rest_request(SecretKey, Base, fun(_Xml) -&gt; nil end),
@@ -443,7 +441,7 @@ rest_request(SecretKey, Params, XmlParserFunc) -&gt;
             end;
         {error, ErrorMessage} -&gt;
 	    case ErrorMessage of 
-		timeout -&gt;
+		Error when Error == nxdomain orelse Error == timeout -&gt;
     	    	    ?DEBUG(&quot;URL ~p Timedout, retrying~n&quot;, [Url]),
     	    	    erlsdb_util:sleep(1000),
 		    rest_request(SecretKey, Params, XmlParserFunc);
@@ -455,34 +453,34 @@ rest_request(SecretKey, Params, XmlParserFunc) -&gt;
 
 query_string(SecretKey, Params) -&gt;
     Params1 = lists:sort(
-	fun([Elem1, _], [Elem2, _]) -&gt; 
-	    string:to_lower(Elem1) &gt; string:to_lower(Elem2) end,
+	fun({A, _}, {X, _}) -&gt; A &lt; X end,
 	Params),
-    {QueryStr, SignatureData} = 
-	lists:foldr(fun query_string1/2, {&quot;&quot;, &quot;&quot;}, Params1),
-    QueryStr ++ &quot;Signature=&quot; ++ erlsdb_util:url_encode(signature(SecretKey, SignatureData)).
+    QueryStr = 
+	string:join(lists:foldr(fun query_string1/2, [], Params1), &quot;&amp;&quot;),
+    SignatureData = &quot;GET\nsdb.amazonaws.com\n/\n&quot; ++ QueryStr,
+    QueryStr ++ &quot;&amp;Signature=&quot; ++ erlsdb_util:url_encode(signature(SecretKey, SignatureData)).
 
 
-query_string1([Key, Value], {QueryStr, SignatureData}) -&gt;
-    QueryStr1 = QueryStr ++ Key ++ &quot;=&quot; ++ erlsdb_util:url_encode(Value) ++ &quot;&amp;&quot;,
-    SignatureData1 = SignatureData ++ Key ++ Value,
-    {QueryStr1, SignatureData1}.
+query_string1({Key, Value}, Query) -&gt;
+    [Key ++ &quot;=&quot; ++ erlsdb_util:url_encode(Value) | Query].
 
 
 %%%
 % Returns HMAC encoded access key
 %%%
 signature(SecretKey, Data) -&gt;
-    erlsdb_util:hmac(SecretKey, Data).
+    binary_to_list(
+        base64:encode(crypto:sha_mac(SecretKey, Data))).
 
 
 
 base_parameters(Action, AccessKey) -&gt;
-    [[&quot;Action&quot;, Action],
-     [&quot;AWSAccessKeyId&quot;, AccessKey],
-     [&quot;Version&quot;, version()],
-     [&quot;SignatureVersion&quot;, &quot;1&quot;],
-     [&quot;Timestamp&quot;, erlsdb_util:timestamp()]].
+    [{&quot;Action&quot;, Action},
+     {&quot;AWSAccessKeyId&quot;, AccessKey},
+     {&quot;Version&quot;, version()},
+     {&quot;SignatureVersion&quot;, &quot;2&quot;},
+     {&quot;SignatureMethod&quot;, &quot;HmacSHA1&quot;},
+     {&quot;Timestamp&quot;, erlsdb_util:create_timestamp()}].
 
 
 
@@ -496,5 +494,5 @@ uri() -&gt;
 
 version() -&gt;
    %&quot;2007-11-07&quot;.
-   &quot;2007-02-09&quot;.
+   &quot;2007-11-07&quot;.
 </diff>
      <filename>lib/erlsdb/src/erlsdb_server.erl</filename>
    </modified>
    <modified>
      <diff>@@ -32,9 +32,7 @@
 	encode_attribute_names/2,
 	two_digit/1,
 	abs_two_digit/1,
-	timestamp/0,
-	gmt_difference/0,
-	hmac/2,
+	create_timestamp/0,
 	xml_values/1,
 	xml_values/2,
 	xml_names_values/1,
@@ -120,55 +118,15 @@ abs_two_digit(X) when X &gt;= 0 -&gt;
 %% @spec encode_attributes(Attributes) -&gt; ok
 %% @end
 %%--------------------------------------------------------------------
-timestamp() -&gt;
-    {{_, _, _}, {_LocalHour, _LocalMin, _}} = LocalDateTime = calendar:local_time(),
-    [{{Year, Month, Day}, {Hour, Min, Sec}}] = 
-	calendar:local_time_to_universal_time_dst(LocalDateTime),
-    Z = gmt_difference(),
-    integer_to_list(Year) ++ &quot;-&quot; ++ two_digit(Month) ++ &quot;-&quot; ++ two_digit(Day) 
-	++ &quot;T&quot; ++ two_digit(Hour) ++ &quot;:&quot; ++ two_digit(Min) ++ &quot;:&quot; ++ 
-	two_digit(Sec) ++ Z.
+% lifted from http://code.google.com/p/erlawys/source/browse/trunk/src/aws_util.erl
+create_timestamp() -&gt; create_timestamp(calendar:now_to_universal_time(now())).
+create_timestamp({{Y, M, D}, {H, Mn, S}}) -&gt;
+	to_str(Y) ++ &quot;-&quot; ++ to_str(M) ++ &quot;-&quot; ++ to_str(D) ++ &quot;T&quot; ++
+	to_str(H) ++ &quot;:&quot; ++ to_str(Mn)++ &quot;:&quot; ++ to_str(S) ++ &quot;Z&quot;.
+add_zeros(L) -&gt; if length(L) == 1 -&gt; [$0|L]; true -&gt; L end.
+to_str(L) -&gt; add_zeros(integer_to_list(L)).
 
 
-%%--------------------------------------------------------------------
-%% @doc gmt_difference -- TODO
-%% &lt;pre&gt;
-%% Types:
-%% &lt;/pre&gt;
-%% @spec gmt_difference() -&gt; string
-%% @end
-%%--------------------------------------------------------------------
-gmt_difference() -&gt;
-    UTC = calendar:universal_time(),
-    Local = calendar:universal_time_to_local_time(UTC),
-    gmt_difference((calendar:datetime_to_gregorian_seconds(Local) -  calendar:datetime_to_gregorian_seconds(UTC)) / 3600).
-gmt_difference(Diff) when Diff &lt; 0 -&gt;
-    gmt_difference(-Diff, &quot;-&quot;);
-gmt_difference(Diff) -&gt;
-    gmt_difference(Diff, &quot;+&quot;).
-
-gmt_difference(Diff, Sign) when Diff &lt; 10 -&gt;
-    gmt_difference1(float_to_list(Diff), Sign ++ &quot;0&quot;);
-gmt_difference(Diff, Sign) -&gt;
-    gmt_difference1(float_to_list(Diff), Sign).
-gmt_difference1(StrDiff, SignZero) -&gt;
-    Index = string:chr(StrDiff, $.),
-    SignZero ++ string:substr(StrDiff, 1, Index-1) ++ &quot;:&quot; ++ string:substr(StrDiff, Index+1, 2).
-
-
-%%--------------------------------------------------------------------
-%% @doc hmac
-%% &lt;pre&gt;
-%% Types:
-%%  SecretKey = string
-%%  Data = string
-%% &lt;/pre&gt;
-%% @spec hmac(SecretKey, Data) -&gt; string
-%% @end
-%%--------------------------------------------------------------------
-hmac(SecretKey, Data) -&gt;
-    base64:encode(
-          binary_to_list(crypto:sha_mac(SecretKey, Data))).
 
 
 %%--------------------------------------------------------------------
@@ -216,7 +174,7 @@ sleep(T) -&gt;
 
 
 %%--------------------------------------------------------------------
-%% @doc url_encode - borrowed from CouchDB
+%% @doc url_encode - lifted from the ever precious yaws_utils.erl    
 %% &lt;pre&gt;
 %% Types:
 %%  String
@@ -232,17 +190,33 @@ url_encode([H|T]) -&gt;
             [H|url_encode(T)];
         H &gt;= $0, $9 &gt;= H -&gt;
             [H|url_encode(T)];
-        H == $_; H == $.; H == $-; H == $: -&gt;
+        H == $_; H == $.; H == $-; H == $/ -&gt; % FIXME: more..
             [H|url_encode(T)];
         true -&gt;
-            case lists:flatten(io_lib:format(&quot;~.16.0B&quot;, [H])) of
+            case integer_to_hex(H) of
                 [X, Y] -&gt;
                     [$%, X, Y | url_encode(T)];
                 [X] -&gt;
                     [$%, $0, X | url_encode(T)]
             end
-    end;
+     end;
+
 url_encode([]) -&gt;
     [].
+integer_to_hex(I) -&gt;
+    case catch erlang:integer_to_list(I, 16) of
+        {'EXIT', _} -&gt;
+            old_integer_to_hex(I);
+        Int -&gt;
+            Int
+    end.
+
+old_integer_to_hex(I) when I&lt;10 -&gt;
+    integer_to_list(I);
+old_integer_to_hex(I) when I&lt;16 -&gt;
+    [I-10+$A];
+old_integer_to_hex(I) when I&gt;=16 -&gt;
+    N = trunc(I/16),
+    old_integer_to_hex(N) ++ old_integer_to_hex(I rem 16).
 
 </diff>
      <filename>lib/erlsdb/src/erlsdb_util.erl</filename>
    </modified>
    <modified>
      <diff>@@ -46,7 +46,7 @@ test_list_domains() -&gt;
     erlsdb:list_domains().
 
 test_create_test_domain() -&gt;
-    erlsdb:create_domain(),
+    erlsdb:create_domain(test_domain()),
     {ok, List, _} = erlsdb:list_domains(),
     Domain = test_domain(),
     [Domain] = lists:filter(
@@ -55,7 +55,7 @@ test_create_test_domain() -&gt;
 
 
 test_delete_test_domain() -&gt;
-    erlsdb:delete_domain(),
+    erlsdb:delete_domain(test_domain()),
     {ok, List, _} = erlsdb:list_domains(),
     Domain = test_domain(),
     [] = lists:filter(
@@ -63,7 +63,7 @@ test_delete_test_domain() -&gt;
 			List).
 
 test_replace_get_attributes() -&gt;
-    erlsdb:create_domain(),
+    erlsdb:create_domain(test_domain()),
     Attributes = lists:sort([
 	[&quot;StreetAddress&quot;, &quot;705 5th Ave&quot;],
         [&quot;City&quot;, &quot;Seattle&quot;],
@@ -80,7 +80,7 @@ test_replace_get_attributes() -&gt;
      end.
 
 test_replace_delete_attributes() -&gt;
-    erlsdb:create_domain(),
+    erlsdb:create_domain(test_domain()),
     Attributes = lists:sort([
 	[&quot;StreetAddress&quot;, &quot;705 5th Ave&quot;],
         [&quot;City&quot;, &quot;Seattle&quot;],
@@ -98,7 +98,7 @@ test_replace_delete_attributes() -&gt;
             io:format(&quot;Unexpected response while getting attributes after delete ~p~n&quot;, [Response])
      end.
 
-test_gmt_difference([AccessKey, SecretKey]) -&gt;
+test_gmt_difference() -&gt;
     &quot;-08:00&quot; = erlsdb_util:gmt_difference().
 
 test([AccessKey, SecretKey]) -&gt;
@@ -106,14 +106,9 @@ test([AccessKey, SecretKey]) -&gt;
     %debug_helper:trace(erlsdb_server),
     %%%application:load(erlsdb),
     %%%application:start(erlsdb),
-    Response = erlsdb:start(type, 
-    	[#sdb_state{
-		access_key = AccessKey,
-		secret_key = SecretKey,
-		domain = test_domain()
-		}
-	]),
+    Response = erlsdb:start(type, [AccessKey,SecretKey]),
     io:format(&quot;Test Started server ~p~n&quot;, [Response]),
+    test_list_domains(),
     test_create_test_domain(),
     test_delete_test_domain(),
     test_replace_get_attributes(),</diff>
      <filename>lib/erlsdb/test/erlsdb_test.erl</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a3576e1a71307dd06026a855058fd33b27c2218b</id>
    </parent>
  </parents>
  <author>
    <name>Eric Cestari</name>
    <email>ecestari@mac.com</email>
  </author>
  <url>http://github.com/cstar/erlsdb/commit/8d8ef3e6378c5521f03c177467acc775b22c21e0</url>
  <id>8d8ef3e6378c5521f03c177467acc775b22c21e0</id>
  <committed-date>2009-02-23T03:36:31-08:00</committed-date>
  <authored-date>2009-02-23T03:36:31-08:00</authored-date>
  <message>list_domains known to work
updated signature to version 2
Now AccessKey and SecretKey are OTP application params</message>
  <tree>0fcd5952b24a9624f5c46db492b59cfdc9dd2b0a</tree>
  <committer>
    <name>Eric Cestari</name>
    <email>ecestari@mac.com</email>
  </committer>
</commit>
