You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2017/02/24 08:21:16 UTC

directory-kerby git commit: DIRKRB-613 Tests fails on systems with includedir in /etc/krb5.conf.

Repository: directory-kerby
Updated Branches:
  refs/heads/trunk 7ae2cf77d -> e34b1ef8f


DIRKRB-613 Tests fails on systems with includedir in /etc/krb5.conf.


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/e34b1ef8
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/e34b1ef8
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/e34b1ef8

Branch: refs/heads/trunk
Commit: e34b1ef8fec64e89780aec37aac903d4608e215f
Parents: 7ae2cf7
Author: plusplusjiajia <ji...@intel.com>
Authored: Fri Feb 24 16:27:17 2017 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Fri Feb 24 16:27:17 2017 +0800

----------------------------------------------------------------------
 .../apache/kerby/kerberos/kerb/common/Krb5Parser.java  | 13 ++++++++++++-
 .../org/apache/kerby/kerberos/kerb/Krb5ParserTest.java |  4 +++-
 kerby-kerb/kerb-common/src/test/resources/krb5.conf    |  1 +
 3 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e34b1ef8/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/common/Krb5Parser.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/common/Krb5Parser.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/common/Krb5Parser.java
index 9f4196c..2a72add 100644
--- a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/common/Krb5Parser.java
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/common/Krb5Parser.java
@@ -68,7 +68,15 @@ public class Krb5Parser {
             }   else if (line.startsWith("[")) {
                 insertSections(line, br, items);
                 originLine = br.readLine();
-            }   else {
+            } else if (line.startsWith("include")) {
+                String[] splited = line.trim().split("\\s+");
+                if (splited.length == 2) {
+                    items.put(splited[0], splited[1]);
+                } else {
+                    throw new RuntimeException("Unable to parse:" + originLine);
+                }
+                originLine = br.readLine();
+            } else {
                 throw new RuntimeException("Unable to parse:" + originLine);
             }
         }
@@ -105,6 +113,9 @@ public class Krb5Parser {
         for (Map.Entry<String, Object> item : items.entrySet()) {
             if (item.getKey().equals(sectionName)) {
                 value = item.getValue();
+                if (keys.length == 0) {
+                    return value;
+                }
                 Map<String, Object> map = (Map) item.getValue();
                 for (Map.Entry<String, Object> entry : map.entrySet()) {
                     if (entry.getKey().equals(keys[0])) {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e34b1ef8/kerby-kerb/kerb-common/src/test/java/org/apache/kerby/kerberos/kerb/Krb5ParserTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/test/java/org/apache/kerby/kerberos/kerb/Krb5ParserTest.java b/kerby-kerb/kerb-common/src/test/java/org/apache/kerby/kerberos/kerb/Krb5ParserTest.java
index fb09722..89e5fab 100644
--- a/kerby-kerb/kerb-common/src/test/java/org/apache/kerby/kerberos/kerb/Krb5ParserTest.java
+++ b/kerby-kerb/kerb-common/src/test/java/org/apache/kerby/kerberos/kerb/Krb5ParserTest.java
@@ -42,8 +42,10 @@ public class Krb5ParserTest {
         Krb5Parser k = new Krb5Parser(new File(url.getFile()));
         k.load();
 
-        assertThat(k.getSections().size()).isEqualTo(4);
+        assertThat(k.getSections().size()).isEqualTo(5);
         assertThat(k.getSections().contains("libdefaults")).isTrue();
+        assertThat(k.getSections().contains("include")).isTrue();
+        assertThat(k.getSection("include")).isEqualTo("/etc");
 
         assertThat(k.getSection("libdefaults", "dns_lookup_kdc")).isEqualTo("false");
         assertThat(k.getSection("realms", "ATHENA.MIT.EDU") instanceof Map).isTrue();

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e34b1ef8/kerby-kerb/kerb-common/src/test/resources/krb5.conf
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/test/resources/krb5.conf b/kerby-kerb/kerb-common/src/test/resources/krb5.conf
index 1a5b35e..43c62e2 100644
--- a/kerby-kerb/kerb-common/src/test/resources/krb5.conf
+++ b/kerby-kerb/kerb-common/src/test/resources/krb5.conf
@@ -15,6 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+include /etc
 [libdefaults]
   default_realm = KRB.COM
   kdc_host = kdc-server.example.com