diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-08-07 10:19:37 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-08-07 10:19:37 +0000 |
commit | 582335443338e865d52b87b98b5129bfcbe1bda0 (patch) | |
tree | 29705a1a345fbcec3f773d710b1818eca8999ad7 /asn1 | |
parent | 2d5ec44674b7df12e789b4cb779c5566ce6e8ace (diff) |
objectSid attribute contains a sid so decode it nively as a sid
svn path=/trunk/; revision=18844
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/ldap/packet-ldap-template.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/asn1/ldap/packet-ldap-template.c b/asn1/ldap/packet-ldap-template.c index 610c0c4786..8ecb4bc5cb 100644 --- a/asn1/ldap/packet-ldap-template.c +++ b/asn1/ldap/packet-ldap-template.c @@ -133,6 +133,7 @@ static int hf_mscldap_clientsitename = -1; static int hf_mscldap_netlogon_version = -1; static int hf_mscldap_netlogon_lm_token = -1; static int hf_mscldap_netlogon_nt_token = -1; +static int hf_ldap_sid = -1; #include "packet-ldap-hf.c" @@ -1196,6 +1197,17 @@ dissect_ldap_oid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } static void +dissect_ldap_sid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + char *tmpstr; + + /* this octet string contains an NT SID */ + dissect_nt_sid(tvb, 0, tree, "SID", &tmpstr, hf_ldap_sid); + ldapvalue_string=ep_strdup(tmpstr); + g_free(tmpstr); +} + +static void dissect_ldap_guid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */ @@ -1421,6 +1433,11 @@ void proto_register_ldap(void) { FT_STRING, BASE_NONE, NULL, 0x0, "Client Site name", HFILL }}, + { &hf_ldap_sid, + { "Sid", "ldap.sid", + FT_STRING, BASE_NONE, NULL, 0x0, + "Sid", HFILL }}, + { &hf_mscldap_netlogon_flags_pdc, { "PDC", "mscldap.netlogon.flags.pdc", FT_BOOLEAN, 32, TFS(&tfs_ads_pdc), 0x00000001, "Is this DC a PDC or not?", HFILL }}, @@ -1562,6 +1579,7 @@ proto_reg_handoff_ldap(void) register_ldap_name_dissector("objectGUID", dissect_ldap_guid, proto_ldap); register_ldap_name_dissector("supportedControl", dissect_ldap_oid, proto_ldap); register_ldap_name_dissector("supportedCapabilities", dissect_ldap_oid, proto_ldap); + register_ldap_name_dissector("objectSid", dissect_ldap_sid, proto_ldap); } |