parent
57c8b4d23d
commit
ffd13d0b3d
@ -1,4 +1,5 @@
|
||||
DIST syslog-ng-3.7.1.tar.gz 3509575 SHA256 4c19841b9079b377cd814b1e6ebbf273af41d04d51c648f4c31f19bfadc20220 SHA512 6f9a68aec2594d83c43cf40e12a3d56e65661929a47c2a053ae120e34ad358d4dfd0b5b0303a374a5557f2ac0670114037a339530b111b1078b56e5baf284ed4 WHIRLPOOL 247498f144aec419d1214378332bc286795fa8f59ba33ce75b3d000be6340758f00a694d76b5cbfdd6b68d138a6cd373c06bb52c70e6ed6de29189c03a56d16b
|
||||
DIST syslog-ng-3.7.2.tar.gz 3558377 SHA256 b1b3ccc0ce7f0d8bf15b23e59f2f4f5ded70eed410dfd27105219bc8856388a5 SHA512 dbf58b51b68bc6616a136df5eb67a120718d8c83f785218d40f62e5f7b3691a3ad4d21db617551e4192e053dc9340440424e3d3b072b47ca590d4eac0dbf0e6f WHIRLPOOL 3721841f6e5ea883cd5ee71bf1651fa0861904008eb1136127c36990e2fe8801deafdf31ce880677eff7739b0b07411eee4542d8d4a80b60819fa3bd9ab24b9e
|
||||
DIST syslog-ng_3.4.8.tar.gz 3169372 SHA256 96c2f970fbba4fdd7659b1fee5e476d2858c911d4304d42099f495493762ff49 SHA512 23ba9908664e594c186cbe4bd5dcfb5d2ed3faf02ec45b931bb91b078660547989c2340a08b478a33adb530d39a6d6f39a2e7519107a3f6b923ac9f39529620e WHIRLPOOL 1085fa2c90e0c85421c64ed50e8a357f29006afea2f3e329e42d1e27f4210a10fe0f05d4af95a11c245d68b43644a4a829a50c05b7d541f59a6f580b3643b434
|
||||
DIST syslog-ng_3.6.2.tar.gz 3207456 SHA256 ef47fada52981e09af570457a5af30f815f5d5b6c2e33754cedd4ca9780d8261 SHA512 15603b4df2001e1ce7e0019d0dd9a0f4295445e3fd19a527ebf3d49486da7da27fac6c465727ec0354f8f70ca0f671a285ec132f9aa0de62b40f18b44af2a226 WHIRLPOOL 7135db242374d6e5789c0820a06187b7e325054fd214e3aee75aac5b8dde56786b432cc4519c07ce0cd413c3a560e8e74ee6eca319c21eaa750ca8140ef1b63f
|
||||
DIST syslog-ng_3.6.4.tar.gz 3276432 SHA256 7be11df31ac7d716f1f952e22b5ae8e2049edd633a41b223776a853d9106f4e7 SHA512 9c648628b9bd3ebb25bc44fa6586e88a4b9ed7c24b1c337569d3cccb04bf2f427ba1218900f8dfd8f668f245d6ab44ad45b67da661b7c2af68c6c42101b722e1 WHIRLPOOL 496a9b2e06e33b0c42726f3b13f859f356f136367c48363cd22b086b72f4f54a32cc057235636f2d2ea3ad7bdd622354ea67df1cbc770be608a84bc861fce93d
|
||||
|
@ -0,0 +1,143 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit autotools python-any-r1 eutils multilib systemd versionator
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
MY_PV_MM=$(get_version_component_range 1-2)
|
||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
||||
HOMEPAGE="http://www.balabit.com/network-security/syslog-ng"
|
||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE="amqp caps dbi geoip ipv6 json libressl mongodb pacct python redis smtp spoof-source systemd tcpd"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
caps? ( sys-libs/libcap )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
geoip? ( >=dev-libs/geoip-1.5.0 )
|
||||
json? ( >=dev-libs/json-c-0.9 )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
redis? ( dev-libs/hiredis )
|
||||
smtp? ( net-libs/libesmtp )
|
||||
spoof-source? ( net-libs/libnet:1.1 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
dev-libs/libpcre
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
>=dev-libs/eventlog-0.2.12
|
||||
>=dev-libs/glib-2.10.1:2"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
sys-devel/flex"
|
||||
|
||||
S=${WORKDIR}/${PN}-${MY_PV}
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch_user
|
||||
use python && python_fix_shebang .
|
||||
|
||||
if use !json ; then
|
||||
sed -i \
|
||||
-e '1 s/cim //' \
|
||||
scl/Makefile.am || die
|
||||
eautoreconf
|
||||
fi
|
||||
|
||||
cp "${FILESDIR}"/*logrotate*.in "${TMPDIR}" || die
|
||||
cd "${TMPDIR}" || die
|
||||
|
||||
for f in *logrotate*.in ; do
|
||||
if use systemd ; then
|
||||
sed \
|
||||
's/@GENTOO_RESTART@/systemctl kill -s HUP syslog-ng/' \
|
||||
$f > ${f/.in/} || die
|
||||
else
|
||||
sed \
|
||||
's:@GENTOO_RESTART@:/etc/init.d/syslog-ng reload:' \
|
||||
$f > ${f/.in/} || die
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-java \
|
||||
--disable-docs \
|
||||
--enable-manpages \
|
||||
--with-embedded-crypto \
|
||||
--with-ivykis=internal \
|
||||
--with-libmongo-client=internal \
|
||||
--sysconfdir=/etc/syslog-ng \
|
||||
--localstatedir=/var/lib/syslog-ng \
|
||||
--with-pidfile-dir=/var/run \
|
||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng \
|
||||
$(systemd_with_unitdir) \
|
||||
$(use_enable systemd) \
|
||||
$(use_enable caps linux-caps) \
|
||||
$(use_enable geoip) \
|
||||
$(use_enable ipv6) \
|
||||
$(use_enable json) \
|
||||
$(use_enable mongodb) \
|
||||
$(use_enable pacct) \
|
||||
$(use_enable python) \
|
||||
$(use_enable redis) \
|
||||
$(use_enable smtp) \
|
||||
$(use_enable amqp) \
|
||||
$(usex amqp --with-librabbitmq-client=internal --without-librabbitmq-client) \
|
||||
$(use_enable spoof-source) \
|
||||
$(use_enable dbi sql) \
|
||||
$(use_enable tcpd tcp-wrapper)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# -j1 for bug #484470
|
||||
emake -j1 DESTDIR="${D}" install
|
||||
|
||||
dodoc AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf* \
|
||||
contrib/syslog2ng "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.hardened" \
|
||||
"${TMPDIR}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened"
|
||||
|
||||
# Install default configuration
|
||||
insinto /etc/syslog-ng
|
||||
if use userland_BSD ; then
|
||||
newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo.fbsd" syslog-ng.conf
|
||||
else
|
||||
newins "${FILESDIR}/${MY_PV_MM}/syslog-ng.conf.gentoo" syslog-ng.conf
|
||||
fi
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${TMPDIR}/syslog-ng.logrotate" syslog-ng
|
||||
|
||||
newinitd "${FILESDIR}/${MY_PV_MM}/syslog-ng.rc6" syslog-ng
|
||||
newconfd "${FILESDIR}/${MY_PV_MM}/syslog-ng.confd" syslog-ng
|
||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
||||
prune_libtool_files --modules
|
||||
|
||||
use python && python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "For detailed documentation please see the upstream website:"
|
||||
elog "http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.7-guides/en/syslog-ng-ose-v3.7-guide-admin/html/index.html"
|
||||
|
||||
# bug #355257
|
||||
if ! has_version app-admin/logrotate ; then
|
||||
echo
|
||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
||||
elog "for logrotate to use."
|
||||
echo
|
||||
fi
|
||||
}
|
@ -0,0 +1,564 @@
|
||||
From b51b33f2bc5d1497ddf5bd107f791c101695000d Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Williams <nico@twosigma.com>
|
||||
Date: Mon, 14 Sep 2015 12:27:52 -0400
|
||||
Subject: [PATCH] Fix SPNEGO context aliasing bugs [CVE-2015-2695]
|
||||
|
||||
The SPNEGO mechanism currently replaces its context handle with the
|
||||
mechanism context handle upon establishment, under the assumption that
|
||||
most GSS functions are only called after context establishment. This
|
||||
assumption is incorrect, and can lead to aliasing violations for some
|
||||
programs. Maintain the SPNEGO context structure after context
|
||||
establishment and refer to it in all GSS methods. Add initiate and
|
||||
opened flags to the SPNEGO context structure for use in
|
||||
gss_inquire_context() prior to context establishment.
|
||||
|
||||
CVE-2015-2695:
|
||||
|
||||
In MIT krb5 1.5 and later, applications which call
|
||||
gss_inquire_context() on a partially-established SPNEGO context can
|
||||
cause the GSS-API library to read from a pointer using the wrong type,
|
||||
generally causing a process crash. This bug may go unnoticed, because
|
||||
the most common SPNEGO authentication scenario establishes the context
|
||||
after just one call to gss_accept_sec_context(). Java server
|
||||
applications using the native JGSS provider are vulnerable to this
|
||||
bug. A carefully crafted SPNEGO packet might allow the
|
||||
gss_inquire_context() call to succeed with attacker-determined
|
||||
results, but applications should not make access control decisions
|
||||
based on gss_inquire_context() results prior to context establishment.
|
||||
|
||||
CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
|
||||
|
||||
[ghudson@mit.edu: several bugfixes, style changes, and edge-case
|
||||
behavior changes; commit message and CVE description]
|
||||
|
||||
ticket: 8244
|
||||
target_version: 1.14
|
||||
tags: pullup
|
||||
---
|
||||
src/lib/gssapi/spnego/gssapiP_spnego.h | 2 +
|
||||
src/lib/gssapi/spnego/spnego_mech.c | 254 ++++++++++++++++++++++++---------
|
||||
2 files changed, 192 insertions(+), 64 deletions(-)
|
||||
|
||||
diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h
|
||||
index 57372de..5c82764 100644
|
||||
--- a/src/lib/gssapi/spnego/gssapiP_spnego.h
|
||||
+++ b/src/lib/gssapi/spnego/gssapiP_spnego.h
|
||||
@@ -103,6 +103,8 @@ typedef struct {
|
||||
int firstpass;
|
||||
int mech_complete;
|
||||
int nego_done;
|
||||
+ int initiate;
|
||||
+ int opened;
|
||||
OM_uint32 ctx_flags;
|
||||
gss_name_t internal_name;
|
||||
gss_OID actual_mech;
|
||||
diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
|
||||
index ef76e1f..7849c85 100644
|
||||
--- a/src/lib/gssapi/spnego/spnego_mech.c
|
||||
+++ b/src/lib/gssapi/spnego/spnego_mech.c
|
||||
@@ -102,7 +102,7 @@ static OM_uint32 get_negotiable_mechs(OM_uint32 *, spnego_gss_cred_id_t,
|
||||
gss_cred_usage_t, gss_OID_set *);
|
||||
static void release_spnego_ctx(spnego_gss_ctx_id_t *);
|
||||
static void check_spnego_options(spnego_gss_ctx_id_t);
|
||||
-static spnego_gss_ctx_id_t create_spnego_ctx(void);
|
||||
+static spnego_gss_ctx_id_t create_spnego_ctx(int);
|
||||
static int put_mech_set(gss_OID_set mechSet, gss_buffer_t buf);
|
||||
static int put_input_token(unsigned char **, gss_buffer_t, unsigned int);
|
||||
static int put_mech_oid(unsigned char **, gss_OID_const, unsigned int);
|
||||
@@ -454,7 +454,7 @@ check_spnego_options(spnego_gss_ctx_id_t spnego_ctx)
|
||||
}
|
||||
|
||||
static spnego_gss_ctx_id_t
|
||||
-create_spnego_ctx(void)
|
||||
+create_spnego_ctx(int initiate)
|
||||
{
|
||||
spnego_gss_ctx_id_t spnego_ctx = NULL;
|
||||
spnego_ctx = (spnego_gss_ctx_id_t)
|
||||
@@ -477,6 +477,8 @@ create_spnego_ctx(void)
|
||||
spnego_ctx->mic_rcvd = 0;
|
||||
spnego_ctx->mech_complete = 0;
|
||||
spnego_ctx->nego_done = 0;
|
||||
+ spnego_ctx->opened = 0;
|
||||
+ spnego_ctx->initiate = initiate;
|
||||
spnego_ctx->internal_name = GSS_C_NO_NAME;
|
||||
spnego_ctx->actual_mech = GSS_C_NO_OID;
|
||||
|
||||
@@ -642,7 +644,7 @@ init_ctx_new(OM_uint32 *minor_status,
|
||||
OM_uint32 ret;
|
||||
spnego_gss_ctx_id_t sc = NULL;
|
||||
|
||||
- sc = create_spnego_ctx();
|
||||
+ sc = create_spnego_ctx(1);
|
||||
if (sc == NULL)
|
||||
return GSS_S_FAILURE;
|
||||
|
||||
@@ -659,10 +661,7 @@ init_ctx_new(OM_uint32 *minor_status,
|
||||
ret = GSS_S_FAILURE;
|
||||
goto cleanup;
|
||||
}
|
||||
- /*
|
||||
- * The actual context is not yet determined, set the output
|
||||
- * context handle to refer to the spnego context itself.
|
||||
- */
|
||||
+
|
||||
sc->ctx_handle = GSS_C_NO_CONTEXT;
|
||||
*ctx = (gss_ctx_id_t)sc;
|
||||
sc = NULL;
|
||||
@@ -1108,16 +1107,11 @@ spnego_gss_init_sec_context(
|
||||
}
|
||||
gss_release_buffer(&tmpmin, &mechtok_out);
|
||||
if (ret == GSS_S_COMPLETE) {
|
||||
- /*
|
||||
- * Now, switch the output context to refer to the
|
||||
- * negotiated mechanism's context.
|
||||
- */
|
||||
- *context_handle = (gss_ctx_id_t)spnego_ctx->ctx_handle;
|
||||
+ spnego_ctx->opened = 1;
|
||||
if (actual_mech != NULL)
|
||||
*actual_mech = spnego_ctx->actual_mech;
|
||||
if (ret_flags != NULL)
|
||||
*ret_flags = spnego_ctx->ctx_flags;
|
||||
- release_spnego_ctx(&spnego_ctx);
|
||||
} else if (ret != GSS_S_CONTINUE_NEEDED) {
|
||||
if (spnego_ctx != NULL) {
|
||||
gss_delete_sec_context(&tmpmin,
|
||||
@@ -1285,7 +1279,7 @@ acc_ctx_hints(OM_uint32 *minor_status,
|
||||
if (ret != GSS_S_COMPLETE)
|
||||
goto cleanup;
|
||||
|
||||
- sc = create_spnego_ctx();
|
||||
+ sc = create_spnego_ctx(0);
|
||||
if (sc == NULL) {
|
||||
ret = GSS_S_FAILURE;
|
||||
goto cleanup;
|
||||
@@ -1367,7 +1361,7 @@ acc_ctx_new(OM_uint32 *minor_status,
|
||||
gss_release_buffer(&tmpmin, &sc->DER_mechTypes);
|
||||
assert(mech_wanted != GSS_C_NO_OID);
|
||||
} else
|
||||
- sc = create_spnego_ctx();
|
||||
+ sc = create_spnego_ctx(0);
|
||||
if (sc == NULL) {
|
||||
ret = GSS_S_FAILURE;
|
||||
*return_token = NO_TOKEN_SEND;
|
||||
@@ -1750,13 +1744,12 @@ spnego_gss_accept_sec_context(
|
||||
ret = GSS_S_FAILURE;
|
||||
}
|
||||
if (ret == GSS_S_COMPLETE) {
|
||||
- *context_handle = (gss_ctx_id_t)sc->ctx_handle;
|
||||
+ sc->opened = 1;
|
||||
if (sc->internal_name != GSS_C_NO_NAME &&
|
||||
src_name != NULL) {
|
||||
*src_name = sc->internal_name;
|
||||
sc->internal_name = GSS_C_NO_NAME;
|
||||
}
|
||||
- release_spnego_ctx(&sc);
|
||||
} else if (ret != GSS_S_CONTINUE_NEEDED) {
|
||||
if (sc != NULL) {
|
||||
gss_delete_sec_context(&tmpmin, &sc->ctx_handle,
|
||||
@@ -2069,8 +2062,13 @@ spnego_gss_unwrap(
|
||||
gss_qop_t *qop_state)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_unwrap(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
input_message_buffer,
|
||||
output_message_buffer,
|
||||
conf_state,
|
||||
@@ -2090,8 +2088,13 @@ spnego_gss_wrap(
|
||||
gss_buffer_t output_message_buffer)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_wrap(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_req_flag,
|
||||
qop_req,
|
||||
input_message_buffer,
|
||||
@@ -2108,8 +2111,14 @@ spnego_gss_process_context_token(
|
||||
const gss_buffer_t token_buffer)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ /* SPNEGO doesn't have its own context tokens. */
|
||||
+ if (!sc->opened)
|
||||
+ return (GSS_S_DEFECTIVE_TOKEN);
|
||||
+
|
||||
ret = gss_process_context_token(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
token_buffer);
|
||||
|
||||
return (ret);
|
||||
@@ -2133,19 +2142,9 @@ spnego_gss_delete_sec_context(
|
||||
if (*ctx == NULL)
|
||||
return (GSS_S_COMPLETE);
|
||||
|
||||
- /*
|
||||
- * If this is still an SPNEGO mech, release it locally.
|
||||
- */
|
||||
- if ((*ctx)->magic_num == SPNEGO_MAGIC_ID) {
|
||||
- (void) gss_delete_sec_context(minor_status,
|
||||
- &(*ctx)->ctx_handle,
|
||||
- output_token);
|
||||
- (void) release_spnego_ctx(ctx);
|
||||
- } else {
|
||||
- ret = gss_delete_sec_context(minor_status,
|
||||
- context_handle,
|
||||
- output_token);
|
||||
- }
|
||||
+ (void) gss_delete_sec_context(minor_status, &(*ctx)->ctx_handle,
|
||||
+ output_token);
|
||||
+ (void) release_spnego_ctx(ctx);
|
||||
|
||||
return (ret);
|
||||
}
|
||||
@@ -2157,8 +2156,13 @@ spnego_gss_context_time(
|
||||
OM_uint32 *time_rec)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_context_time(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
time_rec);
|
||||
return (ret);
|
||||
}
|
||||
@@ -2170,9 +2174,20 @@ spnego_gss_export_sec_context(
|
||||
gss_buffer_t interprocess_token)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = *(spnego_gss_ctx_id_t *)context_handle;
|
||||
+
|
||||
+ /* We don't currently support exporting partially established
|
||||
+ * contexts. */
|
||||
+ if (!sc->opened)
|
||||
+ return GSS_S_UNAVAILABLE;
|
||||
+
|
||||
ret = gss_export_sec_context(minor_status,
|
||||
- context_handle,
|
||||
+ &sc->ctx_handle,
|
||||
interprocess_token);
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT) {
|
||||
+ release_spnego_ctx(&sc);
|
||||
+ *context_handle = GSS_C_NO_CONTEXT;
|
||||
+ }
|
||||
return (ret);
|
||||
}
|
||||
|
||||
@@ -2182,11 +2197,12 @@ spnego_gss_import_sec_context(
|
||||
const gss_buffer_t interprocess_token,
|
||||
gss_ctx_id_t *context_handle)
|
||||
{
|
||||
- OM_uint32 ret;
|
||||
- ret = gss_import_sec_context(minor_status,
|
||||
- interprocess_token,
|
||||
- context_handle);
|
||||
- return (ret);
|
||||
+ /*
|
||||
+ * Until we implement partial context exports, there are no SPNEGO
|
||||
+ * exported context tokens, only tokens for underlying mechs. So just
|
||||
+ * return an error for now.
|
||||
+ */
|
||||
+ return GSS_S_UNAVAILABLE;
|
||||
}
|
||||
#endif /* LEAN_CLIENT */
|
||||
|
||||
@@ -2203,16 +2219,48 @@ spnego_gss_inquire_context(
|
||||
int *opened)
|
||||
{
|
||||
OM_uint32 ret = GSS_S_COMPLETE;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (src_name != NULL)
|
||||
+ *src_name = GSS_C_NO_NAME;
|
||||
+ if (targ_name != NULL)
|
||||
+ *targ_name = GSS_C_NO_NAME;
|
||||
+ if (lifetime_rec != NULL)
|
||||
+ *lifetime_rec = 0;
|
||||
+ if (mech_type != NULL)
|
||||
+ *mech_type = (gss_OID)gss_mech_spnego;
|
||||
+ if (ctx_flags != NULL)
|
||||
+ *ctx_flags = 0;
|
||||
+ if (locally_initiated != NULL)
|
||||
+ *locally_initiated = sc->initiate;
|
||||
+ if (opened != NULL)
|
||||
+ *opened = sc->opened;
|
||||
+
|
||||
+ if (sc->ctx_handle != GSS_C_NO_CONTEXT) {
|
||||
+ ret = gss_inquire_context(minor_status, sc->ctx_handle,
|
||||
+ src_name, targ_name, lifetime_rec,
|
||||
+ mech_type, ctx_flags, NULL, NULL);
|
||||
+ }
|
||||
|
||||
- ret = gss_inquire_context(minor_status,
|
||||
- context_handle,
|
||||
- src_name,
|
||||
- targ_name,
|
||||
- lifetime_rec,
|
||||
- mech_type,
|
||||
- ctx_flags,
|
||||
- locally_initiated,
|
||||
- opened);
|
||||
+ if (!sc->opened) {
|
||||
+ /*
|
||||
+ * We are still doing SPNEGO negotiation, so report SPNEGO as
|
||||
+ * the OID. After negotiation is complete we will report the
|
||||
+ * underlying mechanism OID.
|
||||
+ */
|
||||
+ if (mech_type != NULL)
|
||||
+ *mech_type = (gss_OID)gss_mech_spnego;
|
||||
+
|
||||
+ /*
|
||||
+ * Remove flags we don't support with partially-established
|
||||
+ * contexts. (Change this to keep GSS_C_TRANS_FLAG if we add
|
||||
+ * support for exporting partial SPNEGO contexts.)
|
||||
+ */
|
||||
+ if (ctx_flags != NULL) {
|
||||
+ *ctx_flags &= ~GSS_C_PROT_READY_FLAG;
|
||||
+ *ctx_flags &= ~GSS_C_TRANS_FLAG;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
return (ret);
|
||||
}
|
||||
@@ -2227,8 +2275,13 @@ spnego_gss_wrap_size_limit(
|
||||
OM_uint32 *max_input_size)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_wrap_size_limit(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_req_flag,
|
||||
qop_req,
|
||||
req_output_size,
|
||||
@@ -2245,8 +2298,13 @@ spnego_gss_get_mic(
|
||||
gss_buffer_t message_token)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_get_mic(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
qop_req,
|
||||
message_buffer,
|
||||
message_token);
|
||||
@@ -2262,8 +2320,13 @@ spnego_gss_verify_mic(
|
||||
gss_qop_t *qop_state)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_verify_mic(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
msg_buffer,
|
||||
token_buffer,
|
||||
qop_state);
|
||||
@@ -2278,8 +2341,14 @@ spnego_gss_inquire_sec_context_by_oid(
|
||||
gss_buffer_set_t *data_set)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ /* There are no SPNEGO-specific OIDs for this function. */
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_UNAVAILABLE);
|
||||
+
|
||||
ret = gss_inquire_sec_context_by_oid(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
desired_object,
|
||||
data_set);
|
||||
return (ret);
|
||||
@@ -2359,8 +2428,15 @@ spnego_gss_set_sec_context_option(
|
||||
const gss_buffer_t value)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)*context_handle;
|
||||
+
|
||||
+ /* There are no SPNEGO-specific OIDs for this function, and we cannot
|
||||
+ * construct an empty SPNEGO context with it. */
|
||||
+ if (sc == NULL || sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_UNAVAILABLE);
|
||||
+
|
||||
ret = gss_set_sec_context_option(minor_status,
|
||||
- context_handle,
|
||||
+ &sc->ctx_handle,
|
||||
desired_object,
|
||||
value);
|
||||
return (ret);
|
||||
@@ -2377,8 +2453,13 @@ spnego_gss_wrap_aead(OM_uint32 *minor_status,
|
||||
gss_buffer_t output_message_buffer)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_wrap_aead(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_req_flag,
|
||||
qop_req,
|
||||
input_assoc_buffer,
|
||||
@@ -2399,8 +2480,13 @@ spnego_gss_unwrap_aead(OM_uint32 *minor_status,
|
||||
gss_qop_t *qop_state)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_unwrap_aead(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
input_message_buffer,
|
||||
input_assoc_buffer,
|
||||
output_payload_buffer,
|
||||
@@ -2419,8 +2505,13 @@ spnego_gss_wrap_iov(OM_uint32 *minor_status,
|
||||
int iov_count)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_wrap_iov(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_req_flag,
|
||||
qop_req,
|
||||
conf_state,
|
||||
@@ -2438,8 +2529,13 @@ spnego_gss_unwrap_iov(OM_uint32 *minor_status,
|
||||
int iov_count)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_unwrap_iov(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_state,
|
||||
qop_state,
|
||||
iov,
|
||||
@@ -2457,8 +2553,13 @@ spnego_gss_wrap_iov_length(OM_uint32 *minor_status,
|
||||
int iov_count)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_wrap_iov_length(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
conf_req_flag,
|
||||
qop_req,
|
||||
conf_state,
|
||||
@@ -2475,8 +2576,13 @@ spnego_gss_complete_auth_token(
|
||||
gss_buffer_t input_message_buffer)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_UNAVAILABLE);
|
||||
+
|
||||
ret = gss_complete_auth_token(minor_status,
|
||||
- context_handle,
|
||||
+ sc->ctx_handle,
|
||||
input_message_buffer);
|
||||
return (ret);
|
||||
}
|
||||
@@ -2721,8 +2827,13 @@ spnego_gss_pseudo_random(OM_uint32 *minor_status,
|
||||
gss_buffer_t prf_out)
|
||||
{
|
||||
OM_uint32 ret;
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
ret = gss_pseudo_random(minor_status,
|
||||
- context,
|
||||
+ sc->ctx_handle,
|
||||
prf_key,
|
||||
prf_in,
|
||||
desired_output_len,
|
||||
@@ -2863,7 +2974,12 @@ spnego_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
gss_qop_t qop_req, gss_iov_buffer_desc *iov,
|
||||
int iov_count)
|
||||
{
|
||||
- return gss_get_mic_iov(minor_status, context_handle, qop_req, iov,
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
+ return gss_get_mic_iov(minor_status, sc->ctx_handle, qop_req, iov,
|
||||
iov_count);
|
||||
}
|
||||
|
||||
@@ -2872,7 +2988,12 @@ spnego_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
|
||||
int iov_count)
|
||||
{
|
||||
- return gss_verify_mic_iov(minor_status, context_handle, qop_state, iov,
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
+ return gss_verify_mic_iov(minor_status, sc->ctx_handle, qop_state, iov,
|
||||
iov_count);
|
||||
}
|
||||
|
||||
@@ -2881,7 +3002,12 @@ spnego_gss_get_mic_iov_length(OM_uint32 *minor_status,
|
||||
gss_ctx_id_t context_handle, gss_qop_t qop_req,
|
||||
gss_iov_buffer_desc *iov, int iov_count)
|
||||
{
|
||||
- return gss_get_mic_iov_length(minor_status, context_handle, qop_req, iov,
|
||||
+ spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (sc->ctx_handle == GSS_C_NO_CONTEXT)
|
||||
+ return (GSS_S_NO_CONTEXT);
|
||||
+
|
||||
+ return gss_get_mic_iov_length(minor_status, sc->ctx_handle, qop_req, iov,
|
||||
iov_count);
|
||||
}
|
||||
|
@ -0,0 +1,731 @@
|
||||
From e04f0283516e80d2f93366e0d479d13c9b5c8c2a Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Williams <nico@twosigma.com>
|
||||
Date: Mon, 14 Sep 2015 12:28:36 -0400
|
||||
Subject: [PATCH] Fix IAKERB context aliasing bugs [CVE-2015-2696]
|
||||
|
||||
The IAKERB mechanism currently replaces its context handle with the
|
||||
krb5 mechanism handle upon establishment, under the assumption that
|
||||
most GSS functions are only called after context establishment. This
|
||||
assumption is incorrect, and can lead to aliasing violations for some
|
||||
programs. Maintain the IAKERB context structure after context
|
||||
establishment and add new IAKERB entry points to refer to it with that
|
||||
type. Add initiate and established flags to the IAKERB context
|
||||
structure for use in gss_inquire_context() prior to context
|
||||
establishment.
|
||||
|
||||
CVE-2015-2696:
|
||||
|
||||
In MIT krb5 1.9 and later, applications which call
|
||||
gss_inquire_context() on a partially-established IAKERB context can
|
||||
cause the GSS-API library to read from a pointer using the wrong type,
|
||||
generally causing a process crash. Java server applications using the
|
||||
native JGSS provider are vulnerable to this bug. A carefully crafted
|
||||
IAKERB packet might allow the gss_inquire_context() call to succeed
|
||||
with attacker-determined results, but applications should not make
|
||||
access control decisions based on gss_inquire_context() results prior
|
||||
to context establishment.
|
||||
|
||||
CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
|
||||
|
||||
[ghudson@mit.edu: several bugfixes, style changes, and edge-case
|
||||
behavior changes; commit message and CVE description]
|
||||
|
||||
ticket: 8244
|
||||
target_version: 1.14
|
||||
tags: pullup
|
||||
---
|
||||
src/lib/gssapi/krb5/gssapiP_krb5.h | 114 ++++++++++++
|
||||
src/lib/gssapi/krb5/gssapi_krb5.c | 105 +++++++++--
|
||||
src/lib/gssapi/krb5/iakerb.c | 351 +++++++++++++++++++++++++++++++++----
|
||||
3 files changed, 529 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
|
||||
index 9aae12a..97e090d 100644
|
||||
--- a/src/lib/gssapi/krb5/gssapiP_krb5.h
|
||||
+++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
|
||||
@@ -621,6 +621,21 @@ OM_uint32 KRB5_CALLCONV krb5_gss_accept_sec_context_ext
|
||||
);
|
||||
#endif /* LEAN_CLIENT */
|
||||
|
||||
+OM_uint32 KRB5_CALLCONV krb5_gss_inquire_sec_context_by_oid
|
||||
+(OM_uint32*, /* minor_status */
|
||||
+ const gss_ctx_id_t,
|
||||
+ /* context_handle */
|
||||
+ const gss_OID, /* desired_object */
|
||||
+ gss_buffer_set_t* /* data_set */
|
||||
+);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV krb5_gss_set_sec_context_option
|
||||
+(OM_uint32*, /* minor_status */
|
||||
+ gss_ctx_id_t*, /* context_handle */
|
||||
+ const gss_OID, /* desired_object */
|
||||
+ const gss_buffer_t/* value */
|
||||
+);
|
||||
+
|
||||
OM_uint32 KRB5_CALLCONV krb5_gss_process_context_token
|
||||
(OM_uint32*, /* minor_status */
|
||||
gss_ctx_id_t, /* context_handle */
|
||||
@@ -1302,6 +1317,105 @@ OM_uint32 KRB5_CALLCONV
|
||||
krb5_gss_import_cred(OM_uint32 *minor_status, gss_buffer_t token,
|
||||
gss_cred_id_t *cred_handle);
|
||||
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_process_context_token(OM_uint32 *minor_status,
|
||||
+ const gss_ctx_id_t context_handle,
|
||||
+ const gss_buffer_t token_buffer);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ OM_uint32 *time_rec);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_inquire_context(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, gss_name_t *src_name,
|
||||
+ gss_name_t *targ_name, OM_uint32 *lifetime_rec,
|
||||
+ gss_OID *mech_type, OM_uint32 *ctx_flags,
|
||||
+ int *locally_initiated, int *opened);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t qop_req, gss_buffer_t message_buffer,
|
||||
+ gss_buffer_t message_token);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t qop_req, gss_iov_buffer_desc *iov,
|
||||
+ int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, gss_qop_t qop_req,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
|
||||
+ gss_qop_t *qop_state);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
|
||||
+ int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int conf_req_flag, gss_qop_t qop_req,
|
||||
+ gss_buffer_t input_message_buffer, int *conf_state,
|
||||
+ gss_buffer_t output_message_buffer);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int conf_req_flag, gss_qop_t qop_req, int *conf_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, int conf_req_flag,
|
||||
+ gss_qop_t qop_req, int *conf_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_buffer_t input_message_buffer,
|
||||
+ gss_buffer_t output_message_buffer, int *conf_state,
|
||||
+ gss_qop_t *qop_state);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int *conf_state, gss_qop_t *qop_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, int conf_req_flag,
|
||||
+ gss_qop_t qop_req, OM_uint32 req_output_size,
|
||||
+ OM_uint32 *max_input_size);
|
||||
+
|
||||
+#ifndef LEAN_CLIENT
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_export_sec_context(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t *context_handle,
|
||||
+ gss_buffer_t interprocess_token);
|
||||
+#endif /* LEAN_CLIENT */
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
|
||||
+ const gss_ctx_id_t context_handle,
|
||||
+ const gss_OID desired_object,
|
||||
+ gss_buffer_set_t *data_set);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t *context_handle,
|
||||
+ const gss_OID desired_object,
|
||||
+ const gss_buffer_t value);
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int prf_key, const gss_buffer_t prf_in,
|
||||
+ ssize_t desired_output_len, gss_buffer_t prf_out);
|
||||
+
|
||||
/* Magic string to identify exported krb5 GSS credentials. Increment this if
|
||||
* the format changes. */
|
||||
#define CRED_EXPORT_MAGIC "K5C1"
|
||||
diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
|
||||
index 0be92e4..c4dfdd6 100644
|
||||
--- a/src/lib/gssapi/krb5/gssapi_krb5.c
|
||||
+++ b/src/lib/gssapi/krb5/gssapi_krb5.c
|
||||
@@ -351,7 +351,7 @@ static struct {
|
||||
}
|
||||
};
|
||||
|
||||
-static OM_uint32 KRB5_CALLCONV
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
krb5_gss_inquire_sec_context_by_oid (OM_uint32 *minor_status,
|
||||
const gss_ctx_id_t context_handle,
|
||||
const gss_OID desired_object,
|
||||
@@ -465,7 +465,7 @@ static struct {
|
||||
};
|
||||
#endif
|
||||
|
||||
-static OM_uint32 KRB5_CALLCONV
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
krb5_gss_set_sec_context_option (OM_uint32 *minor_status,
|
||||
gss_ctx_id_t *context_handle,
|
||||
const gss_OID desired_object,
|
||||
@@ -929,20 +929,103 @@ static struct gss_config krb5_mechanism = {
|
||||
krb5_gss_get_mic_iov_length,
|
||||
};
|
||||
|
||||
+/* Functions which use security contexts or acquire creds are IAKERB-specific;
|
||||
+ * other functions can borrow from the krb5 mech. */
|
||||
+static struct gss_config iakerb_mechanism = {
|
||||
+ { GSS_MECH_KRB5_OID_LENGTH, GSS_MECH_KRB5_OID },
|
||||
+ NULL,
|
||||
+ iakerb_gss_acquire_cred,
|
||||
+ krb5_gss_release_cred,
|
||||
+ iakerb_gss_init_sec_context,
|
||||
+#ifdef LEAN_CLIENT
|
||||
+ NULL,
|
||||
+#else
|
||||
+ iakerb_gss_accept_sec_context,
|
||||
+#endif
|
||||
+ iakerb_gss_process_context_token,
|
||||
+ iakerb_gss_delete_sec_context,
|
||||
+ iakerb_gss_context_time,
|
||||
+ iakerb_gss_get_mic,
|
||||
+ iakerb_gss_verify_mic,
|
||||
+#if defined(IOV_SHIM_EXERCISE_WRAP) || defined(IOV_SHIM_EXERCISE)
|
||||
+ NULL,
|
||||
+#else
|
||||
+ iakerb_gss_wrap,
|
||||
+#endif
|
||||
+#if defined(IOV_SHIM_EXERCISE_UNWRAP) || defined(IOV_SHIM_EXERCISE)
|
||||
+ NULL,
|
||||
+#else
|
||||
+ iakerb_gss_unwrap,
|
||||
+#endif
|
||||
+ krb5_gss_display_status,
|
||||
+ krb5_gss_indicate_mechs,
|
||||
+ krb5_gss_compare_name,
|
||||
+ krb5_gss_display_name,
|
||||
+ krb5_gss_import_name,
|
||||
+ krb5_gss_release_name,
|
||||
+ krb5_gss_inquire_cred,
|
||||
+ NULL, /* add_cred */
|
||||
+#ifdef LEAN_CLIENT
|
||||
+ NULL,
|
||||
+ NULL,
|
||||
+#else
|
||||
+ iakerb_gss_export_sec_context,
|
||||
+ NULL,
|
||||
+#endif
|
||||
+ krb5_gss_inquire_cred_by_mech,
|
||||
+ krb5_gss_inquire_names_for_mech,
|
||||
+ iakerb_gss_inquire_context,
|
||||
+ krb5_gss_internal_release_oid,
|
||||
+ iakerb_gss_wrap_size_limit,
|
||||
+ krb5_gss_localname,
|
||||
+ krb5_gss_authorize_localname,
|
||||
+ krb5_gss_export_name,
|
||||
+ krb5_gss_duplicate_name,
|
||||
+ krb5_gss_store_cred,
|
||||
+ iakerb_gss_inquire_sec_context_by_oid,
|
||||
+ krb5_gss_inquire_cred_by_oid,
|
||||
+ iakerb_gss_set_sec_context_option,
|
||||
+ krb5_gssspi_set_cred_option,
|
||||
+ krb5_gssspi_mech_invoke,
|
||||
+ NULL, /* wrap_aead */
|
||||
+ NULL, /* unwrap_aead */
|
||||
+ iakerb_gss_wrap_iov,
|
||||
+ iakerb_gss_unwrap_iov,
|
||||
+ iakerb_gss_wrap_iov_length,
|
||||
+ NULL, /* complete_auth_token */
|
||||
+ NULL, /* acquire_cred_impersonate_name */
|
||||
+ NULL, /* add_cred_impersonate_name */
|
||||
+ NULL, /* display_name_ext */
|
||||
+ krb5_gss_inquire_name,
|
||||
+ krb5_gss_get_name_attribute,
|
||||
+ krb5_gss_set_name_attribute,
|
||||
+ krb5_gss_delete_name_attribute,
|
||||
+ krb5_gss_export_name_composite,
|
||||
+ krb5_gss_map_name_to_any,
|
||||
+ krb5_gss_release_any_name_mapping,
|
||||
+ iakerb_gss_pseudo_random,
|
||||
+ NULL, /* set_neg_mechs */
|
||||
+ krb5_gss_inquire_saslname_for_mech,
|
||||
+ krb5_gss_inquire_mech_for_saslname,
|
||||
+ krb5_gss_inquire_attrs_for_mech,
|
||||
+ krb5_gss_acquire_cred_from,
|
||||
+ krb5_gss_store_cred_into,
|
||||
+ iakerb_gss_acquire_cred_with_password,
|
||||
+ krb5_gss_export_cred,
|
||||
+ krb5_gss_import_cred,
|
||||
+ NULL, /* import_sec_context_by_mech */
|
||||
+ NULL, /* import_name_by_mech */
|
||||
+ NULL, /* import_cred_by_mech */
|
||||
+ iakerb_gss_get_mic_iov,
|
||||
+ iakerb_gss_verify_mic_iov,
|
||||
+ iakerb_gss_get_mic_iov_length,
|
||||
+};
|
||||
+
|
||||
#ifdef _GSS_STATIC_LINK
|
||||
#include "mglueP.h"
|
||||
static int gss_iakerbmechglue_init(void)
|
||||
{
|
||||
struct gss_mech_config mech_iakerb;
|
||||
- struct gss_config iakerb_mechanism = krb5_mechanism;
|
||||
-
|
||||
- /* IAKERB mechanism mirrors krb5, but with different context SPIs */
|
||||
- iakerb_mechanism.gss_accept_sec_context = iakerb_gss_accept_sec_context;
|
||||
- iakerb_mechanism.gss_init_sec_context = iakerb_gss_init_sec_context;
|
||||
- iakerb_mechanism.gss_delete_sec_context = iakerb_gss_delete_sec_context;
|
||||
- iakerb_mechanism.gss_acquire_cred = iakerb_gss_acquire_cred;
|
||||
- iakerb_mechanism.gssspi_acquire_cred_with_password
|
||||
- = iakerb_gss_acquire_cred_with_password;
|
||||
|
||||
memset(&mech_iakerb, 0, sizeof(mech_iakerb));
|
||||
mech_iakerb.mech = &iakerb_mechanism;
|
||||
diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
|
||||
index f30de32..4662bd9 100644
|
||||
--- a/src/lib/gssapi/krb5/iakerb.c
|
||||
+++ b/src/lib/gssapi/krb5/iakerb.c
|
||||
@@ -47,6 +47,8 @@ struct _iakerb_ctx_id_rec {
|
||||
gss_ctx_id_t gssc;
|
||||
krb5_data conv; /* conversation for checksumming */
|
||||
unsigned int count; /* number of round trips */
|
||||
+ int initiate;
|
||||
+ int established;
|
||||
krb5_get_init_creds_opt *gic_opts;
|
||||
};
|
||||
|
||||
@@ -695,7 +697,7 @@ iakerb_get_initial_state(iakerb_ctx_id_t ctx,
|
||||
* Allocate and initialise an IAKERB context
|
||||
*/
|
||||
static krb5_error_code
|
||||
-iakerb_alloc_context(iakerb_ctx_id_t *pctx)
|
||||
+iakerb_alloc_context(iakerb_ctx_id_t *pctx, int initiate)
|
||||
{
|
||||
iakerb_ctx_id_t ctx;
|
||||
krb5_error_code code;
|
||||
@@ -709,6 +711,8 @@ iakerb_alloc_context(iakerb_ctx_id_t *pctx)
|
||||
ctx->magic = KG_IAKERB_CONTEXT;
|
||||
ctx->state = IAKERB_AS_REQ;
|
||||
ctx->count = 0;
|
||||
+ ctx->initiate = initiate;
|
||||
+ ctx->established = 0;
|
||||
|
||||
code = krb5_gss_init_context(&ctx->k5c);
|
||||
if (code != 0)
|
||||
@@ -732,7 +736,7 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
|
||||
gss_ctx_id_t *context_handle,
|
||||
gss_buffer_t output_token)
|
||||
{
|
||||
- OM_uint32 major_status = GSS_S_COMPLETE;
|
||||
+ iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
|
||||
|
||||
if (output_token != GSS_C_NO_BUFFER) {
|
||||
output_token->length = 0;
|
||||
@@ -740,23 +744,10 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
|
||||
}
|
||||
|
||||
*minor_status = 0;
|
||||
+ *context_handle = GSS_C_NO_CONTEXT;
|
||||
+ iakerb_release_context(iakerb_ctx);
|
||||
|
||||
- if (*context_handle != GSS_C_NO_CONTEXT) {
|
||||
- iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
|
||||
-
|
||||
- if (iakerb_ctx->magic == KG_IAKERB_CONTEXT) {
|
||||
- iakerb_release_context(iakerb_ctx);
|
||||
- *context_handle = GSS_C_NO_CONTEXT;
|
||||
- } else {
|
||||
- assert(iakerb_ctx->magic == KG_CONTEXT);
|
||||
-
|
||||
- major_status = krb5_gss_delete_sec_context(minor_status,
|
||||
- context_handle,
|
||||
- output_token);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return major_status;
|
||||
+ return GSS_S_COMPLETE;
|
||||
}
|
||||
|
||||
static krb5_boolean
|
||||
@@ -802,7 +793,7 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
|
||||
int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
|
||||
|
||||
if (initialContextToken) {
|
||||
- code = iakerb_alloc_context(&ctx);
|
||||
+ code = iakerb_alloc_context(&ctx, 0);
|
||||
if (code != 0)
|
||||
goto cleanup;
|
||||
|
||||
@@ -854,11 +845,8 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
|
||||
time_rec,
|
||||
delegated_cred_handle,
|
||||
&exts);
|
||||
- if (major_status == GSS_S_COMPLETE) {
|
||||
- *context_handle = ctx->gssc;
|
||||
- ctx->gssc = NULL;
|
||||
- iakerb_release_context(ctx);
|
||||
- }
|
||||
+ if (major_status == GSS_S_COMPLETE)
|
||||
+ ctx->established = 1;
|
||||
if (mech_type != NULL)
|
||||
*mech_type = (gss_OID)gss_mech_krb5;
|
||||
}
|
||||
@@ -897,7 +885,7 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
|
||||
int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
|
||||
|
||||
if (initialContextToken) {
|
||||
- code = iakerb_alloc_context(&ctx);
|
||||
+ code = iakerb_alloc_context(&ctx, 1);
|
||||
if (code != 0) {
|
||||
*minor_status = code;
|
||||
goto cleanup;
|
||||
@@ -983,11 +971,8 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
|
||||
ret_flags,
|
||||
time_rec,
|
||||
&exts);
|
||||
- if (major_status == GSS_S_COMPLETE) {
|
||||
- *context_handle = ctx->gssc;
|
||||
- ctx->gssc = GSS_C_NO_CONTEXT;
|
||||
- iakerb_release_context(ctx);
|
||||
- }
|
||||
+ if (major_status == GSS_S_COMPLETE)
|
||||
+ ctx->established = 1;
|
||||
if (actual_mech_type != NULL)
|
||||
*actual_mech_type = (gss_OID)gss_mech_krb5;
|
||||
} else {
|
||||
@@ -1010,3 +995,309 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
|
||||
|
||||
return major_status;
|
||||
}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_buffer_t input_message_buffer,
|
||||
+ gss_buffer_t output_message_buffer, int *conf_state,
|
||||
+ gss_qop_t *qop_state)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_unwrap(minor_status, ctx->gssc, input_message_buffer,
|
||||
+ output_message_buffer, conf_state, qop_state);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int conf_req_flag, gss_qop_t qop_req,
|
||||
+ gss_buffer_t input_message_buffer, int *conf_state,
|
||||
+ gss_buffer_t output_message_buffer)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req,
|
||||
+ input_message_buffer, conf_state,
|
||||
+ output_message_buffer);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_process_context_token(OM_uint32 *minor_status,
|
||||
+ const gss_ctx_id_t context_handle,
|
||||
+ const gss_buffer_t token_buffer)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_DEFECTIVE_TOKEN;
|
||||
+
|
||||
+ return krb5_gss_process_context_token(minor_status, ctx->gssc,
|
||||
+ token_buffer);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ OM_uint32 *time_rec)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_context_time(minor_status, ctx->gssc, time_rec);
|
||||
+}
|
||||
+
|
||||
+#ifndef LEAN_CLIENT
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_export_sec_context(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t *context_handle,
|
||||
+ gss_buffer_t interprocess_token)
|
||||
+{
|
||||
+ OM_uint32 maj;
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ /* We don't currently support exporting partially established contexts. */
|
||||
+ if (!ctx->established)
|
||||
+ return GSS_S_UNAVAILABLE;
|
||||
+
|
||||
+ maj = krb5_gss_export_sec_context(minor_status, &ctx->gssc,
|
||||
+ interprocess_token);
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT) {
|
||||
+ iakerb_release_context(ctx);
|
||||
+ *context_handle = GSS_C_NO_CONTEXT;
|
||||
+ }
|
||||
+ return maj;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Until we implement partial context exports, there are no SPNEGO exported
|
||||
+ * context tokens, only tokens for the underlying krb5 context. So we do not
|
||||
+ * need to implement an iakerb_gss_import_sec_context() yet; it would be
|
||||
+ * unreachable except via a manually constructed token.
|
||||
+ */
|
||||
+
|
||||
+#endif /* LEAN_CLIENT */
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_inquire_context(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, gss_name_t *src_name,
|
||||
+ gss_name_t *targ_name, OM_uint32 *lifetime_rec,
|
||||
+ gss_OID *mech_type, OM_uint32 *ctx_flags,
|
||||
+ int *initiate, int *opened)
|
||||
+{
|
||||
+ OM_uint32 ret;
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (src_name != NULL)
|
||||
+ *src_name = GSS_C_NO_NAME;
|
||||
+ if (targ_name != NULL)
|
||||
+ *targ_name = GSS_C_NO_NAME;
|
||||
+ if (lifetime_rec != NULL)
|
||||
+ *lifetime_rec = 0;
|
||||
+ if (mech_type != NULL)
|
||||
+ *mech_type = (gss_OID)gss_mech_iakerb;
|
||||
+ if (ctx_flags != NULL)
|
||||
+ *ctx_flags = 0;
|
||||
+ if (initiate != NULL)
|
||||
+ *initiate = ctx->initiate;
|
||||
+ if (opened != NULL)
|
||||
+ *opened = ctx->established;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_COMPLETE;
|
||||
+
|
||||
+ ret = krb5_gss_inquire_context(minor_status, ctx->gssc, src_name,
|
||||
+ targ_name, lifetime_rec, mech_type,
|
||||
+ ctx_flags, initiate, opened);
|
||||
+
|
||||
+ if (!ctx->established) {
|
||||
+ /* Report IAKERB as the mech OID until the context is established. */
|
||||
+ if (mech_type != NULL)
|
||||
+ *mech_type = (gss_OID)gss_mech_iakerb;
|
||||
+
|
||||
+ /* We don't support exporting partially-established contexts. */
|
||||
+ if (ctx_flags != NULL)
|
||||
+ *ctx_flags &= ~GSS_C_TRANS_FLAG;
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, int conf_req_flag,
|
||||
+ gss_qop_t qop_req, OM_uint32 req_output_size,
|
||||
+ OM_uint32 *max_input_size)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_wrap_size_limit(minor_status, ctx->gssc, conf_req_flag,
|
||||
+ qop_req, req_output_size, max_input_size);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t qop_req, gss_buffer_t message_buffer,
|
||||
+ gss_buffer_t message_token)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_get_mic(minor_status, ctx->gssc, qop_req, message_buffer,
|
||||
+ message_token);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
|
||||
+ gss_qop_t *qop_state)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer,
|
||||
+ token_buffer, qop_state);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
|
||||
+ const gss_ctx_id_t context_handle,
|
||||
+ const gss_OID desired_object,
|
||||
+ gss_buffer_set_t *data_set)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_UNAVAILABLE;
|
||||
+
|
||||
+ return krb5_gss_inquire_sec_context_by_oid(minor_status, ctx->gssc,
|
||||
+ desired_object, data_set);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t *context_handle,
|
||||
+ const gss_OID desired_object,
|
||||
+ const gss_buffer_t value)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
|
||||
+
|
||||
+ if (ctx == NULL || ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_UNAVAILABLE;
|
||||
+
|
||||
+ return krb5_gss_set_sec_context_option(minor_status, &ctx->gssc,
|
||||
+ desired_object, value);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int conf_req_flag, gss_qop_t qop_req, int *conf_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_wrap_iov(minor_status, ctx->gssc, conf_req_flag, qop_req,
|
||||
+ conf_state, iov, iov_count);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int *conf_state, gss_qop_t *qop_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_unwrap_iov(minor_status, ctx->gssc, conf_state, qop_state,
|
||||
+ iov, iov_count);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, int conf_req_flag,
|
||||
+ gss_qop_t qop_req, int *conf_state,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_wrap_iov_length(minor_status, ctx->gssc, conf_req_flag,
|
||||
+ qop_req, conf_state, iov, iov_count);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ int prf_key, const gss_buffer_t prf_in,
|
||||
+ ssize_t desired_output_len, gss_buffer_t prf_out)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_pseudo_random(minor_status, ctx->gssc, prf_key, prf_in,
|
||||
+ desired_output_len, prf_out);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t qop_req, gss_iov_buffer_desc *iov,
|
||||
+ int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_get_mic_iov(minor_status, ctx->gssc, qop_req, iov,
|
||||
+ iov_count);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
|
||||
+ gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
|
||||
+ int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_verify_mic_iov(minor_status, ctx->gssc, qop_state, iov,
|
||||
+ iov_count);
|
||||
+}
|
||||
+
|
||||
+OM_uint32 KRB5_CALLCONV
|
||||
+iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
|
||||
+ gss_ctx_id_t context_handle, gss_qop_t qop_req,
|
||||
+ gss_iov_buffer_desc *iov, int iov_count)
|
||||
+{
|
||||
+ iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
|
||||
+
|
||||
+ if (ctx->gssc == GSS_C_NO_CONTEXT)
|
||||
+ return GSS_S_NO_CONTEXT;
|
||||
+
|
||||
+ return krb5_gss_get_mic_iov_length(minor_status, ctx->gssc, qop_req, iov,
|
||||
+ iov_count);
|
||||
+}
|
@ -0,0 +1,50 @@
|
||||
From f0c094a1b745d91ef2f9a4eae2149aac026a5789 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Hudson <ghudson@mit.edu>
|
||||
Date: Fri, 25 Sep 2015 12:51:47 -0400
|
||||
Subject: [PATCH] Fix build_principal memory bug [CVE-2015-2697]
|
||||
|
||||
In build_principal_va(), use k5memdup0() instead of strdup() to make a
|
||||
copy of the realm, to ensure that we allocate the correct number of
|
||||
bytes and do not read past the end of the input string. This bug
|
||||
affects krb5_build_principal(), krb5_build_principal_va(), and
|
||||
krb5_build_principal_alloc_va(). krb5_build_principal_ext() is not
|
||||
affected.
|
||||
|
||||
CVE-2015-2697:
|
||||
|
||||
In MIT krb5 1.7 and later, an authenticated attacker may be able to
|
||||
cause a KDC to crash using a TGS request with a large realm field
|
||||
beginning with a null byte. If the KDC attempts to find a referral to
|
||||
answer the request, it constructs a principal name for lookup using
|
||||
krb5_build_principal() with the requested realm. Due to a bug in this
|
||||
function, the null byte causes only one byte be allocated for the
|
||||
realm field of the constructed principal, far less than its length.
|
||||
Subsequent operations on the lookup principal may cause a read beyond
|
||||
the end of the mapped memory region, causing the KDC process to crash.
|
||||
|
||||
CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
|
||||
|
||||
ticket: 8252 (new)
|
||||
target_version: 1.14
|
||||
tags: pullup
|
||||
---
|
||||
src/lib/krb5/krb/bld_princ.c | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c
|
||||
index ab6fed8..8604268 100644
|
||||
--- a/src/lib/krb5/krb/bld_princ.c
|
||||
+++ b/src/lib/krb5/krb/bld_princ.c
|
||||
@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ,
|
||||
data = malloc(size * sizeof(krb5_data));
|
||||
if (!data) { retval = ENOMEM; }
|
||||
|
||||
- if (!retval) {
|
||||
- r = strdup(realm);
|
||||
- if (!r) { retval = ENOMEM; }
|
||||
- }
|
||||
+ if (!retval)
|
||||
+ r = k5memdup0(realm, rlen, &retval);
|
||||
|
||||
while (!retval && (component = va_arg(ap, char *))) {
|
||||
if (count == size) {
|
@ -0,0 +1,2 @@
|
||||
# Define startup options for Kerberos administration server
|
||||
KADMIND_OPTS=""
|
@ -0,0 +1,25 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# This script starts/stops the MIT Kerberos 5 Admin daemon
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
daemon="MIT Kerberos 5 Admin daemon"
|
||||
exec="/usr/sbin/kadmind"
|
||||
|
||||
depend() {
|
||||
need mit-krb5kdc
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting $daemon"
|
||||
start-stop-daemon --start --quiet --exec ${exec} -- "${KADMIND_OPTS}" 1>&2
|
||||
eend $? "Error starting $daemon"
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping $daemon"
|
||||
start-stop-daemon --stop --quiet --exec ${exec} 1>&2
|
||||
eend $? "Error stopping $daemon"
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
# Define startup options for Kerberos KDC
|
||||
KDC_OPTS=""
|
@ -0,0 +1,24 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# This script starts/stops the MIT Kerberos 5 KDC
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
daemon="MIT Kerberos 5 KDC"
|
||||
exec="/usr/sbin/krb5kdc"
|
||||
|
||||
depend() {
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting $daemon"
|
||||
start-stop-daemon --start --quiet --exec ${exec} -- "${KDC_OPTS}" 1>&2
|
||||
eend $? "Error starting $daemon"
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping $daemon"
|
||||
start-stop-daemon --stop --quiet --exec ${exec} 1>&2
|
||||
eend $? "Error stopping $daemon"
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
# Define startup options for Kerberos incremental propagation server
|
||||
KPROPD_OPTS=""
|
@ -0,0 +1,24 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# This script starts/stops the MIT Kerberos 5 kpropd
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
daemon="MIT Kerberos 5 kpropd"
|
||||
exec="/usr/sbin/kpropd"
|
||||
|
||||
depend() {
|
||||
use net mit-krb5kdc mit-krb5kadmind
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting $daemon"
|
||||
start-stop-daemon --start --quiet --exec ${exec} -- "${KPROPD_OPTS}" 1>&2
|
||||
eend $? "Error starting $daemon"
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping $daemon"
|
||||
start-stop-daemon --stop --quiet --exec ${exec} 1>&2
|
||||
eend $? "Error stopping $daemon"
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib-minimal python-any-r1 versionator
|
||||
|
||||
MY_P="${P/mit-}"
|
||||
P_DIR=$(get_version_component_range 1-2)
|
||||
DESCRIPTION="MIT Kerberos V"
|
||||
HOMEPAGE="http://web.mit.edu/kerberos/www/"
|
||||
SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}-signed.tar"
|
||||
|
||||
LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86"
|
||||
IUSE="doc +keyutils libressl openldap +pkinit selinux +threads test xinetd"
|
||||
|
||||
CDEPEND="
|
||||
!!app-crypt/heimdal
|
||||
>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
|
||||
|| (
|
||||
>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
|
||||
)
|
||||
keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
|
||||
openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
|
||||
pkinit? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
|
||||
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
xinetd? ( sys-apps/xinetd )
|
||||
abi_x86_32? (
|
||||
!<=app-emulation/emul-linux-x86-baselibs-20140508-r1
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
)"
|
||||
DEPEND="${CDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
virtual/yacc
|
||||
doc? ( virtual/latex-base )
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/tcl:0
|
||||
dev-util/dejagnu
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-kerberos )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}/src
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/krb5-config
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
unpack ./"${MY_P}".tar.gz
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
|
||||
epatch "${FILESDIR}/${PN}-config_LDFLAGS.patch"
|
||||
epatch "${FILESDIR}/CVE-2015-2695.patch" \
|
||||
"${FILESDIR}/CVE-2015-2696.patch" \
|
||||
"${FILESDIR}/CVE-2015-2697.patch"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags "-I${EPREFIX}/usr/include/et"
|
||||
# QA
|
||||
append-flags -fno-strict-aliasing
|
||||
append-flags -fno-strict-overflow
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
use keyutils || export ac_cv_header_keyutils_h=no
|
||||
ECONF_SOURCE=${S} \
|
||||
WARN_CFLAGS="set" \
|
||||
econf \
|
||||
$(use_with openldap ldap) \
|
||||
"$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
|
||||
$(use_enable pkinit) \
|
||||
$(use_enable threads thread-support) \
|
||||
--without-hesiod \
|
||||
--enable-shared \
|
||||
--with-system-et \
|
||||
--with-system-ss \
|
||||
--enable-dns-for-realm \
|
||||
--enable-kdc-lookaside-cache \
|
||||
--with-system-verto \
|
||||
--disable-rpath
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake -j1
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
multilib_is_native_abi && emake -j1 check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
|
||||
install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# default database dir
|
||||
keepdir /var/lib/krb5kdc
|
||||
|
||||
cd ..
|
||||
dodoc README
|
||||
|
||||
if use doc; then
|
||||
dohtml -r doc/html/*
|
||||
docinto pdf
|
||||
dodoc doc/pdf/*.pdf
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
|
||||
newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
|
||||
newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
|
||||
newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
|
||||
newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
|
||||
newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
|
||||
|
||||
insinto /etc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
|
||||
insinto /var/lib/krb5kdc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
|
||||
|
||||
if use openldap ; then
|
||||
insinto /etc/openldap/schema
|
||||
doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}/kpropd.xinetd" kpropd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if has_version "<${CATEGORY}/${PN}-1.8.0" ; then
|
||||
elog "MIT split the Kerberos applications from the base Kerberos"
|
||||
elog "distribution. Kerberized versions of telnet, rlogin, rsh, rcp,"
|
||||
elog "ftp clients and telnet, ftp deamons now live in"
|
||||
elog "\"app-crypt/mit-krb5-appl\" package."
|
||||
fi
|
||||
}
|
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
ROOT_PN="root"
|
||||
ROOFIT_DOC_PV=2.91-33
|
||||
ROOFIT_QS_DOC_PV=3.00
|
||||
TMVA_DOC_PV=4.2.0
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit eutils multilib virtualx python-any-r1
|
||||
|
||||
DESCRIPTION="Documentation for ROOT Data Analysis Framework"
|
||||
HOMEPAGE="http://root.cern.ch/drupal"
|
||||
SRC_URI="ftp://root.cern.ch/${ROOT_PN}/${ROOT_PN}_v${PV}.source.tar.gz
|
||||
math? (
|
||||
http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
|
||||
http://root.cern.ch/download/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
|
||||
http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf )
|
||||
api? (
|
||||
${HOMEPAGE}/sites/default/files/images/root6-banner.jpg
|
||||
${HOMEPAGE}/sites/all/themes/newsflash/images/info.png )"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="LGPL-2.1"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="api +math +metric http"
|
||||
|
||||
VIRTUALX_REQUIRED="api"
|
||||
|
||||
DEPEND="
|
||||
app-text/pandoc
|
||||
dev-haskell/pandoc-citeproc[bibutils]
|
||||
dev-texlive/texlive-latex
|
||||
virtual/pkgconfig
|
||||
api? (
|
||||
media-fonts/dejavu
|
||||
~sci-physics/root-${PV}[X,graphviz,opengl]
|
||||
)"
|
||||
RDEPEND=""
|
||||
|
||||
DOC_DIR="/usr/share/doc/${ROOT_PN}-${PV}"
|
||||
|
||||
S="${WORKDIR}/${ROOT_PN}-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
epatch \
|
||||
"${FILESDIR}/${PN}-6.00.01-makehtml.patch"
|
||||
|
||||
# prefixify the configure script
|
||||
sed -i \
|
||||
-e "s:/usr:${EPREFIX}/usr:g" \
|
||||
configure || die "prefixify configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# we need only to setup paths here, html docs doesn't depend on USE flags
|
||||
if use api; then
|
||||
./configure \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--etcdir="${EPREFIX}/etc/root" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
--tutdir="${EPREFIX}/usr/share/doc/${PF}/examples/tutorials" \
|
||||
--testdir="${EPREFIX}/usr/share/doc/${PF}/examples/tests" \
|
||||
--with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \
|
||||
--with-sys-iconpath="${EPREFIX}/usr/share/pixmaps" \
|
||||
--nohowto
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
pdf_target=( primer users-guide )
|
||||
local pdf_size=pdfa4
|
||||
use metric || pdf_size=pdfletter
|
||||
use math && pdf_target+=( minuit2 spectrum )
|
||||
use http && pdf_target+=( HttpServer JSROOT )
|
||||
|
||||
local i
|
||||
for (( i=0; i<${#pdf_target[@]}; i++ )); do
|
||||
emake -C documentation/"${pdf_target[i]}" "${pdf_size}"
|
||||
done
|
||||
|
||||
if use api; then
|
||||
# video drivers may want to access hardware devices
|
||||
cards=$(echo -n /dev/dri/card* /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
|
||||
[[ -n "${cards}" ]] && addpredict "${cards}"
|
||||
|
||||
ROOTSYS="${S}" Xemake html
|
||||
# if root.exe crashes, return code will be 0 due to gdb attach,
|
||||
# so we need to check if last html file was generated;
|
||||
# this check is volatile and can't catch crash on the last file.
|
||||
[[ -f htmldoc/WindowAttributes_t.html ]] || die "html doc generation crashed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "${DOC_DIR}"
|
||||
|
||||
local i
|
||||
for (( i=0; i<${#pdf_target[@]}; i++ )); do
|
||||
doins documentation/"${pdf_target[i]}"/*.pdf
|
||||
done
|
||||
unset pdf_target
|
||||
|
||||
use math && doins \
|
||||
"${DISTDIR}/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf" \
|
||||
"${DISTDIR}/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf" \
|
||||
"${DISTDIR}/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf"
|
||||
|
||||
if use api; then
|
||||
# Install offline replacements for online messages
|
||||
cp "${DISTDIR}"/{root6-banner.jpg,info.png} htmldoc/ || die "cp failed"
|
||||
# too large data to copy
|
||||
dodir "${DOC_DIR}/html"
|
||||
mv htmldoc/* "${ED}${DOC_DIR}/html/" || die
|
||||
docompress -x ${DOC_DIR}/html
|
||||
fi
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Submit tax forms (Umsatzsteuervoranmeldung) to the german digital tax project ELSTER"
|
||||
HOMEPAGE="https://stesie.github.com/geierlein/"
|
||||
SRC_URI="https://github.com/stesie/geierlein/archive/V${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
RDEPEND="|| ( www-client/firefox www-client/firefox-bin )"
|
||||
DEPEND=""
|
||||
|
||||
# needs nodejs and a couple of modules we don't have packaged
|
||||
RESTRICT="test"
|
||||
|
||||
src_compile() {
|
||||
emake prefix=/usr
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
prefix=/usr \
|
||||
install || die
|
||||
dodoc README.md
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST z-1.9.tar.gz 5894 SHA256 28aaff75254c8914063ce2534a4b882845054701230475b11dba6d7a305d82c9 SHA512 8e22c04075d502dfbb0225518c923065347aa842d463237e927c2f9e4c6a2c5d211cd43c06a374f078090b4418849afdfabd6a3d249e9c35f9423dffe8078733 WHIRLPOOL 21a7d5e10b69b2f898254fd89f7be42aea1364fd81604d17bf58e244ce8a0a4b6cc92b41062eb008304522cf9623a50745dda7d9466a1a8a1fe3a8a8e5cac4f4
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer>
|
||||
<email>aidecoe@gentoo.org</email>
|
||||
<name>Amadeusz Żołnowski</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Tracks your most used directories, based on 'frecency'. After a short
|
||||
learning phase, z will take you to the most 'frecent' directory that
|
||||
matches ALL of the regexes given on the command line, in order.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Change directory command that learns visited paths"
|
||||
HOMEPAGE="https://github.com/rupa/z/"
|
||||
SRC_URI="https://github.com/rupa/${PN}/tarball/v${PV} -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="WTFPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/rupa-z-5dc2a86"
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "/usr/share/${PN}/"
|
||||
doins z.sh
|
||||
doman z.1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||
elog "To enable 'z' command you need to source /usr/share/${PN}/z.sh."
|
||||
elog "Add following line to your ~/.bashrc, ~/.zshrc or equivalent"
|
||||
elog "in other shells:"
|
||||
elog ""
|
||||
elog " [ -r /usr/share/${PN}/z.sh ] && . /usr/share/${PN}/z.sh"
|
||||
elog ""
|
||||
elog "See z(1) man page for usage and configuration options."
|
||||
fi
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
--- toolsrc/build.xml 2004-03-25 15:54:34.000000000 +0100
|
||||
+++ toolsrc/build-patch.xml 2004-06-19 23:48:07.225123288 +0200
|
||||
@@ -20,7 +20,6 @@
|
||||
<!-- Download source from Sun's site, unzip it, remove
|
||||
the files we don't need, and change the package
|
||||
-->
|
||||
- <get src="http://java.sun.com/products/jfc/tsc/articles/treetable2/downloads/src.zip" dest="${nest}/${build.dir}/swingExSrc.zip"/>
|
||||
<unzip src="${nest}/${build.dir}/swingExSrc.zip" dest="${src.debugger}"/>
|
||||
<delete file="${src.debugger}/FileSystemModel2.java" />
|
||||
<delete file="${src.debugger}/MergeSort.java" />
|
@ -1,23 +0,0 @@
|
||||
diff -urpN rhino1_5R5.old/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java rhino1_5R5/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java
|
||||
--- rhino1_5R5.old/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java 2004-03-25 15:54:34.000000000 +0100
|
||||
+++ rhino1_5R5/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java 2005-02-01 13:58:26.521223264 +0100
|
||||
@@ -124,7 +124,7 @@ public class JavaPolicySecurity extends
|
||||
|
||||
public JavaPolicySecurity() {
|
||||
// To trigger error on jdk-1.1 with lazy load
|
||||
- new CodeSource(null, null);
|
||||
+ new CodeSource(null, (java.security.cert.Certificate[])null);
|
||||
}
|
||||
|
||||
protected void callProcessFileSecure(final Context cx,
|
||||
@@ -167,8 +167,8 @@ public class JavaPolicySecurity extends
|
||||
}
|
||||
|
||||
private ProtectionDomain getUrlDomain(URL url) {
|
||||
- CodeSource cs = new CodeSource(url, null);
|
||||
- PermissionCollection pc = Policy.getPolicy().getPermissions(cs);
|
||||
+ CodeSource cs = new CodeSource(url, (java.security.cert.Certificate[])null);
|
||||
+ PermissionCollection pc = Policy.getPolicy().getPermissions(cs);
|
||||
return new ProtectionDomain(cs, pc);
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- rhino1_5R5/src/org/mozilla/javascript/NativeScript.java.orig 2006-05-31 14:01:06.000000000 +0200
|
||||
+++ rhino1_5R5/src/org/mozilla/javascript/NativeScript.java 2006-05-31 14:03:37.000000000 +0200
|
||||
@@ -55,7 +55,7 @@
|
||||
* @author Norris Boyd
|
||||
*/
|
||||
|
||||
-class NativeScript extends NativeFunction implements Script
|
||||
+public class NativeScript extends NativeFunction implements Script
|
||||
{
|
||||
|
||||
static void init(Context cx, Scriptable scope, boolean sealed)
|
@ -1,12 +0,0 @@
|
||||
diff --git a/toolsrc/org/mozilla/javascript/tools/debugger/build.xml b/toolsrc/org/mozilla/javascript/tools/debugger/build.xml
|
||||
index 7ed0236..5f7db6e 100644
|
||||
--- a/toolsrc/org/mozilla/javascript/tools/debugger/build.xml
|
||||
+++ b/toolsrc/org/mozilla/javascript/tools/debugger/build.xml
|
||||
@@ -47,7 +47,6 @@
|
||||
the files we don't need, and change the package
|
||||
-->
|
||||
<mkdir dir="downloaded"/>
|
||||
- <get src="${swing-ex-url}" dest="downloaded/swingExSrc.zip"/>
|
||||
<unzip src="downloaded/swingExSrc.zip" dest="downloaded/">
|
||||
<patternset>
|
||||
<include name="AbstractCellEditor.java"/>
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
JAVA_PKG_IUSE="doc examples source"
|
||||
inherit java-pkg-2 java-ant-2 eutils versionator
|
||||
|
||||
MY_P="${PN}$(replace_version_separator 1 _ $(replace_version_separator 2 R))"
|
||||
|
||||
DESCRIPTION="An open-source implementation of JavaScript written in Java"
|
||||
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.zip
|
||||
mirror://gentoo/rhino-swing-ex-1.0.zip"
|
||||
HOMEPAGE="http://www.mozilla.org/rhino/"
|
||||
# dual license for rhino and BSD-2 for the swing-ex from Sun's tutorial
|
||||
LICENSE="|| ( MPL-1.1 GPL-2 ) BSD-2"
|
||||
SLOT="1.6"
|
||||
KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos"
|
||||
IUSE=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
CDEPEND="=dev-java/xml-xmlbeans-1*"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
${CDEPEND}"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
app-arch/unzip
|
||||
${CDEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${MY_P}.zip
|
||||
cd "${S}"
|
||||
|
||||
# don't download src.zip from Sun
|
||||
epatch "${FILESDIR}/rhino-1.6-noget.patch"
|
||||
|
||||
rm -v *.jar || die
|
||||
rm -rf docs/apidocs || die
|
||||
|
||||
local dir="toolsrc/org/mozilla/javascript/tools/debugger/downloaded"
|
||||
mkdir ${dir} || die
|
||||
cp "${DISTDIR}/rhino-swing-ex-1.0.zip" ${dir}/swingExSrc.zip || die
|
||||
|
||||
mkdir lib/ && cd lib/ || die
|
||||
java-pkg_jar-from xml-xmlbeans-1 xbean.jar
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar build/${MY_P}/js.jar
|
||||
|
||||
java-pkg_dolauncher jsscript-${SLOT} \
|
||||
--main org.mozilla.javascript.tools.shell.Main
|
||||
|
||||
if use doc; then
|
||||
local dir="build/${MY_P}/docs"
|
||||
mv "${dir}"/{apidocs,api} || die
|
||||
java-pkg_dohtml -r "${dir}"/*
|
||||
dosym /usr/share/doc/${PF}/html/{api,apidocs} || die
|
||||
fi
|
||||
use examples && java-pkg_doexamples examples
|
||||
use source && java-pkg_dosrc {src,toolsrc,xmlimplsrc}/org
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="1"
|
||||
JAVA_PKG_IUSE="doc examples source"
|
||||
inherit java-pkg-2 java-ant-2 eutils versionator
|
||||
|
||||
MY_P="${PN}$(replace_version_separator 1 _ $(replace_version_separator 2 R))"
|
||||
|
||||
DESCRIPTION="An open-source implementation of JavaScript written in Java"
|
||||
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.zip
|
||||
mirror://gentoo/rhino-swing-ex-1.0.zip"
|
||||
HOMEPAGE="http://www.mozilla.org/rhino/"
|
||||
# dual license for rhino and BSD-2 for the swing-ex from Sun's tutorial
|
||||
LICENSE="|| ( MPL-1.1 GPL-2 ) BSD-2"
|
||||
SLOT="1.6"
|
||||
KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
CDEPEND="=dev-java/xml-xmlbeans-1*"
|
||||
RDEPEND=">=virtual/jre-1.5
|
||||
${CDEPEND}"
|
||||
DEPEND=">=virtual/jdk-1.5
|
||||
app-arch/unzip
|
||||
${CDEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${MY_P}.zip
|
||||
cd "${S}"
|
||||
|
||||
# don't download src.zip from Sun
|
||||
epatch "${FILESDIR}/rhino-1.6-noget.patch"
|
||||
|
||||
rm -v *.jar || die
|
||||
rm -rf docs/apidocs || die
|
||||
|
||||
local dir="toolsrc/org/mozilla/javascript/tools/debugger/downloaded"
|
||||
mkdir ${dir} || die
|
||||
cp "${DISTDIR}/rhino-swing-ex-1.0.zip" ${dir}/swingExSrc.zip || die
|
||||
|
||||
mkdir lib/ && cd lib/ || die
|
||||
java-pkg_jar-from xml-xmlbeans-1 xbean.jar
|
||||
|
||||
# Stop downloading of deps
|
||||
cd "${S}"
|
||||
mkdir -p build/tmp-xbean
|
||||
touch build/tmp-xbean/xbean.zip
|
||||
touch lib/jsr173_1.0_api.jar
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar build/${MY_P}/js.jar
|
||||
|
||||
java-pkg_dolauncher jsscript-${SLOT} \
|
||||
--main org.mozilla.javascript.tools.shell.Main
|
||||
|
||||
use doc && java-pkg_dojavadoc "build/${MY_P}/javadoc"
|
||||
use examples && java-pkg_doexamples examples
|
||||
use source && java-pkg_dosrc {src,toolsrc,xmlimplsrc}/org
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
JAVA_PKG_IUSE="doc examples source test"
|
||||
inherit java-pkg-2 java-ant-2 versionator
|
||||
|
||||
# rhino -> Rhino
|
||||
MY_PN="${PN^}"
|
||||
|
||||
# 1.7.7 -> 1_7_7
|
||||
MY_PV="$(replace_all_version_separators _ ${PV})"
|
||||
|
||||
# rhino1.7.7
|
||||
MY_P="${PN}${PV}"
|
||||
|
||||
# Rhino1_7_7_RELEASE
|
||||
MY_RELEASE="${MY_PN}${MY_PV}_RELEASE"
|
||||
|
||||
DESCRIPTION="An open-source implementation of JavaScript written in Java"
|
||||
SRC_URI="https://github.com/mozilla/${PN}/archive/${MY_RELEASE}.zip"
|
||||
HOMEPAGE="http://www.mozilla.org/rhino/"
|
||||
|
||||
LICENSE="MPL-1.1 GPL-2"
|
||||
SLOT="1.7"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
# ../rhino-Rhino1_7_7_RELEASE
|
||||
S="${WORKDIR}/${PN}-${MY_RELEASE}"
|
||||
|
||||
CDEPEND=""
|
||||
RDEPEND=">=virtual/jre-1.6
|
||||
${CDEPEND}"
|
||||
DEPEND=">=virtual/jdk-1.6
|
||||
test? (
|
||||
dev-java/emma:0
|
||||
dev-java/junit:4
|
||||
dev-java/ant-junit:0
|
||||
dev-java/hamcrest-core:1.3
|
||||
)
|
||||
${CDEPEND}"
|
||||
|
||||
JAVA_ANT_REWRITE_CLASSPATH="yes"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-testsrc-build.xml.patch
|
||||
)
|
||||
|
||||
EANT_TEST_TARGET="junit"
|
||||
|
||||
# StackOverFlow errors arise on some tests.
|
||||
# Further, the test suite takes way too much time (> 5 min).
|
||||
# Maybe reduce the numbers of tests?
|
||||
RESTRICT="test"
|
||||
|
||||
java_prepare() {
|
||||
find . \
|
||||
-type f \
|
||||
-name \*.jar \
|
||||
-print \
|
||||
-exec rm -v {} \; || die "Couldn't delete bundled jar files."
|
||||
|
||||
epatch ${PATCHES[@]}
|
||||
|
||||
if use test; then
|
||||
mkdir lib || die
|
||||
java-pkg_jar-from --build-only emma emma.jar lib/emma.jar
|
||||
java-pkg_jar-from --build-only emma emma_ant.jar lib/emma_ant.jar
|
||||
java-pkg_jar-from --build-only hamcrest-core-1.3 hamcrest-core.jar lib/hamcrest.jar
|
||||
java-pkg_jar-from --build-only junit-4 junit.jar lib/junit.jar
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
java-pkg-2_src_compile
|
||||
|
||||
if use source; then
|
||||
EANT_BUILD_TARGET="source-zip" \
|
||||
java-pkg-2_src_compile
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar build/${MY_P}/js.jar
|
||||
|
||||
java-pkg_dolauncher jsscript-${SLOT} \
|
||||
--main org.mozilla.javascript.tools.shell.Main
|
||||
|
||||
use doc && java-pkg_dojavadoc "build/${MY_P}/javadoc"
|
||||
use examples && java-pkg_doexamples examples
|
||||
use source && java-pkg_dosrc {src,toolsrc,xmlimplsrc}/org
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST fsharp-3.1.1.31.tar.gz 31369171 SHA256 9b39c3f4625475c2553668ddbca337ec52fa3a637a05ae14a61a41abe39568b0 SHA512 fcbdad5780a5dd6ab55c380d70b8d0a38f25088e2bb49078468a2cd723b604a14bee6ba2d1005094b1f777a894208654b3f8d3876c5f72126ddc24f96e1eb049 WHIRLPOOL e9060e1e8ccfd3b0efcfeb1148cb5182390e738e8b462746e87d52acaacf5561b53cde50c920a1e4f6929ddf9f3ad0ca6a7d1e9eb8fd3b10af37a375675df019
|
||||
DIST fsharp-4.0.0.3.tar.gz 39812344 SHA256 d8a0f2e4504900d973532e1aa28c6758e8f2648898f85ef345437632b5ed1ed2 SHA512 18fae6c20290dec5a0961173875d3b57b9ca6e26d8a4147cf38631752c6feb8202d7726c2f83c30886947388bcc98bae4961f38ae0a169098a004db75e64cd26 WHIRLPOOL e267e156a80edc7d760c3266cb6fe0d5e175e843ebd9cebfa614ecb2fa3bb10f5fe6ee191e3c7bc9e082fb21ac5ce70f8791226b32d2d02313fb8b35009ba5e9
|
||||
DIST fsharp-4.0.0.4.tar.gz 39628258 SHA256 5b85e380348cc94b3c139e8c0d541fa3e43bd6254aff3b9c9a7150d949e637d5 SHA512 75fbf0fcab9a56cae86b14247e3c78264d9c2c146d10808d2eaca27bf2caf65175eec6487fde50c2b78237342fa0bd4c6ea2034383e8ad2bc4638d46acb0309c WHIRLPOOL 3b517a61177d31fc29e7d5258c2e8d5654b6a3f9b7cbe6a8f83f8f8ac2e67e06b70c84095ff73b3be7790c956d2ea80dd6a3334ec2b81c0e8e4a40ca95af749c
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=XAOC
|
||||
MODULE_VERSION=1.224
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Layout and render international text"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/glib-perl-1.220.0
|
||||
>=dev-perl/Cairo-1.0.0
|
||||
>=x11-libs/pango-1.0.0
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=dev-perl/ExtUtils-Depends-0.300.0
|
||||
>=dev-perl/extutils-pkgconfig-1.30.0
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/"${P}-linking.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
perl-module_src_prepare
|
||||
sed -i -e "s:exit 0:exit 1:g" "${S}"/Makefile.PL || die "sed failed"
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
--- Makefile.PL
|
||||
+++ Makefile.PL
|
||||
@@ -161,6 +161,7 @@
|
||||
if ($have_cairo) {
|
||||
push @deps, qw/Cairo/;
|
||||
$inc .= $pangocairo_pkgcfg{cflags};
|
||||
+ $libs .= ' ';
|
||||
$libs .= $pangocairo_pkgcfg{libs};
|
||||
}
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN=${PN/-/_}
|
||||
MY_P=${MY_PN}-${PV}
|
||||
|
||||
DESCRIPTION="Test vectors for the cryptography package"
|
||||
HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 BSD )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
RDEPEND=""
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Library providing cryptographic recipes and primitives"
|
||||
HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 BSD )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="libressl test"
|
||||
|
||||
RDEPEND="
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
$(python_gen_cond_dep '>=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]' 'python*')
|
||||
$(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)
|
||||
>=dev-python/idna-2.0[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep 'dev-python/ipaddress[${PYTHON_USEDEP}]' python2_7 pypy)
|
||||
>=dev-python/pyasn1-0.1.8[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.4.1[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '>=virtual/pypy-2.6.0' pypy )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/hypothesis[${PYTHON_USEDEP}]
|
||||
dev-python/iso8601[${PYTHON_USEDEP}]
|
||||
dev-python/pretend[${PYTHON_USEDEP}]
|
||||
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
|
||||
|
||||
python_test() {
|
||||
py.test -v -v -x || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST ldap3-0.9.9.1.tar.gz 286623 SHA256 55812eff14919ddc9e53273c09846a0fd3e0d27a2c4b8a110427e58beeadd03d SHA512 f289e86fbc6bb36e7260592cb7f3423c593dcdb75ba43fa418f1367e48967ab175a27073b7c2b3cbee6ef8526f35c96c7fb90e1768e2da27829087abf9104d9c WHIRLPOOL 2325af48ead118577c6d5137d95fca5eec39e119b6ae2759f1a571f78a040bc7ccbd17c5e4760c2d232520a5252129f032c26d814c3c84d1f390222561253692
|
||||
DIST ldap3-0.9.9.2.tar.gz 290242 SHA256 867e448822d91f8ef351bf3dcf8dce43a36312d454db1cb114a3298e3aac6ba4 SHA512 6533bb0e3b958622ac8207ccc12d0817a3b9562ccb5cc911751d73e7b3419f9ae6cf87ffebc5df7b27cd82fc43b9570260a04cb15a5caa97e75f98aa6359f7e5 WHIRLPOOL 6998ddf71445aa5183a9cdf5e523f515dc99f6d4f0bdf562c0537431dffe4f073bf224b4b37a096a06b1a8d0d967cd8af7e81e097a430c036db5110a77ccd2b8
|
||||
DIST ldap3-0.9.9.tar.gz 285775 SHA256 4555b78ecf3ef8ce7fb854c1e863d8f8ffce5f49fa599d04c161749a8fdd16e6 SHA512 ce149629e49add9704fa853c6e7b644e1b4192bee378be757ff6911c5dce89b8532e22d208248475f1531d433d168b806151082179b45c5ea9f57df90203333e WHIRLPOOL 917095ad6f4f477bf2834c4e7da8c6909561c705f36df5598e48269dd2505c66720369a6846e9614feeda5c9b2a6d4317489da2143d6c87584df13ae02ba3fc6
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
|
||||
HOMEPAGE="https://github.com/cannatag/ldap3 https://pypi.python.org/pypi/ldap3"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/pyasn1-0.1.8[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? ( dev-python/nose[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
python_test() {
|
||||
cd "${BUILD_DIR}" || die
|
||||
nosetests -v -s test || die
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST pyparsing-1.5.6.tar.gz 1418892 SHA256 5c84aa4500e82d5aa2c0842d5628c5da985e68ac1fb33554e0e5547eb3c85a75 SHA512 614c1a016d121b7c4ecf90a164bbe323affd6cf72319c8494e9a583078ffa233c351627fc3e793307e407e043570f8301f112c4d86645dcd130220ed976289c8 WHIRLPOOL 278d37581a950a570ac3cca2a5f8b674c909220fddc47072d9d52c38b8dfc30b335530dffd3c522cd18e58e9bddcc5e48d9184cdaf4b09203bbba308607e24a4
|
||||
DIST pyparsing-2.0.1.tar.gz 1129563 SHA256 0007cd3f008eba4a203f1f6b4b133ddc352552c8808b694c88c23db56416e4e4 SHA512 e9c9307c59c7020f4a454458703bd1eb4ef0ac513b2a6a07706b5d676c010f33a72d03d78a61bf3daa96d6598b966a3e4921a88c50f71939a697fa00377ac67a WHIRLPOOL c95815cc6d8471e1ea730daf19ea954fbbddbc67b771700100b04c7103e1ec5e7226e3881a037476f898a3874c072baed7ed159ca32566bd8ed825ab8f4f3cbe
|
||||
DIST pyparsing-2.0.3.tar.gz 1462653 SHA256 06e729e1cbf5274703b1f47b6135ed8335999d547f9d8cf048b210fb8ebf844f SHA512 9771851f4b0191c7d3f8d2a2a6d2a9198b173120d3f133d08284b71e792fc59a906d571edea8f44ba04ab00c1d906e1974d1e8a2d6155d492de1358ba99c575a WHIRLPOOL 42b9c7aa0b8d4d91436a01a60cbca64a9c8f7798b7aeb60bd2c4af085f9e13167a5ac5132d55bd890b4890c00428e908dfae32ed78ec153c868ee02ed3cdaa3f
|
||||
DIST pyparsing-2.0.4.tar.gz 1140009 SHA256 c43c9f1395975bf2b032c20e6b149d6b698cdabf9291079bcaf0131709e95f59 SHA512 021d3610ead6b864b1e0227b6cad2393aae0c1f38a44c09dd7ac33d05be30cb4c75176a33ebd8c44e87ed9d54b58aaf27fab7ac8f3cdcb3ce4418b5b0d586b01 WHIRLPOOL 0fa3fe631c5c6fc79fb13f029fe8a32bd9651fd663e915c5be394225bcb1ea1f199d3edc2294e7a4b0732590e7a0cc3053effca9aa20155ca69d4c3908019e6d
|
||||
|
@ -0,0 +1,51 @@
|
||||
pyparsing.py | 20 +++++++++++---------
|
||||
1 file changed, 11 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/pyparsing.py b/pyparsing.py
|
||||
index 81c82ce..55c72a3 100644
|
||||
--- a/pyparsing.py
|
||||
+++ b/pyparsing.py
|
||||
@@ -22,6 +22,8 @@
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
+from __future__ import print_function
|
||||
+
|
||||
__doc__ = \
|
||||
"""
|
||||
pyparsing module - Classes and methods to define and execute parsing grammars
|
||||
@@ -1554,19 +1556,19 @@ class ParserElement(object):
|
||||
run a parse expression against a list of sample strings.
|
||||
"""
|
||||
for t in tests:
|
||||
- print t
|
||||
+ print(t)
|
||||
try:
|
||||
- print self.parseString(t).dump()
|
||||
+ print(self.parseString(t).dump())
|
||||
except ParseException as pe:
|
||||
if '\n' in t:
|
||||
- print line(pe.loc, t)
|
||||
- print ' '*(col(pe.loc,t)-1) + '^'
|
||||
+ print(line(pe.loc, t))
|
||||
+ print(' '*(col(pe.loc,t)-1) + '^')
|
||||
else:
|
||||
- print ' '*pe.loc + '^'
|
||||
- print pe
|
||||
- print
|
||||
+ print(' '*pe.loc + '^')
|
||||
+ print(pe)
|
||||
+ print()
|
||||
+
|
||||
|
||||
-
|
||||
class Token(ParserElement):
|
||||
"""Abstract C{ParserElement} subclass, for defining atomic matching patterns."""
|
||||
def __init__( self ):
|
||||
@@ -3803,4 +3805,4 @@ if __name__ == "__main__":
|
||||
"""
|
||||
CHANGES
|
||||
UnitTests.py
|
||||
-"""
|
||||
\ No newline at end of file
|
||||
+"""
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="3"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
|
||||
HOMEPAGE="http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc examples"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1"
|
||||
PYTHON_MODNAME="pyparsing.py"
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
|
||||
dohtml HowToUsePyparsing.html
|
||||
dodoc CHANGES
|
||||
|
||||
if use doc; then
|
||||
dohtml -r htmldoc/*
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins docs/*.pdf
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r examples
|
||||
fi
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
|
||||
HOMEPAGE="http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc examples"
|
||||
|
||||
RDEPEND="!dev-python/pyparsing:py2 !dev-python/pyparsing:py3"
|
||||
|
||||
python_install_all() {
|
||||
local HTML_DOCS=( HowToUsePyparsing.html )
|
||||
use doc && HTML_DOCS+=( htmldoc/ )
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
use doc && dodoc docs/*.pdf
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Easy-to-use Python module for text parsing"
|
||||
HOMEPAGE="http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc examples"
|
||||
|
||||
RDEPEND="!dev-python/pyparsing:py2 !dev-python/pyparsing:py3"
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
# no contained in the tarball
|
||||
RESTRICT=test
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-print.patch )
|
||||
|
||||
python_install_all() {
|
||||
local HTML_DOCS=( HowToUsePyparsing.html )
|
||||
if use doc; then
|
||||
HTML_DOCS+=( htmldoc/. )
|
||||
dodoc docs/*.pdf
|
||||
fi
|
||||
use examples && local EXAMPLES=( examples/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
${PYTHON} unitTests.py || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST chunky_png-1.3.3.gem 346112 SHA256 4078934795bf845e4015da25d5a64822a286105e62e8cb85c9c94a7ad02d82d1 SHA512 ea9039a88bb26662863faff98248e8a903e2169fab376b74fc2b17b62f6a2b0201ff67902c596d61a98bec74adb5110bca31c0a6e0f5bf201eef3534f234cf8c WHIRLPOOL 72966631bb53c961573a60eb881a850801617eca512a7a47122d0647dcb50dbe0c673f0ba79c4ac244eb20d7b2886cb8ba1862f76527cef12b06d6b9126c4560
|
||||
DIST chunky_png-1.3.4.gem 349184 SHA256 dc71b0f6bfd38dd9040faa7b1b2ea90c2bfcd5971ee9040785d1b93de484bd58 SHA512 dbcabaf5b5d5627fbf9bf8de3b5692117b71255b25c062068f879fc75c293939d7ff552e9e2a29ca26d711fd00bb9c40385cb36e50c4fcccbaec6d122fa29ca0 WHIRLPOOL a3d92d2106a3a2ae6587acfd57ead27d1f38b9783a80342e0838230259caf5f5661510b070b0bc6aa8289e0f15a7bd3d68338d9aecdaa3f9c4dbc13c52a4a82b
|
||||
DIST chunky_png-1.3.5.gem 350208 SHA256 b6ab1011b2e79bcc973c92deee4110d071d5cd59ed950efcd0aba49a5f57c06d SHA512 3c036da20a77bf3525f2d76711e3dee697360dce59c0aee13e57f6cd6a77e7cde0bc94be15ba3c8792e45652d6825f520f8d16f5bc90ca2315a9b3ce17870494 WHIRLPOOL e7ac53ed0b2f959d0016a87c48140382f07477cb061558ae25120e04bd4947ca399321520b0fe508f4e481763c72ab4ae03a693e62486d58e0c3482b371990fa
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
USE_RUBY="ruby20 ruby21 ruby22"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_DOCDIR=""
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="BENCHMARKING.rdoc README.rdoc"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="chunky_png.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Pure Ruby library that can read and write PNG images"
|
||||
HOMEPAGE="https://wiki.github.com/wvanbergen/chunky_png"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/[bB]undler/s:^:#:' {spec,benchmarks}/*.rb || die
|
||||
rm Gemfile* || die
|
||||
|
||||
# Avoid git dependency
|
||||
sed -i -e '/s.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST biber-1.9.tar.gz 2046569 SHA256 4b8f7ab78f326f2c862c99f8dbb3b224c49f9289820dc226c9529dfa945d9066 SHA512 6b417fd2537e832e8309e3cd1405037a0e1a6e1bc2f2759a208a97f1107a787c269eb3dd9a5b3875855dd50d641dbe7d61b7127d11f986a05d1ceb08ec6ecfda WHIRLPOOL 47b39ab2e0c35e48f4d627bf24f4c03bbeb6b8f499c6492d403da31098b1eb13cd998713f7fbe38c260dff1418b1bd03aede7fa86cd04baf4d5dbe04816e4377
|
||||
DIST biber-2.1.tar.gz 2222706 SHA256 7b20049557869a994ed9e0373f620720370981b6412ca415f0408d1af893f8f4 SHA512 4a19bf9781cb90da52d9f08163b9ed400233db5c446054b12ab339786456e85bc7aba16ff8c0a36351ecc66b90e4a93e594e820b52f93566449b8c96b27852fb WHIRLPOOL 0c7b1827e3e9ede6aebd45a00b63eac8cc3e7896d89c219fa2c467b4b6b10f48f2180aeb70d727f14620267943d59646daf4d0f09ddb1bd7b6b4b945d973dc03
|
||||
DIST biber-2.2.tar.gz 2296128 SHA256 6dd93476b27ac7603bc9f224a3b00558f86617209f93b74f8cb4a51f54480c2f SHA512 508b5a8046a1ff7ef6482b5c1f86ce427fa47f669ca224ee52252109dd6488ff242ea5076cafd47f66f288fed994b5425eab4c2566346046e0b2f656ca679d7c WHIRLPOOL 2006b26277eaeb707211a1828e70c4bbfd04030f56e91062c57050a5b0479d317455352730976f3f9206eafbafdccc71d9f071f4e9dedace1c77e8c79ab826b4
|
||||
|
@ -1,221 +0,0 @@
|
||||
From f31062a94aefff64cc193aa3a394fd3a623c2aa7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
|
||||
Date: Thu, 29 May 2014 14:23:06 +0200
|
||||
Subject: [PATCH] Remove Mozilla::CA dependency.
|
||||
|
||||
|
||||
diff --git a/Build.PL b/Build.PL
|
||||
index 3ea589b..76acdc7 100644
|
||||
--- a/Build.PL
|
||||
+++ b/Build.PL
|
||||
@@ -49,7 +49,6 @@ my $builder = $class->new(
|
||||
'IPC::Run3' => 0,
|
||||
'List::AllUtils' => 0,
|
||||
'List::MoreUtils' => 0,
|
||||
- 'Mozilla::CA' => '20130114',
|
||||
'Regexp::Common' => 0,
|
||||
'Log::Log4perl' => 0,
|
||||
'Unicode::Collate' => '1.04',
|
||||
diff --git a/META.json b/META.json
|
||||
index cf91a91..1855294 100644
|
||||
--- a/META.json
|
||||
+++ b/META.json
|
||||
@@ -44,7 +44,6 @@
|
||||
"List::AllUtils" : "0",
|
||||
"List::MoreUtils" : "0",
|
||||
"Log::Log4perl" : "0",
|
||||
- "Mozilla::CA" : "20130114",
|
||||
"Regexp::Common" : "0",
|
||||
"Text::BibTeX" : "0.69",
|
||||
"URI" : "0",
|
||||
diff --git a/META.yml b/META.yml
|
||||
index 7091ddb..82706ee 100644
|
||||
--- a/META.yml
|
||||
+++ b/META.yml
|
||||
@@ -114,7 +114,6 @@ requires:
|
||||
List::AllUtils: 0
|
||||
List::MoreUtils: 0
|
||||
Log::Log4perl: 0
|
||||
- Mozilla::CA: 20130114
|
||||
Regexp::Common: 0
|
||||
Text::BibTeX: 0.69
|
||||
URI: 0
|
||||
diff --git a/bin/biber b/bin/biber
|
||||
index 6038535..4c3ea1c 100755
|
||||
--- a/bin/biber
|
||||
+++ b/bin/biber
|
||||
@@ -73,7 +73,6 @@ GetOptions(
|
||||
'sortfirstinits=s',
|
||||
'sortlocale|l=s',
|
||||
'sortupper=s',
|
||||
- 'ssl-nointernalca',
|
||||
'ssl-noverify-host',
|
||||
'tool',
|
||||
'tool_align|tool-align', # legacy alias for output_align
|
||||
@@ -664,12 +663,6 @@ default sorting (B<--collate|-C>). When
|
||||
using B<--fastsort|-f>, your OS collation locale determines
|
||||
this and this option is ignored (default is true).
|
||||
|
||||
-=item B<--ssl-nointernalca>
|
||||
-
|
||||
-Don't try to use the default Mozilla CA certificates when using HTTPS to fetch remote data.
|
||||
-This assumes that the user will set one of the perl LWP::UserAgent module environment variables
|
||||
-to find the CA certs.
|
||||
-
|
||||
=item B<--ssl-noverify-host>
|
||||
|
||||
Turn off host verification when using HTTPS to fetch remote data sources.
|
||||
diff --git a/data/schemata/config.rnc b/data/schemata/config.rnc
|
||||
index e798733..5fcce6d 100644
|
||||
--- a/data/schemata/config.rnc
|
||||
+++ b/data/schemata/config.rnc
|
||||
@@ -72,7 +72,6 @@ start = element config {
|
||||
map+
|
||||
}+
|
||||
}? &
|
||||
- element ssl-nointernalca { "0" | "1" }? &
|
||||
element ssl-noverify-host { "0" | "1" }? &
|
||||
element tool { "0" | "1" }? &
|
||||
element tool_config { text }? &
|
||||
diff --git a/data/schemata/config.rng b/data/schemata/config.rng
|
||||
index 185cde6..f7e4176 100644
|
||||
--- a/data/schemata/config.rng
|
||||
+++ b/data/schemata/config.rng
|
||||
@@ -335,14 +335,6 @@
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
- <element name="ssl-nointernalca">
|
||||
- <choice>
|
||||
- <value>0</value>
|
||||
- <value>1</value>
|
||||
- </choice>
|
||||
- </element>
|
||||
- </optional>
|
||||
- <optional>
|
||||
<element name="ssl-noverify-host">
|
||||
<choice>
|
||||
<value>0</value>
|
||||
diff --git a/lib/Biber/Input/file/biblatexml.pm b/lib/Biber/Input/file/biblatexml.pm
|
||||
index d3f7377..21b1471 100644
|
||||
--- a/lib/Biber/Input/file/biblatexml.pm
|
||||
+++ b/lib/Biber/Input/file/biblatexml.pm
|
||||
@@ -97,19 +97,6 @@ sub extract_entries {
|
||||
else {
|
||||
if ($1) { # HTTPS
|
||||
# use IO::Socket::SSL qw(debug99); # useful for debugging SSL issues
|
||||
- # We have to explicitly set the cert path because otherwise the https module
|
||||
- # can't find the .pem when PAR::Packer'ed
|
||||
- # Have to explicitly try to require Mozilla::CA here to get it into %INC below
|
||||
- # It may, however, have been removed by some biber unpacked dists
|
||||
- if (not exists($ENV{PERL_LWP_SSL_CA_FILE}) and
|
||||
- not exists($ENV{PERL_LWP_SSL_CA_PATH}) and
|
||||
- not defined(Biber::Config->getoption('ssl-nointernalca')) and
|
||||
- eval {require Mozilla::CA}) {
|
||||
- # we assume that the default CA file is in .../Mozilla/CA/cacert.pem
|
||||
- (my $vol, my $dir, undef) = File::Spec->splitpath( $INC{"Mozilla/CA.pm"} );
|
||||
- $dir =~ s/\/$//; # splitpath sometimes leaves a trailing '/'
|
||||
- $ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catpath($vol, "$dir/CA", 'cacert.pem');
|
||||
- }
|
||||
|
||||
# fallbacks for, e.g., linux
|
||||
unless (exists($ENV{PERL_LWP_SSL_CA_FILE})) {
|
||||
diff --git a/lib/Biber/Input/file/bibtex.pm b/lib/Biber/Input/file/bibtex.pm
|
||||
index 33185a6..f3fd9f2 100644
|
||||
--- a/lib/Biber/Input/file/bibtex.pm
|
||||
+++ b/lib/Biber/Input/file/bibtex.pm
|
||||
@@ -140,19 +140,6 @@ sub extract_entries {
|
||||
else {
|
||||
if ($1) { # HTTPS
|
||||
# use IO::Socket::SSL qw(debug99); # useful for debugging SSL issues
|
||||
- # We have to explicitly set the cert path because otherwise the https module
|
||||
- # can't find the .pem when PAR::Packer'ed
|
||||
- # Have to explicitly try to require Mozilla::CA here to get it into %INC below
|
||||
- # It may, however, have been removed by some biber unpacked dists
|
||||
- if (not exists($ENV{PERL_LWP_SSL_CA_FILE}) and
|
||||
- not exists($ENV{PERL_LWP_SSL_CA_PATH}) and
|
||||
- not defined(Biber::Config->getoption('ssl-nointernalca')) and
|
||||
- eval {require Mozilla::CA}) {
|
||||
- # we assume that the default CA file is in .../Mozilla/CA/cacert.pem
|
||||
- (my $vol, my $dir, undef) = File::Spec->splitpath( $INC{"Mozilla/CA.pm"} );
|
||||
- $dir =~ s/\/$//; # splitpath sometimes leaves a trailing '/'
|
||||
- $ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catpath($vol, "$dir/CA", 'cacert.pem');
|
||||
- }
|
||||
|
||||
# fallbacks for, e.g., linux
|
||||
unless (exists($ENV{PERL_LWP_SSL_CA_FILE})) {
|
||||
diff --git a/lib/Biber/Input/file/endnotexml.pm b/lib/Biber/Input/file/endnotexml.pm
|
||||
index 14adc38..b880e8a 100644
|
||||
--- a/lib/Biber/Input/file/endnotexml.pm
|
||||
+++ b/lib/Biber/Input/file/endnotexml.pm
|
||||
@@ -111,19 +111,6 @@ sub extract_entries {
|
||||
$logger->info("Data source '$source' is a remote EndNote XML datasource - fetching ...");
|
||||
if ($1) { # HTTPS
|
||||
# use IO::Socket::SSL qw(debug99); # useful for debugging SSL issues
|
||||
- # We have to explicitly set the cert path because otherwise the https module
|
||||
- # can't find the .pem when PAR::Packer'ed
|
||||
- # Have to explicitly try to require Mozilla::CA here to get it into %INC below
|
||||
- # It may, however, have been removed by some biber unpacked dists
|
||||
- if (not exists($ENV{PERL_LWP_SSL_CA_FILE}) and
|
||||
- not exists($ENV{PERL_LWP_SSL_CA_PATH}) and
|
||||
- not defined(Biber::Config->getoption('ssl-nointernalca')) and
|
||||
- eval {require Mozilla::CA}) {
|
||||
- # we assume that the default CA file is in .../Mozilla/CA/cacert.pem
|
||||
- (my $vol, my $dir, undef) = File::Spec->splitpath( $INC{"Mozilla/CA.pm"} );
|
||||
- $dir =~ s/\/$//; # splitpath sometimes leaves a trailing '/'
|
||||
- $ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catpath($vol, "$dir/CA", 'cacert.pem');
|
||||
- }
|
||||
|
||||
# fallbacks for, e.g., linux
|
||||
unless (exists($ENV{PERL_LWP_SSL_CA_FILE})) {
|
||||
diff --git a/lib/Biber/Input/file/ris.pm b/lib/Biber/Input/file/ris.pm
|
||||
index 0dbeacc..dda7466 100644
|
||||
--- a/lib/Biber/Input/file/ris.pm
|
||||
+++ b/lib/Biber/Input/file/ris.pm
|
||||
@@ -110,19 +110,6 @@ sub extract_entries {
|
||||
else {
|
||||
if ($1) { # HTTPS
|
||||
# use IO::Socket::SSL qw(debug99); # useful for debugging SSL issues
|
||||
- # We have to explicitly set the cert path because otherwise the https module
|
||||
- # can't find the .pem when PAR::Packer'ed
|
||||
- # Have to explicitly try to require Mozilla::CA here to get it into %INC below
|
||||
- # It may, however, have been removed by some biber unpacked dists
|
||||
- if (not exists($ENV{PERL_LWP_SSL_CA_FILE}) and
|
||||
- not exists($ENV{PERL_LWP_SSL_CA_PATH}) and
|
||||
- not defined(Biber::Config->getoption('ssl-nointernalca')) and
|
||||
- eval {require Mozilla::CA}) {
|
||||
- # we assume that the default CA file is in .../Mozilla/CA/cacert.pem
|
||||
- (my $vol, my $dir, undef) = File::Spec->splitpath( $INC{"Mozilla/CA.pm"} );
|
||||
- $dir =~ s/\/$//; # splitpath sometimes leaves a trailing '/'
|
||||
- $ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catpath($vol, "$dir/CA", 'cacert.pem');
|
||||
- }
|
||||
|
||||
# fallbacks for, e.g., linux
|
||||
unless (exists($ENV{PERL_LWP_SSL_CA_FILE})) {
|
||||
diff --git a/lib/Biber/Input/file/zoterordfxml.pm b/lib/Biber/Input/file/zoterordfxml.pm
|
||||
index 0d05d2b..79ba19e 100644
|
||||
--- a/lib/Biber/Input/file/zoterordfxml.pm
|
||||
+++ b/lib/Biber/Input/file/zoterordfxml.pm
|
||||
@@ -123,19 +123,6 @@ sub extract_entries {
|
||||
$logger->info("Data source '$source' is a remote Zotero RDF/XML data source - fetching ...");
|
||||
if ($1) { # HTTPS
|
||||
# use IO::Socket::SSL qw(debug99); # useful for debugging SSL issues
|
||||
- # We have to explicitly set the cert path because otherwise the https module
|
||||
- # can't find the .pem when PAR::Packer'ed
|
||||
- # Have to explicitly try to require Mozilla::CA here to get it into %INC below
|
||||
- # It may, however, have been removed by some biber unpacked dists
|
||||
- if (not exists($ENV{PERL_LWP_SSL_CA_FILE}) and
|
||||
- not exists($ENV{PERL_LWP_SSL_CA_PATH}) and
|
||||
- not defined(Biber::Config->getoption('ssl-nointernalca')) and
|
||||
- eval {require Mozilla::CA}) {
|
||||
- # we assume that the default CA file is in .../Mozilla/CA/cacert.pem
|
||||
- (my $vol, my $dir, undef) = File::Spec->splitpath( $INC{"Mozilla/CA.pm"} );
|
||||
- $dir =~ s/\/$//; # splitpath sometimes leaves a trailing '/'
|
||||
- $ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catpath($vol, "$dir/CA", 'cacert.pem');
|
||||
- }
|
||||
|
||||
# fallbacks for, e.g., linux
|
||||
unless (exists($ENV{PERL_LWP_SSL_CA_FILE})) {
|
||||
--
|
||||
2.0.0
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST biblatex-2.9a.tds.tgz 17829003 SHA256 d3e6490505728113bcc5332f1a83fca1db6d50950e0ffaade495f4c5052e5175 SHA512 1341e530bc68096498306b9933a014eaf2e4ebc573b344776ae3f3addd93301927f31da84b368b812e364aae45bdab1624da69a63dfcd0589b3a28c7795f6ab8 WHIRLPOOL 51f30f41e323077a24958e0724d1357763f2c5e9b05ebf6dd11b254cde0d5d20f4a93cf66d9f722d550908d1d0c9856f430edc2067aabd4e4d3c11b293e465df
|
||||
DIST biblatex-3.0.tds.tgz 18965624 SHA256 8de8554eea84dce59a652d61a11e5fcd52c89f303471eb9ca58304b82155e889 SHA512 a8db58907953010c0376bda823ef03250428a2df0172a6e74f2725b19212a8df95c8e742b27f5301a5ca401ccee394d1aa4485bafc2263c985fbde1ce5de4c93 WHIRLPOOL b444a55a0149a5147e1142c4ba8a4ee2251e1f92cece83a8ee7b6ff79a46d46bbb9a22b4f34cdb06aba55eb9b13efb9465d32de60753f27d5c48931044411719
|
||||
DIST biblatex-3.1.tds.tgz 18983013 SHA256 96280c084f7f1a5ccde679130f80ae0b7e43265aa51b0ea083caadd01c5ec7d1 SHA512 62a4be3d875f70987c2faf83b7558b46ae936ef4e52afa357a2ac80a65afc15dfd783c1a4a4e140d9aa906bb49153ddec2b4e8233ed2d2a26599468190cde951 WHIRLPOOL 5e75313543b5b36a18e593dda68e3c655142e378877bb74513406ca6515a3d8eea5d67ef802594834a766af270d44e23d9f887f8d71e66e6fc8948c6180af864
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST stgit-0.16-missing-patches.tar.gz 1667 SHA256 f105bb417592be3c68d830ad1cf2e212e6e5cb809bf64cdffb516a0f7badd4f4 SHA512 29d4c3e68121654153b4e5142dd70d818737b09bbc8371d644a36dd9d18afaf78fdda91bc16f953c330bcbae19084384d8bcd216cdfe674df784e33165186db1 WHIRLPOOL c7628853e6c1eff498a95ff22ec3eb3bb69b60dfb0c6dcd5895a650b8d3aba966166dfd426a0c728e3d292f0a2ed197325b0af5ccd63fc99011b5b2e841e7194
|
||||
DIST stgit-0.16.tar.gz 362687 SHA256 02f1a19350ccf4a26abac1421df8c2d021e78f995c913f9562718a1700318a42 SHA512 782de3d5855aad4f5d040478745990517ebe2b26dc315a3ed41db95399bb46e075d63a70baa0e3aa2ab1012b59e6ad1f5940a904f296ef09d6bca60f66e417dd WHIRLPOOL e2334c041cb260455d549d33b6628fd4f6e1e7da850f2987ba86922504e07aed8177d092550348b52cad8894b0335d20ee1608b855fa1cb6545bdd301a9d38f1
|
||||
DIST stgit-0.17.1-upstream-patches-0.tar.xz 5064 SHA256 6e120dd85bcdcbbb64bea98bd5967bb1f01fbc9d3e80b4856d7e328cfcafc31e SHA512 da7b75898466c8be58c48a86aee6209a907f971c7b15b38034940598d353fa6ecb48894b220fbfd8e032e88e746b377c55485c8045c330607e122a082aa0374f WHIRLPOOL aa7b7a5f89703eb35fab26dec0bcf5ceae2e20608b2562c7b6f76e33d43b35113d97282cb6b5f4cdf5da6e11e07faacacb13215cef3f7dac31a862ff809641cb
|
||||
DIST stgit-0.17.1-upstream-patches-1.tar.xz 15324 SHA256 4ec973ee6a16daee616c5f675294e9351e4953b4d171059cddb504d286939cd3 SHA512 2d756d960b5bd803258afe0bb89cb29a960bc2745adf37f2b574fd114579a867ec51628f2267744ec2eec70090376274bfd720a612093a36f4bb8e4ecb8f6d30 WHIRLPOOL 538a060e8628b9d43af56568a267c2026a9088156af188d5a745adfbb11807dcf948f216e6492d51069c85e80985f156196df6b28eb2664b3e5e27a09b169c57
|
||||
DIST stgit-0.17.1.tar.gz 398466 SHA256 d43365a0c22e41a6fb9ba1a86de164d6475e79054e7f33805d6a829eb4056ade SHA512 3efdfb9bc024c3a7c0d74d49e85f157d5d5209c9a2ad0ce63a07138c02fb1580e92ac4a91796e79bbd221e6884317e975f9f44e35db0b484fd916bc67cd61abe WHIRLPOOL a7c4c83cfeace12ced60e846ed9daaffadea3ed201a90e72239e3f8df310164e00ce5a89174df177f89df4a609a66ac35e905f31419ed654081c3ab0c2cba859
|
||||
|
@ -1,28 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit java-virtuals-2
|
||||
|
||||
DESCRIPTION="Virtual for Java Management Extensions (JMX)"
|
||||
HOMEPAGE="https://www.gentoo.org"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="|| (
|
||||
virtual/jre:1.7
|
||||
virtual/jre:1.6
|
||||
virtual/jre:1.5
|
||||
dev-java/sun-jmx:0
|
||||
)
|
||||
>=dev-java/java-config-2.1.8
|
||||
"
|
||||
|
||||
JAVA_VIRTUAL_PROVIDES="sun-jmx"
|
||||
JAVA_VIRTUAL_VM="=virtual/jre-1.7 =virtual/jre-1.6 =virtual/jre-1.5"
|
@ -0,0 +1,128 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE='threads(+)'
|
||||
inherit eutils toolchain-funcs flag-o-matic python-any-r1 waf-utils
|
||||
|
||||
DESCRIPTION="Digital Audio Workstation"
|
||||
HOMEPAGE="http://ardour.org/"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="http://git.ardour.org/ardour/ardour.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SRC_URI="https://github.com/Ardour/ardour/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="4"
|
||||
IUSE="altivec doc jack lv2 cpu_flags_x86_sse cpu_flags_x86_mmx cpu_flags_x86_3dnow"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-cpp/glibmm-2.32.0
|
||||
>=dev-cpp/gtkmm-2.16:2.4
|
||||
>=dev-cpp/libgnomecanvasmm-2.26:2.6
|
||||
dev-libs/boost:=
|
||||
>=dev-libs/glib-2.10.1:2
|
||||
dev-libs/libsigc++:2
|
||||
>=dev-libs/libxml2-2.6:2
|
||||
dev-libs/libxslt
|
||||
>=gnome-base/libgnomecanvas-2
|
||||
media-libs/alsa-lib
|
||||
media-libs/aubio
|
||||
media-libs/flac
|
||||
media-libs/freetype:2
|
||||
media-libs/libart_lgpl
|
||||
media-libs/liblo
|
||||
>=media-libs/liblrdf-0.4.0-r20
|
||||
>=media-libs/libsamplerate-0.1
|
||||
>=media-libs/libsndfile-1.0.18
|
||||
>=media-libs/libsoundtouch-1.6.0
|
||||
media-libs/raptor:2
|
||||
>=media-libs/rubberband-1.6.0
|
||||
>=media-libs/taglib-1.7
|
||||
media-libs/vamp-plugin-sdk
|
||||
net-misc/curl
|
||||
sci-libs/fftw:3.0
|
||||
virtual/libusb:0
|
||||
x11-libs/cairo
|
||||
>=x11-libs/gtk+-2.8.1:2
|
||||
x11-libs/pango
|
||||
jack? ( >=media-sound/jack-audio-connection-kit-0.120 )
|
||||
lv2? (
|
||||
>=media-libs/slv2-0.6.1
|
||||
media-libs/lilv
|
||||
media-libs/sratom
|
||||
dev-libs/sord
|
||||
>=media-libs/suil-0.6.10
|
||||
>=media-libs/lv2-1.4.0
|
||||
)"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
>=media-sound/jack-audio-connection-kit-0.120
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen[dot] )"
|
||||
|
||||
src_prepare(){
|
||||
if ! [[ ${PV} == *9999* ]]; then
|
||||
epatch "${FILESDIR}"/${PN}-4.x-revision-naming.patch
|
||||
touch "${S}/libs/ardour/revision.cc"
|
||||
fi
|
||||
use lv2 || epatch "${FILESDIR}"/${PN}-4.0-lv2.patch
|
||||
sed 's/'full-optimization\'\ :\ \\[.*'/'full-optimization\'\ :\ \'\','/' -i "${S}"/wscript
|
||||
MARCH=$(get-flag march)
|
||||
if use cpu_flags_x86_sse; then
|
||||
if [[ ${MARCH} == "i686" ]] || [[ ${MARCH} == "i486" ]]; then
|
||||
elog "You enabled sse but use an march that does not support sse!"
|
||||
elog "We add sse to the flags now, but please consider switching your march in make.conf!"
|
||||
fi
|
||||
OPTFLAGS="sse"
|
||||
fi
|
||||
if use cpu_flags_x86_mmx; then
|
||||
if [[ ${MARCH} == "i486" ]]; then
|
||||
elog "You enabled mmx with i486 set as march! You have been warned!"
|
||||
fi
|
||||
OPTFLAGS="${OPTFLAGS} mmx"
|
||||
fi
|
||||
if use cpu_flags_x86_3dnow; then
|
||||
OPTFLAGS="${OPTFLAGS} 3dnow"
|
||||
fi
|
||||
sed 's/flag_line\ =\ o.*/flag_line\ =\ \": '${OPTFLAGS}' just some place holders\"/' \
|
||||
-i "${S}"/wscript
|
||||
sed 's/cpu\ ==\ .*/cpu\ ==\ "LeaveMarchAsIs":/' -i "${S}"/wscript
|
||||
append-flags "-lboost_system"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC CXX
|
||||
mkdir -p "${D}"
|
||||
waf-utils_src_configure \
|
||||
--destdir="${D}" \
|
||||
--prefix=/usr \
|
||||
--configdir=/etc \
|
||||
--nls \
|
||||
--optimize \
|
||||
$(usex jack "--with-backends=alsa,jack" "--with-backends=alsa --libjack=weak") \
|
||||
$(usex lv2 "--lv2" "--no-lv2") \
|
||||
$(usex doc "--docs" '') \
|
||||
$({ use altivec || use cpu_flags_x86_sse; } && echo "--fpu-optimization" || echo "--no-fpu-optimization")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
waf-utils_src_install
|
||||
mv ${PN}.1 ${PN}${SLOT}.1
|
||||
doman ${PN}${SLOT}.1
|
||||
newicon icons/icon/ardour_icon_mac.png ${PN}${SLOT}.png
|
||||
make_desktop_entry ardour4 ardour4 ardour4 AudioVideo
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you are using Ardour and want to keep its development alive"
|
||||
elog "then please consider to make a donation upstream at ${HOMEPAGE}"
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST spotify-client_0.9.17.1.g9b85d43.7-1_amd64.deb 42733568 SHA256 717a878bcfa495852d19ac34bb4b0fa1b2f063ab94547defd32725d1dec10775 SHA512 a19403558c0a641b0264641501c9538f169b9e64d532e5d54dd67b7edbb27d400f07395014c9693fed298a1331c053cc9e62988d1293e9b1f1809d68a74646ad WHIRLPOOL 712ac07a3cd3230e3de17e9209380d0e0cc9a33c77cb4753e04490c5bb9a4e2d3e386ee92ffadecd9888ea701aa2a0c4c1b8c579cfa2f5b61d72981a5736f495
|
||||
DIST spotify-client_1.0.16.104.g3b776c9e_amd64.deb 69975392 SHA256 2b3e7a7cccadaa4567450e9d3c801a2f72ec9a5ad9295241701874310f6bd96a SHA512 b3663a374021a4b518862b514db8469dd81b3bd35f4d4522a844e647cb79e336d0d814b10f11ed3f1875c8740491394213a588d2b7976e6b95591f2f378fef3f WHIRLPOOL 8a01301489c6afa99991fac297788f67fe4b096cd71cc8927b5de6ebfbd795c996008d9da57b2324ff9dd3113b511a8a95a1106b1e6d6131cc08473380d7f9e4
|
||||
DIST spotify-client_1.0.16.104.g3b776c9e_i386.deb 75000034 SHA256 b61ba5b2a42db6e888f002094d3bae7493997e18f2f7821208bcf90b6b129aff SHA512 9773778f49dbdeccb52a496db76fa6ef7cd4bc8df4a3b87f8908a8654fd78a9ca027a3f236e493067413815c130f49804bf32a81c2613bd2302641edfdaf4e22 WHIRLPOOL 1d5a8b033db1f609c0a3b45c4eefb7c3a7e11aff97abbfcbe148e64516dec88475e8c2ebb9eaca8cd61e0191afd114aa2e62f2fa64a8078b9859d3ea8a4cf8f0
|
||||
DIST spotify-client_1.0.17.75.g8f111100_amd64.deb 68928916 SHA256 65ad49871a5f281aa7248690c0379fc18c17c063ab640590bbfa7edc02cb223f SHA512 6f8038f41bb613c600d8ad42c65cf93e28bb60e60ee3a239b583fd9ff45234cdcc5934ed5a93e9e3b0307e49e1a8a40dba918636a45bc6b7efdab6f4b49451d8 WHIRLPOOL 458ecd30d843eee10345300e35b4ebba941f942a19fdbeba4d82bd122a7d585d7861b4c034b8564d97a5b7136b605101096a0be4d116542d3ab96ef70df8b381
|
||||
DIST spotify-client_1.0.17.75.g8f111100_i386.deb 73966036 SHA256 480d8791d4de95f43ba95e4c5d31fc5a02662c6e041c3eb45f481a5ef6bd39b0 SHA512 05c1c6d60835b880a75e01af77abc327c678d1974d851531eab52b02159ede3921ecd2fc375b429d36309050a2f99942cb33b026892c9c3e4ca2f5c9c54244b2 WHIRLPOOL afc278efd6230b21d49a2716184ae98412f312d9fa8a7acf8e4876e2c8541e525b9d23869c31d3d8d5609fdd70d25590af76ed588e96a32f885c957cdd7aa005
|
||||
|
@ -1 +1 @@
|
||||
Wed, 28 Oct 2015 18:11:21 +0000
|
||||
Thu, 29 Oct 2015 15:11:25 +0000
|
||||
|
@ -1 +1 @@
|
||||
Wed, 28 Oct 2015 18:11:21 +0000
|
||||
Thu, 29 Oct 2015 15:11:26 +0000
|
||||
|
@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=configure install postinst prepare setup
|
||||
DEPEND=caps? ( sys-libs/libcap ) dbi? ( >=dev-db/libdbi-0.8.3 ) geoip? ( >=dev-libs/geoip-1.5.0 ) json? ( >=dev-libs/json-c-0.9 ) python? ( || ( >=dev-lang/python-2.7.5-r2:2.7 ) ) redis? ( dev-libs/hiredis ) smtp? ( net-libs/libesmtp ) spoof-source? ( net-libs/libnet:1.1 ) systemd? ( sys-apps/systemd ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) dev-libs/libpcre !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) >=dev-libs/eventlog-0.2.12 >=dev-libs/glib-2.10.1:2 virtual/pkgconfig sys-devel/flex !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
|
||||
DESCRIPTION=syslog replacement with advanced filtering features
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.balabit.com/network-security/syslog-ng
|
||||
IUSE=amqp caps dbi geoip ipv6 json libressl mongodb pacct python redis smtp spoof-source systemd tcpd
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd
|
||||
LICENSE=GPL-2+ LGPL-2.1+
|
||||
RDEPEND=caps? ( sys-libs/libcap ) dbi? ( >=dev-db/libdbi-0.8.3 ) geoip? ( >=dev-libs/geoip-1.5.0 ) json? ( >=dev-libs/json-c-0.9 ) python? ( || ( >=dev-lang/python-2.7.5-r2:2.7 ) ) redis? ( dev-libs/hiredis ) smtp? ( net-libs/libesmtp ) spoof-source? ( net-libs/libnet:1.1 ) systemd? ( sys-apps/systemd ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) dev-libs/libpcre !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) >=dev-libs/eventlog-0.2.12 >=dev-libs/glib-2.10.1:2
|
||||
RESTRICT=test
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/balabit/syslog-ng/releases/download/syslog-ng-3.7.2/syslog-ng-3.7.2.tar.gz
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 43da5163ba106e87d22d2e7d6d67537f libtool 7f78cd7d403808a350c9ae23f5821fb4 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 python-any-r1 b81ab4852d108e3d9c940fa03bce80e1 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 systemd 6b4f0cefa642270eded7e6ca816fd181 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=1ca6ad99486793e84ff127fd67595ae9
|
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install preinst prepare setup test unpack
|
||||
DEPEND=!!app-crypt/heimdal >=sys-libs/e2fsprogs-libs-1.42.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] || ( >=dev-libs/libverto-0.2.5[libev,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libverto-0.2.5[libevent,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libverto-0.2.5[tevent,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) keyutils? ( >=sys-apps/keyutils-1.5.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) openldap? ( >=net-nds/openldap-2.4.38-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pkinit? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) xinetd? ( sys-apps/xinetd ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508-r1 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) virtual/yacc doc? ( virtual/latex-base ) test? ( || ( >=dev-lang/python-2.7.5-r2:2.7 ) dev-lang/tcl:0 dev-util/dejagnu ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=MIT Kerberos V
|
||||
EAPI=5
|
||||
HOMEPAGE=http://web.mit.edu/kerberos/www/
|
||||
IUSE=doc +keyutils libressl openldap +pkinit selinux +threads test xinetd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86
|
||||
LICENSE=openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )
|
||||
RDEPEND=!!app-crypt/heimdal >=sys-libs/e2fsprogs-libs-1.42.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] || ( >=dev-libs/libverto-0.2.5[libev,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libverto-0.2.5[libevent,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libverto-0.2.5[tevent,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) keyutils? ( >=sys-apps/keyutils-1.5.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) openldap? ( >=net-nds/openldap-2.4.38-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pkinit? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) xinetd? ( sys-apps/xinetd ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508-r1 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) selinux? ( sec-policy/selinux-kerberos )
|
||||
SLOT=0
|
||||
SRC_URI=http://web.mit.edu/kerberos/dist/krb5/1.13/krb5-1.13.2-signed.tar
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 43da5163ba106e87d22d2e7d6d67537f flag-o-matic 85dc1eac3c64d8141374490ed64122e5 libtool 7f78cd7d403808a350c9ae23f5821fb4 multibuild ce2c2ede0c914b77f5dfc4e2ff2d0249 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multilib-build c47eec09e82c8a750127ff2abf0745b1 multilib-minimal a93a9b4153a5f1c746bdd3b20ef9d834 python-any-r1 b81ab4852d108e3d9c940fa03bce80e1 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=1da14c0bb3aeb7b4f52b4605d43b1f46
|
@ -0,0 +1,12 @@
|
||||
DEFINED_PHASES=compile configure install prepare setup
|
||||
DEPEND=app-text/pandoc dev-haskell/pandoc-citeproc[bibutils] dev-texlive/texlive-latex virtual/pkgconfig api? ( media-fonts/dejavu ~sci-physics/root-6.04.06[X,graphviz,opengl] ) test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
|
||||
DESCRIPTION=Documentation for ROOT Data Analysis Framework
|
||||
EAPI=5
|
||||
HOMEPAGE=http://root.cern.ch/drupal
|
||||
IUSE=api +math +metric http test
|
||||
KEYWORDS=~amd64 ~x86 ~amd64-linux ~x86-linux
|
||||
LICENSE=LGPL-2.1
|
||||
SLOT=0
|
||||
SRC_URI=ftp://root.cern.ch/root/root_v6.04.06.source.tar.gz math? ( http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v4.2.0.pdf http://root.cern.ch/download/doc/RooFit_Users_Manual_2.91-33.pdf http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_3.00.pdf ) api? ( http://root.cern.ch/drupal/sites/default/files/images/root6-banner.jpg http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png )
|
||||
_eclasses_=eutils 43da5163ba106e87d22d2e7d6d67537f multilib df4e4d5cfd3d137d0c248e1991c0e4d6 python-any-r1 b81ab4852d108e3d9c940fa03bce80e1 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 virtualx 7d550983f9b6adb3e7091f4090ddae2f
|
||||
_md5_=9239cd5a315582cc2120e313837c3163
|
@ -0,0 +1,11 @@
|
||||
DEFINED_PHASES=compile install
|
||||
DESCRIPTION=Submit tax forms (Umsatzsteuervoranmeldung) to the german digital tax project ELSTER
|
||||
EAPI=5
|
||||
HOMEPAGE=https://stesie.github.com/geierlein/
|
||||
KEYWORDS=~amd64
|
||||
LICENSE=GPL-3
|
||||
RDEPEND=|| ( www-client/firefox www-client/firefox-bin )
|
||||
RESTRICT=test
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/stesie/geierlein/archive/V0.8.0.tar.gz -> geierlein-0.8.0.tar.gz
|
||||
_md5_=f2aaddc92207291bc660b43b43e14d3f
|
@ -0,0 +1,9 @@
|
||||
DEFINED_PHASES=compile install postinst
|
||||
DESCRIPTION=Change directory command that learns visited paths
|
||||
EAPI=5
|
||||
HOMEPAGE=https://github.com/rupa/z/
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=WTFPL-2
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/rupa/z/tarball/v1.9 -> z-1.9.tar.gz
|
||||
_md5_=ead375e6d2380f455ec8049bfaeea36a
|
@ -1,12 +0,0 @@
|
||||
DEFINED_PHASES=compile install preinst setup unpack
|
||||
DEPEND=>=virtual/jdk-1.4 app-arch/unzip =dev-java/xml-xmlbeans-1* >=dev-java/java-config-2.2.0 source? ( app-arch/zip ) >=dev-java/ant-core-1.8.2 >=dev-java/javatoolkit-0.3.0-r2
|
||||
DESCRIPTION=An open-source implementation of JavaScript written in Java
|
||||
HOMEPAGE=http://www.mozilla.org/rhino/
|
||||
IUSE=elibc_FreeBSD doc examples source elibc_FreeBSD
|
||||
KEYWORDS=amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos
|
||||
LICENSE=|| ( MPL-1.1 GPL-2 ) BSD-2
|
||||
RDEPEND=>=virtual/jre-1.4 =dev-java/xml-xmlbeans-1* >=dev-java/java-config-2.2.0 source? ( app-arch/zip )
|
||||
SLOT=1.6
|
||||
SRC_URI=ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_6R5.zip mirror://gentoo/rhino-swing-ex-1.0.zip
|
||||
_eclasses_=eutils 43da5163ba106e87d22d2e7d6d67537f java-ant-2 7c5d0c274d390745f5033754a319f515 java-pkg-2 b02dc1e46b3648e467b5fbdf7857cf28 java-utils-2 a96633177f44ee992b3fce360d1c4f16 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=e75b546f5d0c396a81df42772c3838de
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile install preinst setup unpack
|
||||
DEPEND=>=virtual/jdk-1.5 app-arch/unzip =dev-java/xml-xmlbeans-1* >=dev-java/java-config-2.2.0 >=sys-apps/portage-2.1.2.7 source? ( app-arch/zip ) >=dev-java/ant-core-1.8.2:0 >=sys-apps/portage-2.1.2.7 >=dev-java/javatoolkit-0.3.0-r2
|
||||
DESCRIPTION=An open-source implementation of JavaScript written in Java
|
||||
EAPI=1
|
||||
HOMEPAGE=http://www.mozilla.org/rhino/
|
||||
IUSE=elibc_FreeBSD doc examples source elibc_FreeBSD
|
||||
KEYWORDS=amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris
|
||||
LICENSE=|| ( MPL-1.1 GPL-2 ) BSD-2
|
||||
RDEPEND=>=virtual/jre-1.5 =dev-java/xml-xmlbeans-1* >=dev-java/java-config-2.2.0 >=sys-apps/portage-2.1.2.7 source? ( app-arch/zip )
|
||||
SLOT=1.6
|
||||
SRC_URI=ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip mirror://gentoo/rhino-swing-ex-1.0.zip
|
||||
_eclasses_=eutils 43da5163ba106e87d22d2e7d6d67537f java-ant-2 7c5d0c274d390745f5033754a319f515 java-pkg-2 b02dc1e46b3648e467b5fbdf7857cf28 java-utils-2 a96633177f44ee992b3fce360d1c4f16 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=6cb3f1513f393ecfec7bdfd84e515668
|
@ -1,14 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install preinst prepare setup test
|
||||
DEPEND=>=virtual/jdk-1.6 test? ( dev-java/emma:0 dev-java/junit:4 dev-java/ant-junit:0 dev-java/hamcrest-core:1.3 ) >=dev-java/java-config-2.2.0 source? ( app-arch/zip ) >=dev-java/ant-core-1.8.2:0 >=dev-java/javatoolkit-0.3.0-r2
|
||||
DESCRIPTION=An open-source implementation of JavaScript written in Java
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.mozilla.org/rhino/
|
||||
IUSE=elibc_FreeBSD doc examples source test elibc_FreeBSD
|
||||
KEYWORDS=~amd64 ~ppc ~ppc64 ~x86
|
||||
LICENSE=MPL-1.1 GPL-2
|
||||
RDEPEND=>=virtual/jre-1.6 >=dev-java/java-config-2.2.0 source? ( app-arch/zip )
|
||||
RESTRICT=test
|
||||
SLOT=1.7
|
||||
SRC_URI=https://github.com/mozilla/rhino/archive/Rhino1_7_7_RELEASE.zip
|
||||
_eclasses_=eutils 43da5163ba106e87d22d2e7d6d67537f java-ant-2 7c5d0c274d390745f5033754a319f515 java-pkg-2 b02dc1e46b3648e467b5fbdf7857cf28 java-utils-2 a96633177f44ee992b3fce360d1c4f16 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=a35c58b57e649b5f68ff4bf4c6d62a8e
|
@ -0,0 +1,12 @@
|
||||
DEFINED_PHASES=compile configure install prepare test unpack
|
||||
DEPEND=>=dev-perl/glib-perl-1.220.0 >=dev-perl/Cairo-1.0.0 >=x11-libs/pango-1.0.0 >=dev-perl/ExtUtils-Depends-0.300.0 >=dev-perl/extutils-pkgconfig-1.30.0 dev-lang/perl:=[-build(-)]
|
||||
DESCRIPTION=Layout and render international text
|
||||
EAPI=5
|
||||
HOMEPAGE=http://search.cpan.org/dist/Pango/
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux
|
||||
LICENSE=LGPL-2.1+
|
||||
RDEPEND=>=dev-perl/glib-perl-1.220.0 >=dev-perl/Cairo-1.0.0 >=x11-libs/pango-1.0.0 dev-lang/perl:=[-build(-)]
|
||||
SLOT=0
|
||||
SRC_URI=mirror://cpan/authors/id/X/XA/XAOC/Pango-1.224.tar.gz
|
||||
_eclasses_=eutils 43da5163ba106e87d22d2e7d6d67537f multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multiprocessing d769539d9bace6eaca30af23bc2b4dde perl-module 1cfb38bf68a24c8394e41d2f53003146 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 unpacker 1d149d9bda7723e740cfd28118f27813
|
||||
_md5_=1a7fda229f306732327947e0a6d493f3
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_pypy3? ( virtual/pypy3:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)]
|
||||
DESCRIPTION=Test vectors for the cryptography package
|
||||
EAPI=5
|
||||
HOMEPAGE=https://pypi.python.org/pypi/cryptography-vectors/
|
||||
IUSE=python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 python_targets_pypy python_targets_pypy3
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd
|
||||
LICENSE=|| ( Apache-2.0 BSD )
|
||||
RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_pypy3? ( virtual/pypy3:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)]
|
||||
REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 python_targets_pypy python_targets_pypy3 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://pypi/c/cryptography-vectors/cryptography_vectors-1.1.tar.gz
|
||||
_eclasses_=distutils-r1 46506dd0dd992b3c89b0d00daabfd86c eutils 43da5163ba106e87d22d2e7d6d67537f multibuild ce2c2ede0c914b77f5dfc4e2ff2d0249 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multiprocessing d769539d9bace6eaca30af23bc2b4dde python-r1 32b376cbb100a3a8083b3a0de023e117 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=3c17a348ae046970fead8c1240cb351b
|
@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=>=dev-python/pyasn1-0.1.8[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)] test? ( dev-python/nose[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_pypy3? ( virtual/pypy3:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)]
|
||||
DESCRIPTION=A strictly RFC 4511 conforming LDAP V3 pure Python client
|
||||
EAPI=5
|
||||
HOMEPAGE=https://github.com/cannatag/ldap3 https://pypi.python.org/pypi/ldap3
|
||||
IUSE=test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_pypy python_targets_pypy3
|
||||
KEYWORDS=~amd64
|
||||
LICENSE=LGPL-3
|
||||
RDEPEND=>=dev-python/pyasn1-0.1.8[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_pypy3? ( virtual/pypy3:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,python_targets_pypy3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-),-python_single_target_pypy3(-)]
|
||||
REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_pypy python_targets_pypy3 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://pypi/l/ldap3/ldap3-0.9.9.2.tar.gz
|
||||
_eclasses_=distutils-r1 46506dd0dd992b3c89b0d00daabfd86c eutils 43da5163ba106e87d22d2e7d6d67537f multibuild ce2c2ede0c914b77f5dfc4e2ff2d0249 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multiprocessing d769539d9bace6eaca30af23bc2b4dde python-r1 32b376cbb100a3a8083b3a0de023e117 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=7429900043dc880b981c11add208d972
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile install postinst postrm prepare
|
||||
DEPEND=dev-lang/python
|
||||
DESCRIPTION=pyparsing is an easy-to-use Python module for text parsing
|
||||
EAPI=3
|
||||
HOMEPAGE=http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing
|
||||
IUSE=doc examples
|
||||
KEYWORDS=alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=dev-lang/python
|
||||
SLOT=0
|
||||
SRC_URI=mirror://sourceforge/pyparsing/pyparsing-1.5.6.tar.gz
|
||||
_eclasses_=distutils def8c8eb435ec28fd9315114640f6c84 eutils 43da5163ba106e87d22d2e7d6d67537f multilib df4e4d5cfd3d137d0c248e1991c0e4d6 python 06d7be3e54573292f012e3cc433d8297 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=b369085ac36dcbcbd6c479cb687a82a2
|
@ -1,14 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-)]
|
||||
DESCRIPTION=pyparsing is an easy-to-use Python module for text parsing
|
||||
DESCRIPTION=Easy-to-use Python module for text parsing
|
||||
EAPI=5
|
||||
HOMEPAGE=http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing
|
||||
IUSE=doc examples python_targets_python2_7 python_targets_python3_3
|
||||
KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
KEYWORDS=alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-)]
|
||||
REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://sourceforge/pyparsing/pyparsing-1.5.6.tar.gz
|
||||
_eclasses_=distutils-r1 46506dd0dd992b3c89b0d00daabfd86c eutils 43da5163ba106e87d22d2e7d6d67537f multibuild ce2c2ede0c914b77f5dfc4e2ff2d0249 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multiprocessing d769539d9bace6eaca30af23bc2b4dde python-r1 32b376cbb100a3a8083b3a0de023e117 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=76ded37a2a0abfd73382755f3f15d8a9
|
||||
_md5_=2b72b6fcbc365eab1167b8582926d2d5
|
||||
|
@ -1,14 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_pypy? ( virtual/pypy:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-)]
|
||||
DESCRIPTION=pyparsing is an easy-to-use Python module for text parsing
|
||||
EAPI=5
|
||||
HOMEPAGE=http://pyparsing.wikispaces.com/ https://pypi.python.org/pypi/pyparsing
|
||||
IUSE=doc examples python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_pypy
|
||||
KEYWORDS=alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=!dev-python/pyparsing:py2 !dev-python/pyparsing:py3 python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_pypy? ( virtual/pypy:0= ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_pypy(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_pypy(-)]
|
||||
REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_pypy )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://sourceforge/pyparsing/pyparsing-2.0.1.tar.gz
|
||||
_eclasses_=distutils-r1 46506dd0dd992b3c89b0d00daabfd86c eutils 43da5163ba106e87d22d2e7d6d67537f multibuild ce2c2ede0c914b77f5dfc4e2ff2d0249 multilib df4e4d5cfd3d137d0c248e1991c0e4d6 multiprocessing d769539d9bace6eaca30af23bc2b4dde python-r1 32b376cbb100a3a8083b3a0de023e117 python-utils-r1 9c405693f1f355a718700c5cffffd9e5 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=2a1bca1629dd76abaacf1bb30c731d15
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue