bump
authorTavis Ormandy <taviso@gentoo.org>
Sat, 12 Nov 2005 12:14:49 +0000 (12:14 +0000)
committerTavis Ormandy <taviso@gentoo.org>
Sat, 12 Nov 2005 12:14:49 +0000 (12:14 +0000)
Package-Manager: portage-2.0.51.22-r3

app-admin/sudo/ChangeLog
app-admin/sudo/Manifest
app-admin/sudo/files/digest-sudo-1.6.8_p12 [new file with mode: 0644]
app-admin/sudo/sudo-1.6.8_p12.ebuild [new file with mode: 0644]

index b6bb400c6d7f07aaacccc53ca4801393025cd2ce..b11cd9d3ea756551dc1d8a3214470dc99b36ec82 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for app-admin/sudo
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sudo/ChangeLog,v 1.85 2005/10/29 08:54:22 taviso Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/sudo/ChangeLog,v 1.86 2005/11/12 12:14:49 taviso Exp $
+
+*sudo-1.6.8_p12 (12 Nov 2005)
+
+  12 Nov 2005; Tavis Ormandy <taviso@gentoo.org> +sudo-1.6.8_p12.ebuild:
+  bump
 
 *sudo-1.6.8_p11 (29 Oct 2005)
 
index cf75d5880bcc3168a704ad9e6136b00dde9c0697..7008a802e69a2eca661a526f82304b4708a460e3 100644 (file)
@@ -1,11 +1,13 @@
 MD5 f7258273dc788f3949cfab7e9b8d1cd6 sudo-1.6.8_p9.ebuild 6039
 MD5 e878709f5fddd9f8b579d463bb19d369 sudo-1.6.8_p11.ebuild 6630
 MD5 eed7089e2bb4626271fcbec0166bd849 sudo-1.6.8_p9-r2.ebuild 6743
-MD5 ce7a749b51961e777946ee994d91faa2 ChangeLog 11455
+MD5 768b40bf50317b307619d7baf7a95751 ChangeLog 11567
 MD5 4e3ab49065539b5aa4d3153261b5d687 metadata.xml 561
+MD5 1a429d7329eef0e31193ff99aab0f925 sudo-1.6.8_p12.ebuild 6266
 MD5 6c08a6d5527a45278ebc165df7f0031d files/sudo 223
 MD5 375b1725c7c89570ce74eba2a96b767d files/digest-sudo-1.6.8_p9-r2 64
 MD5 c80edde705c9d67a189a45eaa2e42e15 files/digest-sudo-1.6.8_p11 65
+MD5 373ed8a9aaca90a6c339c4749156a62c files/digest-sudo-1.6.8_p12 65
 MD5 2a601951e4e5d6bdafc31b223737ddf5 files/sudo-ldap_timelimit.diff 2550
 MD5 0b50aabedf9bb326893b5f1c333e46b2 files/sudo-skeychallengeargs.diff 567
 MD5 59acf8b0292a8e60b5277b5dc952cfc4 files/sudoers 1645
diff --git a/app-admin/sudo/files/digest-sudo-1.6.8_p12 b/app-admin/sudo/files/digest-sudo-1.6.8_p12
new file mode 100644 (file)
index 0000000..b0063e9
--- /dev/null
@@ -0,0 +1 @@
+MD5 b29893c06192df6230dd5f340f3badf5 sudo-1.6.8p12.tar.gz 585643
diff --git a/app-admin/sudo/sudo-1.6.8_p12.ebuild b/app-admin/sudo/sudo-1.6.8_p12.ebuild
new file mode 100644 (file)
index 0000000..ff06f00
--- /dev/null
@@ -0,0 +1,186 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/sudo/sudo-1.6.8_p12.ebuild,v 1.1 2005/11/12 12:14:49 taviso Exp $
+
+inherit eutils pam
+
+# TODO: Fix support for krb4 and krb5
+
+DESCRIPTION="Allows users or groups to run commands as other users"
+HOMEPAGE="http://www.sudo.ws/"
+SRC_URI="ftp://ftp.sudo.ws/pub/sudo/${P/_/}.tar.gz"
+LICENSE="Sudo"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="pam skey offensive ldap selinux"
+
+DEPEND="pam? ( || ( virtual/pam sys-libs/pam ) )
+       ldap? ( >=net-nds/openldap-2.1.30-r1 )
+       skey? ( >=app-admin/skey-1.1.5-r1 )
+       sys-devel/bison
+       virtual/editor
+       virtual/mta"
+RDEPEND="selinux? ( sec-policy/selinux-sudo )
+       ldap? ( dev-lang/perl )
+       ${DEPEND}"
+
+S=${WORKDIR}/${P/_/}
+
+src_unpack() {
+       unpack ${A}; cd ${S}
+
+       # ldap failover patch
+       epatch ${FILESDIR}/${PN}-ldap_timelimit.diff
+
+       # compatability fix.
+       epatch ${FILESDIR}/${PN}-skeychallengeargs.diff
+
+       # make tls_cacert synonymous with tls_cacertfile.
+       epatch ${FILESDIR}/${PN}-1.6.8_p8-ldap-tls_cacert.diff
+
+       # additional variables to disallow, should user disable env_reset.
+
+       # NOTE: this is not a supported mode of operation, these variables
+       #       are added to the blacklist as a convenience to administrators
+       #       who fail to heed the warnings of allowing untrusted users
+       #       to access sudo.
+       #
+       #       there is *no possible way* to foresee all attack vectors in
+       #       all possible applications that could potentially be used via
+       #       sudo, these settings will just delay the inevitable.
+       #
+       #       that said, I will accept suggestions for variables that can
+       #       be misused in _common_ interpreters or libraries, such as
+       #       perl, bash, python, ruby, etc., in the hope of dissuading
+       #       a casual attacker.
+
+       # XXX: perl should be using suid_perl.
+       # XXX: users can remove/add more via env_delete and env_check.
+       # XXX: <?> = probably safe enough for most circumstances.
+
+       einfo "Blacklisting common variables (env_delete)..."
+               sudo_bad_var 'PERLIO_DEBUG'   # perl, write debug to file.
+               sudo_bad_var 'FPATH'          # ksh, search path for functions.
+               sudo_bad_var 'NULLCMD'        # zsh, command on null-redir. <?>
+               sudo_bad_var 'READNULLCMD'    # zsh, command on null-redir. <?>
+#              sudo_bad_var 'TMPPREFIX'      # zsh, prefix for tmp files. <?>
+               sudo_bad_var 'GLOBIGNORE'     # bash, glob paterns to ignore. <?>
+               sudo_bad_var 'PYTHONHOME'     # python, module search path.
+               sudo_bad_var 'PYTHONPATH'     # python, search path.
+               sudo_bad_var 'PYTHONINSPECT'  # python, allow inspection.
+               sudo_bad_var 'RUBYLIB'        # ruby, lib load path.
+               sudo_bad_var 'RUBYOPT'        # ruby, cl options.
+#              sudo_bad_var 'RUBYPATH'       # ruby, script search path. <?>
+               sudo_bad_var 'ZDOTDIR'        # zsh, path to search for dotfiles.
+       einfo "...done."
+
+       # prevent binaries from being stripped.
+       sed -i 's/\($(INSTALL).*\) -s \(.*[(sudo|visudo)]\)/\1 \2/g' Makefile.in
+}
+
+src_compile() {
+       local line ROOTPATH
+
+       # FIXME: secure_path is a compile time setting. using ROOTPATH
+       # is not perfect, env-update may invalidate this, but until it
+       # is available as a sudoers setting this will have to do.
+       einfo "Setting secure_path..."
+
+               # why not use grep? variable might be expanded from other variables
+               # declared in that file. cannot just source the file, would override
+               # any variables already set.
+               eval `PS4= bash -x /etc/profile.env 2>&1 | \
+                       while read line; do
+                               case $line in
+                                       ROOTPATH=*) echo $line; break;;
+                                       *) continue;;
+                               esac
+                       done`  && einfo "       Found ROOTPATH..." || \
+                               ewarn " Failed to find ROOTPATH, please report this."
+
+               # remove any duplicate entries
+               ROOTPATH=$(cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}})
+
+       einfo "...done."
+
+       # XXX: --disable-path-info closes an info leak, but may be confusing.
+       # XXX: /bin/vi may not be available, make nano visudo's default.
+       econf --with-secure-path="${ROOTPATH}" \
+               --with-editor=/bin/nano \
+               --with-env-editor \
+               $(use_with offensive insults) \
+               $(use_with offensive all-insults) \
+               $(use_with pam) \
+               $(use_with skey) \
+               $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) \
+               $(use_with ldap) || die
+
+       # disallow lazy bindings
+       emake SUDO_LDFLAGS="-Wl,-z,now" || die
+}
+
+src_install() {
+       einstall || die
+       dodoc BUGS CHANGES HISTORY PORTING README RUNSON TODO \
+               TROUBLESHOOTING UPGRADE sample.*
+
+       if use ldap; then
+               dodoc README.LDAP
+               dosbin sudoers2ldif
+
+               printf "# See ldap.conf(5) and README.LDAP for details\n"                                       > ${T}/ldap.conf.sudo
+               printf "# This file should only be readable by root\n\n"                                        >> ${T}/ldap.conf.sudo
+               printf "# supported directives: host, port, ssl, ldap_version\n"                        >> ${T}/ldap.conf.sudo
+               printf "# uri, binddn, bindpw, sudoers_base, sudoers_debug\n"                           >> ${T}/ldap.conf.sudo
+               printf "# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}\n"     >> ${T}/ldap.conf.sudo
+
+               insinto /etc
+               doins ${T}/ldap.conf.sudo
+               fperms 0440 /etc/ldap.conf.sudo
+       fi
+
+       if has_version virtual/pam; then
+               pamd_mimic_system sudo auth account password session
+       else
+               dopamd ${FILESDIR}/sudo
+       fi
+
+       insinto /etc
+       doins ${FILESDIR}/sudoers
+       fperms 0440 /etc/sudoers
+}
+
+# remove duplicate path entries from $1
+cleanpath() {
+       local i=1 x n IFS=:
+       local -a paths; paths=($1)
+
+       for ((n=${#paths[*]}-1;i<=n;i++)); do
+               for ((x=0;x<i;x++)); do
+                       test "${paths[i]}" == "${paths[x]}" && {
+                               einfo " Duplicate entry ${paths[i]} removed..." 1>&2
+                               unset paths[i]; continue 2; }
+               done; # einfo " Adding ${paths[i]}..." 1>&2
+       done; echo "${paths[*]}"
+}
+
+# add $1 to default env_delete list.
+sudo_bad_var() {
+       local target='env.c' marker='\*initial_badenv_table\[\]'
+
+       ebegin "        $1"
+               sed -i 's#\(^.*'${marker}'.*$\)#\1\n\t"'${1}'",#' ${S}/${target}
+       eend $?
+}
+
+pkg_postinst() {
+       use skey && use pam && {
+               ewarn "sudo will not use skey authentication when compiled with"
+               ewarn "pam support."
+               ewarn "To allow users to authenticate with one time passwords,"
+               ewarn "you should unset the pam USE flag for sudo."
+       }
+       use ldap && {
+               ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
+       }
+}