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);