From patchwork Tue May 27 15:38:38 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever III X-Patchwork-Id: 353026 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5FB431400E0 for ; Wed, 28 May 2014 01:38:50 +1000 (EST) Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s4RFckRc032352 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 27 May 2014 15:38:47 GMT Received: from oss.oracle.com (oss-external.oracle.com [137.254.96.51]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s4RFck6C010063 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 27 May 2014 15:38:46 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1WpJSg-0004hp-7u; Tue, 27 May 2014 08:38:46 -0700 Received: from ucsinet22.oracle.com ([156.151.31.94]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1WpJSb-0004hM-9j for fedfs-utils-devel@oss.oracle.com; Tue, 27 May 2014 08:38:41 -0700 Received: from aserp1030.oracle.com (aserp1030.oracle.com [141.146.126.68]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s4RFceJX020481 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 27 May 2014 15:38:40 GMT Received: from mail-ig0-f182.google.com (mail-ig0-f182.google.com [209.85.213.182]) by aserp1030.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s4RFcdHA028894 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 27 May 2014 15:38:40 GMT Authentication-Results: aserp1030.oracle.com; dkim=pass reason="2048-bit key" header.d=gmail.com header.i=@gmail.com header.b=KGSyJsJo Received: by mail-ig0-f182.google.com with SMTP id uy17so1233789igb.15 for ; Tue, 27 May 2014 08:38:39 -0700 (PDT) X-Received: by 10.43.150.2 with SMTP id km2mr30386732icc.36.1401205119415; Tue, 27 May 2014 08:38:39 -0700 (PDT) Received: from seurat.1015granger.net ([2604:8800:100:81fc:20c:29ff:fe44:ec31]) by mx.google.com with ESMTPSA id kw1sm8490516igb.4.2014.05.27.08.38.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 May 2014 08:38:39 -0700 (PDT) To: fedfs-utils-devel@oss.oracle.com From: Chuck Lever Date: Tue, 27 May 2014 11:38:38 -0400 Message-ID: <20140527153838.1177.12776.stgit@seurat.1015granger.net> In-Reply-To: <20140527153133.1177.54989.stgit@seurat.1015granger.net> References: <20140527153133.1177.54989.stgit@seurat.1015granger.net> User-Agent: StGit/0.16 MIME-Version: 1.0 X-Flow-Control-Info: class=Pass-to-MM reputation=ipRisk-All ip=209.85.213.182 ct-class=R5 ct-vol1=-94 ct-vol2=8 ct-vol3=7 ct-risk=43 ct-spam1=66 ct-spam2=7 ct-bulk=6 rcpts=1 size=2759 X-Sendmail-CM-Score: 0.00% X-Sendmail-CM-Analysis: v=2.1 cv=McZV5fPf c=1 sm=1 tr=0 a=5XyxPnPcVxl2z+jysL/WtQ==:117 a=dzsqy3y4QnMA:10 a=Q0_82V94am8A:10 a=dPGociXpb70A:10 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=yPCof4ZbAAAA:8 a=Lb1rMZzfAAAA:8 a=1XWaLZrsAAAA:8 a=cjOwIITxPWslNnLPbVsA:9 a=QEXdDO 2ut3YA:10 a=7DSvI1NPTFQA:10 X-Sendmail-CT-RefID: str=0001.0A010202.5384B180.013E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-Sendmail-CT-Classification: not spam Subject: [fedfs-utils] [PATCH 16/17] libnsdb: Remove nsdb_set_parentdir() X-BeenThere: fedfs-utils-devel@oss.oracle.com X-Mailman-Version: 2.1.9 Precedence: list Reply-To: fedfs-utils Developers List-Id: fedfs-utils Developers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: fedfs-utils-devel-bounces@oss.oracle.com Errors-To: fedfs-utils-devel-bounces@oss.oracle.com X-Source-IP: acsinet22.oracle.com [141.146.126.238] This function has some potential buffer overflow issues, but is not used in this release. Fixes: 0520ee7207f9ba027c845cb33606a3c901ecd811 Signed-off-by: Chuck Lever --- src/include/nsdb.h | 1 - src/libnsdb/nsdb.c | 58 ---------------------------------------------------- 2 files changed, 59 deletions(-) diff --git a/src/include/nsdb.h b/src/include/nsdb.h index 224b671e62a6..d106c4845bac 100644 --- a/src/include/nsdb.h +++ b/src/include/nsdb.h @@ -150,7 +150,6 @@ void nsdb_free_fedfs_fsls(struct fedfs_fsl *fsls); /** * Locate the cert store */ -_Bool nsdb_set_parentdir(const char *parentdir); _Bool nsdb_is_default_parentdir(void); _Bool nsdb_init_database(void); diff --git a/src/libnsdb/nsdb.c b/src/libnsdb/nsdb.c index e6c13c4c1fb1..8e1d5e64e77a 100644 --- a/src/libnsdb/nsdb.c +++ b/src/libnsdb/nsdb.c @@ -99,64 +99,6 @@ static char fedfs_db_filename[PATH_MAX] = FEDFS_DEFAULT_STATEDIR "/" FEDFS_DATABASE_FILE; /** - * Set pathname of parent - * - * @param parentdir NUL-terminated C string containing pathname to on-disk state, or NULL - * @return true if "parentdir" was valid; otherwise false - * - * This runs before logging is set up, so error messages are - * always directed to stderr. - */ -_Bool -nsdb_set_parentdir(const char *parentdir) -{ - static char buf[PATH_MAX]; - struct stat st; - char *path; - int len; - - xlog(D_CALL, "%s: Setting up %s as our FedFS state directory", - __func__, parentdir); - - /* First: test length of name and whether it exists */ - if (lstat(parentdir, &st) == -1) { - xlog(L_ERROR, "Failed to stat %s: %m", parentdir); - return false; - } - if (!S_ISDIR(st.st_mode)) { - xlog(L_ERROR, "%s is not a directory", parentdir); - return false; - } - - /* Ensure we have a clean directory pathname */ - strncpy(buf, parentdir, sizeof(buf)); - path = dirname(buf); - if (*path == '.') { - xlog(L_ERROR, "Unusable pathname %s", - parentdir); - return false; - } - - len = snprintf(buf, sizeof(buf), "%s/%s", parentdir, FEDFS_DATABASE_FILE); - if (len > PATH_MAX) { - xlog(L_ERROR, "FedFS database pathname is too long"); - return false; - } - strcpy(fedfs_db_filename, buf); - - len = snprintf(buf, sizeof(buf), "%s/%s", parentdir, FEDFS_NSDBCERT_DIR); - if (len > PATH_MAX) { - xlog(L_ERROR, "FedFS cert directory pathname is too long"); - return false; - } - strcpy(fedfs_nsdbcerts_dirname, buf); - - strncpy(fedfs_base_dirname, parentdir, sizeof(fedfs_base_dirname)); - - return true; -} - -/** * Predicate: Does parent directory refer to default FedFS state directory? * * @return true if active FedFS state directory is same as default