[midPoint] New Kerberos connector, paging support questions

František Dvořák valtri at civ.zcu.cz
Tue Apr 11 13:51:23 CEST 2017


Hello,

we're writing a connector at University of West Bohemia: native
Kerberos connector based on JNI using MIT Kerberos 5 Admin library:

  https://github.com/CESNET/kerberos-connector

It is working quite good already. We don't have it in production
though, and haven't made any release yet.

I would like to ask about the paging support and executeQuery(). It
seems it behaves quite strangely (using "Accounts" -> "Resouce" in
resource details):

* there are always two queries
* initial query asks for page of size 1
* subsequent query asks for the rest of the page, with offset 1
* midPoint GUI swallows the first identity and shows only the
identities from the second query

Logs attached.

Is there a bug in the connector code? The main connector class is
located here: [1]

The reconciliation seems work fine (the search without paging).

Thank you,
  Frantisek

[1] https://github.com/CESNET/kerberos-connector/blob/master/src/main/java/cz/zcu/KerberosConnector.java
-------------- next part --------------
2017-04-10 18:06:11,115 [] [ajp-nio-8009-exec-1] WARN (org.apache.wicket.Localizer): Tried to retrieve a localized string for a component that has not yet been added to the page. This can sometimes lead to an invalid or no localized resource returned. Make sure you are not calling Component#getString() inside your Component's constructor. Offending component: [MainObjectListPanel [Component id = table]]
2017-04-10 18:06:11,154 [] [Thread-13] DEBUG (cz.zcu.KerberosConnector): method: null msg:Initializing resource with realm TEST.ZCU.CZ
2017-04-10 18:06:11,163 [] [Thread-13] DEBUG (cz.zcu.KerberosConnector): method: null msg:Executing query: null
2017-04-10 18:06:11,163 [] [Thread-13] DEBUG (cz.zcu.KerberosConnector): method: null msg:Paged search was requested. Offset: null. Page size: 1
2017-04-10 18:06:11,167 [] [Thread-13] DEBUG (cz.zcu.KerberosConnector): method: null msg:Page search remaining: 14
2017-04-10 18:06:11,168 [] [Thread-13] DEBUG (cz.zcu.KerberosConnector): method: null msg:Disposing resource
2017-04-10 18:06:11,181 [] [Thread-14] DEBUG (cz.zcu.KerberosConnector): method: null msg:Initializing resource with realm TEST.ZCU.CZ
2017-04-10 18:06:11,191 [] [Thread-14] DEBUG (cz.zcu.KerberosConnector): method: null msg:Executing query: null
2017-04-10 18:06:11,191 [] [Thread-14] DEBUG (cz.zcu.KerberosConnector): method: null msg:Paged search was requested. Offset: 1. Page size: 14
2017-04-10 18:06:11,217 [] [Thread-14] DEBUG (cz.zcu.KerberosConnector): method: null msg:Page search remaining: 0
2017-04-10 18:06:11,217 [] [Thread-14] DEBUG (cz.zcu.KerberosConnector): method: null msg:Disposing resource

==> /var/log/daemon.log <==
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_list((null)) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_list((null)): 0
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(K/M at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(K/M at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: Java_cz_zcu_KerberosConnector_krb5_1search() count: 15, trueCount: 1, remaining: 14
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_list((null)) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_list((null)): 0
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(admin/admin at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(admin/admin at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(cat/root at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(cat/root at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(cat at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(cat at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(dog at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(dog at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign2 at EXAMPLE.COM) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign2 at EXAMPLE.COM) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign3 at EXAMPLE.COM) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign3 at EXAMPLE.COM) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign at EXAMPLE.COM) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(foreign at EXAMPLE.COM) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/admin at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/admin at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/agenor.civ.zcu.cz at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/agenor.civ.zcu.cz at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/changepw at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kadmin/changepw at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kiprop/agenor.civ.zcu.cz at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(kiprop/agenor.civ.zcu.cz at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(krbtgt/TEST.ZCU.CZ at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(krbtgt/TEST.ZCU.CZ at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(valtri/root at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(valtri/root at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(valtri at TEST.ZCU.CZ) start
Apr 10 18:06:11 agenor krbconn[27158]: krbconn_get(valtri at TEST.ZCU.CZ) OK
Apr 10 18:06:11 agenor krbconn[27158]: Java_cz_zcu_KerberosConnector_krb5_1search() count: 15, trueCount: 14, remaining: 0



More information about the midPoint mailing list