Index: trunk/fink/main/finkinfo/lprng.patch =================================================================== --- trunk/fink/main/finkinfo/lprng.patch (revision 124) +++ trunk/fink/main/finkinfo/lprng.patch (revision 124) @@ -0,0 +1,301 @@ +The following patch contains source code copied from the MIT Kerberos +distribution. This source provides definitions of krb5_read_message +and krb5_write_message, functions which are used by LPRng's Kerberos +authentication code but which are private to the Kerberos library and +thus not available on MacOS X platforms. + +This patch was written against LPRng 3.8.28, but since it is a single +hunk inserted near the top of the file it shouldn't be very difficult +to merge in by hand should it reject. + +Hopefully in the future the LPRng authors will correct their own code +and stop using these private Kerberos functions. + + +--- LPRng-3.8.28/src/common/krb5_auth.c 2004-09-24 16:19:57.000000000 -0400 ++++ LPRng-3.8.28-spearce/src/common/krb5_auth.c 2005-08-25 20:40:24.000000000 -0400 +@@ -61,6 +61,239 @@ + KRB5_PROTOTYPE((krb5_context, + krb5_pointer, + krb5_data *)); ++ ++#define SOCKET int ++#define SOCKET_ERRNO errno ++#define SOCKET_EINTR EINTR ++#define SOCKET_READ(a,b,c) read(a,b,c) ++#define SOCKET_WRITE(a,b,c) write(a,b,c) ++#define krb5_xfree(a) free((char*)(a)) ++/* ++ * lib/krb5/os/net_read.c ++ * ++ * Copyright 1987, 1988, 1990 by the Massachusetts Institute of Technology. ++ * All Rights Reserved. ++ * ++ * Export of this software from the United States of America may ++ * require a specific license from the United States Government. ++ * It is the responsibility of any person or organization contemplating ++ * export to obtain such a license before exporting. ++ * ++ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and ++ * distribute this software and its documentation for any purpose and ++ * without fee is hereby granted, provided that the above copyright ++ * notice appear in all copies and that both that copyright notice and ++ * this permission notice appear in supporting documentation, and that ++ * the name of M.I.T. not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. Furthermore if you modify this software you must label ++ * your software as modified software and not distribute it in such a ++ * fashion that it might be confused with the original M.I.T. software. ++ * M.I.T. makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ */ ++ ++/* ++ * krb5_net_read() reads from the file descriptor "fd" to the buffer ++ * "buf", until either 1) "len" bytes have been read or 2) cannot ++ * read anymore from "fd". It returns the number of bytes read ++ * or a read() error. (The calling interface is identical to ++ * read(2).) ++ * ++ * XXX must not use non-blocking I/O ++ */ ++ ++int ++krb5_net_read(krb5_context context, int fd, register char *buf, register int len) ++{ ++ int cc, len2 = 0; ++ ++ do { ++ cc = SOCKET_READ((SOCKET)fd, buf, len); ++ if (cc < 0) { ++ if (SOCKET_ERRNO == SOCKET_EINTR) ++ continue; ++ ++ /* XXX this interface sucks! */ ++ errno = SOCKET_ERRNO; ++ ++ return(cc); /* errno is already set */ ++ } ++ else if (cc == 0) { ++ return(len2); ++ } else { ++ buf += cc; ++ len2 += cc; ++ len -= cc; ++ } ++ } while (len > 0); ++ return(len2); ++} ++/* ++ * lib/krb5/os/net_write.c ++ * ++ * Copyright 1987, 1988, 1990 by the Massachusetts Institute of Technology. ++ * All Rights Reserved. ++ * ++ * Export of this software from the United States of America may ++ * require a specific license from the United States Government. ++ * It is the responsibility of any person or organization contemplating ++ * export to obtain such a license before exporting. ++ * ++ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and ++ * distribute this software and its documentation for any purpose and ++ * without fee is hereby granted, provided that the above copyright ++ * notice appear in all copies and that both that copyright notice and ++ * this permission notice appear in supporting documentation, and that ++ * the name of M.I.T. not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. Furthermore if you modify this software you must label ++ * your software as modified software and not distribute it in such a ++ * fashion that it might be confused with the original M.I.T. software. ++ * M.I.T. makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ */ ++ ++/* ++ * krb5_net_write() writes "len" bytes from "buf" to the file ++ * descriptor "fd". It returns the number of bytes written or ++ * a write() error. (The calling interface is identical to ++ * write(2).) ++ * ++ * XXX must not use non-blocking I/O ++ */ ++ ++int ++krb5_net_write(krb5_context context, int fd, register const char *buf, int len) ++{ ++ int cc; ++ register int wrlen = len; ++ do { ++ cc = SOCKET_WRITE((SOCKET)fd, buf, wrlen); ++ if (cc < 0) { ++ if (SOCKET_ERRNO == SOCKET_EINTR) ++ continue; ++ ++ /* XXX this interface sucks! */ ++ errno = SOCKET_ERRNO; ++ ++ return(cc); ++ } ++ else { ++ buf += cc; ++ wrlen -= cc; ++ } ++ } while (wrlen > 0); ++ return(len); ++} ++/* ++ * lib/krb5/os/read_msg.c ++ * ++ * Copyright 1991 by the Massachusetts Institute of Technology. ++ * All Rights Reserved. ++ * ++ * Export of this software from the United States of America may ++ * require a specific license from the United States Government. ++ * It is the responsibility of any person or organization contemplating ++ * export to obtain such a license before exporting. ++ * ++ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and ++ * distribute this software and its documentation for any purpose and ++ * without fee is hereby granted, provided that the above copyright ++ * notice appear in all copies and that both that copyright notice and ++ * this permission notice appear in supporting documentation, and that ++ * the name of M.I.T. not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. Furthermore if you modify this software you must label ++ * your software as modified software and not distribute it in such a ++ * fashion that it might be confused with the original M.I.T. software. ++ * M.I.T. makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ * ++ * Write a message to the network ++ */ ++ ++krb5_error_code ++krb5_read_message(krb5_context context, krb5_pointer fdp, krb5_data *inbuf) ++{ ++ krb5_int32 len; ++ int len2, ilen; ++ char *buf = NULL; ++ int fd = *( (int *) fdp); ++ ++ if ((len2 = krb5_net_read(context, fd, (char *)&len, 4)) != 4) ++ return((len2 < 0) ? errno : ECONNABORTED); ++ len = ntohl(len); ++ ++ if ((len & VALID_UINT_BITS) != len) /* Overflow size_t??? */ ++ return ENOMEM; ++ ++ inbuf->length = ilen = (int) len; ++ if (ilen) { ++ /* ++ * We may want to include a sanity check here someday.... ++ */ ++ if (!(buf = malloc(ilen))) { ++ return(ENOMEM); ++ } ++ if ((len2 = krb5_net_read(context, fd, buf, ilen)) != ilen) { ++ krb5_xfree(buf); ++ return((len2 < 0) ? errno : ECONNABORTED); ++ } ++ } ++ inbuf->data = buf; ++ return(0); ++} ++/* ++ * lib/krb5/os/write_msg.c ++ * ++ * Copyright 1991 by the Massachusetts Institute of Technology. ++ * All Rights Reserved. ++ * ++ * Export of this software from the United States of America may ++ * require a specific license from the United States Government. ++ * It is the responsibility of any person or organization contemplating ++ * export to obtain such a license before exporting. ++ * ++ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and ++ * distribute this software and its documentation for any purpose and ++ * without fee is hereby granted, provided that the above copyright ++ * notice appear in all copies and that both that copyright notice and ++ * this permission notice appear in supporting documentation, and that ++ * the name of M.I.T. not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. Furthermore if you modify this software you must label ++ * your software as modified software and not distribute it in such a ++ * fashion that it might be confused with the original M.I.T. software. ++ * M.I.T. makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ * ++ * convenience sendauth/recvauth functions ++ */ ++ ++krb5_error_code ++krb5_write_message(krb5_context context, krb5_pointer fdp, krb5_data *outbuf) ++{ ++ krb5_int32 len; ++ int fd = *( (int *) fdp); ++ ++ len = htonl(outbuf->length); ++ if (krb5_net_write(context, fd, (char *)&len, 4) < 0) { ++ return(errno); ++ } ++ if (outbuf->length && (krb5_net_write(context, fd, outbuf->data, outbuf->length) < 0)) { ++ return(errno); ++ } ++ return(0); ++} + /* + * server_krb5_auth( + * char *keytabfile, server key tab file - /etc/lpr.keytab +--- LPRng-3.8.28/configure 2004-09-24 16:16:30.000000000 -0400 ++++ LPRng-3.8.28-spearce/configure 2005-08-25 19:03:48.000000000 -0400 +@@ -18816,7 +18816,7 @@ + int + main () + { +-krb5_read_message (); ++/* krb5_read_message (); */ + ; + return 0; + } +@@ -18910,7 +18910,7 @@ + int + main () + { +-krb5_read_message (); ++/* krb5_read_message (); */ + ; + return 0; + } +--- LPRng-3.8.28/src/common/proctitle.c 2008-03-07 17:13:03.000000000 -0500 ++++ LPRng-3.8.28-broder/src/common/proctitle.c 2008-03-07 17:19:05.000000000 -0500 +@@ -174,7 +174,7 @@ + # endif + # if SPT_TYPE == SPT_PSSTRINGS + # include +-# include ++//# include + # ifndef PS_STRINGS /* hmmmm.... apparently not available after all */ + # undef SPT_TYPE + # define SPT_TYPE SPT_REUSEARGV +--- LPRng-3.8.28/src/common/lpc.c 2008-03-07 19:44:31.000000000 -0500 ++++ LPRng-3.8.28-broder/src/common/lpc.c 2008-03-07 19:44:18.000000000 -0500 +@@ -352,7 +352,10 @@ + Full_user_perms(); + /* this would now be the same as executing LPQ as user */ + close_on_exec(3); +- execvp( args->list[0],args->list ); ++ if (action==OP_LPQ) ++ execvp("lpq.lprng" ,args->list); ++ else ++ execvp("lprm.lprng", args->list); + DIEMSG( _("execvp failed - '%s'"), Errormsg(errno) ); + exit(0); + } else if( pid < 0 ) { Index: trunk/fink/main/finkinfo/lprng.info =================================================================== --- trunk/fink/main/finkinfo/lprng.info (revision 124) +++ trunk/fink/main/finkinfo/lprng.info (revision 124) @@ -0,0 +1,48 @@ +Package: lprng +Version: 3.8.28 +Revision: 2 +Source: http://www.lprng.com/DISTRIB/LPRng/LPRng-%v.tgz +Maintainer: SIPB MacAthena Project +HomePage: http://www.lprng.com/ +License: GPL +Description: Enhanced implementation of Berkeley LPR +Source-MD5: 1b3a0abd291b260eab6087ac0e61ed84 +DocFiles: COPYRIGHT DOCS +ConfFiles: %p/etc/lpd/lpd.conf + +BuildDepends: fink (>= 0.24.12) +PatchFile: %n.patch +PatchFile-MD5: 1861c8f6b59fee58d20581dfbee3bf95 +ConfigureParams: --disable-rpath --disable-setuid --disable-werror --enable-kerberos_checks --enable-kerberos +InstallScript: << + #!/bin/bash -ev + + make install prefix=%i POSTINSTALL=NO + for prog in cancel lp lpq lpr lprm lpstat + do + mv %i/bin/$prog %i/bin/$prog.lprng + mv %i/man/man1/$prog.1 %i/man/man1/$prog.lprng.1 + done + + for prog in checkpc lpc lpd + do + mv %i/sbin/$prog %i/sbin/$prog.lprng + mv %i/man/man8/$prog.8 %i/man/man8/$prog.lprng.8 + done + + for prog in lprng_certs lprng_index_certs + do + mv %i/sbin/$prog %i/sbin/$prog.lprng + mv %i/man/man1/$prog.1 %i/man/man1/$prog.lprng.1 + done + + mkdir -p %i/etc/lpd/ + cp %b/lpd.conf %i/etc/lpd/lpd.conf + cp %b/lpd.perms %i/etc/lpd/lpd.perms + cp %b/printcap %i/etc/printcap + + mkdir -p %i/share + mv %i/libexec %i/share/lprng + + mv %i/man %i/share +<< Index: trunk/fink/main/finkinfo/macathena-lprng.info =================================================================== --- trunk/fink/main/finkinfo/macathena-lprng.info (revision 123) +++ (revision ) @@ -1,45 +1,0 @@ -Package: macathena-lprng -Version: 3.8.28 -Revision: 1 -Source: http://www.lprng.com/DISTRIB/LPRng/LPRng-%v.tgz -Maintainer: SIPB MacAthena Project -HomePage: http://www.lprng.com/ -License: GPL -Description: Enhanced implementation of Berkeley LPR -Source-MD5: 1b3a0abd291b260eab6087ac0e61ed84 -DocFiles: COPYRIGHT DOCS -ConfFiles: %p/etc/lpd/lpd.conf - -BuildDepends: fink (>= 0.24.12) -PatchFile: %n.patch -PatchFile-MD5: 1eaa5ded276757cb6491f8791d044907 -ConfigureParams: --disable-rpath --disable-setuid --disable-werror --enable-kerberos_checks --enable-kerberos -InstallScript: << - #!/bin/bash -ev - - make install prefix=%i POSTINSTALL=NO - for prog in cancel lp lpq lpr lprm lpstat - do - mv %i/bin/$prog %i/bin/$prog.lprng - mv %i/man/man1/$prog.1 %i/man/man1/$prog.lprng.1 - done - - for prog in checkpc lpc lpd - do - mv %i/sbin/$prog %i/sbin/$prog.lprng - mv %i/man/man8/$prog.8 %i/man/man8/$prog.lprng.8 - done - - for prog in lprng_certs lprng_index_certs - do - mv %i/sbin/$prog %i/sbin/$prog.lprng - mv %i/man/man1/$prog.1 %i/man/man1/$prog.lprng.1 - done - - mkdir -p %i/etc/lpd/ - cp %b/lpd.conf.macathena %i/etc/lpd/lpd.conf - cp %b/printcap %i/etc/printcap - cp %b/get_hesiod_pcap %i/libexec/get_hesiod_pcap - - mv %i/man %i/share -<< Index: trunk/fink/main/finkinfo/macathena-lprng.patch =================================================================== --- trunk/fink/main/finkinfo/macathena-lprng.patch (revision 123) +++ (revision ) @@ -1,362 +1,0 @@ -The following patch contains source code copied from the MIT Kerberos -distribution. This source provides definitions of krb5_read_message -and krb5_write_message, functions which are used by LPRng's Kerberos -authentication code but which are private to the Kerberos library and -thus not available on MacOS X platforms. - -This patch was written against LPRng 3.8.28, but since it is a single -hunk inserted near the top of the file it shouldn't be very difficult -to merge in by hand should it reject. - -Hopefully in the future the LPRng authors will correct their own code -and stop using these private Kerberos functions. - - ---- LPRng-3.8.28/src/common/krb5_auth.c 2004-09-24 16:19:57.000000000 -0400 -+++ LPRng-3.8.28-spearce/src/common/krb5_auth.c 2005-08-25 20:40:24.000000000 -0400 -@@ -61,6 +61,239 @@ - KRB5_PROTOTYPE((krb5_context, - krb5_pointer, - krb5_data *)); -+ -+#define SOCKET int -+#define SOCKET_ERRNO errno -+#define SOCKET_EINTR EINTR -+#define SOCKET_READ(a,b,c) read(a,b,c) -+#define SOCKET_WRITE(a,b,c) write(a,b,c) -+#define krb5_xfree(a) free((char*)(a)) -+/* -+ * lib/krb5/os/net_read.c -+ * -+ * Copyright 1987, 1988, 1990 by the Massachusetts Institute of Technology. -+ * All Rights Reserved. -+ * -+ * Export of this software from the United States of America may -+ * require a specific license from the United States Government. -+ * It is the responsibility of any person or organization contemplating -+ * export to obtain such a license before exporting. -+ * -+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -+ * distribute this software and its documentation for any purpose and -+ * without fee is hereby granted, provided that the above copyright -+ * notice appear in all copies and that both that copyright notice and -+ * this permission notice appear in supporting documentation, and that -+ * the name of M.I.T. not be used in advertising or publicity pertaining -+ * to distribution of the software without specific, written prior -+ * permission. Furthermore if you modify this software you must label -+ * your software as modified software and not distribute it in such a -+ * fashion that it might be confused with the original M.I.T. software. -+ * M.I.T. makes no representations about the suitability of -+ * this software for any purpose. It is provided "as is" without express -+ * or implied warranty. -+ * -+ */ -+ -+/* -+ * krb5_net_read() reads from the file descriptor "fd" to the buffer -+ * "buf", until either 1) "len" bytes have been read or 2) cannot -+ * read anymore from "fd". It returns the number of bytes read -+ * or a read() error. (The calling interface is identical to -+ * read(2).) -+ * -+ * XXX must not use non-blocking I/O -+ */ -+ -+int -+krb5_net_read(krb5_context context, int fd, register char *buf, register int len) -+{ -+ int cc, len2 = 0; -+ -+ do { -+ cc = SOCKET_READ((SOCKET)fd, buf, len); -+ if (cc < 0) { -+ if (SOCKET_ERRNO == SOCKET_EINTR) -+ continue; -+ -+ /* XXX this interface sucks! */ -+ errno = SOCKET_ERRNO; -+ -+ return(cc); /* errno is already set */ -+ } -+ else if (cc == 0) { -+ return(len2); -+ } else { -+ buf += cc; -+ len2 += cc; -+ len -= cc; -+ } -+ } while (len > 0); -+ return(len2); -+} -+/* -+ * lib/krb5/os/net_write.c -+ * -+ * Copyright 1987, 1988, 1990 by the Massachusetts Institute of Technology. -+ * All Rights Reserved. -+ * -+ * Export of this software from the United States of America may -+ * require a specific license from the United States Government. -+ * It is the responsibility of any person or organization contemplating -+ * export to obtain such a license before exporting. -+ * -+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -+ * distribute this software and its documentation for any purpose and -+ * without fee is hereby granted, provided that the above copyright -+ * notice appear in all copies and that both that copyright notice and -+ * this permission notice appear in supporting documentation, and that -+ * the name of M.I.T. not be used in advertising or publicity pertaining -+ * to distribution of the software without specific, written prior -+ * permission. Furthermore if you modify this software you must label -+ * your software as modified software and not distribute it in such a -+ * fashion that it might be confused with the original M.I.T. software. -+ * M.I.T. makes no representations about the suitability of -+ * this software for any purpose. It is provided "as is" without express -+ * or implied warranty. -+ * -+ */ -+ -+/* -+ * krb5_net_write() writes "len" bytes from "buf" to the file -+ * descriptor "fd". It returns the number of bytes written or -+ * a write() error. (The calling interface is identical to -+ * write(2).) -+ * -+ * XXX must not use non-blocking I/O -+ */ -+ -+int -+krb5_net_write(krb5_context context, int fd, register const char *buf, int len) -+{ -+ int cc; -+ register int wrlen = len; -+ do { -+ cc = SOCKET_WRITE((SOCKET)fd, buf, wrlen); -+ if (cc < 0) { -+ if (SOCKET_ERRNO == SOCKET_EINTR) -+ continue; -+ -+ /* XXX this interface sucks! */ -+ errno = SOCKET_ERRNO; -+ -+ return(cc); -+ } -+ else { -+ buf += cc; -+ wrlen -= cc; -+ } -+ } while (wrlen > 0); -+ return(len); -+} -+/* -+ * lib/krb5/os/read_msg.c -+ * -+ * Copyright 1991 by the Massachusetts Institute of Technology. -+ * All Rights Reserved. -+ * -+ * Export of this software from the United States of America may -+ * require a specific license from the United States Government. -+ * It is the responsibility of any person or organization contemplating -+ * export to obtain such a license before exporting. -+ * -+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -+ * distribute this software and its documentation for any purpose and -+ * without fee is hereby granted, provided that the above copyright -+ * notice appear in all copies and that both that copyright notice and -+ * this permission notice appear in supporting documentation, and that -+ * the name of M.I.T. not be used in advertising or publicity pertaining -+ * to distribution of the software without specific, written prior -+ * permission. Furthermore if you modify this software you must label -+ * your software as modified software and not distribute it in such a -+ * fashion that it might be confused with the original M.I.T. software. -+ * M.I.T. makes no representations about the suitability of -+ * this software for any purpose. It is provided "as is" without express -+ * or implied warranty. -+ * -+ * -+ * Write a message to the network -+ */ -+ -+krb5_error_code -+krb5_read_message(krb5_context context, krb5_pointer fdp, krb5_data *inbuf) -+{ -+ krb5_int32 len; -+ int len2, ilen; -+ char *buf = NULL; -+ int fd = *( (int *) fdp); -+ -+ if ((len2 = krb5_net_read(context, fd, (char *)&len, 4)) != 4) -+ return((len2 < 0) ? errno : ECONNABORTED); -+ len = ntohl(len); -+ -+ if ((len & VALID_UINT_BITS) != len) /* Overflow size_t??? */ -+ return ENOMEM; -+ -+ inbuf->length = ilen = (int) len; -+ if (ilen) { -+ /* -+ * We may want to include a sanity check here someday.... -+ */ -+ if (!(buf = malloc(ilen))) { -+ return(ENOMEM); -+ } -+ if ((len2 = krb5_net_read(context, fd, buf, ilen)) != ilen) { -+ krb5_xfree(buf); -+ return((len2 < 0) ? errno : ECONNABORTED); -+ } -+ } -+ inbuf->data = buf; -+ return(0); -+} -+/* -+ * lib/krb5/os/write_msg.c -+ * -+ * Copyright 1991 by the Massachusetts Institute of Technology. -+ * All Rights Reserved. -+ * -+ * Export of this software from the United States of America may -+ * require a specific license from the United States Government. -+ * It is the responsibility of any person or organization contemplating -+ * export to obtain such a license before exporting. -+ * -+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -+ * distribute this software and its documentation for any purpose and -+ * without fee is hereby granted, provided that the above copyright -+ * notice appear in all copies and that both that copyright notice and -+ * this permission notice appear in supporting documentation, and that -+ * the name of M.I.T. not be used in advertising or publicity pertaining -+ * to distribution of the software without specific, written prior -+ * permission. Furthermore if you modify this software you must label -+ * your software as modified software and not distribute it in such a -+ * fashion that it might be confused with the original M.I.T. software. -+ * M.I.T. makes no representations about the suitability of -+ * this software for any purpose. It is provided "as is" without express -+ * or implied warranty. -+ * -+ * -+ * convenience sendauth/recvauth functions -+ */ -+ -+krb5_error_code -+krb5_write_message(krb5_context context, krb5_pointer fdp, krb5_data *outbuf) -+{ -+ krb5_int32 len; -+ int fd = *( (int *) fdp); -+ -+ len = htonl(outbuf->length); -+ if (krb5_net_write(context, fd, (char *)&len, 4) < 0) { -+ return(errno); -+ } -+ if (outbuf->length && (krb5_net_write(context, fd, outbuf->data, outbuf->length) < 0)) { -+ return(errno); -+ } -+ return(0); -+} - /* - * server_krb5_auth( - * char *keytabfile, server key tab file - /etc/lpr.keytab ---- LPRng-3.8.28/configure 2004-09-24 16:16:30.000000000 -0400 -+++ LPRng-3.8.28-spearce/configure 2005-08-25 19:03:48.000000000 -0400 -@@ -18816,7 +18816,7 @@ - int - main () - { --krb5_read_message (); -+/* krb5_read_message (); */ - ; - return 0; - } -@@ -18910,7 +18910,7 @@ - int - main () - { --krb5_read_message (); -+/* krb5_read_message (); */ - ; - return 0; - } ---- LPRng-3.8.28/src/common/proctitle.c 2008-03-07 17:13:03.000000000 -0500 -+++ LPRng-3.8.28-broder/src/common/proctitle.c 2008-03-07 17:19:05.000000000 -0500 -@@ -174,7 +174,7 @@ - # endif - # if SPT_TYPE == SPT_PSSTRINGS - # include --# include -+//# include - # ifndef PS_STRINGS /* hmmmm.... apparently not available after all */ - # undef SPT_TYPE - # define SPT_TYPE SPT_REUSEARGV ---- LPRng-3.8.28/get_hesiod_pcap 1969-12-31 19:00:00.000000000 -0500 -+++ LPRng-3.8.28-broder/get_hesiod_pcap 2008-03-07 18:49:42.000000000 -0500 -@@ -0,0 +1,45 @@ -+#!/bin/sh -+# $Id: get_hesiod_pcap.sh,v 1.3 1999/09/02 14:33:29 ghudson Exp $ -+ -+# Support script used by LPRng to fetch Hesiod printcap entries -+ -+PATH=$PATH:/sw/bin -+ -+read printer -+ -+case "$printer" in -+all) -+ # If printer is "all", it wants a list of all available printers, the -+ # first of which will be considered the default printer. We can't get -+ # all printers, so just give the default. -+ -+ if [ -z "$PRINTER" ]; then -+ host=`hostname` -+ PRINTER=`hesinfo "$host" cluster 2>/dev/null | \ -+ awk '/^lpr / {print $2; exit;}'` -+ if [ -z "$PRINTER" ]; then -+ # We have no default. Let LPRng come up with its own default. -+ exit 0 -+ fi -+ fi -+ echo "all:all=$PRINTER" -+ ;; -+ -+*) -+ # Otherwise just look up the printer it asked for -+ PCAP=`hesinfo "$printer" pcap 2>/dev/null` -+ -+ # If the user has no tickets, and the printer supports, but does -+ # not require, Kerberos authentication, then don't attempt -+ # it. (andersk, following suggestion by jdreed) -+ if ! klist -s 2>/dev/null; then -+ PCAP=`echo "$PCAP" | sed '/ka#0/ s/:auth=kerberos5//g'` -+ fi -+ -+ PCAP=`echo $PCAP | sed s/:auth=none//g` -+ -+ echo "$PCAP" -+ ;; -+esac -+ -+exit 0 ---- LPRng-3.8.28/lpd.conf.macathena 1969-12-31 19:00:00.000000000 -0500 -+++ LPRng-3.8.28-broder/lpd.conf.macathena 2008-03-07 18:49:04.000000000 -0500 -@@ -0,0 +1,10 @@ -+# Debian-Athena lprng configuration -+force_localhost@ -+kerberos_service=daemon -+pass_env=KRB5CCNAME -+#printcap_path=/etc/printcap:|/usr/lib/get_hesiod_pcap -+printcap_path=|/usr/local/lprng/libexec/get_hesiod_pcap -+#printcap_path=|/usr/local/lprng/libexec/test_pcap -+reuse_addr -+use_date@ -+retry_econnrefused@ ---- LPRng-3.8.28/src/common/lpc.c 2008-03-07 19:44:31.000000000 -0500 -+++ LPRng-3.8.28-broder/src/common/lpc.c 2008-03-07 19:44:18.000000000 -0500 -@@ -352,7 +352,10 @@ - Full_user_perms(); - /* this would now be the same as executing LPQ as user */ - close_on_exec(3); -- execvp( args->list[0],args->list ); -+ if (action==OP_LPQ) -+ execvp("lpq.lprng" ,args->list); -+ else -+ execvp("lprm.lprng", args->list); - DIEMSG( _("execvp failed - '%s'"), Errormsg(errno) ); - exit(0); - } else if( pid < 0 ) {