cwm@TWG.COM (Chris Moore) (12/06/88)
the following command: gcc -g -w -I../../h -DDEBUG -c asn_ext.c causes: gcc: Program cc1 got fatal signal 6. configuration: md -> i386.md tm.h -> tm-sun386i.h machine: Sun 386i/250 SunOS 4.0 with the following input: (generated by -E) # 1 "asn_ext.c" static char *rcsid = "$Header: /boomer/osi/dsap/pepy/RCS/asn_ext.c,v 5.4 88/11/07 15:58:34 cwm Exp Locker: cwm $"; # 1 "../../h/quipu/util.h" # 1 "/usr/include/stdio.h" extern struct _iobuf { int _cnt; unsigned char *_ptr; unsigned char *_base; int _bufsiz; short _flag; char _file; } _iob[]; extern struct _iobuf *fopen(); extern struct _iobuf *fdopen(); extern struct _iobuf *freopen(); extern struct _iobuf *popen(); extern struct _iobuf *tmpfile(); extern long ftell(); extern char *fgets(); extern char *gets(); extern char *ctermid(); extern char *cuserid(); extern char *tempnam(); extern char *tmpnam(); # 31 "../../h/quipu/util.h" # 1 "/usr/include/ctype.h" extern char _ctype_[]; # 32 "../../h/quipu/util.h" # 1 "/usr/include/setjmp.h" extern int sigsetjmp(), setjmp(), _setjmp(); extern void siglongjmp(), longjmp(), _longjmp(); # 57 "/usr/include/setjmp.h" typedef int jmp_buf[8 ]; typedef int sigjmp_buf[8 +1]; # 33 "../../h/quipu/util.h" # 1 "/usr/include/sys/types.h" # 1 "/usr/include/sys/sysmacros.h" # 16 "/usr/include/sys/types.h" typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef unsigned short ushort; typedef unsigned int uint; typedef struct _physadr { short r[1]; } *physadr; typedef struct label_t { int val[8]; } label_t; typedef struct _quad { long val[2]; } quad; typedef long daddr_t; typedef char * caddr_t; typedef u_long ino_t; typedef long swblk_t; typedef int size_t; typedef long time_t; typedef short dev_t; typedef long off_t; typedef u_short uid_t; typedef u_short gid_t; typedef long key_t; typedef long fd_mask; typedef struct fd_set { fd_mask fds_bits[ ((((u_int)(256 ))+(((u_int)( (sizeof(fd_mask) * 8 ) ))-1))/((u_int)( (sizeof(fd_mask) * 8 ) ))) ]; } fd_set; typedef char * addr_t; # 105 "/usr/include/sys/types.h" # 34 "../../h/quipu/util.h" # 1 "/usr/include/errno.h" # 1 "/usr/include/sys/errno.h" # 7 "/usr/include/errno.h" extern int errno; # 35 "../../h/quipu/util.h" # 1 "../../h/logger.h" typedef struct ll_struct { char *ll_file; char *ll_hdr; char *ll_dhdr; int ll_events; int ll_syslog; int ll_msize; int ll_stat; int ll_fd; } LLog; int ll_open (); int ll_log (), _ll_log (); int ll_close (); void ll_hdinit (); void ll_dbinit (); int ll_printf (); int ll_sync (); char *ll_preset (); int ll_check (); # 36 "../../h/quipu/util.h" # 1 "../../h/quipu/config.h" # 38 "../../h/quipu/util.h" extern char *strcat (); extern char *strcpy (); extern char *strncpy (); extern char *malloc (); extern char *smalloc (); extern char *strdup (); extern char *multcat (); extern char *multcpy (); extern char *index (); extern char *rindex (); extern char *gets (); extern long lseek (); extern jmp_buf _timeobuf; char * qmalloc (); # 35 "asn_ext.c" # 1 "../../h/quipu/quipu_pepy.h" # 1 "../../h/quipu/common.h" # 1 "../../h/quipu/attrvalue.h" # 1 "../../h/quipu/name.h" # 1 "../../h/quipu/attr.h" # 1 "../../h/quipu/oid.h" # 1 "../../h/psap.h" # 1 "../../h/manifest.h" # 1 "../../h/config.h" # 43 "../../h/manifest.h" # 69 "../../h/manifest.h" # 104 "../../h/manifest.h" # 140 "../../h/manifest.h" # 173 "../../h/manifest.h" typedef int *IP; typedef int (*IFP) (); typedef void (*VFP) (); struct udvec { caddr_t uv_base; int uv_len; int uv_inline; }; struct qbuf { struct qbuf *qb_forw; struct qbuf *qb_back; int qb_len; char *qb_data; char qb_base[1]; }; # 238 "../../h/manifest.h" # 263 "../../h/manifest.h" # 34 "../../h/psap.h" # 1 "../../h/general.h" # 85 "../../h/general.h" char *index (); char *mktemp (); char *rindex (); char *sprintf (); char *strcat (); int strcmp (); char *strcpy (); int strlen (); char *strncat (); int strncmp (); char *strncpy (); char *getenv (); char *calloc (), *malloc (), *realloc (); int explode (), implode (); char *sprintb (); int str2vecX (); int str2elem (); int str2sel (); char *sel2str (); char *getpassword (); int baduser (); char *sys_errname (); void asprintf (), _asprintf (); void isodetailor (); unsigned short ntohs (); unsigned short htons (); unsigned long ntohl (); unsigned long htonl (); # 37 "../../h/psap.h" # 1 "/usr/include/sys/time.h" struct timeval { long tv_sec; long tv_usec; }; struct timezone { int tz_minuteswest; int tz_dsttime; }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; # 1 "/usr/include/time.h" struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; char *tm_zone; long tm_gmtoff; }; extern struct tm *gmtime(), *localtime(); extern char *asctime(), *ctime(); # 62 "/usr/include/sys/time.h" # 43 "../../h/psap.h" typedef struct OIDentifier { int oid_nelem; unsigned int *oid_elements; } OIDentifier, *OID; OID ode2oid (); int oid_cmp (); OID oid_cpy (); int oid_free (); char *oid2ode (); char *sprintoid (); OID str2oid (); typedef u_char PElementClass; typedef u_char PElementForm; typedef u_short PElementID; typedef int PElementLen; typedef u_char byte, *PElementData; typedef struct PElement { int pe_errno; int pe_context; PElementClass pe_class; PElementForm pe_form; PElementID pe_id; PElementLen pe_len; PElementLen pe_ilen; union { PElementData un_pe_prim; struct PElement *un_pe_cons; } pe_un1; union { int un_pe_cardinal; int un_pe_nbits; } pe_un2; int pe_inline; char *pe_realbase; int pe_offset; struct PElement *pe_next; int pe_refcnt; } PElement, *PE; PE pe_alloc (); int pe_free (); int pe_cmp (); PE pe_cpy (); int pe_pullup (); PE pe_expunge (); int pe_extract (); PE str2pe (); PE qb2pe (); extern int pe_maxclass; extern char *pe_classlist[]; extern int pe_maxuniv; extern char *pe_univlist[]; extern int pe_maxappl; extern char **pe_applist; extern int pe_maxpriv; extern char **pe_privlist; typedef struct UTCtime { int ut_year; int ut_mon; int ut_mday; int ut_hour; int ut_min; int ut_sec; int ut_usec; int ut_zone; int ut_flags; } UTCtime, *UTC; void tm2ut (); long gtime (); struct tm *ut2tm (); extern char *psapversion; int prim2flag (); PE flag2prim (); int prim2num (); PE num2prim (); char *prim2str (); PE str2prim (); struct qbuf *prim2qb (); PE qb2prim (); PE prim2bit (); PE bit2prim (); int bit_on (), bit_off (); int bit_test (); OID prim2oid (); PE obj2prim (); UTC prim2time (); PE time2prim (); char *time2str (); UTC str2utct (), str2gent (); PE prim2set (); int set_add (), set_addon (), set_del (); PE set_find (); int seq_add (), seq_addon (), seq_del (); PE seq_find (); char *pe_error (); typedef struct { int ps_errno; union { caddr_t un_ps_addr; struct { char *st_ps_base; int st_ps_cnt; char *st_ps_ptr; int st_ps_bufsiz; } un_ps_st; struct { struct udvec *uv_ps_head; struct udvec *uv_ps_cur; struct udvec *uv_ps_end; int uv_ps_elems; int uv_ps_slop; int uv_ps_cc; } un_ps_uv; } ps_un; caddr_t ps_extra; int ps_inline; int ps_scratch; int ps_byteno; IFP ps_primeP; IFP ps_readP; IFP ps_writeP; IFP ps_flushP; IFP ps_closeP; } PStream, *PS; PS ps_alloc (); void ps_free (); int ps_io (); int ps_flush (); int std_open (); int str_open (); int str_setup (); int dg_open (); int dg_setup (); int fdx_open (); int fdx_setup (); int qbuf_open (); int uvec_open (); int uvec_setup (); PE ps2pe_aux (); int pe2ps_aux (); PE pl2pe (); int pe2pl (); extern int ps_len_strategy; int ps_get_abs (); char *ps_error (); struct isobject { char *io_descriptor; OIDentifier io_identity; }; int setisobject (), endisobject (); struct isobject *getisobject (); struct isobject *getisobjectbyname (); struct isobject *getisobjectbyoid (); PE qbuf2pe (); char *qb2str (); struct qbuf *str2qb (); int qb_free (); int pe2ssdu (); PE ssdu2pe (); void pe2text (), text2pe (); int pe2uvec (); char *int2strb (); int strb2int (); PE strb2bitstr (); char *bitstr2strb (); extern char PY_pepy[]; void PY_advise (); int PY_pp (); int testdebug (); int vpush (), vpop (); int vname (), vtag (); int vprint (); int vstring (), vunknown (); char *bit2str (); int vpushfp (), vpopfp (); int vpushstr (), vpopstr (); int _vpdu (); # 27 "../../h/quipu/oid.h" typedef struct { char ot_name [40 ]; char ot_stroid [40 ]; OID ot_oid; } oid_table; typedef struct { oid_table oa_ot; int oa_syntax; } oid_table_attr; typedef struct seq_tab { oid_table_attr * ts_oa; struct seq_tab * ts_next; } * table_seq; table_seq table_seq_new(); typedef struct { oid_table oc_ot; struct oid_seq * oc_hierachy; table_seq oc_must; table_seq oc_may; } objectclass; oid_table_attr * oid2attr(); oid_table_attr * name2attr(); char * attr2name(); objectclass * oid2oc(); objectclass * name2oc(); char * oc2name(); char * oid2name(); OID name2oid(); char * SkipSpace (); void StripSpace (); # 27 "../../h/quipu/attr.h" typedef struct { OID at_oid; oid_table_attr * at_table; } attrType, * AttributeType; AttributeType AttrT_cpy(); AttributeType AttrT_new(); struct file_syntax { int fs_real_syntax; char * fs_name; char fs_default; }; typedef struct { PE av_pe; int av_syntax; union { char * av_str; struct acl * av_acl; PE av_asn; char * av_num; struct PSAPaddr * av_psap; struct dn_seq * av_dnlist; struct dncomp * av_dn; struct tree_struct * av_tree; struct edb_info * av_update; int av_boolean; int av_integer; long av_time; OID av_oid; objectclass * av_objectclass; struct file_syntax av_file; } av_un; } attrVal, * AttributeValue; AttributeValue AttrV_cpy(); AttributeValue str_at2AttrV(); AttributeValue str2AttrV(); # 27 "../../h/quipu/name.h" typedef struct rdncomp { AttributeType rdn_at; AttributeValue rdn_av; struct rdncomp *rdn_next; } rdncomp, *RDN; RDN rdn_comp_new (); RDN rdn_comp_cpy (); RDN str2rdn(); RDN rdn_cpy (); RDN rdn_merge (); typedef struct dncomp { RDN dn_rdn; struct dncomp *dn_parent; } dncomp, *DN; DN dn_comp_new (); DN dn_comp_cpy (); DN dn_cpy (); DN str2dn (); # 26 "../../h/quipu/attrvalue.h" typedef char Soundex; char ** AttrV_soundex_key (); typedef struct avseqcomp { AttributeValue avseq_av; Soundex avseq_soundex [6 ][4 ]; struct avseqcomp *avseq_next; } avseqcomp, *AV_Sequence; AV_Sequence avs_comp_new (); AV_Sequence avs_comp_cpy (); AV_Sequence avs_cpy (); AV_Sequence avs_merge (); AV_Sequence str2avs (); typedef struct attrcomp { AttributeType attr_type; AV_Sequence attr_value; struct attrcomp *attr_link; struct acl_info *attr_acl; } attrcomp, *Attr_Sequence; Attr_Sequence as_comp_new (); Attr_Sequence as_comp_cpy (); Attr_Sequence as_cpy (); Attr_Sequence as_cpy_type (); Attr_Sequence as_comp_cpy_type (); Attr_Sequence as_find_type (); Attr_Sequence as_merge (); Attr_Sequence str2as(); struct acl_info { int acl_categories; int acl_selector_type; struct dn_seq *acl_name; struct acl_info *acl_next; }; struct acl_info *acl_info_new (); struct acl_info *acl_info_cpy(); struct acl_info *acl_default(); # 27 "../../h/quipu/common.h" # 1 "../../h/quipu/dsp.h" # 1 "../../h/isoaddrs.h" typedef struct AEInfo { PE aei_ap_title; PE aei_ae_qualifier; int aei_ap_id; int aei_ae_id; int aei_flags; } AEInfo, *AEI; AEI str2aei (); char *sprintaei (); struct NSAPaddr { long na_type; union { struct na_nsap { char na_nsap_address[64 ]; char na_nsap_addrlen; } un_na_nsap; struct na_tcp { char na_tcp_domain[64 ]; u_short na_tcp_port; u_short na_tcp_tset; } un_na_tcp; struct na_x25 { char na_x25_dte[36 + 1]; char na_x25_dtelen; char na_x25_pid[4 ]; char na_x25_pidlen; char na_x25_cudf[16 ]; char na_x25_cudflen; char na_x25_fac[6 ]; char na_x25_faclen; } un_na_x25; } na_un; }; struct TSAPaddr { struct NSAPaddr ta_addrs[3 ]; int ta_naddr; int ta_selectlen; union { char ta_un_selector[64 ]; u_short ta_un_port; } un_ta; }; struct SSAPaddr { struct TSAPaddr sa_addr; int sa_selectlen; union { char sa_un_selector[64 ]; u_short sa_un_port; } un_sa; }; struct PSAPaddr { struct SSAPaddr pa_addr; int pa_selectlen; union { char pa_un_selector[64 ]; u_short pa_un_port; } un_pa; }; struct PSAPaddr *aei2addr (); struct ns_query { int ns_id; char *ns_name; char *ns_attribute; }; struct ns_response { int ns_id; PE ns_name; PE ns_value; }; char *alias2name (); PE name2value (); struct isoentity { OIDentifier ie_identifier; char *ie_descriptor; struct PSAPaddr ie_addr; }; int setisoentity (), endisoentity (); struct isoentity *getisoentity (); AEI oid2aei (); struct PSAPaddr *is2paddr (); struct SSAPaddr *is2saddr (); struct TSAPaddr *is2taddr (); struct PSAPaddr *asn2paddr (); struct TSAPaddr *asn2taddr (); char *paddr2asn (); char *taddr2asn (); struct nsap_entry { char *ns_service; IFP ns_parse; }; extern struct nsap_entry _nsap_entries[]; struct PSAPaddr *str2paddr (); struct TSAPaddr *str2taddr (); char *paddr2str (); char *taddr2str (); char *na2str (); int isodeserver (); struct QOStype { int qos_reliability; }; # 26 "../../h/quipu/dsp.h" struct op_progress { int op_resolution_phase; int op_nextrdntoberesolved; }; struct access_point { DN ap_name; struct PSAPaddr ap_address; struct access_point *ap_next; }; typedef struct continuation_ref { DN cr_name; struct op_progress cr_progress; int cr_rdn_resolved; int cr_aliasedRDNs; int cr_reftype; struct access_point cr_accesspoints; struct continuation_ref *cr_next; }continuation_ref, *ContinuationRef; struct trace_info { DN ti_target; DN ti_dsa; struct op_progress ti_progress; struct trace_info *ti_next; }; typedef struct svccontrol { int svc_options; char svc_prio; int svc_timelimit; int svc_sizelimit; int svc_scopeofreferral; } svccontrol, ServiceControl; # 28 "../../h/quipu/common.h" # 1 "../../h/quipu/commonarg.h" # 1 "../../h/quipu/attrvalue.h" # 115 "../../h/quipu/attrvalue.h" # 27 "../../h/quipu/commonarg.h" # 1 "../../h/quipu/dsp.h" # 99 "../../h/quipu/dsp.h" # 28 "../../h/quipu/commonarg.h" typedef struct common_args { ServiceControl ca_servicecontrol; DN ca_requestor; DN ca_initiator; DN ca_target; struct op_progress ca_progress; struct trace_info *ca_trace; int ca_aliased_rdns; int ca_return_cross_refs; int ca_reftype; } common_args, CommonArgs; typedef struct common_results { DN cr_requestor; char cr_aliasdereferenced; } common_results, CommonResults; typedef struct entrystruct { DN ent_dn; Attr_Sequence ent_attr; int ent_iscopy; time_t ent_age; struct entrystruct *ent_next; } entrystruct, EntryInfo; typedef struct entryinfoselection { char eis_allattributes; Attr_Sequence eis_select; char eis_infotypes; }entryinfoselection, EntryInfoSelection; typedef struct ava { AttributeType ava_type; AttributeValue ava_value; }ava, AVA; # 29 "../../h/quipu/common.h" # 1 "../../h/quipu/bind.h" struct ds_bind_arg { int dba_version; DN dba_dn; int dba_passwd_len; char dba_passwd[512 ]; }; struct ds_bind_error { int dbe_version; char dbe_type; int dbe_value; }; # 30 "../../h/quipu/common.h" # 1 "../../h/quipu/read.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/read.h" # 1 "../../h/quipu/ds_error.h" struct DSE_abandon_fail { int DSE_ab_problem; int DSE_ab_invokeid; }; struct DSE_at_problem { int DSE_at_what; AttributeType DSE_at_type; AttributeValue DSE_at_value; struct DSE_at_problem *dse_at_next; }; struct DSE_attribute { DN DSE_at_name; struct DSE_at_problem DSE_at_plist; } ; struct DSE_name { int DSE_na_problem; DN DSE_na_matched; }; struct DSE_referral { ContinuationRef DSE_ref_candidates; DN DSE_ref_prefix; }; struct DSE_security { int DSE_sc_problem; }; struct DSE_service { int DSE_sv_problem; }; struct DSE_update { int DSE_up_problem; }; struct DSE_alias { DN DSE_al_name; DN DSE_al_alias; }; struct DSError { int dse_type; union { struct DSE_abandon_fail dse_un_abandon_fail; struct DSE_attribute dse_un_attribute; struct DSE_name dse_un_name; struct DSE_referral dse_un_referral; struct DSE_security dse_un_security; struct DSE_service dse_un_service; struct DSE_update dse_un_update; struct DSE_alias dse_un_alias; } dse_un; }; # 28 "../../h/quipu/read.h" struct ds_read_arg { CommonArgs rda_common; DN rda_object; EntryInfoSelection rda_eis; }; struct ds_read_result { CommonResults rdr_common; EntryInfo rdr_entry; }; # 31 "../../h/quipu/common.h" # 1 "../../h/quipu/compare.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/compare.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/compare.h" struct ds_compare_arg { CommonArgs cma_common; DN cma_object; AVA cma_purported; }; struct ds_compare_result { CommonResults cmr_common; DN cmr_object; char cmr_matched; int cmr_iscopy; time_t cmr_age; }; # 32 "../../h/quipu/common.h" # 1 "../../h/quipu/abandon.h" struct ds_abandon_arg { int aba_invokeid; }; # 33 "../../h/quipu/common.h" # 1 "../../h/quipu/list.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/list.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/list.h" struct ds_list_arg { CommonArgs lsa_common; DN lsa_object; }; struct subordinate { RDN sub_rdn; char sub_aliasentry; char sub_copy; struct subordinate *sub_next; }; struct ds_list_result { CommonResults lsr_common; DN lsr_object; time_t lsr_age; struct subordinate *lsr_subordinates; int lsr_limitproblem; ContinuationRef lsr_cr; }; static struct list_cache { DN list_dn; struct subordinate *list_subs; struct subordinate *list_sub_top; int list_count; int list_problem; struct list_cache *list_next; }; struct list_cache *find_list_cache (); # 34 "../../h/quipu/common.h" # 1 "../../h/quipu/ds_search.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/ds_search.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/ds_search.h" typedef struct { AttributeType fi_sub_type; AV_Sequence fi_sub_initial; AV_Sequence fi_sub_any; AV_Sequence fi_sub_final; } Filter_Substrings; struct filter_item { int fi_type; union { AttributeType fi_un_type; AVA fi_un_ava; Filter_Substrings fi_un_substrings; } fi_un; Soundex fi_soundex [6 ][4 ]; }; typedef struct filter { char flt_type; struct filter *flt_next; union { struct filter_item flt_un_item; struct filter *flt_un_filter; } flt_un; }filter, *Filter; struct ds_search_arg { CommonArgs sra_common; DN sra_baseobject; int sra_subset; Filter sra_filter; EntryInfoSelection sra_eis; }; struct ds_search_result { CommonResults srr_common; DN srr_object; EntryInfo *srr_entries; int srr_limitproblem; ContinuationRef srr_cr; }; struct ds_search_task { DN st_baseobject; DN st_alias; int st_subset; int st_size; time_t st_time; ContinuationRef st_cr; struct ds_search_task * st_next; }; # 35 "../../h/quipu/common.h" # 1 "../../h/quipu/add.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/add.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/add.h" struct ds_addentry_arg { CommonArgs ada_common; DN ada_object; Attr_Sequence ada_entry; }; # 36 "../../h/quipu/common.h" # 1 "../../h/quipu/modify.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/modify.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/modify.h" struct entrymod { int em_type; Attr_Sequence em_what; struct entrymod *em_next; }; struct ds_modifyentry_arg { CommonArgs mea_common; DN mea_object; struct entrymod *mea_changes; }; # 37 "../../h/quipu/common.h" # 1 "../../h/quipu/modifyrdn.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/modifyrdn.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/modifyrdn.h" struct ds_modifyrdn_arg { CommonArgs mra_common; DN mra_object; RDN mra_newrdn; char deleterdn; }; # 38 "../../h/quipu/common.h" # 1 "../../h/quipu/remove.h" # 1 "../../h/quipu/commonarg.h" # 100 "../../h/quipu/commonarg.h" # 27 "../../h/quipu/remove.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 28 "../../h/quipu/remove.h" struct ds_removeentry_arg { CommonArgs rma_common; DN rma_object; }; # 39 "../../h/quipu/common.h" # 1 "../../h/quipu/ds_error.h" # 168 "../../h/quipu/ds_error.h" # 40 "../../h/quipu/common.h" # 27 "../../h/quipu/quipu_pepy.h" typedef struct { DN usc_dn; int usc_passwd_len; char *usc_passwd; } USC; typedef struct { int poq_limitproblem; ContinuationRef poq_cref; } POQ; struct subordinate * subord_comp_new(); struct entrymod * em_comp_cpy(); EntryInfo * ent_comp_cpy(); Filter filter_comp_alloc(); int strb2int(); # 36 "asn_ext.c" # 1 "../../h/quipu/entry.h" # 1 "../../h/quipu/attrvalue.h" # 115 "../../h/quipu/attrvalue.h" # 27 "../../h/quipu/entry.h" # 1 "../../h/quipu/dsp.h" # 99 "../../h/quipu/dsp.h" # 28 "../../h/quipu/entry.h" struct acl_attr { struct oid_seq *aa_types; struct acl_info *aa_acl; struct acl_attr *aa_next; }; struct acl_attr * acl_attr_cpy(); struct acl { struct acl_info *ac_child; struct acl_info *ac_entry; struct acl_info *ac_default; struct acl_attr *ac_attributes; }; struct acl * acl_cpy(); struct acl * str2acl(); typedef struct entry { RDN e_name; Attr_Sequence e_attributes; objectclass * e_objectclass; char e_leaf; char e_complete; int e_data; char *e_passwd; struct tree_struct *e_struct; struct acl *e_acl; DN e_alias; struct dsa_info *e_dsainfo; char e_allchildrenpresent; char *e_edbversion; struct dn_seq *e_master; struct dn_seq *e_slave; struct entry *e_sibling; struct entry *e_parent; struct entry *e_child; char e_lock; } entry, *Entry; Entry getentry_block(); Entry directory_load(); Entry find_entry (); Entry really_find_entry (); Entry get_default_entry (); struct oid_seq { OID oid_oid; struct oid_seq *oid_next; }; struct oid_seq * oid_seq_cpy(); struct oid_seq * oid_seq_merge(); struct tree_struct { objectclass *tree_object; struct tree_struct *tree_next; }; struct tree_struct * tree_struct_cpy (); struct tree_struct * str2schema (); struct dn_seq { DN dns_dn; struct dn_seq *dns_next; }; struct dn_seq *dn_seq_cpy(); struct dn_seq *str2dnseq(); struct dsa_info { struct PSAPaddr *dsa_addr; struct edb_info *dsa_edb; }; struct edb_info { DN edb_name; int edb_distance; DN edb_getfrom; struct dn_seq *edb_sendto; struct edb_info *edb_next; }; struct edb_info * edb_info_cpy (); struct edb_info * str2update (); DN get_copy_dn (); # 37 "asn_ext.c" extern LLog * log_dsap; OID grab_oid(at) AttributeType at; { if(at->at_oid == ((OID) 0) ) { if (log_dsap -> ll_events & ( 0x20 )) { (void) ll_log (log_dsap, 0x20 , ((char *)0) , "%s", ll_preset ("table %s",sprintoid(at->at_table->oa_ot.ot_oid))); } else ; return(at->at_table->oa_ot.ot_oid); } else { if (log_dsap -> ll_events & ( 0x20 )) { (void) ll_log (log_dsap, 0x20 , ((char *)0) , "%s", ll_preset ("attrib %s",sprintoid(at->at_oid))); } else ; return(at->at_oid); } } PE grab_pe(av) AttributeValue av; { PE ret_pe = ((PE) 0) ; if(av->av_pe != ((PE) 0) ) return(pe_cpy(av->av_pe)); switch(av->av_syntax) { case 1 : case 2 : ret_pe = str2prim ((av->av_un.av_str), ( strlen(av->av_un.av_str)), 0x0 , 0x013 ) ; break; case 5 : ret_pe = str2prim ((av->av_un.av_num), ( strlen(av->av_un.av_num)), 0x0 , 0x012 ) ; break; case 13 : ret_pe = obj2prim ((av->av_un.av_oid), 0x0 , 0x006 ) ; break; case 15 : ret_pe = obj2prim ((av->av_un.av_objectclass->oc_ot.ot_oid), 0x0 , 0x006 ) ; break; case 3 : (void) encode_Quipu_ACLSyntax (&ret_pe,1,0,((char *)0) ,av->av_un.av_acl); break; case 6 : (void) encode_Quipu_ISODEPresentationAddress (&ret_pe,1,0,((char *)0) ,av->av_un.av_psap); break; case 7 : (void) encode_Quipu_NameList (&ret_pe,1,0,((char *)0) ,av->av_un.av_dnlist); break; case 16 : (void) encode_Quipu_DistinguishedName (&ret_pe,1,0,((char *)0) ,av->av_un.av_dn); break; case 8 : (void) encode_Quipu_TreeStructureSyntax(&ret_pe,1,0,((char *)0) ,av->av_un.av_tree); break; case 9 : (void) encode_Quipu_EDBInfoSyntax (&ret_pe,1,0,((char *)0) ,av->av_un.av_update); break; case 10 : ret_pe = flag2prim ((av->av_un.av_boolean), 0x0 , 0x001 ) ; break; case 11 : ret_pe = num2prim ((av->av_un.av_integer), 0x0 , 0x002 ) ; break; case 12 : { UTCtime utime; tm2ut (gmtime(&(av->av_un.av_time)),&utime); ret_pe = time2prim ((utime), 0, 0x0 , 0x017 ) ; break; } case 14 : { struct _iobuf * fptr; if ((fptr = fopen (av->av_un.av_file.fs_name,"r")) != 0 ) { if (av->av_un.av_file.fs_real_syntax == 4 ) { PS fps; fps = ps_alloc (std_open); if ((((fps) -> ps_un.un_ps_addr = (caddr_t) (fptr), 0 ) ) == -1 ) { (void) fclose (fptr); ps_free (fps); break; } ret_pe = ps2pe_aux ((fps), 1) ; (void) fclose (fptr); ps_free (fps); } else { char buffer [512 ]; AttributeValue newav; extern char * TidyString (); (void) fread (buffer,512 ,1,fptr); (void) fclose (fptr); if ((newav = str2AttrV (TidyString(buffer),av->av_un.av_file.fs_real_syntax)) == (AttributeValue) 0 ){ if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("invalid format in file %s",av->av_un.av_file.fs_name)); } else ; break; } ret_pe = grab_pe (newav); } } else if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Can't open %s",av->av_un.av_file.fs_name)); } else ; break; } default: if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Unknown syntax %d in grap_pe",av->av_syntax)); } else ; case 4 : case 17 : return(pe_cpy(av->av_un.av_asn)); } return (ret_pe); } AttrV_do_decode(x,y) register AttributeType x; register AttributeValue y; { int z; if (x == (AttributeType) 0 ) return; AttrT_decode (x); if (x->at_table == ((oid_table_attr *)0) ) return; if (y == (AttributeValue) 0 ) return; y->av_syntax = x->at_table->oa_syntax; switch (x->at_table->oa_syntax) { case 1 : case 2 : y->av_un.av_str = prim2str (y->av_pe, &z); break; case 5 : y->av_un.av_num = prim2str (y->av_pe, &z); break; case 13 : y->av_un.av_oid = prim2oid(y->av_pe); break; case 15 : y->av_un.av_objectclass = oid2oc (prim2oid(y->av_pe)); break; case 4 : case 17 : y->av_un.av_asn = y->av_pe; break; case 10 : y->av_un.av_boolean = (char) prim2flag (y->av_pe) ; break; case 11 : y->av_un.av_integer = prim2num (y->av_pe); break; case 12 : y->av_un.av_time = gtime(ut2tm( prim2time ((y->av_pe), 0) )); break; case 6 : { y->av_un.av_psap = (struct PSAPaddr *) calloc (1,sizeof (struct PSAPaddr)); (void) decode_Quipu_ISODEPresentationAddress (y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_psap); break; } case 3 : y->av_un.av_acl = (struct acl *) qmalloc (sizeof (struct acl)) ; ; (void) decode_Quipu_ACLSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_acl); acl_decode (y->av_un.av_acl); break; case 7 : (void) decode_Quipu_NameList(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_dnlist)); dn_seq_decode (y->av_un.av_dnlist); break; case 16 : (void) decode_Quipu_DistinguishedName(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_dn)); dn_decode (y->av_un.av_dn); break; case 8 : (void) decode_Quipu_TreeStructureSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,&(y->av_un.av_tree)); break; case 9 : y->av_un.av_update = (struct edb_info *) qmalloc (sizeof (struct edb_info)) ; ; (void) decode_Quipu_EDBInfoSyntax(y->av_pe,1, ((IP) 0) ,((char **) 0) ,y->av_un.av_update); edb_info_decode (y->av_un.av_update); break; default: y->av_syntax = 0 ; if (log_dsap -> ll_events & ( 0x02 )) { (void) ll_log (log_dsap, 0x02 , ((char *)0) , "%s", ll_preset ("Un decoded syntax %d",x->at_table->oa_syntax)); } else ; break; } } ------- End of Forwarded Message