Enable anonymous authorization for tests
authorCosimo Alfarano <cosimo.alfarano@collabora.com>
Fri, 7 Oct 2011 10:25:00 +0000 (11:25 +0100)
committerRalf Habacker <ralf.habacker@freenet.de>
Thu, 22 Aug 2013 23:48:23 +0000 (01:48 +0200)
Now that authorization is in SASL mechs, enable anonymous authorizations
when we are testing anonymous mechs functionality

Bug: http://bugs.freedesktop.org/show_bug.cgi?id=39720
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
dbus/dbus-auth-script.c
test/data/auth/anonymous-server-successful.auth-script

index 445452c..107c92b 100644 (file)
@@ -398,8 +398,8 @@ _dbus_auth_script_run (const DBusString *filename)
           
           _dbus_credentials_unref (creds);
         }
-      else if (_dbus_string_starts_with_c_str (&line,
-                                               "SERVER"))
+      else if (_dbus_string_starts_with_c_str (&line, "SERVER") ||
+               _dbus_string_starts_with_c_str (&line, "SERVER_ANONYMOUS"))
         {
           DBusCredentials *creds;
           DBusAuthorization *authorization;
@@ -417,6 +417,11 @@ _dbus_auth_script_run (const DBusString *filename)
               _dbus_warn ("no memory to create DBusAuthorization\n");
               goto out;
             }
+          /* if we are testing an anonymous server, we need to enable
+           * anonymous authorization, or the mech will REJECT */
+          if (_dbus_string_starts_with_c_str (&line, "SERVER_ANONYMOUS"))
+            _dbus_authorization_set_allow_anonymous (authorization, TRUE);
+
           auth = _dbus_auth_server_new (&guid, authorization);
           /* DBusAuth owns it, or finalized on OOM */
           _dbus_authorization_unref (authorization);
index 172ae9d..c53b30f 100644 (file)
@@ -1,6 +1,7 @@
 ## this tests the server side in a successful auth of type ANONYMOUS 
 
-SERVER
+## Act as a server that accepts anonymous authorization
+SERVER_ANONYMOUS
 ## verify that prior to doing anything, we haven't authed as anyone
 EXPECT_HAVE_NO_CREDENTIALS
 SEND 'AUTH ANONYMOUS 442d42757320312e312e31'