From 5970d04af540af4825958272cba950c0b7dff15d Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 13 Feb 2003 04:11:57 +0000 Subject: 2003-02-13 Havoc Pennington * dbus/dbus-auth.c (handle_server_data_external_mech): args to dbus_credentials_match were backward * dbus/dbus-auth-script.c (_dbus_auth_script_run): support NO_CREDENTIALS and ROOT_CREDENTIALS * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine into here. Never process more commands after we've reached an end state; store further data as unused bytes. * test/data/auth/*: add more auth tests * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT command to match exact string and EXPECT_UNUSED to match unused bytes * test/Makefile.am (dist-hook): fix to dist all the test stuff --- test/data/auth/external-failed.auth-script | 8 ++++++++ test/data/auth/external-root.auth-script | 10 ++++++++++ test/data/auth/external-silly.auth-script | 8 ++++++++ test/data/auth/external-successful.auth-script | 9 +++++++++ test/data/auth/extra-bytes.auth-script | 10 ++++++++++ 5 files changed, 45 insertions(+) create mode 100644 test/data/auth/external-failed.auth-script create mode 100644 test/data/auth/external-root.auth-script create mode 100644 test/data/auth/external-silly.auth-script create mode 100644 test/data/auth/external-successful.auth-script create mode 100644 test/data/auth/extra-bytes.auth-script (limited to 'test/data') diff --git a/test/data/auth/external-failed.auth-script b/test/data/auth/external-failed.auth-script new file mode 100644 index 00000000..f5723521 --- /dev/null +++ b/test/data/auth/external-failed.auth-script @@ -0,0 +1,8 @@ +## this tests that auth of type EXTERNAL without credentials will fail + +SERVER +NO_CREDENTIALS +SEND 'AUTH EXTERNAL USERNAME_BASE64' +EXPECT_COMMAND REJECTED +EXPECT_STATE WAITING_FOR_INPUT + diff --git a/test/data/auth/external-root.auth-script b/test/data/auth/external-root.auth-script new file mode 100644 index 00000000..720b7e51 --- /dev/null +++ b/test/data/auth/external-root.auth-script @@ -0,0 +1,10 @@ +## this tests we can auth EXTERNAL as ourselves, with root credentials + +SERVER +ROOT_CREDENTIALS +SEND 'AUTH EXTERNAL USERNAME_BASE64' +EXPECT_COMMAND OK +EXPECT_STATE WAITING_FOR_INPUT +SEND 'BEGIN' +EXPECT_STATE AUTHENTICATED + diff --git a/test/data/auth/external-silly.auth-script b/test/data/auth/external-silly.auth-script new file mode 100644 index 00000000..3e12c153 --- /dev/null +++ b/test/data/auth/external-silly.auth-script @@ -0,0 +1,8 @@ +## this tests we can't auth with silly credentials + +SERVER +SILLY_CREDENTIALS +SEND 'AUTH EXTERNAL USERNAME_BASE64' +EXPECT_COMMAND REJECTED +EXPECT_STATE WAITING_FOR_INPUT + diff --git a/test/data/auth/external-successful.auth-script b/test/data/auth/external-successful.auth-script new file mode 100644 index 00000000..1b380802 --- /dev/null +++ b/test/data/auth/external-successful.auth-script @@ -0,0 +1,9 @@ +## this tests a successful auth of type EXTERNAL + +SERVER +SEND 'AUTH EXTERNAL USERNAME_BASE64' +EXPECT_COMMAND OK +EXPECT_STATE WAITING_FOR_INPUT +SEND 'BEGIN' +EXPECT_STATE AUTHENTICATED + diff --git a/test/data/auth/extra-bytes.auth-script b/test/data/auth/extra-bytes.auth-script new file mode 100644 index 00000000..df8df52b --- /dev/null +++ b/test/data/auth/extra-bytes.auth-script @@ -0,0 +1,10 @@ +## this tests that we have the expected extra bytes at the end + +SERVER +SEND 'AUTH EXTERNAL USERNAME_BASE64' +EXPECT_COMMAND OK +EXPECT_STATE WAITING_FOR_INPUT +SEND 'BEGIN\r\nHello' +EXPECT_STATE AUTHENTICATED_WITH_UNUSED_BYTES +EXPECT_UNUSED 'Hello\r\n' +EXPECT_STATE AUTHENTICATED -- cgit