@@ -1077,7 +1077,7 @@ public void messageReceived(final ChannelHandlerContext ctx, MessageEvent e) thr
1077
1077
newRealm = ntlmChallenge (wwwAuth , request , proxyServer , headers , realm , future );
1078
1078
// SPNEGO KERBEROS
1079
1079
} else if (wwwAuth .contains ("Negotiate" )) {
1080
- newRealm = kerberosChallenge (request , proxyServer , headers , realm , future );
1080
+ newRealm = kerberosChallenge (wwwAuth , request , proxyServer , headers , realm , future );
1081
1081
if (newRealm == null ) return ;
1082
1082
} else {
1083
1083
Realm .RealmBuilder realmBuilder ;
@@ -1133,7 +1133,7 @@ public Object call() throws Exception {
1133
1133
newRealm = ntlmChallenge (proxyAuth , request , proxyServer , headers , realm , future );
1134
1134
// SPNEGO KERBEROS
1135
1135
} else if (proxyAuth .contains ("Negotiate" )) {
1136
- newRealm = kerberosChallenge (request , proxyServer , headers , realm , future );
1136
+ newRealm = kerberosChallenge (proxyAuth , request , proxyServer , headers , realm , future );
1137
1137
if (newRealm == null ) return ;
1138
1138
} else {
1139
1139
newRealm = future .getRequest ().getRealm ();
@@ -1274,11 +1274,12 @@ public Object call() throws Exception {
1274
1274
}
1275
1275
}
1276
1276
1277
- private Realm kerberosChallenge (Request request ,
1277
+ private Realm kerberosChallenge (List <String > proxyAuth ,
1278
+ Request request ,
1278
1279
ProxyServer proxyServer ,
1279
1280
FluentCaseInsensitiveStringsMap headers ,
1280
1281
Realm realm ,
1281
- NettyResponseFuture <?> future ) {
1282
+ NettyResponseFuture <?> future ) throws NTLMEngineException {
1282
1283
1283
1284
URI uri = URI .create (request .getUrl ());
1284
1285
String host = request .getVirtualHost () == null ? uri .getHost () : request .getVirtualHost ();
@@ -1299,6 +1300,9 @@ private Realm kerberosChallenge(Request request,
1299
1300
.setScheme (Realm .AuthScheme .KERBEROS )
1300
1301
.build ();
1301
1302
} catch (Throwable throwable ) {
1303
+ if (proxyAuth .contains ("NTLM" )) {
1304
+ return ntlmChallenge (proxyAuth , request , proxyServer , headers , realm , future );
1305
+ }
1302
1306
abort (future , throwable );
1303
1307
return null ;
1304
1308
}
0 commit comments