summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/mit-krb5/ChangeLog22
-rw-r--r--app-crypt/mit-krb5/files/2004-002-patch_1.3.4.txt268
-rw-r--r--app-crypt/mit-krb5/files/2004-003-patch_1.3.4.txt17
-rw-r--r--app-crypt/mit-krb5/files/digest-mit-krb5-1.41
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.1-res_search.patch.bz2bin1992 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.3-aname.patch.bz2bin1829 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.3-autoheader.patch.bz2bin379 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.3-res_search.patch.bz2bin1992 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.4-autoheader.patch.bz2bin379 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.4-res_search.patch.bz2bin1992 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.4-tempfile.patch.bz2bin791 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.5-autoheader.patch.bz2bin379 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.5-res_search.patch.bz2bin1992 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.3.5-suid_fix.patch.bz2bin269 -> 0 bytes
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-1.4-2005-001.patch95
-rw-r--r--app-crypt/mit-krb5/mit-krb5-1.4.ebuild105
16 files changed, 222 insertions, 286 deletions
diff --git a/app-crypt/mit-krb5/ChangeLog b/app-crypt/mit-krb5/ChangeLog
index c23b6215f750..77e283ad55ba 100644
--- a/app-crypt/mit-krb5/ChangeLog
+++ b/app-crypt/mit-krb5/ChangeLog
@@ -1,6 +1,26 @@
# ChangeLog for app-crypt/mit-krb5
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/mit-krb5/ChangeLog,v 1.78 2005/04/07 20:45:25 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/mit-krb5/ChangeLog,v 1.79 2005/04/07 21:23:49 seemant Exp $
+
+*mit-krb5-1.4 (07 Apr 2005)
+
+ 07 Apr 2005; Seemant Kulleen <seemant@gentoo.org>
+ -files/mit-krb5-1.3.1-res_search.patch.bz2,
+ -files/mit-krb5-1.3.3-aname.patch.bz2,
+ -files/mit-krb5-1.3.3-autoheader.patch.bz2,
+ -files/mit-krb5-1.3.3-res_search.patch.bz2,
+ -files/mit-krb5-1.3.4-autoheader.patch.bz2,
+ -files/mit-krb5-1.3.4-res_search.patch.bz2,
+ -files/mit-krb5-1.3.4-tempfile.patch.bz2,
+ -files/mit-krb5-1.3.5-autoheader.patch.bz2,
+ -files/mit-krb5-1.3.5-res_search.patch.bz2,
+ -files/mit-krb5-1.3.5-suid_fix.patch.bz2,
+ +files/mit-krb5-1.4-2005-001.patch, -files/2004-002-patch_1.3.4.txt,
+ -files/2004-003-patch_1.3.4.txt, +mit-krb5-1.4.ebuild:
+ version bump. This is HARDMASKED because the ebuild is still a work in
+ progress. Please do NOT emerge this, unless you read my blog (I will give
+ clearance in my blog for emerging this when the time arrives -- that time is
+ certainly not now. Back away and forget you saw this.
07 Apr 2005; <plasmaroo@gentoo.org> mit-krb5-1.3.6-r2.ebuild:
Mark stable on IA64; #87145.
diff --git a/app-crypt/mit-krb5/files/2004-002-patch_1.3.4.txt b/app-crypt/mit-krb5/files/2004-002-patch_1.3.4.txt
deleted file mode 100644
index 2703b0f799b4..000000000000
--- a/app-crypt/mit-krb5/files/2004-002-patch_1.3.4.txt
+++ /dev/null
@@ -1,268 +0,0 @@
-Index: src/clients/klist/klist.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/clients/klist/klist.c,v
-retrieving revision 5.63
-diff -c -r5.63 klist.c
-*** src/clients/klist/klist.c 11 Apr 2002 03:21:46 -0000 5.63
---- src/clients/klist/klist.c 23 Aug 2004 03:37:26 -0000
-***************
-*** 614,619 ****
---- 614,622 ----
-
- if (show_etype) {
- retval = krb5_decode_ticket(&cred->ticket, &tkt);
-+ if (retval)
-+ goto err_tkt;
-+
- if (!extra_field)
- fputs("\t",stdout);
- else
-***************
-*** 622,629 ****
- etype_string(cred->keyblock.enctype));
- printf("%s ",
- etype_string(tkt->enc_part.enctype));
-- krb5_free_ticket(kcontext, tkt);
- extra_field++;
- }
-
- /* if any additional info was printed, extra_field is non-zero */
---- 625,635 ----
- etype_string(cred->keyblock.enctype));
- printf("%s ",
- etype_string(tkt->enc_part.enctype));
- extra_field++;
-+
-+ err_tkt:
-+ if (tkt != NULL)
-+ krb5_free_ticket(kcontext, tkt);
- }
-
- /* if any additional info was printed, extra_field is non-zero */
-Index: src/krb524/krb524d.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/krb524/krb524d.c,v
-retrieving revision 1.55.2.3
-diff -c -r1.55.2.3 krb524d.c
-*** src/krb524/krb524d.c 28 May 2003 04:06:31 -0000 1.55.2.3
---- src/krb524/krb524d.c 23 Aug 2004 03:37:26 -0000
-***************
-*** 582,589 ****
- printf("v4 credentials encoded\n");
-
- error:
-! if (v5tkt->enc_part2)
- krb5_free_enc_tkt_part(context, v5tkt->enc_part2);
-
- if(v5_service_key.contents)
- krb5_free_keyblock_contents(context, &v5_service_key);
---- 582,591 ----
- printf("v4 credentials encoded\n");
-
- error:
-! if (v5tkt->enc_part2) {
- krb5_free_enc_tkt_part(context, v5tkt->enc_part2);
-+ v5tkt->enc_part2 = NULL;
-+ }
-
- if(v5_service_key.contents)
- krb5_free_keyblock_contents(context, &v5_service_key);
-Index: src/lib/krb5/asn.1/asn1buf.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/lib/krb5/asn.1/asn1buf.c,v
-retrieving revision 5.24
-diff -c -r5.24 asn1buf.c
-*** src/lib/krb5/asn.1/asn1buf.c 12 Mar 2003 04:33:30 -0000 5.24
---- src/lib/krb5/asn.1/asn1buf.c 23 Aug 2004 03:37:27 -0000
-***************
-*** 255,260 ****
---- 255,261 ----
- (*code)->data = (char*)malloc((((*code)->length)+1)*sizeof(char));
- if ((*code)->data == NULL) {
- free(*code);
-+ *code = NULL;
- return ENOMEM;
- }
- for(i=0; i < (*code)->length; i++)
-Index: src/lib/krb5/asn.1/krb5_decode.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/lib/krb5/asn.1/krb5_decode.c,v
-retrieving revision 5.40.2.5
-diff -c -r5.40.2.5 krb5_decode.c
-*** src/lib/krb5/asn.1/krb5_decode.c 10 Oct 2003 23:57:38 -0000 5.40.2.5
---- src/lib/krb5/asn.1/krb5_decode.c 23 Aug 2004 03:37:27 -0000
-***************
-*** 183,190 ****
- #define cleanup(cleanup_routine)\
- return 0; \
- error_out: \
-! if (rep && *rep) \
- cleanup_routine(*rep); \
- return retval;
-
- #define cleanup_none()\
---- 183,192 ----
- #define cleanup(cleanup_routine)\
- return 0; \
- error_out: \
-! if (rep && *rep) { \
- cleanup_routine(*rep); \
-+ *rep = NULL; \
-+ } \
- return retval;
-
- #define cleanup_none()\
-***************
-*** 233,238 ****
---- 235,241 ----
- free_field(*rep,checksum);
- free_field(*rep,client);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 254,260 ****
- { begin_structure();
- { krb5_kvno kvno;
- get_field(kvno,0,asn1_decode_kvno);
-! if(kvno != KVNO) return KRB5KDC_ERR_BAD_PVNO;
- }
- alloc_field((*rep)->server,krb5_principal_data);
- get_field((*rep)->server,1,asn1_decode_realm);
---- 257,263 ----
- { begin_structure();
- { krb5_kvno kvno;
- get_field(kvno,0,asn1_decode_kvno);
-! if(kvno != KVNO) clean_return(KRB5KDC_ERR_BAD_PVNO);
- }
- alloc_field((*rep)->server,krb5_principal_data);
- get_field((*rep)->server,1,asn1_decode_realm);
-***************
-*** 268,273 ****
---- 271,277 ----
- if (rep && *rep) {
- free_field(*rep,server);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 320,325 ****
---- 324,330 ----
- free_field(*rep,session);
- free_field(*rep,client);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 403,408 ****
---- 408,414 ----
- if (rep && *rep) {
- free_field(*rep,ticket);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 451,456 ****
---- 457,463 ----
- if (rep && *rep) {
- free_field(*rep,subkey);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 556,561 ****
---- 563,569 ----
- if (rep && *rep) {
- free_field(*rep,checksum);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 614,619 ****
---- 622,628 ----
- free_field(*rep,r_address);
- free_field(*rep,s_address);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 668,673 ****
---- 677,683 ----
- free_field(*rep,r_address);
- free_field(*rep,s_address);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-***************
-*** 713,718 ****
---- 723,729 ----
- free_field(*rep,server);
- free_field(*rep,client);
- free(*rep);
-+ *rep = NULL;
- }
- return retval;
- }
-Index: src/lib/krb5/krb/rd_rep.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/lib/krb5/krb/rd_rep.c,v
-retrieving revision 5.33.2.2
-diff -c -r5.33.2.2 rd_rep.c
-*** src/lib/krb5/krb/rd_rep.c 14 Jun 2003 00:09:47 -0000 5.33.2.2
---- src/lib/krb5/krb/rd_rep.c 23 Aug 2004 03:37:27 -0000
-***************
-*** 71,76 ****
---- 71,78 ----
-
- /* now decode the decrypted stuff */
- retval = decode_krb5_ap_rep_enc_part(&scratch, repl);
-+ if (retval)
-+ goto clean_scratch;
-
- /* Check reply fields */
- if (((*repl)->ctime != auth_context->authentp->ctime) ||
-Index: src/lib/krb5/krb/send_tgs.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/lib/krb5/krb/send_tgs.c,v
-retrieving revision 5.55.2.1
-diff -c -r5.55.2.1 send_tgs.c
-*** src/lib/krb5/krb/send_tgs.c 13 May 2004 19:27:59 -0000 5.55.2.1
---- src/lib/krb5/krb/send_tgs.c 23 Aug 2004 03:37:27 -0000
-***************
-*** 269,274 ****
---- 269,276 ----
- if (!tcp_only) {
- krb5_error *err_reply;
- retval = decode_krb5_error(&rep->response, &err_reply);
-+ if (retval)
-+ goto send_tgs_error_3;
- if (err_reply->error == KRB_ERR_RESPONSE_TOO_BIG) {
- tcp_only = 1;
- krb5_free_error(context, err_reply);
-***************
-*** 277,282 ****
---- 279,286 ----
- goto send_again;
- }
- krb5_free_error(context, err_reply);
-+ send_tgs_error_3:
-+ ;
- }
- rep->message_type = KRB5_ERROR;
- } else if (krb5_is_tgs_rep(&rep->response))
diff --git a/app-crypt/mit-krb5/files/2004-003-patch_1.3.4.txt b/app-crypt/mit-krb5/files/2004-003-patch_1.3.4.txt
deleted file mode 100644
index 57a92134d4d7..000000000000
--- a/app-crypt/mit-krb5/files/2004-003-patch_1.3.4.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: src/lib/krb5/asn.1/asn1buf.c
-===================================================================
-RCS file: /cvs/krbdev/krb5/src/lib/krb5/asn.1/asn1buf.c,v
-retrieving revision 5.24
-*** src/lib/krb5/asn.1/asn1buf.c 12 Mar 2003 04:33:30 -0000 5.24
---- src/lib/krb5/asn.1/asn1buf.c 23 Aug 2004 03:43:47 -0000
-***************
-*** 122,127 ****
---- 122,129 ----
- return ASN1_OVERRUN;
- }
- while (nestlevel > 0) {
-+ if (buf->bound - buf->next + 1 <= 0)
-+ return ASN1_OVERRUN;
- retval = asn1_get_tag_2(buf, &t);
- if (retval) return retval;
- if (!t.indef) {
diff --git a/app-crypt/mit-krb5/files/digest-mit-krb5-1.4 b/app-crypt/mit-krb5/files/digest-mit-krb5-1.4
new file mode 100644
index 000000000000..ac6056f92eaa
--- /dev/null
+++ b/app-crypt/mit-krb5/files/digest-mit-krb5-1.4
@@ -0,0 +1 @@
+MD5 2fa56607677544e3a27b42f7cfa1155b krb5-1.4-signed.tar 6625280
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.1-res_search.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.1-res_search.patch.bz2
deleted file mode 100644
index ad5916ffb176..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.1-res_search.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-aname.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.3-aname.patch.bz2
deleted file mode 100644
index 6217ced5931b..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-aname.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-autoheader.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.3-autoheader.patch.bz2
deleted file mode 100644
index 123567b253c8..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-autoheader.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-res_search.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.3-res_search.patch.bz2
deleted file mode 100644
index ad5916ffb176..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.3-res_search.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-autoheader.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.4-autoheader.patch.bz2
deleted file mode 100644
index 123567b253c8..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-autoheader.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-res_search.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.4-res_search.patch.bz2
deleted file mode 100644
index ad5916ffb176..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-res_search.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-tempfile.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.4-tempfile.patch.bz2
deleted file mode 100644
index 295074034638..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.4-tempfile.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-autoheader.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.5-autoheader.patch.bz2
deleted file mode 100644
index 123567b253c8..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-autoheader.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-res_search.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.5-res_search.patch.bz2
deleted file mode 100644
index ad5916ffb176..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-res_search.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-suid_fix.patch.bz2 b/app-crypt/mit-krb5/files/mit-krb5-1.3.5-suid_fix.patch.bz2
deleted file mode 100644
index 41e627f9dc9b..000000000000
--- a/app-crypt/mit-krb5/files/mit-krb5-1.3.5-suid_fix.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.4-2005-001.patch b/app-crypt/mit-krb5/files/mit-krb5-1.4-2005-001.patch
new file mode 100644
index 000000000000..77b3abdfceda
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5-1.4-2005-001.patch
@@ -0,0 +1,95 @@
+Index: telnet.c
+===================================================================
+RCS file: /cvs/krbdev/krb5/src/appl/telnet/telnet/telnet.c,v
+retrieving revision 5.18
+diff -c -r5.18 telnet.c
+*** src/appl/telnet/telnet/telnet.c 15 Nov 2002 20:21:35 -0000 5.18
+--- src/appl/telnet/telnet/telnet.c 15 Mar 2005 18:59:32 -0000
+***************
+*** 1475,1480 ****
+--- 1475,1482 ----
+ unsigned char flags;
+ cc_t value;
+ {
++ if ((slc_replyp - slc_reply) + 6 > sizeof(slc_reply))
++ return;
+ if ((*slc_replyp++ = func) == IAC)
+ *slc_replyp++ = IAC;
+ if ((*slc_replyp++ = flags) == IAC)
+***************
+*** 1488,1498 ****
+ {
+ register int len;
+
+- *slc_replyp++ = IAC;
+- *slc_replyp++ = SE;
+ len = slc_replyp - slc_reply;
+! if (len <= 6)
+ return;
+ if (NETROOM() > len) {
+ ring_supply_data(&netoring, slc_reply, slc_replyp - slc_reply);
+ printsub('>', &slc_reply[2], slc_replyp - slc_reply - 2);
+--- 1490,1501 ----
+ {
+ register int len;
+
+ len = slc_replyp - slc_reply;
+! if (len <= 4 || (len + 2 > sizeof(slc_reply)))
+ return;
++ *slc_replyp++ = IAC;
++ *slc_replyp++ = SE;
++ len += 2;
+ if (NETROOM() > len) {
+ ring_supply_data(&netoring, slc_reply, slc_replyp - slc_reply);
+ printsub('>', &slc_reply[2], slc_replyp - slc_reply - 2);
+***************
+*** 1645,1650 ****
+--- 1648,1654 ----
+ register unsigned char *ep;
+ {
+ register unsigned char *vp, c;
++ unsigned int len, olen, elen;
+
+ if (opt_reply == NULL) /*XXX*/
+ return; /*XXX*/
+***************
+*** 1662,1680 ****
+ return;
+ }
+ vp = env_getvalue(ep);
+! if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
+! strlen((char *)ep) + 6 > opt_replyend)
+ {
+! register unsigned int len;
+! opt_replyend += OPT_REPLY_SIZE;
+! len = opt_replyend - opt_reply;
+ opt_reply = (unsigned char *)realloc(opt_reply, len);
+ if (opt_reply == NULL) {
+ /*@*/ printf("env_opt_add: realloc() failed!!!\n");
+ opt_reply = opt_replyp = opt_replyend = NULL;
+ return;
+ }
+! opt_replyp = opt_reply + len - (opt_replyend - opt_replyp);
+ opt_replyend = opt_reply + len;
+ }
+ if (opt_welldefined((char *) ep))
+--- 1666,1684 ----
+ return;
+ }
+ vp = env_getvalue(ep);
+! elen = 2 * (vp ? strlen((char *)vp) : 0) +
+! 2 * strlen((char *)ep) + 6;
+! if ((opt_replyend - opt_replyp) < elen)
+ {
+! len = opt_replyend - opt_reply + elen;
+! olen = opt_replyp - opt_reply;
+ opt_reply = (unsigned char *)realloc(opt_reply, len);
+ if (opt_reply == NULL) {
+ /*@*/ printf("env_opt_add: realloc() failed!!!\n");
+ opt_reply = opt_replyp = opt_replyend = NULL;
+ return;
+ }
+! opt_replyp = opt_reply + olen;
+ opt_replyend = opt_reply + len;
+ }
+ if (opt_welldefined((char *) ep))
diff --git a/app-crypt/mit-krb5/mit-krb5-1.4.ebuild b/app-crypt/mit-krb5/mit-krb5-1.4.ebuild
new file mode 100644
index 000000000000..f3d2e5f1db4c
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.4.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/mit-krb5/mit-krb5-1.4.ebuild,v 1.1 2005/04/07 21:23:49 seemant Exp $
+
+inherit eutils flag-o-matic versionator
+
+MY_P=${P/mit-}
+P_DIR=$(get_version_component_range 1-2)
+S=${WORKDIR}/${MY_P}/src
+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="as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="krb4 static tcltk ipv6 doc tetex"
+
+RDEPEND="virtual/libc"
+# !virtual/krb5"
+
+DEPEND="${RDEPEND}
+ sys-libs/com_err
+ sys-libs/ss
+ sys-devel/autoconf"
+
+PROVIDE="virtual/krb5"
+
+src_unpack() {
+ unpack ${A}; tar -zxf ${MY_P}.tar.gz; cd ${S}
+ epatch ${FILESDIR}/${P}-2005-001.patch
+}
+
+src_compile() {
+ export DB_HEADER="/usr/include/db4.2/db_185.h"
+ export DB_LIB="/usr/$(get_libdir)/libdb.so"
+
+ econf \
+ $(use_enable static) \
+ $(use_with krb4) \
+ $(use_enable ipv6) \
+ $(use_with tcltk tcl) \
+ --enable-shared \
+ --with-system-et --with-system-ss --with-system-db \
+ --enable-dns-for-realm \
+ --program-prefix=mit- \
+ --sysconfdir=/etc/kerberos || die
+ # --program-transform-name="s:\(.*\):mit-\1:" || die
+
+ emake || die
+
+ # Now, remake the ksu binary with -Wl,-z,now in CFLAGS
+ append-ldflags "-Wl,-z,now"
+ emake -C clients/ksu clean || die
+ emake LDFLAGS="${LDFLAGS}" -C clients/ksu || die
+
+ if use doc
+ then
+ cd ../doc
+ rm man2html && ln -sf ${ROOT}/usr/bin/man2html
+
+ make || die
+
+ if use tetex
+ then
+ cd api
+ make || die
+ fi
+ fi
+}
+
+src_install() {
+ make \
+ DESTDIR=${D} \
+ EXAMPLEDIR=${D}/usr/share/doc/${PF}/examples \
+ install || die
+
+ cd ..
+ dodoc README
+ doinfo doc/*.texinfo
+
+ if use doc
+ then
+ dohtml -r doc
+ use tetex \
+ && dodoc doc/api/*.ps \
+ || dodoc doc/api/*.{tex,sty}
+
+ fi
+
+ newinitd ${FILESDIR}/mit-krb5kadmind.initd mit-krb5kadmind
+ newinitd ${FILESDIR}/mit-krb5kdc.initd mit-krb5kdc
+}
+
+pkg_postinst() {
+
+ if use doc
+ then
+ einfo "See /usr/share/doc/${PF}/html/admin.html for documentation."
+ echo ""
+ fi
+ einfo "The client apps are installed with the mit- prefix"
+ einfo "(ie. mit-ftp, mit-ftpd, mit-telnet, mit-telnetd, etc...)"
+ echo ""
+}