diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2007-06-23 07:45:17 +0000 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2007-06-23 07:45:17 +0000 |
commit | f1cb3ee0e7b7b244780379c71b6444974c016809 (patch) | |
tree | ad0cc47e9e5b55f8a9bd87cabf4821ce53624829 | |
parent | 4872f15a05c0bdc01da9f7ef13589cc75d79af7c (diff) |
* dbus/dbus-auth-script.c (_dbus_auth_script_run): added UNIX_ONLY and WIN_ONLY commands for auth scripts
* test/data/auth/external-root.auth-script: limit execution to unix
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dbus/dbus-auth-script.c | 32 | ||||
-rw-r--r-- | test/data/auth/external-root.auth-script | 2 |
3 files changed, 39 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2007-06-23 Ralf Habacker <ralf.habacker@freenet.de> + + * dbus/dbus-auth-script.c (_dbus_auth_script_run): added UNIX_ONLY and + WIN_ONLY commands for auth scripts + * test/data/auth/external-root.auth-script: limit execution to unix + 2007-06-21 Havoc Pennington <hp@redhat.com> * dbus/dbus-tranport.c (auth_via_default_rules): made the verbose spam diff --git a/dbus/dbus-auth-script.c b/dbus/dbus-auth-script.c index b23fbfcb..79006b9d 100644 --- a/dbus/dbus-auth-script.c +++ b/dbus/dbus-auth-script.c @@ -324,6 +324,38 @@ _dbus_auth_script_run (const DBusString *filename) /* Ignore this comment */ goto next_iteration; } +#ifdef DBUS_WIN + else if (_dbus_string_starts_with_c_str (&line, + "WIN_ONLY")) + { + /* Ignore this line */ + goto next_iteration; + } + else if (_dbus_string_starts_with_c_str (&line, + "UNIX_ONLY")) + { + /* skip this file */ + _dbus_warn ("skipping unix only auth script\n"); + retval = TRUE; + goto out; + } +#endif +#ifdef DBUS_UNIX + else if (_dbus_string_starts_with_c_str (&line, + "UNIX_ONLY")) + { + /* Ignore this line */ + goto next_iteration; + } + else if (_dbus_string_starts_with_c_str (&line, + "WIN_ONLY")) + { + /* skip this file */ + _dbus_warn ("skipping windows only auth script\n"); + retval = TRUE; + goto out; + } +#endif else if (_dbus_string_starts_with_c_str (&line, "CLIENT")) { diff --git a/test/data/auth/external-root.auth-script b/test/data/auth/external-root.auth-script index ca5b94ac..b4c4b439 100644 --- a/test/data/auth/external-root.auth-script +++ b/test/data/auth/external-root.auth-script @@ -1,5 +1,5 @@ ## this tests we can auth EXTERNAL as ourselves, with root credentials - +UNIX_ONLY SERVER ROOT_CREDENTIALS ## 30 is ASCII '0' in hex |