krb5_error_code decode_krb5_tgs_req(const krb5_data *code, krb5_kdc_req **repptr) { setup_no_length(krb5_kdc_req *); alloc_field(rep); clear_field(rep,padata); clear_field(rep,client); clear_field(rep,server); clear_field(rep,ktype); clear_field(rep,addresses); clear_field(rep,authorization_data.ciphertext.data); clear_field(rep,unenc_authdata); clear_field(rep,second_ticket); clear_field(rep, kdc_state); check_apptag(12); retval = asn1_decode_kdc_req(&buf,rep); if (retval) clean_return(retval); #ifdef KRB5_MSGTYPE_STRICT if (rep->msg_type != KRB5_TGS_REQ) clean_return(KRB5_BADMSGTYPE); #endif cleanup_manual(); error_out: krb5_free_kdc_req(NULL, rep); return retval; }
char *get_input(char *prompt) { t_line l; if (init_heredoc(&l, prompt) == 1) return (NULL); ft_putstr(prompt); while (1) { ft_bzero(l.buffer, 6); if (read(0, l.buffer, 6) == -1) return (clean_return(&l)); if (l.buffer[0] == 4 && l.buffer[1] == 0 && l.str[0] == '\0' && g_heredoc_expected) return (eof_ret()); if (l.buffer[0] != 10) actions(&l); if (l.buffer[0] != 10 && ft_isprint(l.buffer[0]) ==\ 1) ft_print_key(&l); if (l.buffer[0] == 10) break ; } return (clean_return(&l)); }
krb5_error_code decode_krb5_kdc_req_body(const krb5_data *code, krb5_kdc_req **repptr) { setup_buf_only(krb5_kdc_req *); alloc_field(rep); retval = asn1_decode_kdc_req_body(&buf,rep); if (retval) clean_return(retval); cleanup(free); }
krb5_error_code decode_krb5_pa_pk_as_req_draft9(const krb5_data *code, krb5_pa_pk_as_req_draft9 **repptr) { setup_buf_only(krb5_pa_pk_as_req_draft9 *); alloc_field(rep); retval = asn1_decode_pa_pk_as_req_draft9(&buf, rep); if (retval) clean_return(retval); cleanup(free); }
static int build(t_list *frags, char **cmd) { char *frag; *cmd = NULL; while ((frag = list_pop(frags))) { if (*cmd == NULL) { if ((*cmd = strdup(frag)) == NULL) return (clean_return(frag, cmd)); } else { if ((*cmd = realloc(*cmd, (strlen(*cmd) + strlen(frag) + 1))) == NULL) return (clean_return(frag, cmd)); if (strcat(*cmd, frag) == NULL) return (clean_return(frag, cmd)); } free(frag); } (*cmd)[strlen(*cmd) - 1] = 0; return (RET_SUCCESS); }
krb5_error_code decode_krb5_pa_fx_fast_request(const krb5_data *code, krb5_fast_armored_req **repptr) { setup(krb5_fast_armored_req *); alloc_field(rep); clear_field(rep, armor); { int indef; unsigned int taglen; next_tag_from_buf(buf); if (tagnum != 0) clean_return(ASN1_BAD_ID); } {begin_structure(); opt_field(rep->armor, 0, asn1_decode_fast_armor_ptr); get_field(rep->req_checksum, 1, asn1_decode_checksum); get_field(rep->enc_part, 2, asn1_decode_encrypted_data); end_structure();} rep->magic = KV5M_FAST_ARMORED_REQ; cleanup(free); }