logo_kerberos.gif

Difference between revisions of "Samba4 port: libkdc Interface"

From K5Wiki
Jump to: navigation, search
Line 1: Line 1:
libkdc Entry Points:
+
== libkdc Entry Points ==
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
 
| bgcolor="#cc0000" |<font color="#ffffff">'''Entry Point''' </font>
 
| bgcolor="#cc0000" |<font color="#ffffff">'''Entry Point''' </font>
Line 62: Line 62:
 
|}
 
|}
   
 
 
== krb5_kdc_process_request ==
Via these entry points, Samba4 uses the following Heimdal KDC functions:
 
  +
Via the krb5_kdc_process_krb5_request() entry point,
 
Samba4 uses the following Heimdal KDC functions:
   
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
Line 69: Line 70:
 
| bgcolor="#666600" |<font color="#ffffff">'''Heimdal fcn''' </font>
 
| bgcolor="#666600" |<font color="#ffffff">'''Heimdal fcn''' </font>
 
| bgcolor="#666600" |<font color="#ffffff">'''MIT-krb fcn'''</font>
 
| bgcolor="#666600" |<font color="#ffffff">'''MIT-krb fcn'''</font>
| bgcolor="#666600" |<font color="#ffffff">'''Samba4 callers'''</font>
 
   
 
|-
 
|-
Line 75: Line 75:
 
| decode_AS_REQ()
 
| decode_AS_REQ()
 
| decode_krb5_as_req()
 
| decode_krb5_as_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 81: Line 80:
 
| free_AS_REQ()
 
| free_AS_REQ()
 
| krb5_free_kdc_req()
 
| krb5_free_kdc_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 87: Line 85:
 
| _kdc_as_rep()
 
| _kdc_as_rep()
 
| process_as_req()
 
| process_as_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 93: Line 90:
 
| decode_TGS_REQ()
 
| decode_TGS_REQ()
 
| decode_krb5_tgs_req()
 
| decode_krb5_tgs_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 99: Line 95:
 
| free_TGS_REQ()
 
| free_TGS_REQ()
 
| krb5_free_kdc_req()
 
| krb5_free_kdc_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 105: Line 100:
 
| _kdc_tgs_rep()
 
| _kdc_tgs_rep()
 
| process_tgs_req()
 
| process_tgs_req()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 111: Line 105:
 
| decode_ticket()
 
| decode_ticket()
 
| krb5_decode_ticket()
 
| krb5_decode_ticket()
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 117: Line 110:
 
| _kdc_do_524
 
| _kdc_do_524
 
| <deprecated>
 
| <deprecated>
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 123: Line 115:
 
| free_Ticket()
 
| free_Ticket()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 129: Line 120:
 
| decode_DigestREQ()
 
| decode_DigestREQ()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 135: Line 125:
 
| free_DigestREQ()
 
| free_DigestREQ()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 141: Line 130:
 
| _kdc_do_digest()
 
| _kdc_do_digest()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 147: Line 135:
 
| _kdc_try_kx509_request()
 
| _kdc_try_kx509_request()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 153: Line 140:
 
| _kdc_do_kx509()
 
| _kdc_do_kx509()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 159: Line 145:
 
| free_Kx509Request()
 
| free_Kx509Request()
 
| no
 
| no
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 165: Line 150:
 
| _kdc_maybe_version4
 
| _kdc_maybe_version4
 
| deprecated?
 
| deprecated?
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 171: Line 155:
 
| _kdc_do_version4
 
| _kdc_do_version4
 
| deprecated
 
| deprecated
| krb5_kdc_process_request()
 
   
 
|-
 
|-
Line 177: Line 160:
 
| _kdc_do_kaserver()
 
| _kdc_do_kaserver()
 
| deprecated?
 
| deprecated?
| krb5_kdc_process_request()
 
   
 
|}
 
|}
   
'''Caution:''' libkdc has two similarly-named functions,
+
'''Caution:''' libkdc has another similarly-named function,
one more complex than the other,
+
but Samba4 uses only one of these two functions:
but Samba4 uses only the more complex function:
 
 
# krb5_kdc_process_krb5_request() gets used by Samba4
 
# krb5_kdc_process_krb5_request() gets used by Samba4
 
# krb5_kdc_process_request() doesn't.
 
# krb5_kdc_process_request() doesn't.
  +
  +
== config handling ==
   
 
----
 
----

Revision as of 09:19, 10 September 2009

libkdc Entry Points

Entry Point Samba4 file Samba4 callers
kdc_log() kdc/log.c no
kdc_log_msg() kdc/log.c no
kdc_log_msg_va() kdc/log.c no
kdc_openlog() kdc/log.c no
krb5_kdc_get_config() kdc/default_config.c kdc/kdc.c
krb5_kdc_process_krb5_request() kdc/process.c kdc/kdc.c
krb5_kdc_process_request() kdc/process.c no
krb5_kdc_set_dbinfo() kdc/set_dbinfo.c no
krb5_kdc_save_request() kdc/process.c no
krb5_kdc_update_time() kdc/process.c kdc/kdc.c
krb5_kdc_windc_init() kdc/windc.c kdc/kdc.c

krb5_kdc_process_request

Via the krb5_kdc_process_krb5_request() entry point, Samba4 uses the following Heimdal KDC functions:

Protocol Heimdal fcn MIT-krb fcn
AS decode_AS_REQ() decode_krb5_as_req()
AS free_AS_REQ() krb5_free_kdc_req()
AS _kdc_as_rep() process_as_req()
TGS decode_TGS_REQ() decode_krb5_tgs_req()
TGS free_TGS_REQ() krb5_free_kdc_req()
TGS _kdc_tgs_rep() process_tgs_req()
krb524 decode_ticket() krb5_decode_ticket()
krb524 _kdc_do_524 <deprecated>
krb524 free_Ticket() no
digest auth decode_DigestREQ() no
digest auth free_DigestREQ() no
digest auth _kdc_do_digest() no
kx509 _kdc_try_kx509_request() no
kx509 _kdc_do_kx509() no
kx509 free_Kx509Request() no
krb v4 _kdc_maybe_version4 deprecated?
krb v4 _kdc_do_version4 deprecated
AFS _kdc_do_kaserver() deprecated?

Caution: libkdc has another similarly-named function, but Samba4 uses only one of these two functions:

  1. krb5_kdc_process_krb5_request() gets used by Samba4
  2. krb5_kdc_process_request() doesn't.

config handling