Update to X.511:08/2005.
authorstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 11 Jan 2010 13:37:36 +0000 (13:37 +0000)
committerstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 11 Jan 2010 13:37:36 +0000 (13:37 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@31494 f5534014-38df-0310-8fa8-9805f1628bb7

asn1/dap/dap.asn
epan/dissectors/packet-dap.c

index 068fe378fdd2590727d4f40097a9d8c003510e54..80083891aaf0fec1b13a560190b16b16070ed1c8 100644 (file)
@@ -1,4 +1,4 @@
--- Module DirectoryAbstractService (X.511:02/2001)
+-- Module DirectoryAbstractService (X.511:08/2005)
 DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
   directoryAbstractService(2) 4} DEFINITIONS ::=
 BEGIN
@@ -87,6 +87,7 @@ CommonArguments ::= SET {
   criticalExtensions   [25]  BIT STRING OPTIONAL,
   referenceType        [24]  ReferenceType OPTIONAL,
   entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+  exclusions           [22]  Exclusions OPTIONAL,
   nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
   operationContexts    [20]  ContextSelection OPTIONAL,
   familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -127,7 +128,7 @@ ServiceControlOptions ::= BIT STRING {
   preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
   dontDereferenceAliases(4), subentries(5), copyShallDo(6),
   partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
-  noSubtypeSelection(10), countFamily(11)}
+  noSubtypeSelection(10), countFamily(11), dontSelectFriends(12), dontMatchFriends(13)}
 
 EntryInformationSelection ::= SET {
   attributes
@@ -301,7 +302,8 @@ Credentials ::= CHOICE {
   simple             [0]  SimpleCredentials,
   strong             [1]  StrongCredentials,
   externalProcedure  [2]  EXTERNAL,
-  spkm               [3]  SpkmCredentials
+  spkm               [3]  SpkmCredentials,
+  sasl               [4]  SaslCredentials
 }
 
 SimpleCredentials ::= SEQUENCE {
@@ -333,6 +335,12 @@ SpkmCredentials ::= CHOICE {req  [0]  -- SPKM-REQ -- ANY,
                             rep  [1]  -- SPKM-REP-TI-- ANY
 }
 
+SaslCredentials ::= SEQUENCE {
+  mechanism    [0]  DirectoryString {--ub-sasIMechanism--},
+  credentials  [1]  OCTET STRING OPTIONAL,
+  saslAbort    [2]  BOOLEAN DEFAULT FALSE
+}
+
 TokenData ::=
 --  SIGNED
 --    { --SEQUENCE {algorithm          [0]  AlgorithmIdentifier,
@@ -385,7 +393,9 @@ DirectoryBindErrorData ::=
     SET {versions  [0]  Versions DEFAULT {v1},
           error
             CHOICE {serviceError   [1]  ServiceProblem,
-                    securityError  [2]  SecurityProblem}} 
+                    securityError  [2]  SecurityProblem},
+          securityParameters       [30] SecurityParameters OPTIONAL
+} 
 
 
 BindKeyInfo ::= -- ENCRYPTED{-- BIT STRING 
@@ -417,6 +427,7 @@ ReadArgumentData ::=
   criticalExtensions   [25]  BIT STRING OPTIONAL,
   referenceType        [24]  ReferenceType OPTIONAL,
   entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+  exclusions           [22]  Exclusions OPTIONAL,
   nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
   operationContexts    [20]  ContextSelection OPTIONAL,
   familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -492,6 +503,7 @@ CompareArgumentData ::=
   criticalExtensions   [25]  BIT STRING OPTIONAL,
   referenceType        [24]  ReferenceType OPTIONAL,
   entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+  exclusions           [22]  Exclusions OPTIONAL,
   nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
   operationContexts    [20]  ContextSelection OPTIONAL,
   familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -599,6 +611,7 @@ ListArgumentData ::=
   criticalExtensions   [25]  BIT STRING OPTIONAL,
   referenceType        [24]  ReferenceType OPTIONAL,
   entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+  exclusions           [22]  Exclusions OPTIONAL,
   nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
   operationContexts    [20]  ContextSelection OPTIONAL,
   familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -710,6 +723,7 @@ SearchArgumentData ::=
          criticalExtensions   [25]  BIT STRING OPTIONAL,
          referenceType        [24]  ReferenceType OPTIONAL,
          entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+         exclusions           [22]  Exclusions OPTIONAL,
          nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
          operationContexts    [20]  ContextSelection OPTIONAL,
          familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -806,6 +820,7 @@ AddEntryArgumentData ::=
          criticalExtensions   [25]  BIT STRING OPTIONAL,
          referenceType        [24]  ReferenceType OPTIONAL,
          entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+         exclusions           [22]  Exclusions OPTIONAL,
          nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
          operationContexts    [20]  ContextSelection OPTIONAL,
          familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -861,6 +876,7 @@ RemoveEntryArgumentData ::=
   criticalExtensions   [25]  BIT STRING OPTIONAL,
   referenceType        [24]  ReferenceType OPTIONAL,
   entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+  exclusions           [22]  Exclusions OPTIONAL,
   nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
   operationContexts    [20]  ContextSelection OPTIONAL,
   familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -922,6 +938,7 @@ ModifyEntryArgumentData ::=
          criticalExtensions   [25]  BIT STRING OPTIONAL,
          referenceType        [24]  ReferenceType OPTIONAL,
          entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+         exclusions           [22]  Exclusions OPTIONAL,
          nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
          operationContexts    [20]  ContextSelection OPTIONAL,
          familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -992,6 +1009,7 @@ ModifyDNArgument ::=
          criticalExtensions   [25]  BIT STRING OPTIONAL,
          referenceType        [24]  ReferenceType OPTIONAL,
          entryOnly            [23]  BOOLEAN DEFAULT TRUE,
+         exclusions           [22]  Exclusions OPTIONAL,
          nameResolveOnMaster  [21]  BOOLEAN DEFAULT FALSE,
          operationContexts    [20]  ContextSelection OPTIONAL,
          familyGrouping       [19]  FamilyGrouping DEFAULT entryOnly
@@ -1232,7 +1250,9 @@ ServiceProblem ::= INTEGER {
   administrativeLimitExceeded(8), loopDetected(9),
   unavailableCriticalExtension(10), outOfScope(11), ditError(12),
   invalidQueryReference(13), requestedServiceNotAvailable(14),
-  relaxationNotSupported(15), unsupportedMatchingUse(16)}
+  unsupportedMatchingUse(15), ambiguousKeyAttributes(16),
+  saslBindInProgress(17)
+}
 
 
 updateError ERROR ::= {
index 73ece3928b9acc22cda1ddc7c2c008ec8a230375..371648fbd3df23c7249a104c4ab0f16235865710 100644 (file)
@@ -207,6 +207,7 @@ static int hf_dap_simple = -1;                    /* SimpleCredentials */
 static int hf_dap_strong = -1;                    /* StrongCredentials */
 static int hf_dap_externalProcedure = -1;         /* EXTERNAL */
 static int hf_dap_spkm = -1;                      /* SpkmCredentials */
+static int hf_dap_sasl = -1;                      /* SaslCredentials */
 static int hf_dap_validity = -1;                  /* T_validity */
 static int hf_dap_time1 = -1;                     /* T_time1 */
 static int hf_dap_utc = -1;                       /* UTCTime */
@@ -223,6 +224,9 @@ static int hf_dap_encrypted = -1;                 /* BIT_STRING */
 static int hf_dap_bind_token = -1;                /* Token */
 static int hf_dap_req = -1;                       /* T_req */
 static int hf_dap_rep = -1;                       /* T_rep */
+static int hf_dap_mechanism = -1;                 /* DirectoryString */
+static int hf_dap_credentials_01 = -1;            /* OCTET_STRING */
+static int hf_dap_saslAbort = -1;                 /* BOOLEAN */
 static int hf_dap_algorithm = -1;                 /* AlgorithmIdentifier */
 static int hf_dap_utctime = -1;                   /* UTCTime */
 static int hf_dap_bindIntAlgorithm = -1;          /* SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier */
@@ -239,17 +243,18 @@ static int hf_dap_directoryBindError = -1;        /* DirectoryBindErrorData */
 static int hf_dap_error = -1;                     /* T_error */
 static int hf_dap_serviceProblem = -1;            /* ServiceProblem */
 static int hf_dap_securityProblem = -1;           /* SecurityProblem */
+static int hf_dap_securityParameters = -1;        /* SecurityParameters */
 static int hf_dap_object = -1;                    /* Name */
 static int hf_dap_selection = -1;                 /* EntryInformationSelection */
 static int hf_dap_modifyRightsRequest = -1;       /* BOOLEAN */
 static int hf_dap_serviceControls = -1;           /* ServiceControls */
-static int hf_dap_securityParameters = -1;        /* SecurityParameters */
 static int hf_dap_requestor = -1;                 /* DistinguishedName */
 static int hf_dap_operationProgress = -1;         /* OperationProgress */
 static int hf_dap_aliasedRDNs = -1;               /* INTEGER */
 static int hf_dap_criticalExtensions = -1;        /* BIT_STRING */
 static int hf_dap_referenceType = -1;             /* ReferenceType */
 static int hf_dap_entryOnly = -1;                 /* BOOLEAN */
+static int hf_dap_exclusions = -1;                /* Exclusions */
 static int hf_dap_nameResolveOnMaster = -1;       /* BOOLEAN */
 static int hf_dap_operationContexts = -1;         /* ContextSelection */
 static int hf_dap_familyGrouping = -1;            /* FamilyGrouping */
@@ -446,6 +451,8 @@ static int hf_dap_ServiceControlOptions_manageDSAIT = -1;
 static int hf_dap_ServiceControlOptions_noSubtypeMatch = -1;
 static int hf_dap_ServiceControlOptions_noSubtypeSelection = -1;
 static int hf_dap_ServiceControlOptions_countFamily = -1;
+static int hf_dap_ServiceControlOptions_dontSelectFriends = -1;
+static int hf_dap_ServiceControlOptions_dontMatchFriends = -1;
 static int hf_dap_Versions_v1 = -1;
 static int hf_dap_Versions_v2 = -1;
 static int hf_dap_T_permission_add = -1;
@@ -532,6 +539,7 @@ static gint ett_dap_T_password = -1;
 static gint ett_dap_T_protected = -1;
 static gint ett_dap_StrongCredentials = -1;
 static gint ett_dap_SpkmCredentials = -1;
+static gint ett_dap_SaslCredentials = -1;
 static gint ett_dap_TokenData = -1;
 static gint ett_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier = -1;
 static gint ett_dap_Token = -1;
@@ -772,6 +780,8 @@ static const asn_namedbit ServiceControlOptions_bits[] = {
   {  9, &hf_dap_ServiceControlOptions_noSubtypeMatch, -1, -1, "noSubtypeMatch", NULL },
   { 10, &hf_dap_ServiceControlOptions_noSubtypeSelection, -1, -1, "noSubtypeSelection", NULL },
   { 11, &hf_dap_ServiceControlOptions_countFamily, -1, -1, "countFamily", NULL },
+  { 12, &hf_dap_ServiceControlOptions_dontSelectFriends, -1, -1, "dontSelectFriends", NULL },
+  { 13, &hf_dap_ServiceControlOptions_dontMatchFriends, -1, -1, "dontMatchFriends", NULL },
   { 0, NULL, 0, 0, NULL, NULL }
 };
 
@@ -1989,11 +1999,28 @@ dissect_dap_SpkmCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 }
 
 
+static const ber_sequence_t SaslCredentials_sequence[] = {
+  { &hf_dap_mechanism       , BER_CLASS_CON, 0, 0, dissect_x509sat_DirectoryString },
+  { &hf_dap_credentials_01  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_OCTET_STRING },
+  { &hf_dap_saslAbort       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_dap_SaslCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+                                   SaslCredentials_sequence, hf_index, ett_dap_SaslCredentials);
+
+  return offset;
+}
+
+
 static const value_string dap_Credentials_vals[] = {
   {   0, "simple" },
   {   1, "strong" },
   {   2, "externalProcedure" },
   {   3, "spkm" },
+  {   4, "sasl" },
   { 0, NULL }
 };
 
@@ -2002,6 +2029,7 @@ static const ber_choice_t Credentials_choice[] = {
   {   1, &hf_dap_strong          , BER_CLASS_CON, 1, 0, dissect_dap_StrongCredentials },
   {   2, &hf_dap_externalProcedure, BER_CLASS_CON, 2, 0, dissect_dap_EXTERNAL },
   {   3, &hf_dap_spkm            , BER_CLASS_CON, 3, 0, dissect_dap_SpkmCredentials },
+  {   4, &hf_dap_sasl            , BER_CLASS_CON, 4, 0, dissect_dap_SaslCredentials },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
@@ -2087,8 +2115,9 @@ static const value_string dap_ServiceProblem_vals[] = {
   {  12, "ditError" },
   {  13, "invalidQueryReference" },
   {  14, "requestedServiceNotAvailable" },
-  {  15, "relaxationNotSupported" },
-  {  16, "unsupportedMatchingUse" },
+  {  15, "unsupportedMatchingUse" },
+  {  16, "ambiguousKeyAttributes" },
+  {  17, "saslBindInProgress" },
   { 0, NULL }
 };
 
@@ -2166,6 +2195,7 @@ dissect_dap_T_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
 static const ber_sequence_t DirectoryBindErrorData_set[] = {
   { &hf_dap_versions        , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_Versions },
   { &hf_dap_error           , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_error },
+  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
   { NULL, 0, 0, 0, NULL }
 };
 
@@ -2228,6 +2258,7 @@ static const ber_sequence_t ReadArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -2432,6 +2463,7 @@ static const ber_sequence_t CompareArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -2686,6 +2718,7 @@ static const ber_sequence_t ListArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -3184,6 +3217,7 @@ static const ber_sequence_t SearchArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -3369,6 +3403,7 @@ static const ber_sequence_t AddEntryArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -3509,6 +3544,7 @@ static const ber_sequence_t RemoveEntryArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -3694,6 +3730,7 @@ static const ber_sequence_t ModifyEntryArgumentData_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -3838,6 +3875,7 @@ static const ber_sequence_t ModifyDNArgument_set[] = {
   { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
   { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
   { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
+  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
   { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
   { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
   { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
@@ -5362,6 +5400,10 @@ void proto_register_dap(void) {
       { "spkm", "dap.spkm",
         FT_UINT32, BASE_DEC, VALS(dap_SpkmCredentials_vals), 0,
         "dap.SpkmCredentials", HFILL }},
+    { &hf_dap_sasl,
+      { "sasl", "dap.sasl",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "dap.SaslCredentials", HFILL }},
     { &hf_dap_validity,
       { "validity", "dap.validity",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -5426,6 +5468,18 @@ void proto_register_dap(void) {
       { "rep", "dap.rep",
         FT_NONE, BASE_NONE, NULL, 0,
         "dap.T_rep", HFILL }},
+    { &hf_dap_mechanism,
+      { "mechanism", "dap.mechanism",
+        FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
+        "x509sat.DirectoryString", HFILL }},
+    { &hf_dap_credentials_01,
+      { "credentials", "dap.credentials",
+        FT_BYTES, BASE_NONE, NULL, 0,
+        "dap.OCTET_STRING", HFILL }},
+    { &hf_dap_saslAbort,
+      { "saslAbort", "dap.saslAbort",
+        FT_BOOLEAN, BASE_NONE, NULL, 0,
+        "dap.BOOLEAN", HFILL }},
     { &hf_dap_algorithm,
       { "algorithm", "dap.algorithm",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -5490,6 +5544,10 @@ void proto_register_dap(void) {
       { "securityError", "dap.securityError",
         FT_INT32, BASE_DEC, VALS(dap_SecurityProblem_vals), 0,
         "dap.SecurityProblem", HFILL }},
+    { &hf_dap_securityParameters,
+      { "securityParameters", "dap.securityParameters",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "dap.SecurityParameters", HFILL }},
     { &hf_dap_object,
       { "object", "dap.object",
         FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
@@ -5506,10 +5564,6 @@ void proto_register_dap(void) {
       { "serviceControls", "dap.serviceControls",
         FT_NONE, BASE_NONE, NULL, 0,
         "dap.ServiceControls", HFILL }},
-    { &hf_dap_securityParameters,
-      { "securityParameters", "dap.securityParameters",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "dap.SecurityParameters", HFILL }},
     { &hf_dap_requestor,
       { "requestor", "dap.requestor",
         FT_UINT32, BASE_DEC, NULL, 0,
@@ -5534,6 +5588,10 @@ void proto_register_dap(void) {
       { "entryOnly", "dap.entryOnly",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
         "dap.BOOLEAN", HFILL }},
+    { &hf_dap_exclusions,
+      { "exclusions", "dap.exclusions",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "dsp.Exclusions", HFILL }},
     { &hf_dap_nameResolveOnMaster,
       { "nameResolveOnMaster", "dap.nameResolveOnMaster",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
@@ -6314,6 +6372,14 @@ void proto_register_dap(void) {
       { "countFamily", "dap.countFamily",
         FT_BOOLEAN, 8, NULL, 0x10,
         NULL, HFILL }},
+    { &hf_dap_ServiceControlOptions_dontSelectFriends,
+      { "dontSelectFriends", "dap.dontSelectFriends",
+        FT_BOOLEAN, 8, NULL, 0x08,
+        NULL, HFILL }},
+    { &hf_dap_ServiceControlOptions_dontMatchFriends,
+      { "dontMatchFriends", "dap.dontMatchFriends",
+        FT_BOOLEAN, 8, NULL, 0x04,
+        NULL, HFILL }},
     { &hf_dap_Versions_v1,
       { "v1", "dap.v1",
         FT_BOOLEAN, 8, NULL, 0x80,
@@ -6486,6 +6552,7 @@ void proto_register_dap(void) {
     &ett_dap_T_protected,
     &ett_dap_StrongCredentials,
     &ett_dap_SpkmCredentials,
+    &ett_dap_SaslCredentials,
     &ett_dap_TokenData,
     &ett_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier,
     &ett_dap_Token,