s4:heimal Update generated files (cp from Heimdal)
authorAndrew Bartlett <abartlet@samba.org>
Sat, 27 Mar 2010 01:24:00 +0000 (12:24 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 27 Mar 2010 01:24:00 +0000 (12:24 +1100)
source4/heimdal/lib/asn1/asn1parse.c
source4/heimdal/lib/asn1/asn1parse.h
source4/heimdal/lib/asn1/lex.c
source4/heimdal/lib/com_err/lex.c
source4/heimdal/lib/hx509/sel-lex.c

index 41724f5507ed11f2fb7fa3c26b5baf1a3fc294cb..545e0f69225c5f993dcdba8baa5c2fda1a4b344d 100644 (file)
@@ -68,7 +68,7 @@
 /* Copy the first part of user declarations.  */
 
 /* Line 189 of yacc.c  */
-#line 36 "heimdal/lib/asn1/asn1parse.y"
+#line 38 "heimdal/lib/asn1/asn1parse.y"
 
 
 #include <config.h>
@@ -312,7 +312,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 65 "heimdal/lib/asn1/asn1parse.y"
+#line 67 "heimdal/lib/asn1/asn1parse.y"
 
     int constant;
     struct value *value;
@@ -557,16 +557,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  6
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   199
+#define YYLAST   203
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  98
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  68
+#define YYNNTS  69
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  137
+#define YYNRULES  140
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  215
+#define YYNSTATES  220
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -621,82 +621,85 @@ static const yytype_uint8 yytranslate[] =
 static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,    13,    16,    19,    22,    23,    26,    27,
-      30,    31,    35,    36,    38,    39,    41,    44,    49,    51,
-      54,    56,    58,    62,    64,    68,    70,    72,    74,    76,
-      78,    80,    82,    84,    86,    88,    90,    92,    94,    96,
-      98,   100,   102,   104,   110,   116,   122,   126,   128,   131,
-     136,   138,   142,   146,   151,   156,   158,   161,   167,   170,
-     174,   176,   177,   180,   185,   189,   194,   199,   203,   207,
-     212,   214,   216,   218,   220,   222,   225,   229,   231,   233,
-     235,   238,   242,   248,   253,   257,   262,   263,   265,   267,
-     269,   270,   272,   274,   279,   281,   283,   285,   287,   289,
-     291,   293,   295,   297,   299,   303,   307,   310,   312,   315,
-     319,   321,   325,   330,   332,   333,   337,   338,   341,   346,
-     348,   350,   352,   354,   356,   358,   360,   362,   364,   366,
-     368,   370,   372,   374,   376,   378,   380,   382
+      31,    32,    36,    37,    39,    40,    42,    45,    50,    54,
+      57,    58,    60,    63,    65,    67,    71,    73,    77,    79,
+      81,    83,    85,    87,    89,    91,    93,    95,    97,    99,
+     101,   103,   105,   107,   109,   111,   113,   119,   125,   131,
+     135,   137,   140,   145,   147,   151,   155,   160,   165,   167,
+     170,   176,   179,   183,   185,   186,   189,   194,   198,   203,
+     208,   212,   216,   221,   223,   225,   227,   229,   231,   234,
+     238,   240,   242,   244,   247,   251,   257,   262,   266,   271,
+     272,   274,   276,   278,   279,   281,   283,   288,   290,   292,
+     294,   296,   298,   300,   302,   304,   306,   308,   312,   316,
+     319,   321,   324,   328,   330,   334,   339,   341,   342,   346,
+     347,   350,   355,   357,   359,   361,   363,   365,   367,   369,
+     371,   373,   375,   377,   379,   381,   383,   385,   387,   389,
+     391
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-      99,     0,    -1,    86,   151,    21,   100,   101,    84,     8,
+      99,     0,    -1,    86,   152,    21,   100,   101,    84,     8,
      102,    24,    -1,    27,    70,    -1,    38,    70,    -1,     7,
-      70,    -1,    -1,    29,    39,    -1,    -1,   103,   107,    -1,
-      -1,    40,   104,    90,    -1,    -1,   105,    -1,    -1,   106,
-      -1,   105,   106,    -1,   109,    32,    86,   151,    -1,   108,
-      -1,   108,   107,    -1,   110,    -1,   143,    -1,    86,    91,
-     109,    -1,    86,    -1,    86,    84,   111,    -1,   112,    -1,
-     130,    -1,   133,    -1,   120,    -1,   113,    -1,   144,    -1,
-     129,    -1,   118,    -1,   115,    -1,   123,    -1,   121,    -1,
-     122,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,
-     139,    -1,    11,    -1,    92,   155,    83,   155,    93,    -1,
-      92,   155,    83,    46,    93,    -1,    92,    47,    83,   155,
-      93,    -1,    92,   155,    93,    -1,    43,    -1,    43,   114,
-      -1,    43,    94,   116,    95,    -1,   117,    -1,   116,    91,
-     117,    -1,   116,    91,    85,    -1,    86,    92,   163,    93,
-      -1,    25,    94,   119,    95,    -1,   116,    -1,     9,    67,
-      -1,     9,    67,    94,   149,    95,    -1,    51,    37,    -1,
-      52,    67,   124,    -1,    49,    -1,    -1,    66,   114,    -1,
-      64,    94,   146,    95,    -1,    64,    94,    95,    -1,    64,
-     124,    53,   111,    -1,    65,    94,   146,    95,    -1,    65,
-      94,    95,    -1,    65,    53,   111,    -1,    14,    94,   146,
-      95,    -1,   131,    -1,   132,    -1,    86,    -1,    34,    -1,
-      77,    -1,   111,   134,    -1,    92,   135,    93,    -1,   136,
-      -1,   137,    -1,   138,    -1,    19,   111,    -1,    23,    12,
-     155,    -1,    19,   111,    23,    12,   155,    -1,    18,    12,
-      94,    95,    -1,   140,   142,   111,    -1,    96,   141,    89,
-      97,    -1,    -1,    76,    -1,     6,    -1,    60,    -1,    -1,
-      27,    -1,    38,    -1,    86,   111,    84,   155,    -1,   145,
-      -1,    33,    -1,    73,    -1,    78,    -1,    61,    -1,    81,
-      -1,    36,    -1,    10,    -1,    79,    -1,   148,    -1,   146,
-      91,   148,    -1,   146,    91,    85,    -1,    86,   111,    -1,
-     147,    -1,   147,    54,    -1,   147,    20,   155,    -1,   150,
-      -1,   149,    91,   150,    -1,    86,    92,    89,    93,    -1,
-     152,    -1,    -1,    94,   153,    95,    -1,    -1,   154,   153,
-      -1,    86,    92,    89,    93,    -1,    86,    -1,    89,    -1,
-     156,    -1,   157,    -1,   161,    -1,   160,    -1,   162,    -1,
-     165,    -1,   164,    -1,   158,    -1,   159,    -1,    86,    -1,
-      88,    -1,    71,    -1,    31,    -1,   163,    -1,    89,    -1,
-      49,    -1,   152,    -1
+      70,    -1,    -1,    29,    39,    -1,    -1,   107,   103,   108,
+      -1,    -1,    40,   104,    90,    -1,    -1,   105,    -1,    -1,
+     106,    -1,   105,   106,    -1,   110,    32,    86,   152,    -1,
+      28,   110,    90,    -1,    28,     5,    -1,    -1,   109,    -1,
+     109,   108,    -1,   111,    -1,   144,    -1,    86,    91,   110,
+      -1,    86,    -1,    86,    84,   112,    -1,   113,    -1,   131,
+      -1,   134,    -1,   121,    -1,   114,    -1,   145,    -1,   130,
+      -1,   119,    -1,   116,    -1,   124,    -1,   122,    -1,   123,
+      -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,   140,
+      -1,    11,    -1,    92,   156,    83,   156,    93,    -1,    92,
+     156,    83,    46,    93,    -1,    92,    47,    83,   156,    93,
+      -1,    92,   156,    93,    -1,    43,    -1,    43,   115,    -1,
+      43,    94,   117,    95,    -1,   118,    -1,   117,    91,   118,
+      -1,   117,    91,    85,    -1,    86,    92,   164,    93,    -1,
+      25,    94,   120,    95,    -1,   117,    -1,     9,    67,    -1,
+       9,    67,    94,   150,    95,    -1,    51,    37,    -1,    52,
+      67,   125,    -1,    49,    -1,    -1,    66,   115,    -1,    64,
+      94,   147,    95,    -1,    64,    94,    95,    -1,    64,   125,
+      53,   112,    -1,    65,    94,   147,    95,    -1,    65,    94,
+      95,    -1,    65,    53,   112,    -1,    14,    94,   147,    95,
+      -1,   132,    -1,   133,    -1,    86,    -1,    34,    -1,    77,
+      -1,   112,   135,    -1,    92,   136,    93,    -1,   137,    -1,
+     138,    -1,   139,    -1,    19,   112,    -1,    23,    12,   156,
+      -1,    19,   112,    23,    12,   156,    -1,    18,    12,    94,
+      95,    -1,   141,   143,   112,    -1,    96,   142,    89,    97,
+      -1,    -1,    76,    -1,     6,    -1,    60,    -1,    -1,    27,
+      -1,    38,    -1,    86,   112,    84,   156,    -1,   146,    -1,
+      33,    -1,    73,    -1,    78,    -1,    61,    -1,    81,    -1,
+      36,    -1,    10,    -1,    79,    -1,   149,    -1,   147,    91,
+     149,    -1,   147,    91,    85,    -1,    86,   112,    -1,   148,
+      -1,   148,    54,    -1,   148,    20,   156,    -1,   151,    -1,
+     150,    91,   151,    -1,    86,    92,    89,    93,    -1,   153,
+      -1,    -1,    94,   154,    95,    -1,    -1,   155,   154,    -1,
+      86,    92,    89,    93,    -1,    86,    -1,    89,    -1,   157,
+      -1,   158,    -1,   162,    -1,   161,    -1,   163,    -1,   166,
+      -1,   165,    -1,   159,    -1,   160,    -1,    86,    -1,    88,
+      -1,    71,    -1,    31,    -1,   164,    -1,    89,    -1,    49,
+      -1,   153,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   233,   233,   240,   241,   243,   245,   248,   250,   253,
-     254,   257,   258,   261,   262,   265,   266,   269,   280,   281,
-     284,   285,   288,   294,   302,   312,   313,   314,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   333,   340,   350,   358,   366,   377,   382,   388,
-     396,   402,   407,   411,   424,   432,   435,   442,   450,   456,
-     465,   473,   474,   479,   485,   493,   502,   508,   516,   524,
-     531,   532,   535,   546,   551,   558,   574,   580,   583,   584,
-     587,   593,   601,   611,   617,   630,   639,   642,   646,   650,
-     657,   660,   664,   671,   682,   685,   690,   695,   700,   705,
-     710,   715,   720,   728,   734,   739,   750,   761,   767,   773,
-     781,   787,   794,   807,   808,   811,   818,   821,   832,   836,
-     847,   853,   854,   857,   858,   859,   860,   861,   864,   867,
-     870,   881,   889,   895,   903,   911,   914,   919
+       0,   235,   235,   242,   243,   245,   247,   250,   252,   255,
+     256,   259,   260,   263,   264,   267,   268,   271,   283,   289,
+     290,   293,   294,   297,   298,   301,   307,   315,   325,   326,
+     327,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+     339,   340,   341,   342,   343,   346,   353,   363,   371,   379,
+     390,   395,   401,   409,   415,   420,   424,   437,   445,   448,
+     455,   463,   469,   478,   486,   487,   492,   498,   506,   515,
+     521,   529,   537,   544,   545,   548,   559,   564,   571,   587,
+     593,   596,   597,   600,   606,   614,   624,   630,   643,   652,
+     655,   659,   663,   670,   673,   677,   684,   695,   698,   703,
+     708,   713,   718,   723,   728,   733,   741,   747,   752,   763,
+     774,   780,   786,   794,   800,   807,   820,   821,   824,   831,
+     834,   845,   849,   860,   866,   867,   870,   871,   872,   873,
+     874,   877,   880,   883,   894,   902,   908,   916,   924,   927,
+     932
 };
 #endif
 
@@ -728,19 +731,20 @@ static const char *const yytname[] =
   "NUMBER", "';'", "','", "'('", "')'", "'{'", "'}'", "'['", "']'",
   "$accept", "ModuleDefinition", "TagDefault", "ExtensionDefault",
   "ModuleBody", "Imports", "SymbolsImported", "SymbolsFromModuleList",
-  "SymbolsFromModule", "AssignmentList", "Assignment", "referencenames",
-  "TypeAssignment", "Type", "BuiltinType", "BooleanType", "range",
-  "IntegerType", "NamedNumberList", "NamedNumber", "EnumeratedType",
-  "Enumerations", "BitStringType", "ObjectIdentifierType",
-  "OctetStringType", "NullType", "size", "SequenceType", "SequenceOfType",
-  "SetType", "SetOfType", "ChoiceType", "ReferencedType", "DefinedType",
-  "UsefulType", "ConstrainedType", "Constraint", "ConstraintSpec",
-  "GeneralConstraint", "ContentsConstraint", "UserDefinedConstraint",
-  "TaggedType", "Tag", "Class", "tagenv", "ValueAssignment",
-  "CharacterStringType", "RestrictedCharactedStringType",
-  "ComponentTypeList", "NamedType", "ComponentType", "NamedBitList",
-  "NamedBit", "objid_opt", "objid", "objid_list", "objid_element", "Value",
-  "BuiltinValue", "ReferencedValue", "DefinedValue", "Valuereference",
+  "SymbolsFromModule", "Exports", "AssignmentList", "Assignment",
+  "referencenames", "TypeAssignment", "Type", "BuiltinType", "BooleanType",
+  "range", "IntegerType", "NamedNumberList", "NamedNumber",
+  "EnumeratedType", "Enumerations", "BitStringType",
+  "ObjectIdentifierType", "OctetStringType", "NullType", "size",
+  "SequenceType", "SequenceOfType", "SetType", "SetOfType", "ChoiceType",
+  "ReferencedType", "DefinedType", "UsefulType", "ConstrainedType",
+  "Constraint", "ConstraintSpec", "GeneralConstraint",
+  "ContentsConstraint", "UserDefinedConstraint", "TaggedType", "Tag",
+  "Class", "tagenv", "ValueAssignment", "CharacterStringType",
+  "RestrictedCharactedStringType", "ComponentTypeList", "NamedType",
+  "ComponentType", "NamedBitList", "NamedBit", "objid_opt", "objid",
+  "objid_list", "objid_element", "Value", "BuiltinValue",
+  "ReferencedValue", "DefinedValue", "Valuereference",
   "CharacterStringValue", "BooleanValue", "IntegerValue", "SignedNumber",
   "NullValue", "ObjectIdentifierValue", 0
 };
@@ -769,37 +773,39 @@ static const yytype_uint8 yyr1[] =
 {
        0,    98,    99,   100,   100,   100,   100,   101,   101,   102,
      102,   103,   103,   104,   104,   105,   105,   106,   107,   107,
-     108,   108,   109,   109,   110,   111,   111,   111,   112,   112,
-     112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
-     112,   112,   113,   114,   114,   114,   114,   115,   115,   115,
-     116,   116,   116,   117,   118,   119,   120,   120,   121,   122,
-     123,   124,   124,   125,   125,   126,   127,   127,   128,   129,
-     130,   130,   131,   132,   132,   133,   134,   135,   136,   136,
-     137,   137,   137,   138,   139,   140,   141,   141,   141,   141,
-     142,   142,   142,   143,   144,   145,   145,   145,   145,   145,
-     145,   145,   145,   146,   146,   146,   147,   148,   148,   148,
-     149,   149,   150,   151,   151,   152,   153,   153,   154,   154,
-     154,   155,   155,   156,   156,   156,   156,   156,   157,   158,
-     159,   160,   161,   161,   162,   163,   164,   165
+     107,   108,   108,   109,   109,   110,   110,   111,   112,   112,
+     112,   113,   113,   113,   113,   113,   113,   113,   113,   113,
+     113,   113,   113,   113,   113,   114,   115,   115,   115,   115,
+     116,   116,   116,   117,   117,   117,   118,   119,   120,   121,
+     121,   122,   123,   124,   125,   125,   126,   126,   127,   128,
+     128,   129,   130,   131,   131,   132,   133,   133,   134,   135,
+     136,   137,   137,   138,   138,   138,   139,   140,   141,   142,
+     142,   142,   142,   143,   143,   143,   144,   145,   146,   146,
+     146,   146,   146,   146,   146,   146,   147,   147,   147,   148,
+     149,   149,   149,   150,   150,   151,   152,   152,   153,   154,
+     154,   155,   155,   155,   156,   156,   157,   157,   157,   157,
+     157,   158,   159,   160,   161,   162,   162,   163,   164,   165,
+     166
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
-       0,     2,     9,     2,     2,     2,     0,     2,     0,     2,
-       0,     3,     0,     1,     0,     1,     2,     4,     1,     2,
-       1,     1,     3,     1,     3,     1,     1,     1,     1,     1,
+       0,     2,     9,     2,     2,     2,     0,     2,     0,     3,
+       0,     3,     0,     1,     0,     1,     2,     4,     3,     2,
+       0,     1,     2,     1,     1,     3,     1,     3,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     5,     5,     5,     3,     1,     2,     4,
-       1,     3,     3,     4,     4,     1,     2,     5,     2,     3,
-       1,     0,     2,     4,     3,     4,     4,     3,     3,     4,
-       1,     1,     1,     1,     1,     2,     3,     1,     1,     1,
-       2,     3,     5,     4,     3,     4,     0,     1,     1,     1,
-       0,     1,     1,     4,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     3,     2,     1,     2,     3,
-       1,     3,     4,     1,     0,     3,     0,     2,     4,     1,
+       1,     1,     1,     1,     1,     1,     5,     5,     5,     3,
+       1,     2,     4,     1,     3,     3,     4,     4,     1,     2,
+       5,     2,     3,     1,     0,     2,     4,     3,     4,     4,
+       3,     3,     4,     1,     1,     1,     1,     1,     2,     3,
+       1,     1,     1,     2,     3,     5,     4,     3,     4,     0,
+       1,     1,     1,     0,     1,     1,     4,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     3,     3,     2,
+       1,     2,     3,     1,     3,     4,     1,     0,     3,     0,
+       2,     4,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1
+       1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -807,162 +813,164 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,   114,     0,   116,     0,   113,     1,   119,   120,     0,
-     116,     6,     0,   115,   117,     0,     0,     0,     8,     0,
-       5,     3,     4,     0,     0,   118,     7,     0,    10,    14,
-       0,     0,    23,     0,    13,    15,     0,     2,     0,     9,
-      18,    20,    21,     0,    11,    16,     0,     0,   101,    42,
-       0,     0,    95,    73,   100,    47,    60,     0,     0,    98,
-      61,     0,    96,    74,    97,   102,    99,     0,    72,    86,
-       0,    25,    29,    33,    32,    28,    35,    36,    34,    37,
-      38,    39,    40,    31,    26,    70,    71,    27,    41,    90,
-      30,    94,    19,    22,   114,    56,     0,     0,     0,     0,
-      48,    58,    61,     0,     0,     0,     0,     0,    24,    88,
-      89,    87,     0,     0,     0,    75,    91,    92,     0,    17,
-       0,     0,     0,   107,   103,     0,    55,    50,     0,   133,
-       0,   136,   132,   130,   131,   135,   137,     0,   121,   122,
-     128,   129,   124,   123,   125,   134,   127,   126,     0,    59,
-      62,    64,     0,     0,    68,    67,     0,     0,    93,     0,
-       0,     0,     0,    77,    78,    79,    84,     0,     0,   110,
-     106,     0,    69,     0,   108,     0,     0,    54,     0,     0,
-      46,    49,    63,    65,    66,    85,     0,    80,     0,    76,
-       0,     0,    57,   105,   104,   109,     0,    52,    51,     0,
-       0,     0,     0,     0,    81,     0,   111,    53,    45,    44,
-      43,    83,     0,   112,    82
+       0,   117,     0,   119,     0,   116,     1,   122,   123,     0,
+     119,     6,     0,   118,   120,     0,     0,     0,     8,     0,
+       5,     3,     4,     0,     0,   121,     7,     0,    20,     0,
+       0,    12,    19,    26,     0,     2,    14,     0,     0,    18,
+       0,    13,    15,     0,     0,     9,    21,    23,    24,    25,
+      11,    16,     0,     0,   104,    45,     0,     0,    98,    76,
+     103,    50,    63,     0,     0,   101,    64,     0,    99,    77,
+     100,   105,   102,     0,    75,    89,     0,    28,    32,    36,
+      35,    31,    38,    39,    37,    40,    41,    42,    43,    34,
+      29,    73,    74,    30,    44,    93,    33,    97,    22,   117,
+      59,     0,     0,     0,     0,    51,    61,    64,     0,     0,
+       0,     0,     0,    27,    91,    92,    90,     0,     0,     0,
+      78,    94,    95,     0,    17,     0,     0,     0,   110,   106,
+       0,    58,    53,     0,   136,     0,   139,   135,   133,   134,
+     138,   140,     0,   124,   125,   131,   132,   127,   126,   128,
+     137,   130,   129,     0,    62,    65,    67,     0,     0,    71,
+      70,     0,     0,    96,     0,     0,     0,     0,    80,    81,
+      82,    87,     0,     0,   113,   109,     0,    72,     0,   111,
+       0,     0,    57,     0,     0,    49,    52,    66,    68,    69,
+      88,     0,    83,     0,    79,     0,     0,    60,   108,   107,
+     112,     0,    55,    54,     0,     0,     0,     0,     0,    84,
+       0,   114,    56,    48,    47,    46,    86,     0,   115,    85
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     2,    18,    24,    30,    31,    33,    34,    35,    39,
-      40,    36,    41,    70,    71,    72,   100,    73,   126,   127,
-      74,   128,    75,    76,    77,    78,   105,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,   115,   162,   163,   164,
-     165,    88,    89,   112,   118,    42,    90,    91,   122,   123,
-     124,   168,   169,     4,   136,     9,    10,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147
+      -1,     2,    18,    24,    30,    37,    40,    41,    42,    31,
+      45,    46,    43,    47,    76,    77,    78,   105,    79,   131,
+     132,    80,   133,    81,    82,    83,    84,   110,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,   120,   167,   168,
+     169,   170,    94,    95,   117,   123,    48,    96,    97,   127,
+     128,   129,   173,   174,     4,   141,     9,    10,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -114
+#define YYPACT_NINF -119
 static const yytype_int16 yypact[] =
 {
-     -44,   -41,    64,   -40,    46,  -114,  -114,   -22,  -114,   -26,
-     -40,    -1,   -18,  -114,  -114,     2,    10,    11,    50,   -10,
-    -114,  -114,  -114,    45,     4,  -114,  -114,    77,   -35,    15,
-      84,    19,    22,    20,    15,  -114,    85,  -114,    25,  -114,
-      19,  -114,  -114,    15,  -114,  -114,    28,    52,  -114,  -114,
-      26,    29,  -114,  -114,  -114,   -38,  -114,    89,    60,  -114,
-     -56,   -49,  -114,  -114,  -114,  -114,  -114,    82,  -114,    -3,
-     -67,  -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,
-    -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,   -19,
-    -114,  -114,  -114,  -114,   -41,    35,    49,    55,    81,    55,
-    -114,  -114,    66,    44,   -73,    91,    82,   -71,    56,  -114,
-    -114,  -114,    61,    93,     9,  -114,  -114,  -114,    82,  -114,
-      63,    82,   -79,   -13,  -114,    59,    47,  -114,    58,  -114,
-      71,  -114,  -114,  -114,  -114,  -114,  -114,   -72,  -114,  -114,
-    -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,   -77,  -114,
-    -114,  -114,   -62,    82,    56,  -114,   -48,    65,  -114,   144,
-      82,   145,    72,  -114,  -114,  -114,    56,    74,   -47,  -114,
-      56,   -55,  -114,    93,  -114,    69,   -23,  -114,    93,    51,
-    -114,  -114,  -114,    56,  -114,  -114,    78,   -14,    93,  -114,
-      87,    63,  -114,  -114,  -114,  -114,    80,  -114,  -114,    90,
-      92,    95,    76,   162,  -114,    96,  -114,  -114,  -114,  -114,
-    -114,  -114,    93,  -114,  -114
+     -43,   -56,    47,   -65,    29,  -119,  -119,   -31,  -119,   -25,
+     -65,     4,    -1,  -119,  -119,    17,    20,    26,    50,    13,
+    -119,  -119,  -119,    63,    24,  -119,  -119,   104,     8,    -2,
+      89,    74,  -119,    33,    25,  -119,    34,    39,    34,  -119,
+      37,    34,  -119,    98,    58,  -119,    39,  -119,  -119,  -119,
+    -119,  -119,    52,    66,  -119,  -119,    51,    53,  -119,  -119,
+    -119,   -79,  -119,   109,    81,  -119,   -60,   -48,  -119,  -119,
+    -119,  -119,  -119,   107,  -119,     2,   -74,  -119,  -119,  -119,
+    -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,
+    -119,  -119,  -119,  -119,  -119,   -18,  -119,  -119,  -119,   -56,
+      55,    65,    67,   -12,    67,  -119,  -119,    86,    68,   -70,
+     102,   107,   -69,    69,  -119,  -119,  -119,    73,    40,    10,
+    -119,  -119,  -119,   107,  -119,    71,   107,   -47,   -13,  -119,
+      72,    75,  -119,    70,  -119,    80,  -119,  -119,  -119,  -119,
+    -119,  -119,   -71,  -119,  -119,  -119,  -119,  -119,  -119,  -119,
+    -119,  -119,  -119,   -46,  -119,  -119,  -119,   -39,   107,    69,
+    -119,   -38,    76,  -119,   155,   107,   157,    77,  -119,  -119,
+    -119,    69,    82,   -10,  -119,    69,   -22,  -119,    40,  -119,
+      87,    19,  -119,    40,     9,  -119,  -119,  -119,    69,  -119,
+    -119,    83,   -19,    40,  -119,    90,    71,  -119,  -119,  -119,
+    -119,    85,  -119,  -119,    88,    94,    96,    95,   163,  -119,
+      99,  -119,  -119,  -119,  -119,  -119,  -119,    40,  -119,  -119
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,   143,   140,
-    -114,   141,  -114,   -66,  -114,  -114,    83,  -114,    94,    14,
-    -114,  -114,  -114,  -114,  -114,  -114,    97,  -114,  -114,  -114,
-    -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,
-    -114,  -114,  -114,  -114,  -114,  -114,  -114,  -114,   -84,  -114,
-      21,  -114,     0,   100,     1,   185,  -114,  -113,  -114,  -114,
-    -114,  -114,  -114,  -114,  -114,    23,  -114,  -114
+    -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,   141,  -119,
+     137,  -119,   -15,  -119,   -72,  -119,  -119,    91,  -119,    92,
+      14,  -119,  -119,  -119,  -119,  -119,  -119,    84,  -119,  -119,
+    -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,
+    -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,  -119,   -82,
+    -119,    18,  -119,     5,   101,     1,   187,  -119,  -118,  -119,
+    -119,  -119,  -119,  -119,  -119,  -119,    22,  -119,  -119
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -13
+#define YYTABLE_NINF -11
 static const yytype_int16 yytable[] =
 {
-     158,   108,     5,   109,   106,    29,    15,   173,   116,   203,
-     103,   179,   171,   121,   176,   121,   172,   113,   181,   117,
-     152,   180,   151,   156,   155,   114,    16,   159,   160,   171,
-     193,   121,   161,   182,    47,    48,    49,    17,   104,    50,
-     154,   174,     1,   171,   191,   107,     7,   184,   192,     8,
-      51,   -12,   166,     3,    98,   170,    99,   110,    52,    53,
-     195,    54,   197,   125,     6,   199,   201,    11,    55,    13,
-      12,    19,    20,   111,    56,   204,    57,    58,   114,    23,
-      21,    22,   129,    25,    26,    28,    59,   183,    27,    60,
-      61,    47,    48,    49,   187,     5,    50,   200,    62,   214,
-     131,    32,    63,    64,    65,    38,    66,    51,    37,    67,
-      44,    68,   129,    43,    94,    52,    53,    46,    54,    95,
-      96,    69,   132,    97,   129,    55,   101,   102,   130,   120,
-     131,    56,   103,    57,    58,   121,    98,   133,   176,   134,
-     135,   125,   131,    59,   153,     3,    60,    61,   114,   167,
-     157,   175,   132,   177,   178,    62,   186,   188,   135,    63,
-      64,    65,   185,    66,   132,   189,   190,   133,    68,   134,
-     135,   211,   202,   207,   212,     3,   205,    45,    69,   133,
-      92,   134,   135,   208,    93,   209,   150,     3,   210,   213,
-     198,   206,   194,   148,   119,    14,     0,     0,   196,   149
+     163,   113,     5,    32,   208,   111,   108,   178,   114,   121,
+     118,    15,   184,   103,    34,   104,   126,   126,   119,   134,
+     122,     7,   185,    49,     8,   156,   160,   157,   164,   165,
+     161,    16,   -10,   166,   109,   135,    29,   136,     3,   159,
+     134,   179,    17,     1,   176,   181,   112,     6,   177,   186,
+      11,   171,   176,   176,   175,   205,   187,   189,   136,   137,
+     200,    12,   115,   198,   126,   204,   206,    53,    54,    55,
+      13,   134,    56,   119,   138,   209,   139,   140,   116,    23,
+     137,   196,     3,    57,    33,   197,   188,    20,    19,   136,
+      21,    58,    59,   192,    60,   138,    22,   139,   140,   219,
+       5,    61,    26,     3,   202,   130,    25,    62,    27,    63,
+      64,   137,    28,    35,    36,    39,    53,    54,    55,    65,
+      33,    56,    66,    67,    38,    44,   138,    50,   139,   140,
+      52,    68,    57,   100,     3,    69,    70,    71,    99,    72,
+      58,    59,    73,    60,    74,   101,   106,   102,   107,   125,
+      61,   126,   108,   130,    75,   158,    62,   172,    63,    64,
+     103,   119,   162,   183,   180,   182,   181,   191,    65,   193,
+     194,    66,    67,   190,   195,   217,   140,   207,   212,   210,
+      68,   213,    51,    98,    69,    70,    71,   214,    72,   215,
+     216,   154,   218,    74,   199,   203,   153,    14,     0,   155,
+     124,   211,   201,    75
 };
 
 static const yytype_int16 yycheck[] =
 {
-     113,    67,     1,     6,    53,    40,     7,    20,    27,    23,
-      66,    83,    91,    86,    91,    86,    95,    84,    95,    38,
-     104,    93,    95,   107,    95,    92,    27,    18,    19,    91,
-      85,    86,    23,    95,     9,    10,    11,    38,    94,    14,
-     106,    54,    86,    91,    91,    94,    86,    95,    95,    89,
-      25,    86,   118,    94,    92,   121,    94,    60,    33,    34,
-     173,    36,    85,    86,     0,   178,   179,    21,    43,    95,
-      92,    89,    70,    76,    49,   188,    51,    52,    92,    29,
-      70,    70,    31,    93,    39,     8,    61,   153,    84,    64,
-      65,     9,    10,    11,   160,    94,    14,    46,    73,   212,
-      49,    86,    77,    78,    79,    86,    81,    25,    24,    84,
-      90,    86,    31,    91,    86,    33,    34,    32,    36,    67,
-      94,    96,    71,    94,    31,    43,    37,    67,    47,    94,
-      49,    49,    66,    51,    52,    86,    92,    86,    91,    88,
-      89,    86,    49,    61,    53,    94,    64,    65,    92,    86,
-      89,    92,    71,    95,    83,    73,    12,    12,    89,    77,
-      78,    79,    97,    81,    71,    93,    92,    86,    86,    88,
-      89,    95,    94,    93,    12,    94,    89,    34,    96,    86,
-      40,    88,    89,    93,    43,    93,   103,    94,    93,    93,
-     176,   191,   171,    99,    94,    10,    -1,    -1,   175,   102
+     118,    73,     1,     5,    23,    53,    66,    20,     6,    27,
+      84,     7,    83,    92,    29,    94,    86,    86,    92,    31,
+      38,    86,    93,    38,    89,    95,    95,   109,    18,    19,
+     112,    27,    24,    23,    94,    47,    28,    49,    94,   111,
+      31,    54,    38,    86,    91,    91,    94,     0,    95,    95,
+      21,   123,    91,    91,   126,    46,    95,    95,    49,    71,
+     178,    92,    60,    85,    86,   183,   184,     9,    10,    11,
+      95,    31,    14,    92,    86,   193,    88,    89,    76,    29,
+      71,    91,    94,    25,    86,    95,   158,    70,    89,    49,
+      70,    33,    34,   165,    36,    86,    70,    88,    89,   217,
+      99,    43,    39,    94,    85,    86,    93,    49,    84,    51,
+      52,    71,     8,    24,    40,    90,     9,    10,    11,    61,
+      86,    14,    64,    65,    91,    86,    86,    90,    88,    89,
+      32,    73,    25,    67,    94,    77,    78,    79,    86,    81,
+      33,    34,    84,    36,    86,    94,    37,    94,    67,    94,
+      43,    86,    66,    86,    96,    53,    49,    86,    51,    52,
+      92,    92,    89,    83,    92,    95,    91,    12,    61,    12,
+      93,    64,    65,    97,    92,    12,    89,    94,    93,    89,
+      73,    93,    41,    46,    77,    78,    79,    93,    81,    93,
+      95,   107,    93,    86,   176,   181,   104,    10,    -1,   108,
+      99,   196,   180,    96
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,    86,    99,    94,   151,   152,     0,    86,    89,   153,
-     154,    21,    92,    95,   153,     7,    27,    38,   100,    89,
-      70,    70,    70,    29,   101,    93,    39,    84,     8,    40,
-     102,   103,    86,   104,   105,   106,   109,    24,    86,   107,
-     108,   110,   143,    91,    90,   106,    32,     9,    10,    11,
-      14,    25,    33,    34,    36,    43,    49,    51,    52,    61,
-      64,    65,    73,    77,    78,    79,    81,    84,    86,    96,
-     111,   112,   113,   115,   118,   120,   121,   122,   123,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   139,   140,
-     144,   145,   107,   109,    86,    67,    94,    94,    92,    94,
-     114,    37,    67,    66,    94,   124,    53,    94,   111,     6,
-      60,    76,   141,    84,    92,   134,    27,    38,   142,   151,
-      94,    86,   146,   147,   148,    86,   116,   117,   119,    31,
-      47,    49,    71,    86,    88,    89,   152,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   116,   124,
-     114,    95,   146,    53,   111,    95,   146,    89,   155,    18,
-      19,    23,   135,   136,   137,   138,   111,    86,   149,   150,
-     111,    91,    95,    20,    54,    92,    91,    95,    83,    83,
-      93,    95,    95,   111,    95,    97,    12,   111,    12,    93,
-      92,    91,    95,    85,   148,   155,   163,    85,   117,   155,
-      46,   155,    94,    23,   155,    89,   150,    93,    93,    93,
-      93,    95,    12,    93,   155
+       0,    86,    99,    94,   152,   153,     0,    86,    89,   154,
+     155,    21,    92,    95,   154,     7,    27,    38,   100,    89,
+      70,    70,    70,    29,   101,    93,    39,    84,     8,    28,
+     102,   107,     5,    86,   110,    24,    40,   103,    91,    90,
+     104,   105,   106,   110,    86,   108,   109,   111,   144,   110,
+      90,   106,    32,     9,    10,    11,    14,    25,    33,    34,
+      36,    43,    49,    51,    52,    61,    64,    65,    73,    77,
+      78,    79,    81,    84,    86,    96,   112,   113,   114,   116,
+     119,   121,   122,   123,   124,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   140,   141,   145,   146,   108,    86,
+      67,    94,    94,    92,    94,   115,    37,    67,    66,    94,
+     125,    53,    94,   112,     6,    60,    76,   142,    84,    92,
+     135,    27,    38,   143,   152,    94,    86,   147,   148,   149,
+      86,   117,   118,   120,    31,    47,    49,    71,    86,    88,
+      89,   153,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   117,   125,   115,    95,   147,    53,   112,
+      95,   147,    89,   156,    18,    19,    23,   136,   137,   138,
+     139,   112,    86,   150,   151,   112,    91,    95,    20,    54,
+      92,    91,    95,    83,    83,    93,    95,    95,   112,    95,
+      97,    12,   112,    12,    93,    92,    91,    95,    85,   149,
+     156,   164,    85,   118,   156,    46,   156,    94,    23,   156,
+      89,   151,    93,    93,    93,    93,    95,    12,    93,   156
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1776,7 +1784,7 @@ yyreduce:
         case 2:
 
 /* Line 1455 of yacc.c  */
-#line 235 "heimdal/lib/asn1/asn1parse.y"
+#line 237 "heimdal/lib/asn1/asn1parse.y"
     {
                        checkundefined();
                }
@@ -1785,42 +1793,54 @@ yyreduce:
   case 4:
 
 /* Line 1455 of yacc.c  */
-#line 242 "heimdal/lib/asn1/asn1parse.y"
+#line 244 "heimdal/lib/asn1/asn1parse.y"
     { error_message("implicit tagging is not supported"); }
     break;
 
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 244 "heimdal/lib/asn1/asn1parse.y"
+#line 246 "heimdal/lib/asn1/asn1parse.y"
     { error_message("automatic tagging is not supported"); }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 249 "heimdal/lib/asn1/asn1parse.y"
+#line 251 "heimdal/lib/asn1/asn1parse.y"
     { error_message("no extensibility options supported"); }
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 270 "heimdal/lib/asn1/asn1parse.y"
+#line 272 "heimdal/lib/asn1/asn1parse.y"
     {
                    struct string_list *sl;
                    for(sl = (yyvsp[(1) - (4)].sl); sl != NULL; sl = sl->next) {
                        Symbol *s = addsym(sl->string);
                        s->stype = Stype;
+                       gen_template_import(s);
                    }
                    add_import((yyvsp[(3) - (4)].name));
                }
     break;
 
-  case 22:
+  case 18:
+
+/* Line 1455 of yacc.c  */
+#line 284 "heimdal/lib/asn1/asn1parse.y"
+    {
+                   struct string_list *sl;
+                   for(sl = (yyvsp[(2) - (3)].sl); sl != NULL; sl = sl->next)
+                       add_export(sl->string);
+               }
+    break;
+
+  case 25:
 
 /* Line 1455 of yacc.c  */
-#line 289 "heimdal/lib/asn1/asn1parse.y"
+#line 302 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.sl) = emalloc(sizeof(*(yyval.sl)));
                    (yyval.sl)->string = (yyvsp[(1) - (3)].name);
@@ -1828,10 +1848,10 @@ yyreduce:
                }
     break;
 
-  case 23:
+  case 26:
 
 /* Line 1455 of yacc.c  */
-#line 295 "heimdal/lib/asn1/asn1parse.y"
+#line 308 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.sl) = emalloc(sizeof(*(yyval.sl)));
                    (yyval.sl)->string = (yyvsp[(1) - (1)].name);
@@ -1839,10 +1859,10 @@ yyreduce:
                }
     break;
 
-  case 24:
+  case 27:
 
 /* Line 1455 of yacc.c  */
-#line 303 "heimdal/lib/asn1/asn1parse.y"
+#line 316 "heimdal/lib/asn1/asn1parse.y"
     {
                    Symbol *s = addsym ((yyvsp[(1) - (3)].name));
                    s->stype = Stype;
@@ -1852,20 +1872,20 @@ yyreduce:
                }
     break;
 
-  case 42:
+  case 45:
 
 /* Line 1455 of yacc.c  */
-#line 334 "heimdal/lib/asn1/asn1parse.y"
+#line 347 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Boolean,
                                     TE_EXPLICIT, new_type(TBoolean));
                }
     break;
 
-  case 43:
+  case 46:
 
 /* Line 1455 of yacc.c  */
-#line 341 "heimdal/lib/asn1/asn1parse.y"
+#line 354 "heimdal/lib/asn1/asn1parse.y"
     {
                    if((yyvsp[(2) - (5)].value)->type != integervalue)
                        error_message("Non-integer used in first part of range");
@@ -1877,10 +1897,10 @@ yyreduce:
                }
     break;
 
-  case 44:
+  case 47:
 
 /* Line 1455 of yacc.c  */
-#line 351 "heimdal/lib/asn1/asn1parse.y"
+#line 364 "heimdal/lib/asn1/asn1parse.y"
     {  
                    if((yyvsp[(2) - (5)].value)->type != integervalue)
                        error_message("Non-integer in first part of range");
@@ -1890,10 +1910,10 @@ yyreduce:
                }
     break;
 
-  case 45:
+  case 48:
 
 /* Line 1455 of yacc.c  */
-#line 359 "heimdal/lib/asn1/asn1parse.y"
+#line 372 "heimdal/lib/asn1/asn1parse.y"
     {  
                    if((yyvsp[(4) - (5)].value)->type != integervalue)
                        error_message("Non-integer in second part of range");
@@ -1903,10 +1923,10 @@ yyreduce:
                }
     break;
 
-  case 46:
+  case 49:
 
 /* Line 1455 of yacc.c  */
-#line 367 "heimdal/lib/asn1/asn1parse.y"
+#line 380 "heimdal/lib/asn1/asn1parse.y"
     {
                    if((yyvsp[(2) - (3)].value)->type != integervalue)
                        error_message("Non-integer used in limit");
@@ -1916,20 +1936,20 @@ yyreduce:
                }
     break;
 
-  case 47:
+  case 50:
 
 /* Line 1455 of yacc.c  */
-#line 378 "heimdal/lib/asn1/asn1parse.y"
+#line 391 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Integer,
                                     TE_EXPLICIT, new_type(TInteger));
                }
     break;
 
-  case 48:
+  case 51:
 
 /* Line 1455 of yacc.c  */
-#line 383 "heimdal/lib/asn1/asn1parse.y"
+#line 396 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_type(TInteger);
                        (yyval.type)->range = (yyvsp[(2) - (2)].range);
@@ -1937,10 +1957,10 @@ yyreduce:
                }
     break;
 
-  case 49:
+  case 52:
 
 /* Line 1455 of yacc.c  */
-#line 389 "heimdal/lib/asn1/asn1parse.y"
+#line 402 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TInteger);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -1948,10 +1968,10 @@ yyreduce:
                }
     break;
 
-  case 50:
+  case 53:
 
 /* Line 1455 of yacc.c  */
-#line 397 "heimdal/lib/asn1/asn1parse.y"
+#line 410 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -1959,27 +1979,27 @@ yyreduce:
                }
     break;
 
-  case 51:
+  case 54:
 
 /* Line 1455 of yacc.c  */
-#line 403 "heimdal/lib/asn1/asn1parse.y"
+#line 416 "heimdal/lib/asn1/asn1parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
                }
     break;
 
-  case 52:
+  case 55:
 
 /* Line 1455 of yacc.c  */
-#line 408 "heimdal/lib/asn1/asn1parse.y"
+#line 421 "heimdal/lib/asn1/asn1parse.y"
     { (yyval.members) = (yyvsp[(1) - (3)].members); }
     break;
 
-  case 53:
+  case 56:
 
 /* Line 1455 of yacc.c  */
-#line 412 "heimdal/lib/asn1/asn1parse.y"
+#line 425 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.member) = emalloc(sizeof(*(yyval.member)));
                        (yyval.member)->name = (yyvsp[(1) - (4)].name);
@@ -1992,10 +2012,10 @@ yyreduce:
                }
     break;
 
-  case 54:
+  case 57:
 
 /* Line 1455 of yacc.c  */
-#line 425 "heimdal/lib/asn1/asn1parse.y"
+#line 438 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TInteger);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2003,10 +2023,10 @@ yyreduce:
                }
     break;
 
-  case 56:
+  case 59:
 
 /* Line 1455 of yacc.c  */
-#line 436 "heimdal/lib/asn1/asn1parse.y"
+#line 449 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TBitString);
                  (yyval.type)->members = emalloc(sizeof(*(yyval.type)->members));
@@ -2015,10 +2035,10 @@ yyreduce:
                }
     break;
 
-  case 57:
+  case 60:
 
 /* Line 1455 of yacc.c  */
-#line 443 "heimdal/lib/asn1/asn1parse.y"
+#line 456 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TBitString);
                  (yyval.type)->members = (yyvsp[(4) - (5)].members);
@@ -2026,20 +2046,20 @@ yyreduce:
                }
     break;
 
-  case 58:
+  case 61:
 
 /* Line 1455 of yacc.c  */
-#line 451 "heimdal/lib/asn1/asn1parse.y"
+#line 464 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_OID,
                                     TE_EXPLICIT, new_type(TOID));
                }
     break;
 
-  case 59:
+  case 62:
 
 /* Line 1455 of yacc.c  */
-#line 457 "heimdal/lib/asn1/asn1parse.y"
+#line 470 "heimdal/lib/asn1/asn1parse.y"
     {
                    Type *t = new_type(TOctetString);
                    t->range = (yyvsp[(3) - (3)].range);
@@ -2048,34 +2068,34 @@ yyreduce:
                }
     break;
 
-  case 60:
+  case 63:
 
 /* Line 1455 of yacc.c  */
-#line 466 "heimdal/lib/asn1/asn1parse.y"
+#line 479 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Null,
                                     TE_EXPLICIT, new_type(TNull));
                }
     break;
 
-  case 61:
+  case 64:
 
 /* Line 1455 of yacc.c  */
-#line 473 "heimdal/lib/asn1/asn1parse.y"
+#line 486 "heimdal/lib/asn1/asn1parse.y"
     { (yyval.range) = NULL; }
     break;
 
-  case 62:
+  case 65:
 
 /* Line 1455 of yacc.c  */
-#line 475 "heimdal/lib/asn1/asn1parse.y"
+#line 488 "heimdal/lib/asn1/asn1parse.y"
     { (yyval.range) = (yyvsp[(2) - (2)].range); }
     break;
 
-  case 63:
+  case 66:
 
 /* Line 1455 of yacc.c  */
-#line 480 "heimdal/lib/asn1/asn1parse.y"
+#line 493 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSequence);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2083,10 +2103,10 @@ yyreduce:
                }
     break;
 
-  case 64:
+  case 67:
 
 /* Line 1455 of yacc.c  */
-#line 486 "heimdal/lib/asn1/asn1parse.y"
+#line 499 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSequence);
                  (yyval.type)->members = NULL;
@@ -2094,10 +2114,10 @@ yyreduce:
                }
     break;
 
-  case 65:
+  case 68:
 
 /* Line 1455 of yacc.c  */
-#line 494 "heimdal/lib/asn1/asn1parse.y"
+#line 507 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSequenceOf);
                  (yyval.type)->range = (yyvsp[(2) - (4)].range);
@@ -2106,10 +2126,10 @@ yyreduce:
                }
     break;
 
-  case 66:
+  case 69:
 
 /* Line 1455 of yacc.c  */
-#line 503 "heimdal/lib/asn1/asn1parse.y"
+#line 516 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSet);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2117,10 +2137,10 @@ yyreduce:
                }
     break;
 
-  case 67:
+  case 70:
 
 /* Line 1455 of yacc.c  */
-#line 509 "heimdal/lib/asn1/asn1parse.y"
+#line 522 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSet);
                  (yyval.type)->members = NULL;
@@ -2128,10 +2148,10 @@ yyreduce:
                }
     break;
 
-  case 68:
+  case 71:
 
 /* Line 1455 of yacc.c  */
-#line 517 "heimdal/lib/asn1/asn1parse.y"
+#line 530 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TSetOf);
                  (yyval.type)->subtype = (yyvsp[(3) - (3)].type);
@@ -2139,20 +2159,20 @@ yyreduce:
                }
     break;
 
-  case 69:
+  case 72:
 
 /* Line 1455 of yacc.c  */
-#line 525 "heimdal/lib/asn1/asn1parse.y"
+#line 538 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.type) = new_type(TChoice);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
                }
     break;
 
-  case 72:
+  case 75:
 
 /* Line 1455 of yacc.c  */
-#line 536 "heimdal/lib/asn1/asn1parse.y"
+#line 549 "heimdal/lib/asn1/asn1parse.y"
     {
                  Symbol *s = addsym((yyvsp[(1) - (1)].name));
                  (yyval.type) = new_type(TType);
@@ -2163,30 +2183,30 @@ yyreduce:
                }
     break;
 
-  case 73:
+  case 76:
 
 /* Line 1455 of yacc.c  */
-#line 547 "heimdal/lib/asn1/asn1parse.y"
+#line 560 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralizedTime,
                                     TE_EXPLICIT, new_type(TGeneralizedTime));
                }
     break;
 
-  case 74:
+  case 77:
 
 /* Line 1455 of yacc.c  */
-#line 552 "heimdal/lib/asn1/asn1parse.y"
+#line 565 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UTCTime,
                                     TE_EXPLICIT, new_type(TUTCTime));
                }
     break;
 
-  case 75:
+  case 78:
 
 /* Line 1455 of yacc.c  */
-#line 559 "heimdal/lib/asn1/asn1parse.y"
+#line 572 "heimdal/lib/asn1/asn1parse.y"
     {
                    /* if (Constraint.type == contentConstrant) {
                       assert(Constraint.u.constraint.type == octetstring|bitstring-w/o-NamedBitList); // remember to check type reference too
@@ -2201,19 +2221,19 @@ yyreduce:
                }
     break;
 
-  case 76:
+  case 79:
 
 /* Line 1455 of yacc.c  */
-#line 575 "heimdal/lib/asn1/asn1parse.y"
+#line 588 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.constraint_spec) = (yyvsp[(2) - (3)].constraint_spec);
                }
     break;
 
-  case 80:
+  case 83:
 
 /* Line 1455 of yacc.c  */
-#line 588 "heimdal/lib/asn1/asn1parse.y"
+#line 601 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.constraint_spec) = new_constraint_spec(CT_CONTENTS);
                    (yyval.constraint_spec)->u.content.type = (yyvsp[(2) - (2)].type);
@@ -2221,10 +2241,10 @@ yyreduce:
                }
     break;
 
-  case 81:
+  case 84:
 
 /* Line 1455 of yacc.c  */
-#line 594 "heimdal/lib/asn1/asn1parse.y"
+#line 607 "heimdal/lib/asn1/asn1parse.y"
     {
                    if ((yyvsp[(3) - (3)].value)->type != objectidentifiervalue)
                        error_message("Non-OID used in ENCODED BY constraint");
@@ -2234,10 +2254,10 @@ yyreduce:
                }
     break;
 
-  case 82:
+  case 85:
 
 /* Line 1455 of yacc.c  */
-#line 602 "heimdal/lib/asn1/asn1parse.y"
+#line 615 "heimdal/lib/asn1/asn1parse.y"
     {
                    if ((yyvsp[(5) - (5)].value)->type != objectidentifiervalue)
                        error_message("Non-OID used in ENCODED BY constraint");
@@ -2247,19 +2267,19 @@ yyreduce:
                }
     break;
 
-  case 83:
+  case 86:
 
 /* Line 1455 of yacc.c  */
-#line 612 "heimdal/lib/asn1/asn1parse.y"
+#line 625 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.constraint_spec) = new_constraint_spec(CT_USER);
                }
     break;
 
-  case 84:
+  case 87:
 
 /* Line 1455 of yacc.c  */
-#line 618 "heimdal/lib/asn1/asn1parse.y"
+#line 631 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_type(TTag);
                        (yyval.type)->tag = (yyvsp[(1) - (3)].tag);
@@ -2272,10 +2292,10 @@ yyreduce:
                }
     break;
 
-  case 85:
+  case 88:
 
 /* Line 1455 of yacc.c  */
-#line 631 "heimdal/lib/asn1/asn1parse.y"
+#line 644 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.tag).tagclass = (yyvsp[(2) - (4)].constant);
                        (yyval.tag).tagvalue = (yyvsp[(3) - (4)].constant);
@@ -2283,73 +2303,73 @@ yyreduce:
                }
     break;
 
-  case 86:
+  case 89:
 
 /* Line 1455 of yacc.c  */
-#line 639 "heimdal/lib/asn1/asn1parse.y"
+#line 652 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = ASN1_C_CONTEXT;
                }
     break;
 
-  case 87:
+  case 90:
 
 /* Line 1455 of yacc.c  */
-#line 643 "heimdal/lib/asn1/asn1parse.y"
+#line 656 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = ASN1_C_UNIV;
                }
     break;
 
-  case 88:
+  case 91:
 
 /* Line 1455 of yacc.c  */
-#line 647 "heimdal/lib/asn1/asn1parse.y"
+#line 660 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = ASN1_C_APPL;
                }
     break;
 
-  case 89:
+  case 92:
 
 /* Line 1455 of yacc.c  */
-#line 651 "heimdal/lib/asn1/asn1parse.y"
+#line 664 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = ASN1_C_PRIVATE;
                }
     break;
 
-  case 90:
+  case 93:
 
 /* Line 1455 of yacc.c  */
-#line 657 "heimdal/lib/asn1/asn1parse.y"
+#line 670 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = TE_EXPLICIT;
                }
     break;
 
-  case 91:
+  case 94:
 
 /* Line 1455 of yacc.c  */
-#line 661 "heimdal/lib/asn1/asn1parse.y"
+#line 674 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = TE_EXPLICIT;
                }
     break;
 
-  case 92:
+  case 95:
 
 /* Line 1455 of yacc.c  */
-#line 665 "heimdal/lib/asn1/asn1parse.y"
+#line 678 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.constant) = TE_IMPLICIT;
                }
     break;
 
-  case 93:
+  case 96:
 
 /* Line 1455 of yacc.c  */
-#line 672 "heimdal/lib/asn1/asn1parse.y"
+#line 685 "heimdal/lib/asn1/asn1parse.y"
     {
                        Symbol *s;
                        s = addsym ((yyvsp[(1) - (4)].name));
@@ -2360,90 +2380,90 @@ yyreduce:
                }
     break;
 
-  case 95:
+  case 98:
 
 /* Line 1455 of yacc.c  */
-#line 686 "heimdal/lib/asn1/asn1parse.y"
+#line 699 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralString,
                                     TE_EXPLICIT, new_type(TGeneralString));
                }
     break;
 
-  case 96:
+  case 99:
 
 /* Line 1455 of yacc.c  */
-#line 691 "heimdal/lib/asn1/asn1parse.y"
+#line 704 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_TeletexString,
                                     TE_EXPLICIT, new_type(TTeletexString));
                }
     break;
 
-  case 97:
+  case 100:
 
 /* Line 1455 of yacc.c  */
-#line 696 "heimdal/lib/asn1/asn1parse.y"
+#line 709 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UTF8String,
                                     TE_EXPLICIT, new_type(TUTF8String));
                }
     break;
 
-  case 98:
+  case 101:
 
 /* Line 1455 of yacc.c  */
-#line 701 "heimdal/lib/asn1/asn1parse.y"
+#line 714 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_PrintableString,
                                     TE_EXPLICIT, new_type(TPrintableString));
                }
     break;
 
-  case 99:
+  case 102:
 
 /* Line 1455 of yacc.c  */
-#line 706 "heimdal/lib/asn1/asn1parse.y"
+#line 719 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_VisibleString,
                                     TE_EXPLICIT, new_type(TVisibleString));
                }
     break;
 
-  case 100:
+  case 103:
 
 /* Line 1455 of yacc.c  */
-#line 711 "heimdal/lib/asn1/asn1parse.y"
+#line 724 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_IA5String,
                                     TE_EXPLICIT, new_type(TIA5String));
                }
     break;
 
-  case 101:
+  case 104:
 
 /* Line 1455 of yacc.c  */
-#line 716 "heimdal/lib/asn1/asn1parse.y"
+#line 729 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_BMPString,
                                     TE_EXPLICIT, new_type(TBMPString));
                }
     break;
 
-  case 102:
+  case 105:
 
 /* Line 1455 of yacc.c  */
-#line 721 "heimdal/lib/asn1/asn1parse.y"
+#line 734 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UniversalString,
                                     TE_EXPLICIT, new_type(TUniversalString));
                }
     break;
 
-  case 103:
+  case 106:
 
 /* Line 1455 of yacc.c  */
-#line 729 "heimdal/lib/asn1/asn1parse.y"
+#line 742 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -2451,20 +2471,20 @@ yyreduce:
                }
     break;
 
-  case 104:
+  case 107:
 
 /* Line 1455 of yacc.c  */
-#line 735 "heimdal/lib/asn1/asn1parse.y"
+#line 748 "heimdal/lib/asn1/asn1parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
                }
     break;
 
-  case 105:
+  case 108:
 
 /* Line 1455 of yacc.c  */
-#line 740 "heimdal/lib/asn1/asn1parse.y"
+#line 753 "heimdal/lib/asn1/asn1parse.y"
     {
                        struct member *m = ecalloc(1, sizeof(*m));
                        m->name = estrdup("...");
@@ -2475,10 +2495,10 @@ yyreduce:
                }
     break;
 
-  case 106:
+  case 109:
 
 /* Line 1455 of yacc.c  */
-#line 751 "heimdal/lib/asn1/asn1parse.y"
+#line 764 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.member) = emalloc(sizeof(*(yyval.member)));
                  (yyval.member)->name = (yyvsp[(1) - (2)].name);
@@ -2489,10 +2509,10 @@ yyreduce:
                }
     break;
 
-  case 107:
+  case 110:
 
 /* Line 1455 of yacc.c  */
-#line 762 "heimdal/lib/asn1/asn1parse.y"
+#line 775 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (1)].member);
                        (yyval.member)->optional = 0;
@@ -2500,10 +2520,10 @@ yyreduce:
                }
     break;
 
-  case 108:
+  case 111:
 
 /* Line 1455 of yacc.c  */
-#line 768 "heimdal/lib/asn1/asn1parse.y"
+#line 781 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (2)].member);
                        (yyval.member)->optional = 1;
@@ -2511,10 +2531,10 @@ yyreduce:
                }
     break;
 
-  case 109:
+  case 112:
 
 /* Line 1455 of yacc.c  */
-#line 774 "heimdal/lib/asn1/asn1parse.y"
+#line 787 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (3)].member);
                        (yyval.member)->optional = 0;
@@ -2522,10 +2542,10 @@ yyreduce:
                }
     break;
 
-  case 110:
+  case 113:
 
 /* Line 1455 of yacc.c  */
-#line 782 "heimdal/lib/asn1/asn1parse.y"
+#line 795 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -2533,20 +2553,20 @@ yyreduce:
                }
     break;
 
-  case 111:
+  case 114:
 
 /* Line 1455 of yacc.c  */
-#line 788 "heimdal/lib/asn1/asn1parse.y"
+#line 801 "heimdal/lib/asn1/asn1parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
                }
     break;
 
-  case 112:
+  case 115:
 
 /* Line 1455 of yacc.c  */
-#line 795 "heimdal/lib/asn1/asn1parse.y"
+#line 808 "heimdal/lib/asn1/asn1parse.y"
     {
                  (yyval.member) = emalloc(sizeof(*(yyval.member)));
                  (yyval.member)->name = (yyvsp[(1) - (4)].name);
@@ -2559,35 +2579,35 @@ yyreduce:
                }
     break;
 
-  case 114:
+  case 117:
 
 /* Line 1455 of yacc.c  */
-#line 808 "heimdal/lib/asn1/asn1parse.y"
+#line 821 "heimdal/lib/asn1/asn1parse.y"
     { (yyval.objid) = NULL; }
     break;
 
-  case 115:
+  case 118:
 
 /* Line 1455 of yacc.c  */
-#line 812 "heimdal/lib/asn1/asn1parse.y"
+#line 825 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.objid) = (yyvsp[(2) - (3)].objid);
                }
     break;
 
-  case 116:
+  case 119:
 
 /* Line 1455 of yacc.c  */
-#line 818 "heimdal/lib/asn1/asn1parse.y"
+#line 831 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.objid) = NULL;
                }
     break;
 
-  case 117:
+  case 120:
 
 /* Line 1455 of yacc.c  */
-#line 822 "heimdal/lib/asn1/asn1parse.y"
+#line 835 "heimdal/lib/asn1/asn1parse.y"
     {
                        if ((yyvsp[(2) - (2)].objid)) {
                                (yyval.objid) = (yyvsp[(2) - (2)].objid);
@@ -2598,19 +2618,19 @@ yyreduce:
                }
     break;
 
-  case 118:
+  case 121:
 
 /* Line 1455 of yacc.c  */
-#line 833 "heimdal/lib/asn1/asn1parse.y"
+#line 846 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.objid) = new_objid((yyvsp[(1) - (4)].name), (yyvsp[(3) - (4)].constant));
                }
     break;
 
-  case 119:
+  case 122:
 
 /* Line 1455 of yacc.c  */
-#line 837 "heimdal/lib/asn1/asn1parse.y"
+#line 850 "heimdal/lib/asn1/asn1parse.y"
     {
                    Symbol *s = addsym((yyvsp[(1) - (1)].name));
                    if(s->stype != SValue ||
@@ -2623,19 +2643,19 @@ yyreduce:
                }
     break;
 
-  case 120:
+  case 123:
 
 /* Line 1455 of yacc.c  */
-#line 848 "heimdal/lib/asn1/asn1parse.y"
+#line 861 "heimdal/lib/asn1/asn1parse.y"
     {
                    (yyval.objid) = new_objid(NULL, (yyvsp[(1) - (1)].constant));
                }
     break;
 
-  case 130:
+  case 133:
 
 /* Line 1455 of yacc.c  */
-#line 871 "heimdal/lib/asn1/asn1parse.y"
+#line 884 "heimdal/lib/asn1/asn1parse.y"
     {
                        Symbol *s = addsym((yyvsp[(1) - (1)].name));
                        if(s->stype != SValue)
@@ -2646,10 +2666,10 @@ yyreduce:
                }
     break;
 
-  case 131:
+  case 134:
 
 /* Line 1455 of yacc.c  */
-#line 882 "heimdal/lib/asn1/asn1parse.y"
+#line 895 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = stringvalue;
@@ -2657,10 +2677,10 @@ yyreduce:
                }
     break;
 
-  case 132:
+  case 135:
 
 /* Line 1455 of yacc.c  */
-#line 890 "heimdal/lib/asn1/asn1parse.y"
+#line 903 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = booleanvalue;
@@ -2668,10 +2688,10 @@ yyreduce:
                }
     break;
 
-  case 133:
+  case 136:
 
 /* Line 1455 of yacc.c  */
-#line 896 "heimdal/lib/asn1/asn1parse.y"
+#line 909 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = booleanvalue;
@@ -2679,10 +2699,10 @@ yyreduce:
                }
     break;
 
-  case 134:
+  case 137:
 
 /* Line 1455 of yacc.c  */
-#line 904 "heimdal/lib/asn1/asn1parse.y"
+#line 917 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = integervalue;
@@ -2690,18 +2710,18 @@ yyreduce:
                }
     break;
 
-  case 136:
+  case 139:
 
 /* Line 1455 of yacc.c  */
-#line 915 "heimdal/lib/asn1/asn1parse.y"
+#line 928 "heimdal/lib/asn1/asn1parse.y"
     {
                }
     break;
 
-  case 137:
+  case 140:
 
 /* Line 1455 of yacc.c  */
-#line 920 "heimdal/lib/asn1/asn1parse.y"
+#line 933 "heimdal/lib/asn1/asn1parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = objectidentifiervalue;
@@ -2712,7 +2732,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2716 "heimdal/lib/asn1/asn1parse.y"
+#line 2736 "heimdal/lib/asn1/asn1parse.y"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2924,7 +2944,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 927 "heimdal/lib/asn1/asn1parse.y"
+#line 940 "heimdal/lib/asn1/asn1parse.y"
 
 
 void
index c20a903e75a6cca305dad3f09d1517ebe650c91b..dc3debb5c8d1c01e179ab6b94a6d21ae69d94c3d 100644 (file)
@@ -225,7 +225,7 @@ typedef union YYSTYPE
 {
 
 /* Line 1676 of yacc.c  */
-#line 65 "heimdal/lib/asn1/asn1parse.y"
+#line 67 "heimdal/lib/asn1/asn1parse.y"
 
     int constant;
     struct value *value;
index 257353fb05ba072b4b78961df72329c12fbda452..612d336168b3e4565d0c08efc8f143c19c6b642c 100644 (file)
@@ -54,6 +54,7 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
-#endif /* ! C99 */
-
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
 #define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -857,7 +848,7 @@ static unsigned lineno = 1;
 static void unterminated(const char *, unsigned);
 
 /* This is for broken old lexes (solaris 10 and hpux) */
-#line 860 "heimdal/lib/asn1/lex.c"
+#line 851 "heimdal/lib/asn1/lex.c"
 
 #define INITIAL 0
 
@@ -938,12 +929,7 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
 #define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -962,7 +948,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               unsigned n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1046,7 +1032,7 @@ YY_DECL
     
 #line 68 "lex.l"
 
-#line 1049 "heimdal/lib/asn1/lex.c"
+#line 1035 "heimdal/lib/asn1/lex.c"
 
        if ( !(yy_init) )
                {
@@ -1715,7 +1701,7 @@ YY_RULE_SETUP
 #line 274 "lex.l"
 ECHO;
        YY_BREAK
-#line 1718 "heimdal/lib/asn1/lex.c"
+#line 1704 "heimdal/lib/asn1/lex.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -2473,8 +2459,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
index 94d5934699be0bb2fdf5c35b47d2432c74703573..9afc27a6bed2a9b3278e7306f8a91d6ab6af77e6 100644 (file)
@@ -54,6 +54,7 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
-#endif /* ! C99 */
-
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
 #define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -536,7 +527,7 @@ static int getstring(void);
 
 #undef ECHO
 
-#line 539 "heimdal/lib/com_err/lex.c"
+#line 530 "heimdal/lib/com_err/lex.c"
 
 #define INITIAL 0
 
@@ -617,12 +608,7 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
 #define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -641,7 +627,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               unsigned n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -725,7 +711,7 @@ YY_DECL
     
 #line 57 "lex.l"
 
-#line 728 "heimdal/lib/com_err/lex.c"
+#line 714 "heimdal/lib/com_err/lex.c"
 
        if ( !(yy_init) )
                {
@@ -889,7 +875,7 @@ YY_RULE_SETUP
 #line 73 "lex.l"
 ECHO;
        YY_BREAK
-#line 892 "heimdal/lib/com_err/lex.c"
+#line 878 "heimdal/lib/com_err/lex.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1647,8 +1633,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
index 8182eecb9bac6ef969596096a85156617d5ddb31..cc2df17c109626b5bcdf44e07eefd14dbe0837b2 100644 (file)
@@ -54,6 +54,7 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
-#endif /* ! C99 */
-
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
 #define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -533,6 +524,10 @@ static int lex_input(char *, int);
 
 struct hx_expr_input _hx509_expr_input;
 
+#ifndef YY_NULL
+#define YY_NULL 0
+#endif
+
 #define YY_NO_UNPUT 1
 
 #undef YY_INPUT
@@ -540,7 +535,7 @@ struct hx_expr_input _hx509_expr_input;
 
 #undef ECHO
 
-#line 543 "heimdal/lib/hx509/sel-lex.c"
+#line 538 "heimdal/lib/hx509/sel-lex.c"
 
 #define INITIAL 0
 
@@ -621,12 +616,7 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
 #define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -645,7 +635,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               unsigned n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -727,10 +717,10 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 64 "sel-lex.l"
+#line 68 "sel-lex.l"
 
 
-#line 733 "heimdal/lib/hx509/sel-lex.c"
+#line 723 "heimdal/lib/hx509/sel-lex.c"
 
        if ( !(yy_init) )
                {
@@ -815,37 +805,37 @@ do_action:        /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 66 "sel-lex.l"
+#line 70 "sel-lex.l"
 { return kw_TRUE; }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 67 "sel-lex.l"
+#line 71 "sel-lex.l"
 { return kw_FALSE; }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 68 "sel-lex.l"
+#line 72 "sel-lex.l"
 { return kw_AND; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 69 "sel-lex.l"
+#line 73 "sel-lex.l"
 { return kw_OR; }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 70 "sel-lex.l"
+#line 74 "sel-lex.l"
 { return kw_IN; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 71 "sel-lex.l"
+#line 75 "sel-lex.l"
 { return kw_TAILMATCH; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 73 "sel-lex.l"
+#line 77 "sel-lex.l"
 {
                          yylval.string = strdup ((const char *)yytext);
                          return IDENTIFIER;
@@ -853,31 +843,31 @@ YY_RULE_SETUP
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 77 "sel-lex.l"
+#line 81 "sel-lex.l"
 { yylval.string = handle_string(); return STRING; }
        YY_BREAK
 case 9:
 /* rule 9 can match eol */
 YY_RULE_SETUP
-#line 78 "sel-lex.l"
+#line 82 "sel-lex.l"
 { ++lineno; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 79 "sel-lex.l"
+#line 83 "sel-lex.l"
 { return *yytext; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 80 "sel-lex.l"
+#line 84 "sel-lex.l"
 ;
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 81 "sel-lex.l"
+#line 85 "sel-lex.l"
 ECHO;
        YY_BREAK
-#line 880 "heimdal/lib/hx509/sel-lex.c"
+#line 870 "heimdal/lib/hx509/sel-lex.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1635,8 +1625,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
@@ -1875,7 +1865,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 81 "sel-lex.l"
+#line 85 "sel-lex.l"