asn1              748 lib/util/asn1.c 	struct asn1_data *asn1 = asn1_init(NULL);
asn1              751 lib/util/asn1.c 	NT_STATUS_HAVE_NO_MEMORY(asn1);
asn1              753 lib/util/asn1.c 	asn1->data = blob.data;
asn1              754 lib/util/asn1.c 	asn1->length = blob.length;
asn1              755 lib/util/asn1.c 	asn1_start_tag(asn1, tag);
asn1              756 lib/util/asn1.c 	if (asn1->has_error) {
asn1              757 lib/util/asn1.c 		talloc_free(asn1);
asn1              760 lib/util/asn1.c 	size = asn1_tag_remaining(asn1) + asn1->ofs;
asn1              762 lib/util/asn1.c 	talloc_free(asn1);
asn1               28 source3/libsmb/spnego.c static bool read_negTokenInit(TALLOC_CTX *mem_ctx, ASN1_DATA *asn1, negTokenInit_t *token)
asn1               32 source3/libsmb/spnego.c 	asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1               33 source3/libsmb/spnego.c 	asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1               35 source3/libsmb/spnego.c 	while (!asn1->has_error && 0 < asn1_tag_remaining(asn1)) {
asn1               38 source3/libsmb/spnego.c 		switch (asn1->data[asn1->ofs]) {
asn1               41 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1               42 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1               45 source3/libsmb/spnego.c 			for (i = 0; !asn1->has_error &&
asn1               46 source3/libsmb/spnego.c 				     0 < asn1_tag_remaining(asn1); i++) {
asn1               51 source3/libsmb/spnego.c 					asn1->has_error = True;
asn1               54 source3/libsmb/spnego.c 				asn1_read_OID(asn1, mem_ctx, &p_oid);
asn1               59 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1               60 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1               64 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1               65 source3/libsmb/spnego.c 			asn1_read_Integer(asn1, &token->reqFlags);
asn1               67 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1               71 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(2));
asn1               72 source3/libsmb/spnego.c 			asn1_read_OctetString(asn1, mem_ctx, &token->mechToken);
asn1               73 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1               77 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(3));
asn1               78 source3/libsmb/spnego.c 			if (asn1->data[asn1->ofs] == ASN1_OCTET_STRING) {
asn1               79 source3/libsmb/spnego.c 				asn1_read_OctetString(asn1, mem_ctx,
asn1               85 source3/libsmb/spnego.c 				asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1               86 source3/libsmb/spnego.c 				asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1               87 source3/libsmb/spnego.c 				asn1_read_GeneralString(asn1, mem_ctx, &mechListMIC);
asn1               88 source3/libsmb/spnego.c 				asn1_pop_tag(asn1);
asn1               89 source3/libsmb/spnego.c 				asn1_pop_tag(asn1);
asn1               95 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1               98 source3/libsmb/spnego.c 			asn1->has_error = True;
asn1              103 source3/libsmb/spnego.c 	asn1_end_tag(asn1);
asn1              104 source3/libsmb/spnego.c 	asn1_end_tag(asn1);
asn1              106 source3/libsmb/spnego.c 	return !asn1->has_error;
asn1              109 source3/libsmb/spnego.c static bool write_negTokenInit(ASN1_DATA *asn1, negTokenInit_t *token)
asn1              111 source3/libsmb/spnego.c 	asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              112 source3/libsmb/spnego.c 	asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              118 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              119 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              121 source3/libsmb/spnego.c 			asn1_write_OID(asn1, token->mechTypes[i]);
asn1              123 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              124 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              131 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              132 source3/libsmb/spnego.c 		asn1_write_Integer(asn1, flags);
asn1              133 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              138 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(2));
asn1              139 source3/libsmb/spnego.c 		asn1_write_OctetString(asn1, token->mechToken.data,
asn1              141 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              146 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(3));
asn1              149 source3/libsmb/spnego.c 		asn1_write_OctetString(asn1, token->mechListMIC.data,
asn1              154 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              155 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              156 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_GENERAL_STRING);
asn1              157 source3/libsmb/spnego.c 		asn1_write(asn1, token->mechListMIC.data,
asn1              159 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              160 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              161 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              163 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              166 source3/libsmb/spnego.c 	asn1_pop_tag(asn1);
asn1              167 source3/libsmb/spnego.c 	asn1_pop_tag(asn1);
asn1              169 source3/libsmb/spnego.c 	return !asn1->has_error;
asn1              172 source3/libsmb/spnego.c static bool read_negTokenTarg(TALLOC_CTX *mem_ctx, ASN1_DATA *asn1, negTokenTarg_t *token)
asn1              176 source3/libsmb/spnego.c 	asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1              177 source3/libsmb/spnego.c 	asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1              179 source3/libsmb/spnego.c 	while (!asn1->has_error && 0 < asn1_tag_remaining(asn1)) {
asn1              180 source3/libsmb/spnego.c 		switch (asn1->data[asn1->ofs]) {
asn1              182 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1              183 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_ENUMERATED);
asn1              184 source3/libsmb/spnego.c 			asn1_read_uint8(asn1, &token->negResult);
asn1              185 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1              186 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1              190 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1              191 source3/libsmb/spnego.c 			asn1_read_OID(asn1, mem_ctx, &mech);
asn1              192 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1              197 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(2));
asn1              198 source3/libsmb/spnego.c 			asn1_read_OctetString(asn1, mem_ctx, &token->responseToken);
asn1              199 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1              202 source3/libsmb/spnego.c 			asn1_start_tag(asn1, ASN1_CONTEXT(3));
asn1              203 source3/libsmb/spnego.c 			asn1_read_OctetString(asn1, mem_ctx, &token->mechListMIC);
asn1              204 source3/libsmb/spnego.c 			asn1_end_tag(asn1);
asn1              207 source3/libsmb/spnego.c 			asn1->has_error = True;
asn1              212 source3/libsmb/spnego.c 	asn1_end_tag(asn1);
asn1              213 source3/libsmb/spnego.c 	asn1_end_tag(asn1);
asn1              215 source3/libsmb/spnego.c 	return !asn1->has_error;
asn1              218 source3/libsmb/spnego.c static bool write_negTokenTarg(ASN1_DATA *asn1, negTokenTarg_t *token)
asn1              220 source3/libsmb/spnego.c 	asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              221 source3/libsmb/spnego.c 	asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              223 source3/libsmb/spnego.c 	asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              224 source3/libsmb/spnego.c 	asn1_write_enumerated(asn1, token->negResult);
asn1              225 source3/libsmb/spnego.c 	asn1_pop_tag(asn1);
asn1              228 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              229 source3/libsmb/spnego.c 		asn1_write_OID(asn1, token->supportedMech);
asn1              230 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              234 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(2));
asn1              235 source3/libsmb/spnego.c 		asn1_write_OctetString(asn1, token->responseToken.data,
asn1              237 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              241 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_CONTEXT(3));
asn1              242 source3/libsmb/spnego.c 		asn1_write_OctetString(asn1, token->mechListMIC.data,
asn1              244 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              247 source3/libsmb/spnego.c 	asn1_pop_tag(asn1);
asn1              248 source3/libsmb/spnego.c 	asn1_pop_tag(asn1);
asn1              250 source3/libsmb/spnego.c 	return !asn1->has_error;
asn1              255 source3/libsmb/spnego.c 	ASN1_DATA *asn1;
asn1              260 source3/libsmb/spnego.c 	asn1 = asn1_init(mem_ctx);
asn1              261 source3/libsmb/spnego.c 	if (asn1 == NULL) {
asn1              265 source3/libsmb/spnego.c 	asn1_load(asn1, data);
asn1              267 source3/libsmb/spnego.c 	switch (asn1->data[asn1->ofs]) {
asn1              269 source3/libsmb/spnego.c 		asn1_start_tag(asn1, ASN1_APPLICATION(0));
asn1              270 source3/libsmb/spnego.c 		asn1_check_OID(asn1, OID_SPNEGO);
asn1              271 source3/libsmb/spnego.c 		if (read_negTokenInit(mem_ctx, asn1, &token->negTokenInit)) {
asn1              274 source3/libsmb/spnego.c 		asn1_end_tag(asn1);
asn1              277 source3/libsmb/spnego.c 		if (read_negTokenTarg(mem_ctx, asn1, &token->negTokenTarg)) {
asn1              285 source3/libsmb/spnego.c 	if (!asn1->has_error) ret = asn1->ofs;
asn1              286 source3/libsmb/spnego.c 	asn1_free(asn1);
asn1              293 source3/libsmb/spnego.c 	ASN1_DATA *asn1;
asn1              296 source3/libsmb/spnego.c 	asn1 = asn1_init(talloc_tos());
asn1              297 source3/libsmb/spnego.c 	if (asn1 == NULL) {
asn1              303 source3/libsmb/spnego.c 		asn1_push_tag(asn1, ASN1_APPLICATION(0));
asn1              304 source3/libsmb/spnego.c 		asn1_write_OID(asn1, OID_SPNEGO);
asn1              305 source3/libsmb/spnego.c 		write_negTokenInit(asn1, &spnego->negTokenInit);
asn1              306 source3/libsmb/spnego.c 		asn1_pop_tag(asn1);
asn1              309 source3/libsmb/spnego.c 		write_negTokenTarg(asn1, &spnego->negTokenTarg);
asn1              312 source3/libsmb/spnego.c 		asn1->has_error = True;
asn1              316 source3/libsmb/spnego.c 	if (!asn1->has_error) {
asn1              317 source3/libsmb/spnego.c 		*blob = data_blob(asn1->data, asn1->length);
asn1              318 source3/libsmb/spnego.c 		ret = asn1->ofs;
asn1              320 source3/libsmb/spnego.c 	asn1_free(asn1);
asn1               28 source4/auth/gensec/spnego_parse.c static bool read_negTokenInit(struct asn1_data *asn1, TALLOC_CTX *mem_ctx,
asn1               33 source4/auth/gensec/spnego_parse.c 	asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1               34 source4/auth/gensec/spnego_parse.c 	asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1               36 source4/auth/gensec/spnego_parse.c 	while (!asn1->has_error && 0 < asn1_tag_remaining(asn1)) {
asn1               39 source4/auth/gensec/spnego_parse.c 		if (!asn1_peek_uint8(asn1, &context)) {
asn1               40 source4/auth/gensec/spnego_parse.c 			asn1->has_error = true;
asn1               47 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1               48 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1               51 source4/auth/gensec/spnego_parse.c 			for (i = 0; !asn1->has_error &&
asn1               52 source4/auth/gensec/spnego_parse.c 				     0 < asn1_tag_remaining(asn1); i++) {
asn1               56 source4/auth/gensec/spnego_parse.c 				asn1_read_OID(asn1, token->mechTypes, token->mechTypes + i);
asn1               60 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1               61 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1               65 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1               66 source4/auth/gensec/spnego_parse.c 			asn1_read_Integer(asn1, &token->reqFlags);
asn1               68 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1               72 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(2));
asn1               73 source4/auth/gensec/spnego_parse.c 			asn1_read_OctetString(asn1, mem_ctx, &token->mechToken);
asn1               74 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1               80 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(3));
asn1               81 source4/auth/gensec/spnego_parse.c 			if (!asn1_peek_uint8(asn1, &type_peek)) {
asn1               82 source4/auth/gensec/spnego_parse.c 				asn1->has_error = true;
asn1               86 source4/auth/gensec/spnego_parse.c 				asn1_read_OctetString(asn1, mem_ctx, 
asn1               92 source4/auth/gensec/spnego_parse.c 				asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1               93 source4/auth/gensec/spnego_parse.c 				asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1               94 source4/auth/gensec/spnego_parse.c 				asn1_read_GeneralString(asn1, mem_ctx, &mechListMIC);
asn1               95 source4/auth/gensec/spnego_parse.c 				asn1_pop_tag(asn1);
asn1               96 source4/auth/gensec/spnego_parse.c 				asn1_pop_tag(asn1);
asn1              100 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              104 source4/auth/gensec/spnego_parse.c 			asn1->has_error = true;
asn1              109 source4/auth/gensec/spnego_parse.c 	asn1_end_tag(asn1);
asn1              110 source4/auth/gensec/spnego_parse.c 	asn1_end_tag(asn1);
asn1              112 source4/auth/gensec/spnego_parse.c 	return !asn1->has_error;
asn1              115 source4/auth/gensec/spnego_parse.c static bool write_negTokenInit(struct asn1_data *asn1, struct spnego_negTokenInit *token)
asn1              117 source4/auth/gensec/spnego_parse.c 	asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              118 source4/auth/gensec/spnego_parse.c 	asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              124 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              125 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              127 source4/auth/gensec/spnego_parse.c 			asn1_write_OID(asn1, token->mechTypes[i]);
asn1              129 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              130 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              137 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              138 source4/auth/gensec/spnego_parse.c 		asn1_write_Integer(asn1, flags);
asn1              139 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              144 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(2));
asn1              145 source4/auth/gensec/spnego_parse.c 		asn1_write_OctetString(asn1, token->mechToken.data,
asn1              147 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              152 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(3));
asn1              155 source4/auth/gensec/spnego_parse.c 		asn1_write_OctetString(asn1, token->mechListMIC.data,
asn1              160 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              161 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              162 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_GENERAL_STRING);
asn1              163 source4/auth/gensec/spnego_parse.c 		asn1_write(asn1, token->mechListMIC.data,
asn1              165 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              166 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              167 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              169 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              172 source4/auth/gensec/spnego_parse.c 	asn1_pop_tag(asn1);
asn1              173 source4/auth/gensec/spnego_parse.c 	asn1_pop_tag(asn1);
asn1              175 source4/auth/gensec/spnego_parse.c 	return !asn1->has_error;
asn1              178 source4/auth/gensec/spnego_parse.c static bool read_negTokenTarg(struct asn1_data *asn1, TALLOC_CTX *mem_ctx, 
asn1              183 source4/auth/gensec/spnego_parse.c 	asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1              184 source4/auth/gensec/spnego_parse.c 	asn1_start_tag(asn1, ASN1_SEQUENCE(0));
asn1              186 source4/auth/gensec/spnego_parse.c 	while (!asn1->has_error && 0 < asn1_tag_remaining(asn1)) {
asn1              188 source4/auth/gensec/spnego_parse.c 		if (!asn1_peek_uint8(asn1, &context)) {
asn1              189 source4/auth/gensec/spnego_parse.c 			asn1->has_error = true;
asn1              195 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(0));
asn1              196 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_ENUMERATED);
asn1              197 source4/auth/gensec/spnego_parse.c 			asn1_read_uint8(asn1, &token->negResult);
asn1              198 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              199 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              202 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(1));
asn1              203 source4/auth/gensec/spnego_parse.c 			asn1_read_OID(asn1, mem_ctx, &token->supportedMech);
asn1              204 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              207 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(2));
asn1              208 source4/auth/gensec/spnego_parse.c 			asn1_read_OctetString(asn1, mem_ctx, &token->responseToken);
asn1              209 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              212 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_CONTEXT(3));
asn1              213 source4/auth/gensec/spnego_parse.c 			asn1_read_OctetString(asn1, mem_ctx, &token->mechListMIC);
asn1              214 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              217 source4/auth/gensec/spnego_parse.c 			asn1->has_error = true;
asn1              222 source4/auth/gensec/spnego_parse.c 	asn1_end_tag(asn1);
asn1              223 source4/auth/gensec/spnego_parse.c 	asn1_end_tag(asn1);
asn1              225 source4/auth/gensec/spnego_parse.c 	return !asn1->has_error;
asn1              228 source4/auth/gensec/spnego_parse.c static bool write_negTokenTarg(struct asn1_data *asn1, struct spnego_negTokenTarg *token)
asn1              230 source4/auth/gensec/spnego_parse.c 	asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              231 source4/auth/gensec/spnego_parse.c 	asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              234 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(0));
asn1              235 source4/auth/gensec/spnego_parse.c 		asn1_write_enumerated(asn1, token->negResult);
asn1              236 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              240 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(1));
asn1              241 source4/auth/gensec/spnego_parse.c 		asn1_write_OID(asn1, token->supportedMech);
asn1              242 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              246 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(2));
asn1              247 source4/auth/gensec/spnego_parse.c 		asn1_write_OctetString(asn1, token->responseToken.data,
asn1              249 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              253 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_CONTEXT(3));
asn1              254 source4/auth/gensec/spnego_parse.c 		asn1_write_OctetString(asn1, token->mechListMIC.data,
asn1              256 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              259 source4/auth/gensec/spnego_parse.c 	asn1_pop_tag(asn1);
asn1              260 source4/auth/gensec/spnego_parse.c 	asn1_pop_tag(asn1);
asn1              262 source4/auth/gensec/spnego_parse.c 	return !asn1->has_error;
asn1              267 source4/auth/gensec/spnego_parse.c 	struct asn1_data *asn1;
asn1              277 source4/auth/gensec/spnego_parse.c 	asn1 = asn1_init(mem_ctx);
asn1              278 source4/auth/gensec/spnego_parse.c 	if (asn1 == NULL) {
asn1              282 source4/auth/gensec/spnego_parse.c 	asn1_load(asn1, data);
asn1              284 source4/auth/gensec/spnego_parse.c 	if (!asn1_peek_uint8(asn1, &context)) {
asn1              285 source4/auth/gensec/spnego_parse.c 		asn1->has_error = true;
asn1              289 source4/auth/gensec/spnego_parse.c 			asn1_start_tag(asn1, ASN1_APPLICATION(0));
asn1              290 source4/auth/gensec/spnego_parse.c 			asn1_check_OID(asn1, GENSEC_OID_SPNEGO);
asn1              291 source4/auth/gensec/spnego_parse.c 			if (read_negTokenInit(asn1, mem_ctx, &token->negTokenInit)) {
asn1              294 source4/auth/gensec/spnego_parse.c 			asn1_end_tag(asn1);
asn1              297 source4/auth/gensec/spnego_parse.c 			if (read_negTokenTarg(asn1, mem_ctx, &token->negTokenTarg)) {
asn1              302 source4/auth/gensec/spnego_parse.c 			asn1->has_error = true;
asn1              307 source4/auth/gensec/spnego_parse.c 	if (!asn1->has_error) ret = asn1->ofs;
asn1              308 source4/auth/gensec/spnego_parse.c 	asn1_free(asn1);
asn1              315 source4/auth/gensec/spnego_parse.c 	struct asn1_data *asn1 = asn1_init(mem_ctx);
asn1              318 source4/auth/gensec/spnego_parse.c 	if (asn1 == NULL) {
asn1              324 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_APPLICATION(0));
asn1              325 source4/auth/gensec/spnego_parse.c 		asn1_write_OID(asn1, GENSEC_OID_SPNEGO);
asn1              326 source4/auth/gensec/spnego_parse.c 		write_negTokenInit(asn1, &spnego->negTokenInit);
asn1              327 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              330 source4/auth/gensec/spnego_parse.c 		write_negTokenTarg(asn1, &spnego->negTokenTarg);
asn1              333 source4/auth/gensec/spnego_parse.c 		asn1->has_error = true;
asn1              337 source4/auth/gensec/spnego_parse.c 	if (!asn1->has_error) {
asn1              338 source4/auth/gensec/spnego_parse.c 		*blob = data_blob_talloc(mem_ctx, asn1->data, asn1->length);
asn1              339 source4/auth/gensec/spnego_parse.c 		ret = asn1->ofs;
asn1              341 source4/auth/gensec/spnego_parse.c 	asn1_free(asn1);
asn1              381 source4/auth/gensec/spnego_parse.c 	struct asn1_data *asn1 = asn1_init(mem_ctx);
asn1              387 source4/auth/gensec/spnego_parse.c 		asn1_push_tag(asn1, ASN1_SEQUENCE(0));
asn1              389 source4/auth/gensec/spnego_parse.c 			asn1_write_OID(asn1, mech_types[i]);
asn1              391 source4/auth/gensec/spnego_parse.c 		asn1_pop_tag(asn1);
asn1              394 source4/auth/gensec/spnego_parse.c 	if (asn1->has_error) {
asn1              395 source4/auth/gensec/spnego_parse.c 		asn1_free(asn1);
asn1              399 source4/auth/gensec/spnego_parse.c 	*blob = data_blob_talloc(mem_ctx, asn1->data, asn1->length);
asn1              400 source4/auth/gensec/spnego_parse.c 	if (blob->length != asn1->length) {
asn1              401 source4/auth/gensec/spnego_parse.c 		asn1_free(asn1);
asn1              405 source4/auth/gensec/spnego_parse.c 	asn1_free(asn1);
asn1              140 source4/ldap_server/ldap_server.c 	struct asn1_data *asn1 = asn1_init(conn);
asn1              143 source4/ldap_server/ldap_server.c 	if (asn1 == NULL || msg == NULL) {
asn1              147 source4/ldap_server/ldap_server.c 	if (!asn1_load(asn1, blob)) {
asn1              149 source4/ldap_server/ldap_server.c 		talloc_free(asn1);
asn1              153 source4/ldap_server/ldap_server.c 	status = ldap_decode(asn1, samba_ldap_control_handlers(), msg);
asn1              155 source4/ldap_server/ldap_server.c 		asn1_free(asn1);
asn1              161 source4/ldap_server/ldap_server.c 	asn1_free(asn1);
asn1               69 source4/libcli/cldap/cldap.c 	struct asn1_data *asn1 = asn1_init(tmp_ctx);
asn1               73 source4/libcli/cldap/cldap.c 	if (!asn1) return;
asn1               98 source4/libcli/cldap/cldap.c 	if (!asn1_load(asn1, blob)) {
asn1              111 source4/libcli/cldap/cldap.c 	status = ldap_decode(asn1, NULL, ldap_msg);
asn1              131 source4/libcli/cldap/cldap.c 	req->asn1 = talloc_steal(req, asn1);
asn1              132 source4/libcli/cldap/cldap.c 	req->asn1->ofs = 0;
asn1              311 source4/libcli/cldap/cldap.c 	req->asn1        = asn1_init(req);
asn1              312 source4/libcli/cldap/cldap.c 	if (!req->asn1) {
asn1              380 source4/libcli/cldap/cldap.c 	req->asn1        = asn1_init(req);
asn1              381 source4/libcli/cldap/cldap.c 	if (!req->asn1) {
asn1              466 source4/libcli/cldap/cldap.c 	status = ldap_decode(req->asn1, NULL, ldap_msg);
asn1              482 source4/libcli/cldap/cldap.c 		status = ldap_decode(req->asn1, NULL, ldap_msg);
asn1               61 source4/libcli/cldap/cldap.h 	struct asn1_data *asn1;
asn1              191 source4/libcli/ldap/ldap_client.c 	struct asn1_data *asn1 = asn1_init(conn);
asn1              193 source4/libcli/ldap/ldap_client.c 	if (asn1 == NULL || msg == NULL) {
asn1              197 source4/libcli/ldap/ldap_client.c 	if (!asn1_load(asn1, blob)) {
asn1              199 source4/libcli/ldap/ldap_client.c 		talloc_free(asn1);
asn1              203 source4/libcli/ldap/ldap_client.c 	status = ldap_decode(asn1, samba_ldap_control_handlers(), msg);
asn1              205 source4/libcli/ldap/ldap_client.c 		asn1_free(asn1);
asn1              212 source4/libcli/ldap/ldap_client.c 	asn1_free(asn1);