]> granicus.if.org Git - sudo/log
sudo
14 years agogetuserattr(user, ...) will fall back to the "default" entry
Todd C. Miller [Wed, 30 Mar 2011 12:59:31 +0000 (08:59 -0400)]
getuserattr(user, ...) will fall back to the "default" entry
automatically, there's no need to check "default" manually.

--HG--
branch : 1.8

14 years agoDocument parser changes.
Todd C. Miller [Wed, 30 Mar 2011 12:59:22 +0000 (08:59 -0400)]
Document parser changes.

--HG--
branch : 1.8

14 years agogetuserattr(user, ...) will fall back to the "default" entry
Todd C. Miller [Wed, 30 Mar 2011 12:54:38 +0000 (08:54 -0400)]
getuserattr(user, ...) will fall back to the "default" entry
automatically, there's no need to check "default" manually.

14 years agoDocument parser changes.
Todd C. Miller [Tue, 29 Mar 2011 21:57:46 +0000 (17:57 -0400)]
Document parser changes.

14 years agoIf there is an existing sudoers file, only install if it passes a
Todd C. Miller [Tue, 29 Mar 2011 19:20:58 +0000 (15:20 -0400)]
If there is an existing sudoers file, only install if it passes a
syntax check.

--HG--
branch : 1.8

14 years agoIf there is an existing sudoers file, only install if it passes a
Todd C. Miller [Tue, 29 Mar 2011 19:20:32 +0000 (15:20 -0400)]
If there is an existing sudoers file, only install if it passes a
syntax check.

14 years agoAdd runasgroup support to testsudoers
Todd C. Miller [Tue, 29 Mar 2011 18:41:57 +0000 (14:41 -0400)]
Add runasgroup support to testsudoers

--HG--
branch : 1.8

14 years agoFor "make check", keep going even if a test fails.
Todd C. Miller [Tue, 29 Mar 2011 18:41:45 +0000 (14:41 -0400)]
For "make check", keep going even if a test fails.

--HG--
branch : 1.8

14 years agoAdd runasgroup support to testsudoers
Todd C. Miller [Tue, 29 Mar 2011 18:40:07 +0000 (14:40 -0400)]
Add runasgroup support to testsudoers

14 years agoFor "make check", keep going even if a test fails.
Todd C. Miller [Tue, 29 Mar 2011 18:39:02 +0000 (14:39 -0400)]
For "make check", keep going even if a test fails.

14 years agoMore useful exit codes:
Todd C. Miller [Tue, 29 Mar 2011 17:10:33 +0000 (13:10 -0400)]
More useful exit codes:
 * 0 - parsed OK and command matched.
 * 1 - parse error
 * 2 - command not matched
 * 3 - command denied

--HG--
branch : 1.8

14 years agoMore useful exit codes:
Todd C. Miller [Tue, 29 Mar 2011 17:09:58 +0000 (13:09 -0400)]
More useful exit codes:
 * 0 - parsed OK and command matched.
 * 1 - parse error
 * 2 - command not matched
 * 3 - command denied

14 years agoDocument %#gid, and %:#nonunix_gid syntax.
Todd C. Miller [Tue, 29 Mar 2011 16:54:27 +0000 (12:54 -0400)]
Document %#gid, and %:#nonunix_gid syntax.

--HG--
branch : 1.8

14 years agoDocument %#gid, and %:#nonunix_gid syntax.
Todd C. Miller [Tue, 29 Mar 2011 16:53:37 +0000 (12:53 -0400)]
Document %#gid, and %:#nonunix_gid syntax.

14 years agoAdd support to user_in_group() for treating group names that begin with
Todd C. Miller [Tue, 29 Mar 2011 15:31:09 +0000 (11:31 -0400)]
Add support to user_in_group() for treating group names that begin with
a '#' as gids.

--HG--
branch : 1.8

14 years agoAdd support to user_in_group() for treating group names that begin with
Todd C. Miller [Tue, 29 Mar 2011 15:29:43 +0000 (11:29 -0400)]
Add support to user_in_group() for treating group names that begin with
a '#' as gids.

14 years agoAdd explicit check for struct utmpx.ut_exit.e_termination
Todd C. Miller [Tue, 29 Mar 2011 13:11:46 +0000 (09:11 -0400)]
Add explicit check for struct utmpx.ut_exit.e_termination
and struct utmpx.ut_exit.__e_termination.  HP-UX uses the latter.
Only update ut_exit if we detect one or the other.

--HG--
branch : 1.8

14 years agoAdd explicit check for struct utmpx.ut_exit.e_termination
Todd C. Miller [Tue, 29 Mar 2011 13:10:40 +0000 (09:10 -0400)]
Add explicit check for struct utmpx.ut_exit.e_termination
and struct utmpx.ut_exit.__e_termination.  HP-UX uses the latter.
Only update ut_exit if we detect one or the other.

14 years agoAdd back missing #include of config.h
Todd C. Miller [Mon, 28 Mar 2011 18:51:30 +0000 (14:51 -0400)]
Add back missing #include of config.h

--HG--
branch : 1.8

14 years agoAdd back missing #include of config.h
Todd C. Miller [Mon, 28 Mar 2011 18:50:55 +0000 (14:50 -0400)]
Add back missing #include of config.h

14 years agoAvoid a NULL deref on unrecognized escapes.
Todd C. Miller [Mon, 28 Mar 2011 16:55:19 +0000 (12:55 -0400)]
Avoid a NULL deref on unrecognized escapes.
Collapse %% -> % like strftime() does.

--HG--
branch : 1.8

14 years agoAvoid a NULL deref on unrecognized escapes.
Todd C. Miller [Mon, 28 Mar 2011 16:54:41 +0000 (12:54 -0400)]
Avoid a NULL deref on unrecognized escapes.
Collapse %% -> % like strftime() does.

14 years agoQuote first argument to AC_DEFUN(); from Elan Ruusamae
Todd C. Miller [Mon, 28 Mar 2011 13:36:49 +0000 (09:36 -0400)]
Quote first argument to AC_DEFUN(); from Elan Ruusamae

--HG--
branch : 1.8

14 years agoQuote first argument to AC_DEFUN(); from Elan Ruusamae
Todd C. Miller [Mon, 28 Mar 2011 13:36:01 +0000 (09:36 -0400)]
Quote first argument to AC_DEFUN(); from Elan Ruusamae

14 years agoadd new sudoers tests
Todd C. Miller [Sun, 27 Mar 2011 22:31:30 +0000 (18:31 -0400)]
add new sudoers tests

--HG--
branch : 1.8

14 years agoAdd test for a newline in the middle of a string when no line continuation
Todd C. Miller [Sun, 27 Mar 2011 22:31:20 +0000 (18:31 -0400)]
Add test for a newline in the middle of a string when no line continuation
character is used.

--HG--
branch : 1.8

14 years agoadd new sudoers tests
Todd C. Miller [Sun, 27 Mar 2011 22:29:55 +0000 (18:29 -0400)]
add new sudoers tests

14 years agoAdd test for a newline in the middle of a string when no line continuation
Todd C. Miller [Sun, 27 Mar 2011 21:22:02 +0000 (17:22 -0400)]
Add test for a newline in the middle of a string when no line continuation
character is used.

14 years agoUse bitwise AND instead of modulus to check for length being odd.
Todd C. Miller [Sun, 27 Mar 2011 21:13:35 +0000 (17:13 -0400)]
Use bitwise AND instead of modulus to check for length being odd.
A newline in the middle of a string is an error unless a line
continuation character is used.

--HG--
branch : 1.8

14 years agoUse bitwise AND instead of modulus to check for length being odd.
Todd C. Miller [Sun, 27 Mar 2011 21:12:45 +0000 (17:12 -0400)]
Use bitwise AND instead of modulus to check for length being odd.
A newline in the middle of a string is an error unless a line
continuation character is used.

14 years agoMove lexer globals initialization into init_lexer.
Todd C. Miller [Sun, 27 Mar 2011 13:49:27 +0000 (09:49 -0400)]
Move lexer globals initialization into init_lexer.

--HG--
branch : 1.8

14 years agoFix a potential crash when a non-regular file is present in an
Todd C. Miller [Sun, 27 Mar 2011 13:49:06 +0000 (09:49 -0400)]
Fix a potential crash when a non-regular file is present in an
includedir.  Fixes bz #452

--HG--
branch : 1.8

14 years agoMove lexer globals initialization into init_lexer.
Todd C. Miller [Sun, 27 Mar 2011 13:45:42 +0000 (09:45 -0400)]
Move lexer globals initialization into init_lexer.

14 years agoFix a potential crash when a non-regular file is present in an
Todd C. Miller [Sun, 27 Mar 2011 13:27:43 +0000 (09:27 -0400)]
Fix a potential crash when a non-regular file is present in an
includedir.  Fixes bz #452

14 years agoOn some Linux systems, "uname -p" contains detailed processor info
Todd C. Miller [Sun, 27 Mar 2011 13:25:40 +0000 (09:25 -0400)]
On some Linux systems, "uname -p" contains detailed processor info
so check "uname -m" first and then "uname -p" if needed.
Recognize PLD Linux.

--HG--
branch : 1.8

14 years agoOn some Linux systems, "uname -p" contains detailed processor info
Todd C. Miller [Sun, 27 Mar 2011 13:24:52 +0000 (09:24 -0400)]
On some Linux systems, "uname -p" contains detailed processor info
so check "uname -m" first and then "uname -p" if needed.
Recognize PLD Linux.

14 years agoDon't need all sudoers.h here.
Todd C. Miller [Fri, 25 Mar 2011 15:20:39 +0000 (11:20 -0400)]
Don't need all sudoers.h here.

--HG--
branch : 1.8

14 years agoPrint sudo version early, in case policy plugin init fails.
Todd C. Miller [Fri, 25 Mar 2011 15:20:28 +0000 (11:20 -0400)]
Print sudo version early, in case policy plugin init fails.

--HG--
branch : 1.8

14 years agoDon't need all sudoers.h here.
Todd C. Miller [Fri, 25 Mar 2011 14:22:19 +0000 (10:22 -0400)]
Don't need all sudoers.h here.

14 years agoPrint sudo version early, in case policy plugin init fails.
Todd C. Miller [Fri, 25 Mar 2011 13:58:08 +0000 (09:58 -0400)]
Print sudo version early, in case policy plugin init fails.

14 years agoUpdate to match change in input.
Todd C. Miller [Thu, 24 Mar 2011 15:15:40 +0000 (11:15 -0400)]
Update to match change in input.

--HG--
branch : 1.8

14 years agoUpdate to match change in input.
Todd C. Miller [Thu, 24 Mar 2011 15:15:11 +0000 (11:15 -0400)]
Update to match change in input.

14 years agoMake an empty group or netgroup a syntax error.
Todd C. Miller [Thu, 24 Mar 2011 15:13:45 +0000 (11:13 -0400)]
Make an empty group or netgroup a syntax error.

--HG--
branch : 1.8

14 years agoAn empty group or netgroup should be a syntax error.
Todd C. Miller [Thu, 24 Mar 2011 15:13:35 +0000 (11:13 -0400)]
An empty group or netgroup should be a syntax error.

--HG--
branch : 1.8

14 years agoCheck that uids work in per-user and per-runas Defaults
Todd C. Miller [Thu, 24 Mar 2011 15:13:22 +0000 (11:13 -0400)]
Check that uids work in per-user and per-runas Defaults
Check that uids and gids work in a Command_Spec

--HG--
branch : 1.8

14 years agoTest empty string in User_Alias and Command_Spec
Todd C. Miller [Thu, 24 Mar 2011 15:13:10 +0000 (11:13 -0400)]
Test empty string in User_Alias and Command_Spec

--HG--
branch : 1.8

14 years agoAllow a group ID in the User_Spec.
Todd C. Miller [Thu, 24 Mar 2011 15:12:54 +0000 (11:12 -0400)]
Allow a group ID in the User_Spec.

--HG--
branch : 1.8

14 years agoReturn an error for the empty string when a word is expected.
Todd C. Miller [Thu, 24 Mar 2011 15:12:41 +0000 (11:12 -0400)]
Return an error for the empty string when a word is expected.
Allow an ID for per-user or per-runas Defaults.

--HG--
branch : 1.8

14 years agoMake an empty group or netgroup a syntax error.
Todd C. Miller [Thu, 24 Mar 2011 15:00:30 +0000 (11:00 -0400)]
Make an empty group or netgroup a syntax error.

14 years agoAn empty group or netgroup should be a syntax error.
Todd C. Miller [Thu, 24 Mar 2011 15:00:05 +0000 (11:00 -0400)]
An empty group or netgroup should be a syntax error.

14 years agoCheck that uids work in per-user and per-runas Defaults
Todd C. Miller [Thu, 24 Mar 2011 14:40:03 +0000 (10:40 -0400)]
Check that uids work in per-user and per-runas Defaults
Check that uids and gids work in a Command_Spec

14 years agoTest empty string in User_Alias and Command_Spec
Todd C. Miller [Thu, 24 Mar 2011 14:39:25 +0000 (10:39 -0400)]
Test empty string in User_Alias and Command_Spec

14 years agoAllow a group ID in the User_Spec.
Todd C. Miller [Thu, 24 Mar 2011 14:37:34 +0000 (10:37 -0400)]
Allow a group ID in the User_Spec.

14 years agoReturn an error for the empty string when a word is expected.
Todd C. Miller [Wed, 23 Mar 2011 22:51:57 +0000 (18:51 -0400)]
Return an error for the empty string when a word is expected.
Allow an ID for per-user or per-runas Defaults.

14 years agoFix printing "User_Alias FOO = ALL"
Todd C. Miller [Wed, 23 Mar 2011 20:01:59 +0000 (16:01 -0400)]
Fix printing "User_Alias FOO = ALL"

--HG--
branch : 1.8

14 years agoFix printing "User_Alias FOO = ALL"
Todd C. Miller [Wed, 23 Mar 2011 20:00:30 +0000 (16:00 -0400)]
Fix printing "User_Alias FOO = ALL"

14 years agoBetter error message about invalid -C argument
Todd C. Miller [Tue, 22 Mar 2011 14:20:13 +0000 (10:20 -0400)]
Better error message about invalid -C argument

--HG--
branch : 1.8

14 years agoBetter error message about invalid -C argument
Todd C. Miller [Tue, 22 Mar 2011 14:19:32 +0000 (10:19 -0400)]
Better error message about invalid -C argument

14 years agofix typo
Todd C. Miller [Tue, 22 Mar 2011 14:07:17 +0000 (10:07 -0400)]
fix typo

--HG--
branch : 1.8

14 years agoFix placement of equal size ('=') in user specification summary.
Todd C. Miller [Tue, 22 Mar 2011 14:06:59 +0000 (10:06 -0400)]
Fix placement of equal size ('=') in user specification summary.

--HG--
branch : 1.8

14 years agofix typo
Todd C. Miller [Tue, 22 Mar 2011 14:03:10 +0000 (10:03 -0400)]
fix typo

14 years agoFix placement of equal size ('=') in user specification summary.
Todd C. Miller [Tue, 22 Mar 2011 13:40:24 +0000 (09:40 -0400)]
Fix placement of equal size ('=') in user specification summary.

14 years agoupdate to match sudoers regress
Todd C. Miller [Mon, 21 Mar 2011 22:52:47 +0000 (18:52 -0400)]
update to match sudoers regress

--HG--
branch : 1.8

14 years agoupdate to match sudoers regress
Todd C. Miller [Mon, 21 Mar 2011 22:52:03 +0000 (18:52 -0400)]
update to match sudoers regress

14 years agoRestore ability to define TRACELEXER and have trace output go to stderr.
Todd C. Miller [Mon, 21 Mar 2011 22:03:13 +0000 (18:03 -0400)]
Restore ability to define TRACELEXER and have trace output go to stderr.

--HG--
branch : 1.8

14 years agoRestore ability to define TRACELEXER and have trace output go to stderr.
Todd C. Miller [Mon, 21 Mar 2011 21:57:38 +0000 (17:57 -0400)]
Restore ability to define TRACELEXER and have trace output go to stderr.

14 years agoRestore old behavior of setting sawspace = TRUE for command line
Todd C. Miller [Mon, 21 Mar 2011 21:48:29 +0000 (17:48 -0400)]
Restore old behavior of setting sawspace = TRUE for command line
args when a line continuation character is hit to avoid causing
problems for existing sudoers files.

--HG--
branch : 1.8

14 years agoRestore old behavior of setting sawspace = TRUE for command line
Todd C. Miller [Mon, 21 Mar 2011 21:46:50 +0000 (17:46 -0400)]
Restore old behavior of setting sawspace = TRUE for command line
args when a line continuation character is hit to avoid causing
problems for existing sudoers files.

14 years agoAdd test for line continuation and aliases
Todd C. Miller [Mon, 21 Mar 2011 19:26:39 +0000 (15:26 -0400)]
Add test for line continuation and aliases

--HG--
branch : 1.8

14 years agoMake test output line up nicely for parse vs. toke
Todd C. Miller [Mon, 21 Mar 2011 19:26:27 +0000 (15:26 -0400)]
Make test output line up nicely for parse vs. toke

--HG--
branch : 1.8

14 years agoMove parser tests to sudoers directory and test the tokenizer output too.
Todd C. Miller [Mon, 21 Mar 2011 19:26:14 +0000 (15:26 -0400)]
Move parser tests to sudoers directory and test the tokenizer output too.

--HG--
branch : 1.8

14 years agoIf we match a rule anchored to the beginning of a line after parsing
Todd C. Miller [Mon, 21 Mar 2011 19:25:47 +0000 (15:25 -0400)]
If we match a rule anchored to the beginning of a line after parsing
a line continuation character, return an ERROR token.  It would be
nicer to use REJECT instead but that substantially slows down the
lexer.

--HG--
branch : 1.8

14 years agoMove LEXTRACE macro to toke.h so we can use it in yyerror().
Todd C. Miller [Mon, 21 Mar 2011 19:25:17 +0000 (15:25 -0400)]
Move LEXTRACE macro to toke.h so we can use it in yyerror().

--HG--
branch : 1.8

14 years agoMake lex tracing settable at run-time in testsudoers via the -t
Todd C. Miller [Mon, 21 Mar 2011 19:25:03 +0000 (15:25 -0400)]
Make lex tracing settable at run-time in testsudoers via the -t
flag.  Trace output goes to stderr.  Will be used by regress tests
to check lexer.

--HG--
branch : 1.8

14 years agoAllow whitespace after the modifier in a Defaults entry.
Todd C. Miller [Mon, 21 Mar 2011 19:24:40 +0000 (15:24 -0400)]
Allow whitespace after the modifier in a Defaults entry.
E.g. "Defaults: username set_home"

--HG--
branch : 1.8

14 years agoAdd test for line continuation and aliases
Todd C. Miller [Mon, 21 Mar 2011 19:21:51 +0000 (15:21 -0400)]
Add test for line continuation and aliases

14 years agoMake test output line up nicely for parse vs. toke
Todd C. Miller [Mon, 21 Mar 2011 19:09:47 +0000 (15:09 -0400)]
Make test output line up nicely for parse vs. toke

14 years agoMove parser tests to sudoers directory and test the tokenizer output too.
Todd C. Miller [Mon, 21 Mar 2011 19:08:49 +0000 (15:08 -0400)]
Move parser tests to sudoers directory and test the tokenizer output too.

14 years agoIf we match a rule anchored to the beginning of a line after parsing
Todd C. Miller [Mon, 21 Mar 2011 16:48:33 +0000 (12:48 -0400)]
If we match a rule anchored to the beginning of a line after parsing
a line continuation character, return an ERROR token.  It would be
nicer to use REJECT instead but that substantially slows down the
lexer.

14 years agoMove LEXTRACE macro to toke.h so we can use it in yyerror().
Todd C. Miller [Mon, 21 Mar 2011 16:39:06 +0000 (12:39 -0400)]
Move LEXTRACE macro to toke.h so we can use it in yyerror().

14 years agoMake lex tracing settable at run-time in testsudoers via the -t
Todd C. Miller [Mon, 21 Mar 2011 01:25:57 +0000 (21:25 -0400)]
Make lex tracing settable at run-time in testsudoers via the -t
flag.  Trace output goes to stderr.  Will be used by regress tests
to check lexer.

14 years agoAllow whitespace after the modifier in a Defaults entry.
Todd C. Miller [Sun, 20 Mar 2011 16:24:36 +0000 (12:24 -0400)]
Allow whitespace after the modifier in a Defaults entry.
E.g. "Defaults: username set_home"

14 years agoDon't set CC when cross-compiling.
Todd C. Miller [Fri, 18 Mar 2011 21:41:11 +0000 (17:41 -0400)]
Don't set CC when cross-compiling.

--HG--
branch : 1.8

14 years agoDon't set CC when cross-compiling.
Todd C. Miller [Fri, 18 Mar 2011 21:40:24 +0000 (17:40 -0400)]
Don't set CC when cross-compiling.

14 years agoCredit Matthew Thomas for the sudoers_search_filter changes.
Todd C. Miller [Fri, 18 Mar 2011 17:07:11 +0000 (13:07 -0400)]
Credit Matthew Thomas for the sudoers_search_filter changes.

--HG--
branch : 1.8

14 years agoCredit Matthew Thomas for the sudoers_search_filter changes.
Todd C. Miller [Fri, 18 Mar 2011 17:05:47 +0000 (13:05 -0400)]
Credit Matthew Thomas for the sudoers_search_filter changes.

14 years agoAdd the .sym files to the MANIFEST
Todd C. Miller [Fri, 18 Mar 2011 14:42:47 +0000 (10:42 -0400)]
Add the .sym files to the MANIFEST

--HG--
branch : 1.8

14 years agoAdd the .sym files to the MANIFEST
Todd C. Miller [Fri, 18 Mar 2011 14:41:46 +0000 (10:41 -0400)]
Add the .sym files to the MANIFEST

14 years agoUpdate for sudo 1.8.1 beta
Todd C. Miller [Fri, 18 Mar 2011 14:25:33 +0000 (10:25 -0400)]
Update for sudo 1.8.1 beta

--HG--
branch : 1.8

14 years agouser_shell -> run_shell to avoid confusion with the user's SHELL variable.
Todd C. Miller [Fri, 18 Mar 2011 14:25:18 +0000 (10:25 -0400)]
user_shell -> run_shell to avoid confusion with the user's SHELL variable.

--HG--
branch : 1.8

14 years agoUpdate for sudo 1.8.1 beta
Todd C. Miller [Fri, 18 Mar 2011 14:24:40 +0000 (10:24 -0400)]
Update for sudo 1.8.1 beta

14 years agouser_shell -> run_shell to avoid confusion with the user's SHELL variable.
Todd C. Miller [Fri, 18 Mar 2011 14:23:35 +0000 (10:23 -0400)]
user_shell -> run_shell to avoid confusion with the user's SHELL variable.

14 years agoSave the controlling tty process group before suspending in pty
Todd C. Miller [Fri, 18 Mar 2011 14:05:25 +0000 (10:05 -0400)]
Save the controlling tty process group before suspending in pty
mode.  Previously, we assumed that the child pgrp == child pid
(which is usually, but not always, the case).

--HG--
branch : 1.8

14 years agoSave the controlling tty process group before suspending in pty
Todd C. Miller [Fri, 18 Mar 2011 14:04:50 +0000 (10:04 -0400)]
Save the controlling tty process group before suspending in pty
mode.  Previously, we assumed that the child pgrp == child pid
(which is usually, but not always, the case).

14 years agoAdd support for sudoers_search_filter setting in ldap.conf. This
Todd C. Miller [Fri, 18 Mar 2011 13:39:28 +0000 (09:39 -0400)]
Add support for sudoers_search_filter setting in ldap.conf.  This
can be used to restrict the set of records returned by the LDAP
query.

--HG--
branch : 1.8

14 years agoAdd support for sudoers_search_filter setting in ldap.conf. This
Todd C. Miller [Fri, 18 Mar 2011 13:38:42 +0000 (09:38 -0400)]
Add support for sudoers_search_filter setting in ldap.conf.  This
can be used to restrict the set of records returned by the LDAP
query.

14 years agoRemove the hack to disable -g in CFLAGS unless --with-devel
Todd C. Miller [Thu, 17 Mar 2011 22:45:14 +0000 (18:45 -0400)]
Remove the hack to disable -g in CFLAGS unless --with-devel

--HG--
branch : 1.8

14 years agoRemove the hack to disable -g in CFLAGS unless --with-devel
Todd C. Miller [Thu, 17 Mar 2011 22:43:46 +0000 (18:43 -0400)]
Remove the hack to disable -g in CFLAGS unless --with-devel

14 years agoThe '@' character does not normally need to be quoted.
Todd C. Miller [Thu, 17 Mar 2011 20:45:50 +0000 (16:45 -0400)]
The '@' character does not normally need to be quoted.

--HG--
branch : 1.8

14 years agoThe '@' character does not normally need to be quoted.
Todd C. Miller [Thu, 17 Mar 2011 20:45:09 +0000 (16:45 -0400)]
The '@' character does not normally need to be quoted.