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  | 
