Skip to content
Closed
Prev Previous commit
Next Next commit
miniKdc -> minikdc
  • Loading branch information
AngersZhuuuu committed Nov 24, 2019
commit 3ec289102c412c16a0f429caf27b2607e8540ac6
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
<slf4j.version>1.7.16</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<hadoop.version>2.7.4</hadoop.version>
<miniKdc.version>3.2.0</miniKdc.version>
<minikdc.version>3.2.0</minikdc.version>
<protobuf.version>2.5.0</protobuf.version>
<yarn.version>${hadoop.version}</yarn.version>
<zookeeper.version>3.4.14</zookeeper.version>
Expand Down Expand Up @@ -1025,7 +1025,7 @@
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-minikdc</artifactId>
<version>${miniKdc.version}</version>
<version>${minikdc.version}</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we can mix and match Hadoop versions this way. I think generally speaking Hadoop 3.x is what we'd tell people to use for JDK 11 compatibility. But if the other change to refreshKrb5Config is needed and compatible, we can make that change.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Agree with @srowen.
Could we fix this issue by changing the default_tkt_enctypes and default_tgs_enctypes:
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8014628

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@srowen @wangyum @dongjoon-hyun
I checked the kerberos code that when client call a request KrbTgsReq/KrbTktReq , it will first check if there are config default_tkt_enctypes and default_tgs_enctypesin krb5.conf, if not, then use jdk buildin enctypes.
And i have checked the build in ecntypes:

jdk8
  static {
    DEBUG = Krb5.DEBUG;
    initStatic();
    BUILTIN_ETYPES = new int[]{18, 17, 16, 23, 1, 3};
    BUILTIN_ETYPES_NOAES256 = new int[]{17, 16, 23, 1, 3};
  }

jdk11
 static {
    DEBUG = Krb5.DEBUG;
    initStatic();
    BUILTIN_ETYPES = new int[]{18, 17, 20, 19, 16, 23, 1, 3};
    BUILTIN_ETYPES_NOAES256 = new int[]{17, 19, 16, 23, 1, 3};
  }

In server side , they both use aes128-cts-hmac-sha1-96 as first choice.
But MiniKdc don't have API for us to config these. So rewrite and refresh it.

<scope>test</scope>
<exclusions>
<exclusion>
Expand Down