Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: binary MIME-Version: 1.0 X-Mailer: MIME-tools 5.411 (Entity 5.404) X-RT-Original-Encoding: iso-8859-1 Content-Length: 3703 From krb5-bugs-incoming-bounces@PCH.mit.edu Mon Feb 6 17:10:03 2006 Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (8.9.3p2) with ESMTP id RAA12214; Mon, 6 Feb 2006 17:10:03 -0500 (EST) Received: from pch.mit.edu (pch.mit.edu [127.0.0.1]) by pch.mit.edu (8.12.8p2/8.12.8) with ESMTP id k16M9Wei007990 for ; Mon, 6 Feb 2006 17:09:32 -0500 Received: from pacific-carrier-annex.mit.edu (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.7.21.83]) by pch.mit.edu (8.12.8p2/8.12.8) with ESMTP id k16KABei014640 for ; Mon, 6 Feb 2006 15:10:11 -0500 Received: from rapier.boston.redhat.com (nat-pool-bos.redhat.com [66.187.230.200]) by pacific-carrier-annex.mit.edu (8.12.4/8.9.2) with ESMTP id k16KA3VL027332 for ; Mon, 6 Feb 2006 15:10:04 -0500 (EST) Received: from rapier.boston.redhat.com (localhost.localdomain [127.0.0.1]) by rapier.boston.redhat.com (8.13.5/8.13.5) with ESMTP id k16KA3eE030106 for ; Mon, 6 Feb 2006 15:10:03 -0500 Received: (from nalin@localhost) by rapier.boston.redhat.com (8.13.5/8.13.5/Submit) id k16KA33h030105; Mon, 6 Feb 2006 15:10:03 -0500 Date: Mon, 6 Feb 2006 15:10:03 -0500 Message-Id: <200602062010.k16KA33h030105@rapier.boston.redhat.com> To: krb5-bugs@mit.edu Subject: enhancement: more detailed error reporting when kinit runs out of disk From: nalin@redhat.com X-send-pr-version: 3.99 X-Spam-Score: -1.638 X-Spam-Flag: NO X-Scanned-By: MIMEDefang 2.42 X-Mailman-Approved-At: Mon, 06 Feb 2006 17:09:31 -0500 X-BeenThere: krb5-bugs-incoming@mailman.mit.edu X-Mailman-Version: 2.1.6 Precedence: list Reply-To: nalin@redhat.com Sender: krb5-bugs-incoming-bounces@PCH.mit.edu Errors-To: krb5-bugs-incoming-bounces@PCH.mit.edu >Submitter-Id: net >Originator: >Organization: >Confidential: no >Synopsis: enhancement: report errno when generic I/O errors happen in kinit >Severity: non-critical >Priority: low >Category: krb5-clients >Class: change-request >Release: 1.4.3 >Environment: System: Linux rapier.boston.redhat.com 2.6.15-1.1826.2.10_FC5smp #1 SMP Wed Jan 11 18:27:54 EST 2006 i686 i686 i386 GNU/Linux Architecture: i686 >Description: When 'kinit' encounters an ENOSPC error, the error message which the user sees is vague because KRB5_CC_IO encompasses a number of different errors. >How-To-Repeat: Fill a filesystem ("cat /dev/zero > foo.img" as root). Set KRB5CCNAME to point to a file on that filesystem which does not yet exist. Attempt to run "kinit" as a non-superuser. >Fix: A suggested patch. We don't get a way to pass the OS-level error up to the caller, so we're not guaranteed that it's still the right value when we return to the point where we issue the error message, but luckily we don't do anything to change it, so in practice it turns out to still contain the right value. --- krb5-1.4.3/src/clients/kinit/kinit.c 2006-02-06 13:50:06.000000000 -0500 +++ krb5-1.4.3/src/clients/kinit/kinit.c 2006-02-06 13:49:41.000000000 -0500 @@ -34,6 +34,7 @@ #else #undef HAVE_KRB524 #endif +#include #include #include #include @@ -846,8 +847,14 @@ code = krb5_cc_initialize(k5->ctx, k5->cc, k5->me); if (code) { - com_err(progname, code, "when initializing cache %s", - opts->k5_cache_name?opts->k5_cache_name:""); + if ((code == KRB5_CC_IO) && (errno != 0)) { + com_err(progname, code, "when initializing cache %s: %s", + opts->k5_cache_name?opts->k5_cache_name:"", + strerror(errno)); + } else { + com_err(progname, code, "when initializing cache %s", + opts->k5_cache_name?opts->k5_cache_name:""); + } goto cleanup; }