]> granicus.if.org Git - sudo/log
sudo
13 years agoRemove duplicate return statements.
Todd C. Miller [Fri, 2 Dec 2011 20:23:42 +0000 (15:23 -0500)]
Remove duplicate return statements.

13 years agoRemove inaccurate comment
Todd C. Miller [Fri, 2 Dec 2011 19:41:32 +0000 (14:41 -0500)]
Remove inaccurate comment

13 years agoFetch the login class for the user we authenticate specifically when
Todd C. Miller [Fri, 2 Dec 2011 19:29:54 +0000 (14:29 -0500)]
Fetch the login class for the user we authenticate specifically when
using BSD authentication.  That user may have a different login class
than what we will use to run the command.  When setting the login
class for the command, use the target user's struct passwd, not
the invoking user's.  Fixes bug 526

13 years agoReplace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"
Todd C. Miller [Fri, 2 Dec 2011 18:43:02 +0000 (13:43 -0500)]
Replace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"

13 years agoFix "make check" fallout from the sudo_conv changes in sudo_debug.
Todd C. Miller [Fri, 2 Dec 2011 16:35:22 +0000 (11:35 -0500)]
Fix "make check" fallout from the sudo_conv changes in sudo_debug.

13 years agoUse stdbool.h instead of rolling our own TRUE/FALSE macros.
Todd C. Miller [Fri, 2 Dec 2011 16:27:33 +0000 (11:27 -0500)]
Use stdbool.h instead of rolling our own TRUE/FALSE macros.

13 years agoAdd stdbool.h for systems without it.
Todd C. Miller [Thu, 1 Dec 2011 18:49:46 +0000 (13:49 -0500)]
Add stdbool.h for systems without it.

13 years agoNo longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
Todd C. Miller [Thu, 1 Dec 2011 16:27:57 +0000 (11:27 -0500)]
No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
includes have unistd.h in them.  Add check for socklen_t for upcoming
getaddrinfo compat.

13 years agoUse HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
Todd C. Miller [Thu, 1 Dec 2011 16:07:17 +0000 (11:07 -0500)]
Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.

13 years agoNo longer need to include time.h here as missing.h does not use
Todd C. Miller [Thu, 1 Dec 2011 15:47:23 +0000 (10:47 -0500)]
No longer need to include time.h here as missing.h does not use
time_t.

13 years agoFix mode on sudoers as needed when the -f option is not specified.
Todd C. Miller [Wed, 30 Nov 2011 20:33:26 +0000 (15:33 -0500)]
Fix mode on sudoers as needed when the -f option is not specified.

13 years agoAdd Serbian translation for sudo from translationproject.org
Todd C. Miller [Wed, 30 Nov 2011 19:57:45 +0000 (14:57 -0500)]
Add Serbian translation for sudo from translationproject.org

13 years agoNo longer pass debug_file to plugin, plugins must now use CONV_DEBUG_MSG
Todd C. Miller [Wed, 30 Nov 2011 19:56:41 +0000 (14:56 -0500)]
No longer pass debug_file to plugin, plugins must now use CONV_DEBUG_MSG

13 years agoBuild PIE executables for newer Debian and Ubuntu
Todd C. Miller [Wed, 30 Nov 2011 18:51:41 +0000 (13:51 -0500)]
Build PIE executables for newer Debian and Ubuntu

13 years agoInclude time.h for ctime() prototype.
Todd C. Miller [Wed, 30 Nov 2011 14:14:11 +0000 (09:14 -0500)]
Include time.h for ctime() prototype.

13 years agoDo not close error pipe or debug fd via closefrom() as we need them
Todd C. Miller [Wed, 30 Nov 2011 00:51:24 +0000 (19:51 -0500)]
Do not close error pipe or debug fd via closefrom() as we need them
to report an exec error should one occur.

13 years agoDocument that a sudoUser may now be a group ID.
Todd C. Miller [Tue, 29 Nov 2011 21:37:01 +0000 (16:37 -0500)]
Document that a sudoUser may now be a group ID.

13 years agoAdd support for permitting access by group ID in addition to group name.
Todd C. Miller [Tue, 29 Nov 2011 21:24:45 +0000 (16:24 -0500)]
Add support for permitting access by group ID in addition to group name.

13 years agoOlder Netscape LDAP SDKs don't prototype ldapssl_set_strength()
Todd C. Miller [Tue, 29 Nov 2011 20:37:48 +0000 (15:37 -0500)]
Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()

13 years agoReplace UCB fnmatch.c with a non-recursive version written by
Todd C. Miller [Tue, 29 Nov 2011 19:57:08 +0000 (14:57 -0500)]
Replace UCB fnmatch.c with a non-recursive version written by
William A. Rowe Jr.

13 years agoFix typo, return_debug vs. debug_return
Todd C. Miller [Tue, 29 Nov 2011 19:41:00 +0000 (14:41 -0500)]
Fix typo, return_debug vs. debug_return

13 years agoUpdate Japanese sudoers translation from translationproject.org
Todd C. Miller [Wed, 23 Nov 2011 20:04:09 +0000 (15:04 -0500)]
Update Japanese sudoers translation from translationproject.org

13 years agoMake the env_reset descriptions consistent.
Todd C. Miller [Wed, 23 Nov 2011 15:42:32 +0000 (10:42 -0500)]
Make the env_reset descriptions consistent.

13 years agoDo multiple expansion when expanding paths to the noexec file, sesh
Todd C. Miller [Tue, 22 Nov 2011 19:53:47 +0000 (14:53 -0500)]
Do multiple expansion when expanding paths to the noexec file, sesh
and the plugin directory.  Adapted from a diff by Mike Frysinger

13 years agoregen
Todd C. Miller [Tue, 22 Nov 2011 18:16:43 +0000 (13:16 -0500)]
regen

13 years agoAdd ignore file; from Mike Frysinger
Todd C. Miller [Mon, 21 Nov 2011 21:44:21 +0000 (16:44 -0500)]
Add ignore file; from Mike Frysinger

13 years agono longer save old Makefile.in to .old
Todd C. Miller [Mon, 21 Nov 2011 21:44:08 +0000 (16:44 -0500)]
no longer save old Makefile.in to .old

13 years agoregen
Todd C. Miller [Mon, 21 Nov 2011 21:43:46 +0000 (16:43 -0500)]
regen

13 years agoUpdate to libtool 2.4.2
Todd C. Miller [Mon, 21 Nov 2011 17:24:32 +0000 (12:24 -0500)]
Update to libtool 2.4.2

13 years agoBump grammar version for #include and #includedir relative path support.
Todd C. Miller [Fri, 18 Nov 2011 17:02:43 +0000 (12:02 -0500)]
Bump grammar version for #include and #includedir relative path support.

13 years agoAdd support for relative paths in #include and #includedir
Todd C. Miller [Fri, 18 Nov 2011 01:48:42 +0000 (20:48 -0500)]
Add support for relative paths in #include and #includedir

13 years agoFix install-plugin when shared objects are unsupported or disabled.
Todd C. Miller [Thu, 17 Nov 2011 21:45:52 +0000 (16:45 -0500)]
Fix install-plugin when shared objects are unsupported or disabled.

13 years agoDon't write to sbp if it is NULL
Todd C. Miller [Thu, 17 Nov 2011 21:33:32 +0000 (16:33 -0500)]
Don't write to sbp if it is NULL

13 years agoRemove all sudo/sudoers .mo files on uninstall
Todd C. Miller [Wed, 16 Nov 2011 16:18:25 +0000 (11:18 -0500)]
Remove all sudo/sudoers .mo files on uninstall
If LINGUAS is set, only install matching .mo files

13 years agoFix non-dynamic (no dlopen) sudo build.
Todd C. Miller [Mon, 14 Nov 2011 02:24:54 +0000 (21:24 -0500)]
Fix non-dynamic (no dlopen) sudo build.

13 years agoDon't error out if the user specified --disable-shared
Todd C. Miller [Mon, 14 Nov 2011 02:24:02 +0000 (21:24 -0500)]
Don't error out if the user specified --disable-shared

13 years agoUse SUDO_CONV_DEBUG_MSG in the plugin instead of writing
Todd C. Miller [Sun, 13 Nov 2011 18:55:19 +0000 (13:55 -0500)]
Use SUDO_CONV_DEBUG_MSG in the plugin instead of writing
directly to the debug file.

13 years agoMake sudo_goodpath() return value bolean
Todd C. Miller [Sun, 13 Nov 2011 17:11:00 +0000 (12:11 -0500)]
Make sudo_goodpath() return value bolean

13 years agoRemove obsolete securid auth method.
Todd C. Miller [Sun, 13 Nov 2011 16:54:06 +0000 (11:54 -0500)]
Remove obsolete securid auth method.

13 years agoPrefix authentication functions with a "sudo_" prefix to avoid
Todd C. Miller [Sun, 13 Nov 2011 16:46:39 +0000 (11:46 -0500)]
Prefix authentication functions with a "sudo_" prefix to avoid
namespace problems.

13 years agoRemove the old Kerberos IV support
Todd C. Miller [Sun, 13 Nov 2011 14:12:43 +0000 (09:12 -0500)]
Remove the old Kerberos IV support

13 years agoDon't print garbage at the end of the custom lecture.
Todd C. Miller [Sat, 12 Nov 2011 18:08:13 +0000 (13:08 -0500)]
Don't print garbage at the end of the custom lecture.

13 years agoAdd lexer tracing as debug@parser
Todd C. Miller [Sat, 12 Nov 2011 17:41:44 +0000 (12:41 -0500)]
Add lexer tracing as debug@parser

13 years agoRevert 003bdb078a15. We need to #include <gram.h> not "gram.h" and
Todd C. Miller [Sat, 12 Nov 2011 17:18:44 +0000 (12:18 -0500)]
Revert 003bdb078a15.  We need to #include <gram.h> not "gram.h" and
<def_data.h> and not "def_data.h" when generating the parser in a
build dir.

13 years agoBetter devdir support in mkdep.pl
Todd C. Miller [Tue, 8 Nov 2011 20:05:10 +0000 (15:05 -0500)]
Better devdir support in mkdep.pl

13 years agoAdd devdir before srcdir in include path and fix up dependecies
Todd C. Miller [Tue, 8 Nov 2011 19:10:34 +0000 (14:10 -0500)]
Add devdir before srcdir in include path and fix up dependecies
accordingly.

13 years ago#include "gram.h" not <gram.h> and "def_data.h" and not <def_data.h>.
Todd C. Miller [Tue, 8 Nov 2011 19:09:48 +0000 (14:09 -0500)]
#include "gram.h" not <gram.h> and "def_data.h" and not <def_data.h>.

13 years agoMark libexec files as optional. If we build without shared object
Todd C. Miller [Tue, 8 Nov 2011 13:38:21 +0000 (08:38 -0500)]
Mark libexec files as optional.  If we build without shared object
support, libexec is not used.

13 years agoChange Debug sudo.conf setting to take a program name as the first
Todd C. Miller [Tue, 8 Nov 2011 13:24:45 +0000 (08:24 -0500)]
Change Debug sudo.conf setting to take a program name as the first
argument.  In the future, this will allow visudo and sudoreplay to
use their own Debug entries.

13 years agofix sudo_debug_printf priority
Todd C. Miller [Tue, 8 Nov 2011 13:22:48 +0000 (08:22 -0500)]
fix sudo_debug_printf priority

13 years agoadd missing debug_return_int
Todd C. Miller [Tue, 8 Nov 2011 13:22:07 +0000 (08:22 -0500)]
add missing debug_return_int

13 years agoFold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR
Todd C. Miller [Mon, 7 Nov 2011 21:33:49 +0000 (16:33 -0500)]
Fold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR

13 years agoAdd missing word in HOME security note.
Todd C. Miller [Mon, 7 Nov 2011 20:52:29 +0000 (15:52 -0500)]
Add missing word in HOME security note.

13 years agoPrevent "testsudoers -d username" from trying to malloc(0).
Todd C. Miller [Mon, 7 Nov 2011 13:44:05 +0000 (08:44 -0500)]
Prevent "testsudoers -d username" from trying to malloc(0).

13 years agoTests for empty sudoers (should parse OK) and syntax errors within
Todd C. Miller [Sun, 6 Nov 2011 22:04:55 +0000 (17:04 -0500)]
Tests for empty sudoers (should parse OK) and syntax errors within
a line (should report correct line number) both with and without
the trailing newline.

13 years agoPrint line number when there is a parser error.
Todd C. Miller [Sun, 6 Nov 2011 22:00:40 +0000 (17:00 -0500)]
Print line number when there is a parser error.

13 years agoKeep track of the last token returned. On error, if the last token was
Todd C. Miller [Sat, 5 Nov 2011 11:37:14 +0000 (07:37 -0400)]
Keep track of the last token returned.  On error, if the last token was
COMMENT, decrement sudolineno since the error most likely occurred on
the preceding line.  Previously we always uses sudolineno-1 which will
give the wrong line number for errors within a line.

13 years agoupdate with sudo 1.8.3p1 info
Todd C. Miller [Thu, 3 Nov 2011 13:31:44 +0000 (09:31 -0400)]
update with sudo 1.8.3p1 info

13 years agoFix crash when "sudo -g group -i" is run. Fixes bug 521
Todd C. Miller [Thu, 3 Nov 2011 13:31:20 +0000 (09:31 -0400)]
Fix crash when "sudo -g group -i" is run.  Fixes bug 521

13 years agoMake alias_remove_recursive() return TRUE/FALSE as its callers
Todd C. Miller [Wed, 26 Oct 2011 14:42:30 +0000 (10:42 -0400)]
Make alias_remove_recursive() return TRUE/FALSE as its callers
expect and remove two unused arguments.  Fixes bug 519.

13 years agoAdd regress test for bugzilla 519
Todd C. Miller [Wed, 26 Oct 2011 14:20:32 +0000 (10:20 -0400)]
Add regress test for bugzilla 519

13 years agoDisable warning/error wrapping in regress tests.
Todd C. Miller [Wed, 26 Oct 2011 14:19:48 +0000 (10:19 -0400)]
Disable warning/error wrapping in regress tests.

13 years agoDo compile-po as part of sync-po so that the .mo files get rebuild
Todd C. Miller [Tue, 25 Oct 2011 18:54:38 +0000 (14:54 -0400)]
Do compile-po as part of sync-po so that the .mo files get rebuild
automatically when we sync with translationproject.org

13 years agocheck_addr needs to link with the network libraries on Solaris
Todd C. Miller [Tue, 25 Oct 2011 18:50:54 +0000 (14:50 -0400)]
check_addr needs to link with the network libraries on Solaris

13 years agoWhen matching a RunasAlias for a runas group, pass the alias in as
Todd C. Miller [Tue, 25 Oct 2011 14:34:31 +0000 (10:34 -0400)]
When matching a RunasAlias for a runas group, pass the alias in as
the group_list, not the user_list.  From Daniel Kopecek.

13 years agoWe need to init the auth system regardless of whether we need a
Todd C. Miller [Tue, 25 Oct 2011 14:08:26 +0000 (10:08 -0400)]
We need to init the auth system regardless of whether we need a
password since we will be closing the PAM session in the monitor
process.  Fixes a crash in the monitor on Solaris; bugzilla #518

13 years agoGet rid of done: label. If the child exits we still need to close
Todd C. Miller [Mon, 24 Oct 2011 15:14:20 +0000 (11:14 -0400)]
Get rid of done: label.  If the child exits we still need to close
the pty, update utmp and restore the SELinux tty context.

13 years agoAdd debug_decl/debug_return (almost) everywhere.
Todd C. Miller [Sat, 22 Oct 2011 18:40:21 +0000 (14:40 -0400)]
Add debug_decl/debug_return (almost) everywhere.
Remove old sudo_debug() and convert users to sudo_debug_printf().

13 years agoWrap error/errorx and warning/warningx functions with debug statements.
Todd C. Miller [Sat, 22 Oct 2011 18:28:33 +0000 (14:28 -0400)]
Wrap error/errorx and warning/warningx functions with debug statements.
Disable wrapping for standalone sudoers programs as well as memory
allocation functions (to avoid infinite recursion).

13 years agoAdd checks for __func__ and __FUNCTION__ and mention that we now
Todd C. Miller [Sat, 22 Oct 2011 18:20:52 +0000 (14:20 -0400)]
Add checks for __func__ and __FUNCTION__ and mention that we now
require a cpp that supports variadic macros.

13 years agoNew debug framework for sudo and plugins using /etc/sudo.conf that
Todd C. Miller [Sat, 22 Oct 2011 18:00:52 +0000 (14:00 -0400)]
New debug framework for sudo and plugins using /etc/sudo.conf that
also supports function call tracing.

13 years agoUpdate Japanese sudoers translation from translationproject.org
Todd C. Miller [Fri, 21 Oct 2011 13:00:42 +0000 (09:00 -0400)]
Update Japanese sudoers translation from translationproject.org

13 years agoOverride and ignore the --disable-static option. Sudo already runs
Todd C. Miller [Wed, 12 Oct 2011 12:24:13 +0000 (08:24 -0400)]
Override and ignore the --disable-static option.  Sudo already runs
libtool with -tag=disable-static where applicable and we need non-PIC
objects to build the executables.

13 years agoAdd sudoedit fix
Todd C. Miller [Mon, 10 Oct 2011 19:52:47 +0000 (15:52 -0400)]
Add sudoedit fix

13 years agoregen pot files
Todd C. Miller [Mon, 10 Oct 2011 19:50:41 +0000 (15:50 -0400)]
regen pot files

13 years agoIgnore set_logname (which is now the default) for sudoedit since
Todd C. Miller [Mon, 10 Oct 2011 17:10:24 +0000 (13:10 -0400)]
Ignore set_logname (which is now the default) for sudoedit since
we want the LOGNAME, USER and USERNAME environment variables to
refer to the calling user since that is who the editor runs as.
This allows the editor to find the user's startup files.
Fixes bugzilla #515

13 years agoInstead of trying to grow the buffer in make_grlist_item(), simply
Todd C. Miller [Mon, 10 Oct 2011 15:10:59 +0000 (11:10 -0400)]
Instead of trying to grow the buffer in make_grlist_item(), simply
increase the total length, free the old buffer and allocate a new
one.  This is less error prone and saves us from having to adjust
all the pointers in the buffer.  This code path is only taken when
there are groups longer than the length of the user field in struct
utmp or utmpx, which should be quite rare.

13 years agoAdd Italian translation for sudo from translationproject.org
Todd C. Miller [Mon, 10 Oct 2011 15:00:09 +0000 (11:00 -0400)]
Add Italian translation for sudo from translationproject.org

13 years agoJapanese translation for sudo and sudoers from translationproject.org
Todd C. Miller [Mon, 10 Oct 2011 10:45:28 +0000 (06:45 -0400)]
Japanese translation for sudo and sudoers from translationproject.org

13 years agosudoreplay depends on timestr.lo too; from Mike Frysinger
Todd C. Miller [Fri, 7 Oct 2011 20:09:48 +0000 (16:09 -0400)]
sudoreplay depends on timestr.lo too; from Mike Frysinger

13 years agoRegen sudoers pot file.
Todd C. Miller [Tue, 4 Oct 2011 16:32:05 +0000 (12:32 -0400)]
Regen sudoers pot file.

13 years agoUpdate with latest sudo 1.8.3 news
Todd C. Miller [Tue, 4 Oct 2011 16:22:08 +0000 (12:22 -0400)]
Update with latest sudo 1.8.3 news

13 years agoIt appears that LDAP or NSS may modify the euid so we need to be
Todd C. Miller [Tue, 4 Oct 2011 15:15:06 +0000 (11:15 -0400)]
It appears that LDAP or NSS may modify the euid so we need to be
root for the open().  We restore the old perms at the end of
sudoers_policy_open().

13 years agoBetter warning message on setuid() failure for the setreuid()
Todd C. Miller [Tue, 4 Oct 2011 15:13:28 +0000 (11:13 -0400)]
Better warning message on setuid() failure for the setreuid()
version of set_perms().

13 years agoDelref auth_pw at the end of check_user() instead of getting a ref
Todd C. Miller [Tue, 27 Sep 2011 20:21:21 +0000 (16:21 -0400)]
Delref auth_pw at the end of check_user() instead of getting a ref
twice.

13 years agoMake sudo_auth_{init,cleanup} return TRUE on success and check for
Todd C. Miller [Tue, 27 Sep 2011 19:41:22 +0000 (15:41 -0400)]
Make sudo_auth_{init,cleanup} return TRUE on success and check for
sudo_auth_init() return value in check_user().

13 years agoDo not return without restoring permissions.
Todd C. Miller [Tue, 27 Sep 2011 19:22:08 +0000 (15:22 -0400)]
Do not return without restoring permissions.

13 years agoregen pot files
Todd C. Miller [Tue, 27 Sep 2011 18:07:18 +0000 (14:07 -0400)]
regen pot files

13 years agoModify the authentication API such that the init and cleanup functions
Todd C. Miller [Tue, 27 Sep 2011 17:18:46 +0000 (13:18 -0400)]
Modify the authentication API such that the init and cleanup functions
are always called, regardless of whether or not we are going to
verify a password.  This is needed for proper PAM session support.

13 years agoAdd missing dependency for getspwuid.lo and regen other depends.
Todd C. Miller [Tue, 27 Sep 2011 17:15:48 +0000 (13:15 -0400)]
Add missing dependency for getspwuid.lo and regen other depends.

13 years agoFix a PAM_USER mismatch in session open/close. We update PAM_USER
Todd C. Miller [Tue, 27 Sep 2011 15:13:44 +0000 (11:13 -0400)]
Fix a PAM_USER mismatch in session open/close.  We update PAM_USER
to the target user immediately before setting resource limits, which
is after the monitor process has forked (so it has the old value).
Also, if the user did not authenticate, there is no pamh in the
monitor so we need to init pam here too.  This means we end up
calling pam_start() twice, which should be fixed, but at least the
session is always properly closed now.

13 years agoAdd check for old being NULL in utmp_setid(); from Steven McDonald
Todd C. Miller [Tue, 27 Sep 2011 13:30:59 +0000 (09:30 -0400)]
Add check for old being NULL in utmp_setid(); from Steven McDonald

13 years agoIf the invoking user cannot be resolved by uid fake the struct
Todd C. Miller [Sun, 25 Sep 2011 10:35:40 +0000 (06:35 -0400)]
If the invoking user cannot be resolved by uid fake the struct
passwd and store it in the cache so we can delref it on exit.

13 years agoDon't error out if the group plugin cannot be loaded, just warn.
Todd C. Miller [Sat, 24 Sep 2011 14:24:40 +0000 (10:24 -0400)]
Don't error out if the group plugin cannot be loaded, just warn.

13 years agoQuiet a false positive found by several static analysis tools.
Todd C. Miller [Fri, 23 Sep 2011 23:37:21 +0000 (19:37 -0400)]
Quiet a false positive found by several static analysis tools.
These tools don't know that log_error() does not return (it longjmps
to error_jmp which returns to the sudo front-end).

13 years agoAdd Italian translation for sudo from translationproject.org
Todd C. Miller [Thu, 22 Sep 2011 18:56:43 +0000 (14:56 -0400)]
Add Italian translation for sudo from translationproject.org
Regen .mo files

13 years agoUpdate to current reality and add bit about ssh auth
Todd C. Miller [Wed, 21 Sep 2011 16:30:09 +0000 (12:30 -0400)]
Update to current reality and add bit about ssh auth

13 years agoMake "verbose" static; fixes a namespace clash with pam_ssh_agent_auth
Todd C. Miller [Wed, 21 Sep 2011 14:15:13 +0000 (10:15 -0400)]
Make "verbose" static; fixes a namespace clash with pam_ssh_agent_auth
(and it doesn't need to be extern these days).

13 years agoFreeBSD has libutil.h not util.h
Todd C. Miller [Wed, 21 Sep 2011 13:52:33 +0000 (09:52 -0400)]
FreeBSD has libutil.h not util.h

13 years agoDefine _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
Todd C. Miller [Wed, 21 Sep 2011 13:46:52 +0000 (09:46 -0400)]
Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD