aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-08-07 10:19:37 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-08-07 10:19:37 +0000
commit582335443338e865d52b87b98b5129bfcbe1bda0 (patch)
tree29705a1a345fbcec3f773d710b1818eca8999ad7 /asn1
parent2d5ec44674b7df12e789b4cb779c5566ce6e8ace (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.c18
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);
}