pythongssapi / pythongssapi/python-gssapi

The Eternal List Of Extension Implementation

Offen
#48 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement extension
Vorherrschende Sprache
Python
Sterne
116
Forks
55
Ø Merge
1 T. 24 Min.
Gemergte PRs (30 T.)
2

Beschreibung

So, I went and compared the gssapi.h and gssapi_ext.h files with Python-GSSAPI to look for any extensions and/or additional RFCs that we missed.

Extensions (as indicated by being in gssapi_ext.h, for the most part)

Solaris

  • buffer GSS_C_ATTR_LOCAL_LOGIN_USER
  • gss_localname ( #49 )
  • gss_pname_to_uid ( #49 )
  • gss_userok ( #49 )
  • gss_authorize_localname ( #49 )
  • gss_acquire_cred_with_password ( #5 )
  • gss_add_cred_with_password ( #5 )

GGF (Global Grid Forum) ( #51 )

  • gss_inquire_sec_context_by_oid
  • gss_inquire_cred_by_oid
  • gss_set_sec_context_option
  • gssapi_mech_invoke ??
  • gss_import_cred (GGF variant, nobody implements this)
  • gss_export_cred (GGF variant, nobody implements this)

AEAD / SSPI (DCE)

  • gss_wrap_aead ( #6 )
  • gss_unwrap_aead ( #6 )
  • OID GSS_C_INQ_SSPI_SESSION_KEY
  • gss_complete_auth_token
  • gss_wrap_iov ( #6 )
  • gss_unwrap_iov ( #6 )
  • gss_wrap_iov_length ( #6 )

IOV MIC

  • gss_get_mic_iov ( #6 )
  • gss_get_mic_iov_length ( #6 )
  • gss_verify_mic_iov ( #6 )

Services4User

  • gss_acquire_cred_impersonate_name
  • gss_add_cred_impersonate_name

Naming Extensions (actually RFC 6680)

  • OID GSS_C_NT_COMPOSITE_EXPORT
  • gss_display_name_ext
  • gss_inquire_name
  • gss_get_name_attribute
  • gss_set_name_attribute
  • gss_delete_name_attribute
  • gss_export_name_composite

Capsulate (draft-josefsson-gss-capsulate)

  • gss_encapsulate_token
  • gss_decapsulate_token
  • gss_oid_equal

Cred Store

  • gss_acquire_cred_from
  • gss_add_cred_from
  • gss_store_cred_into

Cred Import/Export

  • gss_export_cred ( #25 )
  • gss_import_cred ( #25 )

Credentials Options (see https://github.com/pythongssapi/python-gssapi/issues/51#issuecomment-357022036)

  • gss_set_cred_option

Additional RFCs (in gssapi.h)

RFC 4401 (Pseduo-Random Generators)

  • gss_pseudo_random

RFC 5588 (Store Cred)

  • gss_store_cred

RFC 4178 (SPNEGO)

  • gss_set_neg_mechs ( #50 )
  • gss_get_neg_mechs (NOT ACTUALLY PRESENT)

RFC 5587 (Mechanism Inquiry)

  • gss_indicate_mechs_by_attrs
  • gss_inquire_attrs_for_mech
  • gss_display_mech_attr

RFC 5801 (GSSAPI-SASL Naming)

  • gss_inquire_saslname_for_mech
  • gss_inquire_mech_for_saslname

Mechanism Specific Extensions

Krb5 Specific Extensions (gssapi_krb5.h) (#75)

  • GSS_KRB5_NT_PRINCIPAL_NAME
  • gss_krb5_ccache_name
  • gss_krb5_copy_ccache (use case unclear, deprecated on macOS)
  • gss_krb5_get_tkt_flags
  • gss_krb5_set_allowable_enctypes
  • gss_krb5_export_lucid_sec_context
  • gss_krb5_free_lucid_sec_context
  • gsskrb5_extract_authz_data_from_sec_context
  • gsskrb5_extract_authtime_from_sec_context

The following functionality is also available through the cred_store API
extensions so we may elect not to implement them at all:

  • gss_krb5_set_cred_rcache (not implemented by Heimdal)
  • gss_krb5_import_cred (implemented because Heimdal doesn't support cred store extensions)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Dieses Issue vergleicht gssapi.h und gssapi_ext.h mit Python-GSSAPI und führt viele nicht überprüfte Erweiterungen auf, darunter gss_pseudo_random und gss_encapsulate_token. Beginne damit, ein nicht überprüftes Element auszuwählen und den referenzierten Header sowie das verknüpfte Issue zu lesen, sofern vorhanden. Als abgeschlossen sollte die Implementierung einer vereinbarten Erweiterung und die Überprüfung ihres Verhaltens gelten; das Issue nennt jedoch weder einen Testpfad noch einen abgegrenzten Umfang.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
authentication, security
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.