Index: defs/attributes.dtd diff -Nau defs/attributes.dtd.orig defs/attributes.dtd --- defs/attributes.dtd.orig 2001-11-15 16:31:09.000000000 +0100 +++ defs/attributes.dtd 2004-03-10 16:52:58.000000000 +0100 @@ -47,7 +47,12 @@ wk_asrange | wk_filterset | wk_peeringset | - wk_rtrset + wk_rtrset | + wk_regid | + wk_pop | + wk_ticket | + wk_range | + wk_purpose )'> non-core + + + + + + + + + GSOC EU INTERNAL + RIPE Registry ID + + + free-form + + + + + INSERT reg_id + SET thread_id=%d, object_id=%ld, reg_id='%s', reg_window=0 + + + + + + + + + + + SELECT object_id + FROM reg_id + WHERE reg_id = '%s' + AND thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + Assignement Window size of a particular LIR + + + window + + + + + UPDATE %s SET thread_id=%d, reg_window='%s' + WHERE object_id=%ld + + + UPDATE %s SET thread_id=%d, reg_window='%s' + WHERE object_id=%ld + + + + + + + + + + + GSOC EU INTERNAL + ASN which is used by a registry or a pop + + + as-number + + + + + INSERT as_ref + SELECT %d, %ld, aut_num.object_id, %d + FROM aut_num + WHERE aut_num.aut_num='%s' + + + UPDATE as_ref + SET thread_id=%d + WHERE object_id=%ld + AND as_id=%ld + + + + + + + + + + SELECT i.object_id + FROM aut_num, as_ref i + WHERE aut_num.object_id = i.as_id + AND aut_num.aut_num = '%s' + AND i.thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + + Contains Details for which location, facility or region a certain + ip-range has been reserved for. + + See also "purpose" Object. + + + free-form + + + + + INSERT pop + SET thread_id=%d, object_id=%ld, pop='%s', remedyref='fresh_insert' + + + + + + + + + + + SELECT object_id + FROM pop + WHERE pop = '%s' + AND thread_id = 0 + + + + + + + + + GSOC EU INTERNAL + + Remedey Reference Field. May contain references to the local + ticket-management system in the future. + + + free-form + + + + + UPDATE %s SET thread_id=%d, remedyref='%s' + WHERE object_id=%ld + + + UPDATE %s SET thread_id=%d, remedyref='%s' + WHERE object_id=%ld + + + + + + + + + + GSOC EU INTERNAL + + Registry Ticket-Number of the allocation/assignment confirmation. + + + free-form + + + + + INSERT ticket + SET thread_id=%d, object_id=%ld, ticket='%s', netname='-' + + + + + + + + + + SELECT object_id + FROM ticket + WHERE ticket = '%s' + AND thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + + Reference to the registry (reg-id) to which this object belongs + See also "reg-id" object. Must be a valid registry-id. + + In the case of inetnum objects please only use registry fields + for objects of the type "ALLOCATED". + + + free-form + + + + + INSERT reg_ref + SELECT %d, %ld, reg_id.object_id, %d + FROM reg_id + WHERE reg_id.reg_id='%s' + + + UPDATE reg_ref + SET thread_id=%d + WHERE object_id=%ld + AND reg_id=%ld + + + + + + + + + + SELECT i.object_id + FROM reg_id, reg_ref i + WHERE reg_id.object_id = i.reg_id + AND reg_id.reg_id = '%s' + AND i.thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + + Reference to the facility to which this range is allocated. + See also "facility" object. + + + free-form + + + + + INSERT pop_ref + SELECT %d, %ld, pop.object_id, %d + FROM pop + WHERE pop.pop='%s' + + + UPDATE pop_ref + SET thread_id=%d + WHERE object_id=%ld + AND pop_id=%ld + + + + + + + + + + SELECT i.object_id + FROM pop, pop_ref i + WHERE pop.object_id = i.pop_id + AND pop.pop = '%s' + AND i.thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + + Location of an completed RIPE-141 or RIPE-209 formular + + + free-form + + + + + + + GSOC EU INTERNAL + + The date when the assignment was approved + + + free-form + + + + + + + + GSOC EU INTERNAL + + Size of an registry allocation/assignemt approval. + + + free-form + + + + + + + GSOC EU INTERNAL + + Sets an preference for automatic or manual assignment into + a particular allocation. Example: a preference of 0 would + mean that no automatic-assignment is possible. + + + free-form + + + + + + GSOC EU INTERNAL + + Details of the purpose the block has been allocated for + + See also "facility" object. + + + free-form + + + + + INSERT purpose + SET thread_id=%d, object_id=%ld, purpose='%s' + + + + + + + + + + + SELECT object_id + FROM purpose + WHERE purpose = '%s' + AND thread_id = 0 + + + + + + + + + EU GSOC Internal + + Specifies a range of IPv4 that inetnum object presents. The + ending address should be greater than the starting one. + + inetnum + + + + + INSERT range + SET thread_id=%d, object_id=%ld, begin_in=%u, end_in=%u + + + + + + + SELECT object_id,begin_in,end_in + FROM range + WHERE thread_id = 0 + + + + + + + + + + + + + + + + + + GSOC EU INTERNAL + + Reference to a "purpose" (object). + See also "purpose" object + + + free-form + + + + + INSERT purp_ref + SELECT %d, %ld, purpose.object_id, %d + FROM purpose + WHERE purpose.purpose='%s' + + + UPDATE purp_ref + SET thread_id=%d + WHERE object_id=%ld + AND purp_id=%ld + + + + + + + + + + SELECT i.object_id + FROM purpose, purp_ref i + WHERE purpose.object_id = i.purp_id + AND purpose.purpose = '%s' + AND i.thread_id = 0 + + + + + + + + + + GSOC EU INTERNAL + + Region Identifier. Not fully defined yet. + Inserted by request of the US Team. + + + free-form + + + + + + + GSOC EU INTERNAL + + Private Comment + This comment lines will not get exported into the RIPE + database and are therefore of privat nature. + + + free-form + + + + + + + GSOC EU INTERNAL + + Assign Date + The Date the assignemnt had been made. + + + adate + + Index: defs/classes.dtd diff -Nau defs/classes.dtd.orig defs/classes.dtd --- defs/classes.dtd.orig 2001-05-16 09:44:00.000000000 +0200 +++ defs/classes.dtd 2004-03-10 16:52:58.000000000 +0100 @@ -31,6 +31,7 @@ ad? | ae? | ag? | + af? | ab? | ah? | ai? | @@ -43,6 +44,7 @@ at? | au? | av? | + ax? | ay? | az? | bi? | @@ -51,6 +53,7 @@ cm? | cn? | co? | + cr? | ct? | cy? | da? | @@ -70,6 +73,7 @@ fi? | fp? | fs? | + fu? | fx? | gd? | ho? | @@ -106,23 +110,32 @@ ph? | pl? | pn? | + pp? | + pr? | ps? | + pu? | rb? | rf? | + ri? | rm? | ro? | rp? | + rr? | rs? | rt? | rz? | sd? | so? | st? | + sz? | tb? | td? | tc? | + tk? | tx? | + uf? | wd? | + ww? | zc? ' > @@ -160,6 +173,7 @@ + @@ -171,6 +185,7 @@ + @@ -179,6 +194,7 @@ + @@ -198,6 +214,7 @@ + @@ -233,22 +250,31 @@ + + + + + - + + + + + Index: defs/classes.xml diff -Nau defs/classes.xml.orig defs/classes.xml --- defs/classes.xml.orig 2003-08-05 16:24:11.000000000 +0200 +++ defs/classes.xml 2004-03-10 16:52:58.000000000 +0100 @@ -25,6 +25,7 @@ + @@ -41,7 +42,9 @@ + + @@ -53,6 +56,7 @@ + @@ -132,6 +136,7 @@ + @@ -157,6 +162,7 @@ + @@ -190,6 +196,7 @@ + @@ -267,7 +274,7 @@ - + @@ -499,5 +506,122 @@ - + + + + + GSOC EU INTERNAL + Defines an local registry (LIR) + + + + + + + + + + + + + + + + + + + GSOC EU INTERNAL + Definition of an CW Point of Presence + + + +
+ + + + + + + + + + + + + + + + + GSOC EU INTERNAL + Approval/Ticket Object. + Details of the Registry approval of an assignment/allocation + + + + + + + + + + + + + + + + + + + + + + EU GSOC INTERNAL + + Range Object. High-Level internal allocation of + IPV4-Space for a dedicated purpose. + + + + + + + + + + + + + + + + + + + + + + + + + + GSOC EU INTERNAL + Purpose Definition. + + + + +
+ + + + + + + + + + + + Index: defs/syntax.xml diff -Nau defs/syntax.xml.orig defs/syntax.xml --- defs/syntax.xml.orig 2003-08-05 16:24:11.000000000 +0200 +++ defs/syntax.xml 2004-03-10 16:52:58.000000000 +0100 @@ -875,5 +875,55 @@ + + + + ^.{6,50}$ + + + + + ^[A-Z]{2}\.[A-Z0-9]{2,30}$ + + + + GSOC EU INTERNAL + A valid RIPE registry identifier like de.ecrc + + + + + + + ^.{1,3}$ + + + + + ^[0-9]{1,3}$ + + + + GSOC EU INTERNAL + Assignement Window size of a particular LIR + + + + + + + ^.{8,8}$ + + + + + ^[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]$ + + + + Date in DD.MM.YY + + + Index: modules/df/defs.c diff -Nau modules/df/defs.c.orig modules/df/defs.c --- modules/df/defs.c.orig 2003-07-03 09:55:21.000000000 +0200 +++ modules/df/defs.c 2004-03-10 16:52:58.000000000 +0100 @@ -78,6 +78,11 @@ "peering-set", "rtr-set", "irt", + "reg-id", + "facility", + "ticket", + "range", + "purpose", NULL }; /* Filter_names */ @@ -131,6 +136,11 @@ "peering_set", "rtr_set", "irt", +"reg_id", +"pop", +"ticket", +"range", +"purpose", NULL }; Index: modules/df/defs.h diff -Nau modules/df/defs.h.orig modules/df/defs.h --- modules/df/defs.h.orig 2003-07-03 09:55:21.000000000 +0200 +++ modules/df/defs.h 2003-12-11 02:44:01.340002000 +0100 @@ -92,6 +92,10 @@ UD_AX_MR, UD_AX_MU, UD_AX_IT, + UD_AX_AX, + UD_AX_RG, + UD_AX_PP, + UD_AX_PU, UD_LEAF_, UD_LF_IF, UD_LF_RF, Index: modules/ud/ud_comrol.c diff -Nau modules/ud/ud_comrol.c.orig modules/ud/ud_comrol.c --- modules/ud/ud_comrol.c.orig 2003-07-03 09:55:49.000000000 +0200 +++ modules/ud/ud_comrol.c 2004-03-10 16:52:58.000000000 +0100 @@ -285,6 +285,10 @@ case C_IN: case C_I6: case C_FS: + case C_RA: /* Range Object AV */ + case C_RI: /* Registry Object AV */ + case C_PP: /* pop Object AV */ + case C_TK: /* ticket Object AV */ /* if((tr->save)){ */ /* Some special processing for tables with the second attribute */ /* Update the second field of the table with query like one below */ @@ -298,11 +302,18 @@ break; /* netname for inetnum and inet6num */ case C_IN: + case C_RA: case C_I6: attr_type=A_NA; break; /* filter for filter-set */ case C_FS: attr_type=A_FI; break; + case C_RI: attr_type=A_WW; /* Save reg-window size (AV) */ + break; + case C_PP: attr_type=A_RR; /* Save remedyref (AV) */ + break; + case C_TK: attr_type=A_NA; /* Save ticket/netname (AV) */ + break; default: LG_log(ud_context, LG_SEVERE, "not valid class type\n"); attr_type=A_END; @@ -600,6 +611,78 @@ } break; + case C_RI: + + /* Check that this reg-id bject is not referenced -AV- */ + + for (i=0; t_iri[i] != NULL; i++) { + /* Calculate number of references */ + sql_str= get_field_str(tr->sql_connection, "COUNT(*)", t_iri[i], "reg_id", sobject_id, NULL); + if(sql_str) { + num_rec = atol(sql_str); UT_free(sql_str); + ref_id=tr->object_id; + /* Check if it is a self reference */ + /* reg-id Object cannot have self references */ + + /* If there are references (and not the only self reference) we cannot delete */ + if(num_rec>0) { + g_string_sprintfa(tr->error_script,"E[%d][%ld]:ref integrity: %s\n" ,ERROR_U_OBJ, num_rec, t_iit[i]); + tr->succeeded=0; tr->error |= ERROR_U_OBJ; + } + } else { + tr->succeeded=0; tr->error |= ERROR_U_DBS; + } + } + break; + + case C_PP: + + /* Check that this purpose object is not referenced -AV- */ + + for (i=0; t_ipp[i] != NULL; i++) { + /* Calculate number of references */ + sql_str= get_field_str(tr->sql_connection, "COUNT(*)", t_ipp[i], "pop_id", sobject_id, NULL); + if(sql_str) { + num_rec = atol(sql_str); UT_free(sql_str); + ref_id=tr->object_id; + /* Check if it is a self reference */ + /* IRT object cannot have self references */ + + /* If there are references (and not the only self reference) we cannot delete */ + if(num_rec>0) { + g_string_sprintfa(tr->error_script,"E[%d][%ld]:ref integrity: %s\n" ,ERROR_U_OBJ, num_rec, t_iit[i]); + tr->succeeded=0; tr->error |= ERROR_U_OBJ; + } + } else { + tr->succeeded=0; tr->error |= ERROR_U_DBS; + } + } + break; + + case C_PU: + + /* Check that this purpose object is not referenced -AV- */ + + for (i=0; t_ipu[i] != NULL; i++) { + /* Calculate number of references */ + sql_str= get_field_str(tr->sql_connection, "COUNT(*)", t_ipu[i], "purp_id", sobject_id, NULL); + if(sql_str) { + num_rec = atol(sql_str); UT_free(sql_str); + ref_id=tr->object_id; + /* Check if it is a self reference */ + /* IRT object cannot have self references */ + + /* If there are references (and not the only self reference) we cannot delete */ + if(num_rec>0) { + g_string_sprintfa(tr->error_script,"E[%d][%ld]:ref integrity: %s\n" ,ERROR_U_OBJ, num_rec, t_iit[i]); + tr->succeeded=0; tr->error |= ERROR_U_OBJ; + } + } else { + tr->succeeded=0; tr->error |= ERROR_U_DBS; + } + } + break; + case C_RS: case C_AS: /* Check that this set object is not referenced */ @@ -820,6 +903,7 @@ /* Only for these types of objects and only if we have collected data (tr->save != NULL) */ if( ( (tr->class_type==C_RT) || (tr->class_type==C_IN) + || (tr->class_type==C_RA) /* AV Range Object */ || (tr->class_type==C_I6) || (tr->class_type==C_DN))) { /* Collect some data for radix tree and NH repository update for deletes*/ Index: modules/ud/ud_comrol.h diff -Nau modules/ud/ud_comrol.h.orig modules/ud/ud_comrol.h --- modules/ud/ud_comrol.h.orig 2003-07-03 09:55:49.000000000 +0200 +++ modules/ud/ud_comrol.h 2004-03-10 16:52:58.000000000 +0100 @@ -73,7 +73,7 @@ "admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes","mnt_irt",NULL}; /*C_I6,*/ char *t_in[]={ "mntner","person_role","names","irt",NULL,NULL, - "admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes","mnt_irt",NULL}; /*C_IN,*/ + "admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes","mnt_irt","reg_ref",NULL}; /*C_IN,*/ char *t_ir[]={ "mntner","person_role","names",NULL,NULL,NULL, "ifaddr","admin_c","tech_c","notify","mnt_by",NULL}; /*C_IR,*/ @@ -113,7 +113,22 @@ char *t_it[]={ "mntner","person_role","names",NULL,NULL,NULL, "admin_c","tech_c","notify","mnt_by","auth","irt_nfy",NULL}; /*C_IS,*/ - + +char *t_ri[]={ "mntner","person_role","names",NULL,NULL,NULL, + "mnt_by","as_ref", NULL}; /*C_RI AV */ + +char *t_pp[]={ "mntner","person_role","names",NULL,NULL,NULL, + "mnt_by","as_ref", "reg_ref", "pop_ref", NULL}; /*C_PP AV */ + +char *t_tk[]={ "mntner","person_role","names",NULL,NULL,NULL, + "mnt_by","reg_ref", NULL}; /*C_TK AV */ + +char *t_ra[]={ "mntner","person_role","names","irt",NULL,NULL, + "admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes","mnt_irt","reg_ref","pop_ref","purp_ref",NULL}; /*C_RA AV*/ + +char *t_pu[]={ "mntner","person_role","names",NULL,NULL,NULL, + "mnt_by","purp_ref", NULL}; /*C_PU AV */ + /* IMPORTANT !!! */ /* This stuff should be consistent with DF_classnames.def */ @@ -136,6 +151,11 @@ t_ps, t_is, t_it, +t_ri, +t_pp, +t_tk, +t_ra, +t_pu, NULL }; @@ -144,3 +164,7 @@ char *t_ipn[]={ "admin_c","tech_c","zone_c","cross_nfy","author",NULL}; /*C_PN, C_RO*/ char *t_imt[]={ "mnt_by","mnt_lower","mnt_routes","cross_mnt","mbrs_by_ref","referral_by",NULL}; /* C_MT */ char *t_iit[]={ "mnt_irt", NULL}; /* C_IT */ +/* C&W Additions */ +char *t_iri[]={ "reg_ref",NULL}; /* C_PP Registry ID Object -AV- */ +char *t_ipp[]={ "pop_ref",NULL}; /* C_PP Pop / Location Object -AV- */ +char *t_ipu[]={ "purp_ref",NULL}; /* C_PU Purpose Object -AV- */ Index: modules/wk/which_keytypes.h diff -Nau modules/wk/which_keytypes.h.orig modules/wk/which_keytypes.h --- modules/wk/which_keytypes.h.orig 2003-07-03 09:55:56.000000000 +0200 +++ modules/wk/which_keytypes.h 2003-12-11 02:56:32.820001000 +0100 @@ -54,6 +54,11 @@ WK_PEERINGSET, /*+ peering-set name +*/ WK_RTRSET, /*+ router-set name +*/ WK_IRT, /*+ irt name +*/ + WK_REGID, /*+ registry id / reg-id AV +*/ + WK_POP, /*+ pop AV +*/ + WK_TICKET, /*+ ticket AV +*/ + WK_RANGE, /*+ range AV +*/ + WK_PURPOSE, /*+ purpose AV +*/ WK_END } WK_Type; @@ -87,6 +92,11 @@ "peering_set", "rtr_set", "irt", + "reg_id", + "pop", + "ticket", + "ipprefix", + "purpose", NULL }; /* Keytypes[] */ Index: include/DF_attribute_aliases.def diff -Nau include/DF_attribute_aliases.def.orig include/DF_attribute_aliases.def --- include/DF_attribute_aliases.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_aliases.def 2004-03-18 13:01:36.460134000 +0100 @@ -162,5 +162,41 @@ "delete", "uo", "override", + "ri", + "reg-id", + "ww", + "window", + "ax", + "as-num", + "pp", + "facility", + "rr", + "remedyref", + "tk", + "ticket", + "rg", + "registry", + "pf", + "location", + "fu", + "formurl", + "cr", + "created", + "sz", + "size", + "pr", + "preference", + "pu", + "purpose", + "ra", + "range", + "uf", + "usedfor", + "rn", + "region", + "lc", + "comment", + "ae", + "assigned", NULL }; /* Attribute_aliases */ Index: include/DF_attribute_aliases_map.def diff -Nau include/DF_attribute_aliases_map.def.orig include/DF_attribute_aliases_map.def --- include/DF_attribute_aliases_map.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_aliases_map.def 2004-03-18 13:01:40.050083000 +0100 @@ -162,5 +162,41 @@ 79, 80, 80, + 81, + 81, + 82, + 82, + 83, + 83, + 84, + 84, + 85, + 85, + 86, + 86, + 87, + 87, + 88, + 88, + 89, + 89, + 90, + 90, + 91, + 91, + 92, + 92, + 93, + 93, + 94, + 94, + 95, + 95, + 96, + 96, + 97, + 97, + 98, + 98, NULL }; /* Attribute_aliases_map */ Index: include/DF_attribute_codes.def diff -Nau include/DF_attribute_codes.def.orig include/DF_attribute_codes.def --- include/DF_attribute_codes.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_codes.def 2004-03-18 13:01:43.280189000 +0100 @@ -80,5 +80,23 @@ "iy", "ud", "uo", + "ri", + "ww", + "ax", + "pp", + "rr", + "tk", + "rg", + "pf", + "fu", + "cr", + "sz", + "pr", + "pu", + "ra", + "uf", + "rn", + "lc", + "ae", NULL }; /* Attribute_codes */ Index: include/DF_attribute_enum.def diff -Nau include/DF_attribute_enum.def.orig include/DF_attribute_enum.def --- include/DF_attribute_enum.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_enum.def 2004-03-18 13:01:45.590103000 +0100 @@ -80,6 +80,24 @@ A_IY, A_UD, A_UO, + A_RI, + A_WW, + A_AX, + A_PP, + A_RR, + A_TK, + A_RG, + A_PF, + A_FU, + A_CR, + A_SZ, + A_PR, + A_PU, + A_RA, + A_UF, + A_RN, + A_LC, + A_AE, A_END } A_Type_t; Index: include/DF_attribute_inv_attr_mask.def diff -Nau include/DF_attribute_inv_attr_mask.def.orig include/DF_attribute_inv_attr_mask.def --- include/DF_attribute_inv_attr_mask.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_inv_attr_mask.def 2004-03-18 13:01:48.250019000 +0100 @@ -1 +1 @@ -#define INV_ATTR_MASK A_AC, A_AH, A_CN, A_MR, A_MB, A_ML, A_MN, A_MU, A_NY, A_OR, A_RB, A_NS, A_RZ, A_SD, A_TC, A_DT, A_ZC, A_LA, A_MO, A_CT, A_MI, A_IY, MA_END +#define INV_ATTR_MASK A_AC, A_AH, A_CN, A_MR, A_MB, A_ML, A_MN, A_MU, A_NY, A_OR, A_RB, A_NS, A_RZ, A_SD, A_TC, A_DT, A_ZC, A_LA, A_MO, A_CT, A_MI, A_IY, A_AX, A_RG, A_PF, A_UF, MA_END Index: include/DF_attribute_names.def diff -Nau include/DF_attribute_names.def.orig include/DF_attribute_names.def --- include/DF_attribute_names.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_attribute_names.def 2004-03-18 13:01:50.670020000 +0100 @@ -80,5 +80,23 @@ "irt-nfy", "delete", "override", + "reg-id", + "window", + "as-num", + "facility", + "remedyref", + "ticket", + "registry", + "location", + "formurl", + "created", + "size", + "preference", + "purpose", + "range", + "usedfor", + "region", + "comment", + "assigned", NULL }; /* Attribute_names */ Index: include/DF_class_aliases.def diff -Nau include/DF_class_aliases.def.orig include/DF_class_aliases.def --- include/DF_class_aliases.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_aliases.def 2004-03-18 13:01:52.780085000 +0100 @@ -35,5 +35,15 @@ "rtr-set", "it", "irt", + "ri", + "reg-id", + "pp", + "facility", + "tk", + "ticket", + "ra", + "range", + "pu", + "purpose", NULL }; /* Class_aliases */ Index: include/DF_class_aliases_map.def diff -Nau include/DF_class_aliases_map.def.orig include/DF_class_aliases_map.def --- include/DF_class_aliases_map.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_aliases_map.def 2004-03-18 13:01:55.050097000 +0100 @@ -35,5 +35,15 @@ 16, 17, 17, + 18, + 18, + 19, + 19, + 20, + 20, + 21, + 21, + 22, + 22, NULL }; /* Class_aliases_map */ Index: include/DF_class_codes.def diff -Nau include/DF_class_codes.def.orig include/DF_class_codes.def --- include/DF_class_codes.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_codes.def 2004-03-18 13:01:57.430052000 +0100 @@ -17,5 +17,10 @@ "ps", "is", "it", + "ri", + "pp", + "tk", + "ra", + "pu", NULL }; /* Class_codes */ Index: include/DF_class_dbase_code_map.def diff -Nau include/DF_class_dbase_code_map.def.orig include/DF_class_dbase_code_map.def --- include/DF_class_dbase_code_map.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_dbase_code_map.def 2004-03-18 13:01:59.460031000 +0100 @@ -17,5 +17,10 @@ 15, 16, 17, + 18, + 19, + 20, + 21, + 22, NULL }; /* Class_dbase_code_map */ Index: include/DF_class_enum.def diff -Nau include/DF_class_enum.def.orig include/DF_class_enum.def --- include/DF_class_enum.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_enum.def 2004-03-18 13:02:01.620033000 +0100 @@ -18,6 +18,11 @@ C_PS, C_IS, C_IT, + C_RI, + C_PP, + C_TK, + C_RA, + C_PU, C_END } C_Type_t; Index: include/DF_class_mask.def diff -Nau include/DF_class_mask.def.orig include/DF_class_mask.def --- include/DF_class_mask.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_mask.def 2004-03-18 13:02:04.140028000 +0100 @@ -1 +1 @@ -#define CLASS_MASK C_AK, C_AS, C_AN, C_DN, C_IR, C_I6, C_IN, C_KC, C_LI, C_MT, C_PN, C_RO, C_RT, C_RS, C_FS, C_PS, C_IS, C_IT, MA_END +#define CLASS_MASK C_AK, C_AS, C_AN, C_DN, C_IR, C_I6, C_IN, C_KC, C_LI, C_MT, C_PN, C_RO, C_RT, C_RS, C_FS, C_PS, C_IS, C_IT, C_RI, C_PP, C_TK, C_RA, C_PU, MA_END Index: include/DF_class_names.def diff -Nau include/DF_class_names.def.orig include/DF_class_names.def --- include/DF_class_names.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_names.def 2004-03-18 13:02:06.320045000 +0100 @@ -17,5 +17,10 @@ "peering-set", "rtr-set", "irt", + "reg-id", + "facility", + "ticket", + "range", + "purpose", NULL }; /* Class_names */ Index: include/DF_class_templates.def diff -Nau include/DF_class_templates.def.orig include/DF_class_templates.def --- include/DF_class_templates.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_templates.def 2004-03-18 13:02:08.450028000 +0100 @@ -54,6 +54,7 @@ "mnt-by: [optional] [multiple] [inverse key]\n" "mnt-lower: [optional] [multiple] [inverse key]\n" "refer: [optional] [single] [ ]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , @@ -79,7 +80,7 @@ "admin-c: [mandatory] [multiple] [inverse key]\n" "tech-c: [mandatory] [multiple] [inverse key]\n" "rev-srv: [optional] [multiple] [inverse key]\n" -"status: [mandatory] [single] [ ]\n" +"status: [generated] [single] [ ]\n" "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [mandatory] [multiple] [inverse key]\n" @@ -90,7 +91,9 @@ , "inetnum: [mandatory] [single] [primary/look-up key]\n" "netname: [mandatory] [single] [lookup key]\n" +"registry: [optional] [single] [inverse key]\n" "descr: [mandatory] [multiple] [ ]\n" +"assigned: [optional] [single] [ ]\n" "country: [mandatory] [multiple] [ ]\n" "admin-c: [mandatory] [multiple] [inverse key]\n" "tech-c: [mandatory] [multiple] [inverse key]\n" @@ -102,6 +105,7 @@ "mnt-lower: [optional] [multiple] [inverse key]\n" "mnt-routes: [optional] [multiple] [inverse key]\n" "mnt-irt: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , @@ -138,6 +142,7 @@ "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [mandatory] [multiple] [inverse key]\n" "referral-by: [mandatory] [single] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , @@ -150,6 +155,7 @@ "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , @@ -165,6 +171,7 @@ "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , @@ -251,5 +258,59 @@ "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" , +"reg-id: [mandatory] [single] [primary/look-up key]\n" +"window: [mandatory] [single] [ ]\n" +"as-num: [mandatory] [multiple] [inverse key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +, +"facility: [mandatory] [single] [primary/look-up key]\n" +"address: [mandatory] [multiple] [ ]\n" +"registry: [mandatory] [single] [inverse key]\n" +"remedyref: [optional] [single] [ ]\n" +"as-num: [mandatory] [single] [inverse key]\n" +"remarks: [optional] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +, +"ticket: [mandatory] [single] [primary/look-up key]\n" +"netname: [mandatory] [single] [lookup key]\n" +"registry: [mandatory] [single] [inverse key]\n" +"size: [mandatory] [single] [ ]\n" +"descr: [optional] [multiple] [ ]\n" +"created: [mandatory] [single] [ ]\n" +"formurl: [optional] [single] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +, +"range: [mandatory] [single] [primary/look-up key]\n" +"netname: [mandatory] [single] [lookup key]\n" +"registry: [optional] [single] [inverse key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"country: [mandatory] [multiple] [ ]\n" +"status: [mandatory] [single] [ ]\n" +"remarks: [optional] [multiple] [ ]\n" +"location: [optional] [single] [inverse key]\n" +"usedfor: [optional] [single] [inverse key]\n" +"preference: [optional] [single] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"mnt-lower: [optional] [multiple] [inverse key]\n" +"notify: [optional] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +, +"purpose: [mandatory] [single] [primary/look-up key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"address: [optional] [multiple] [ ]\n" +"remedyref: [optional] [single] [ ]\n" +"remarks: [optional] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +, NULL }; /* Templates */ Index: include/DF_class_templates_v.def diff -Nau include/DF_class_templates_v.def.orig include/DF_class_templates_v.def --- include/DF_class_templates_v.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_class_templates_v.def 2004-03-18 13:02:11.530013000 +0100 @@ -574,6 +574,7 @@ "mnt-by: [optional] [multiple] [inverse key]\n" "mnt-lower: [optional] [multiple] [inverse key]\n" "refer: [optional] [single] [ ]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" "\n" @@ -733,6 +734,16 @@ " which queries are accepted by the referred host. If\n" " is omitted, the default number of 43 is used.\n" " ""\n" +"comment\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Private Comment\n" +" This comment lines will not get exported into the RIPE\n" +" database and are therefore of privat nature.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "changed\n" "\n" " Specifies who submitted the update, and when the object was\n" @@ -928,7 +939,7 @@ "admin-c: [mandatory] [multiple] [inverse key]\n" "tech-c: [mandatory] [multiple] [inverse key]\n" "rev-srv: [optional] [multiple] [inverse key]\n" -"status: [mandatory] [single] [ ]\n" +"status: [generated] [single] [ ]\n" "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [mandatory] [multiple] [inverse key]\n" @@ -1110,7 +1121,9 @@ " ""\n" "inetnum: [mandatory] [single] [primary/look-up key]\n" "netname: [mandatory] [single] [lookup key]\n" +"registry: [optional] [single] [inverse key]\n" "descr: [mandatory] [multiple] [ ]\n" +"assigned: [optional] [single] [ ]\n" "country: [mandatory] [multiple] [ ]\n" "admin-c: [mandatory] [multiple] [inverse key]\n" "tech-c: [mandatory] [multiple] [inverse key]\n" @@ -1122,6 +1135,7 @@ "mnt-lower: [optional] [multiple] [inverse key]\n" "mnt-routes: [optional] [multiple] [inverse key]\n" "mnt-irt: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" "\n" @@ -1143,12 +1157,33 @@ " must be a letter, and the last character of a name must be a\n" " letter or a digit.\n" " ""\n" +"registry\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to the registry (reg-id) to which this object belongs\n" +" See also \"reg-id\" object. Must be a valid registry-id.\n" +"\n" +" In the case of inetnum objects please only use registry fields\n" +" for objects of the type \"ALLOCATED\".\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "descr\n" "\n" " A short decription related to the object.\n" " ""\n" " A sequence of ASCII characters.\n" " ""\n" +"assigned\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Assign Date\n" +" The Date the assignemnt had been made.\n" +" ""\n" +" Date in DD.MM.YY\n" +" ""\n" "country\n" "\n" " Identifies the country.\n" @@ -1290,6 +1325,16 @@ " with \"irt-\", and the last character of a name must be a\n" " letter or a digit.\n" " ""\n" +"comment\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Private Comment\n" +" This comment lines will not get exported into the RIPE\n" +" database and are therefore of privat nature.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "changed\n" "\n" " Specifies who submitted the update, and when the object was\n" @@ -1563,6 +1608,7 @@ "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [mandatory] [multiple] [inverse key]\n" "referral-by: [mandatory] [single] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" "\n" @@ -1741,6 +1787,16 @@ " with \"prng-\" are reserved for peering set names. Names\n" " starting with \"irt-\" are reserved for irt names.\n" " ""\n" +"comment\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Private Comment\n" +" This comment lines will not get exported into the RIPE\n" +" database and are therefore of privat nature.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "changed\n" "\n" " Specifies who submitted the update, and when the object was\n" @@ -1776,6 +1832,7 @@ "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" "\n" @@ -1882,6 +1939,16 @@ " with \"prng-\" are reserved for peering set names. Names\n" " starting with \"irt-\" are reserved for irt names.\n" " ""\n" +"comment\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Private Comment\n" +" This comment lines will not get exported into the RIPE\n" +" database and are therefore of privat nature.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "changed\n" "\n" " Specifies who submitted the update, and when the object was\n" @@ -1925,6 +1992,7 @@ "remarks: [optional] [multiple] [ ]\n" "notify: [optional] [multiple] [inverse key]\n" "mnt-by: [optional] [multiple] [inverse key]\n" +"comment: [optional] [multiple] [ ]\n" "changed: [mandatory] [multiple] [ ]\n" "source: [mandatory] [single] [ ]\n" "\n" @@ -2052,6 +2120,16 @@ " with \"prng-\" are reserved for peering set names. Names\n" " starting with \"irt-\" are reserved for irt names.\n" " ""\n" +"comment\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Private Comment\n" +" This comment lines will not get exported into the RIPE\n" +" database and are therefore of privat nature.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" "changed\n" "\n" " Specifies who submitted the update, and when the object was\n" @@ -3106,5 +3184,622 @@ " registry name must be a letter or a digit.\n" " ""\n" , +"The reg-id class:\n" +"\n" +" GSOC EU INTERNAL\n" +" Defines an local registry (LIR)\n" +" ""\n" +"reg-id: [mandatory] [single] [primary/look-up key]\n" +"window: [mandatory] [single] [ ]\n" +"as-num: [mandatory] [multiple] [inverse key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +"\n" +"The content of the attributes of the reg-id class are defined below:\n" +"\n" +"reg-id\n" +"\n" +" GSOC EU INTERNAL\n" +" RIPE Registry ID \n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"window\n" +"\n" +" GSOC EU INTERNAL\n" +" Assignement Window size of a particular LIR\n" +" ""\n" +" GSOC EU INTERNAL\n" +" Assignement Window size of a particular LIR\n" +" ""\n" +"as-num\n" +"\n" +" GSOC EU INTERNAL\n" +" ASN which is used by a registry or a pop\n" +" ""\n" +" An \"AS\" string followed by an integer in the range from 1 to\n" +" 65534\n" +" ""\n" +"descr\n" +"\n" +" A short decription related to the object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"mnt-by\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for authorisation of operations performed with the object\n" +" that contains this attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"changed\n" +"\n" +" Specifies who submitted the update, and when the object was\n" +" updated. \n" +" ""\n" +" An e-mail address as defined in RFC 2822, followed by a date\n" +" in the format YYYYMMDD.\n" +" ""\n" +"source\n" +"\n" +" Specifies the registry where the object is registered. Should\n" +" be \"RIPE\" for the RIPE Database.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a \n" +" registry name must be a letter, and the last character of a\n" +" registry name must be a letter or a digit.\n" +" ""\n" +, +"The facility class:\n" +"\n" +" GSOC EU INTERNAL\n" +" Definition of an CW Point of Presence\n" +" ""\n" +"facility: [mandatory] [single] [primary/look-up key]\n" +"address: [mandatory] [multiple] [ ]\n" +"registry: [mandatory] [single] [inverse key]\n" +"remedyref: [optional] [single] [ ]\n" +"as-num: [mandatory] [single] [inverse key]\n" +"remarks: [optional] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +"\n" +"The content of the attributes of the facility class are defined below:\n" +"\n" +"facility\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Contains Details for which location, facility or region a certain\n" +" ip-range has been reserved for.\n" +" \n" +" See also \"purpose\" Object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"address\n" +"\n" +" Full postal address of a contact.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"registry\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to the registry (reg-id) to which this object belongs\n" +" See also \"reg-id\" object. Must be a valid registry-id.\n" +"\n" +" In the case of inetnum objects please only use registry fields\n" +" for objects of the type \"ALLOCATED\".\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"remedyref\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Remedey Reference Field. May contain references to the local\n" +" ticket-management system in the future.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"as-num\n" +"\n" +" GSOC EU INTERNAL\n" +" ASN which is used by a registry or a pop\n" +" ""\n" +" An \"AS\" string followed by an integer in the range from 1 to\n" +" 65534\n" +" ""\n" +"remarks\n" +"\n" +" Contains remarks.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"mnt-by\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for authorisation of operations performed with the object\n" +" that contains this attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"changed\n" +"\n" +" Specifies who submitted the update, and when the object was\n" +" updated. \n" +" ""\n" +" An e-mail address as defined in RFC 2822, followed by a date\n" +" in the format YYYYMMDD.\n" +" ""\n" +"source\n" +"\n" +" Specifies the registry where the object is registered. Should\n" +" be \"RIPE\" for the RIPE Database.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a \n" +" registry name must be a letter, and the last character of a\n" +" registry name must be a letter or a digit.\n" +" ""\n" +, +"The ticket class:\n" +"\n" +" GSOC EU INTERNAL\n" +" Approval/Ticket Object.\n" +" Details of the Registry approval of an assignment/allocation\n" +" ""\n" +"ticket: [mandatory] [single] [primary/look-up key]\n" +"netname: [mandatory] [single] [lookup key]\n" +"registry: [mandatory] [single] [inverse key]\n" +"size: [mandatory] [single] [ ]\n" +"descr: [optional] [multiple] [ ]\n" +"created: [mandatory] [single] [ ]\n" +"formurl: [optional] [single] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +"\n" +"The content of the attributes of the ticket class are defined below:\n" +"\n" +"ticket\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Registry Ticket-Number of the allocation/assignment confirmation.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"netname\n" +"\n" +" The name of a range of IP address space.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit.\n" +" ""\n" +"registry\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to the registry (reg-id) to which this object belongs\n" +" See also \"reg-id\" object. Must be a valid registry-id.\n" +"\n" +" In the case of inetnum objects please only use registry fields\n" +" for objects of the type \"ALLOCATED\".\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"size\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Size of an registry allocation/assignemt approval.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"descr\n" +"\n" +" A short decription related to the object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"created\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" The date when the assignment was approved\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"formurl\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Location of an completed RIPE-141 or RIPE-209 formular\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"mnt-by\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for authorisation of operations performed with the object\n" +" that contains this attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"changed\n" +"\n" +" Specifies who submitted the update, and when the object was\n" +" updated. \n" +" ""\n" +" An e-mail address as defined in RFC 2822, followed by a date\n" +" in the format YYYYMMDD.\n" +" ""\n" +"source\n" +"\n" +" Specifies the registry where the object is registered. Should\n" +" be \"RIPE\" for the RIPE Database.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a \n" +" registry name must be a letter, and the last character of a\n" +" registry name must be a letter or a digit.\n" +" ""\n" +, +"The range class:\n" +" \n" +" EU GSOC INTERNAL\n" +" \n" +" Range Object. High-Level internal allocation of\n" +" IPV4-Space for a dedicated purpose. \n" +" ""\n" +"range: [mandatory] [single] [primary/look-up key]\n" +"netname: [mandatory] [single] [lookup key]\n" +"registry: [optional] [single] [inverse key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"country: [mandatory] [multiple] [ ]\n" +"status: [mandatory] [single] [ ]\n" +"remarks: [optional] [multiple] [ ]\n" +"location: [optional] [single] [inverse key]\n" +"usedfor: [optional] [single] [inverse key]\n" +"preference: [optional] [single] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"mnt-lower: [optional] [multiple] [inverse key]\n" +"notify: [optional] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +"\n" +"The content of the attributes of the range class are defined below:\n" +"\n" +"range\n" +"\n" +" EU GSOC Internal\n" +"\n" +" Specifies a range of IPv4 that inetnum object presents. The\n" +" ending address should be greater than the starting one.\n" +" ""\n" +" - \n" +" ""\n" +"netname\n" +"\n" +" The name of a range of IP address space.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit.\n" +" ""\n" +"registry\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to the registry (reg-id) to which this object belongs\n" +" See also \"reg-id\" object. Must be a valid registry-id.\n" +"\n" +" In the case of inetnum objects please only use registry fields\n" +" for objects of the type \"ALLOCATED\".\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"descr\n" +"\n" +" A short decription related to the object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"country\n" +"\n" +" Identifies the country.\n" +" ""\n" +" Valid two-letter ISO 3166 country code.\n" +" ""\n" +"status\n" +"\n" +" Specifies the status of the address range represented by\n" +" inetnum or inet6num object.\n" +" ""\n" +" Status can have one of these values:\n" +"\n" +" o ALLOCATED PA\n" +" o ALLOCATED PI\n" +" o ALLOCATED UNSPECIFIED\n" +" o LIR-PARTITIONED PA\n" +" o LIR-PARTITIONED PI\n" +" o ASSIGNED PA\n" +" o ASSIGNED PI\n" +" o EARLY-REGISTRATION\n" +" ""\n" +"remarks\n" +"\n" +" Contains remarks.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"location\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to the facility to which this range is allocated.\n" +" See also \"facility\" object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"usedfor\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Reference to a \"purpose\" (object). \n" +" See also \"purpose\" object\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"preference\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Sets an preference for automatic or manual assignment into\n" +" a particular allocation. Example: a preference of 0 would\n" +" mean that no automatic-assignment is possible.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"mnt-by\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for authorisation of operations performed with the object\n" +" that contains this attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"mnt-lower\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for hierarchical authorisation. Protects creation of objects\n" +" directly (one level) below in the hierarchy of an object type\n" +" (only for inetnum, inet6num, as-block, aut-num, route or\n" +" domain objects). The authentication method of this maintainer\n" +" object will then be used upon creation of any object directly\n" +" below the object that contains the \"mnt-lower:\" attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"notify\n" +"\n" +" Specifies the e-mail address to which notifications of changes\n" +" to an object should be sent.\n" +" ""\n" +" An e-mail address as defined in RFC 2822.\n" +" ""\n" +"changed\n" +"\n" +" Specifies who submitted the update, and when the object was\n" +" updated. \n" +" ""\n" +" An e-mail address as defined in RFC 2822, followed by a date\n" +" in the format YYYYMMDD.\n" +" ""\n" +"source\n" +"\n" +" Specifies the registry where the object is registered. Should\n" +" be \"RIPE\" for the RIPE Database.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a \n" +" registry name must be a letter, and the last character of a\n" +" registry name must be a letter or a digit.\n" +" ""\n" +, +"The purpose class:\n" +"\n" +" GSOC EU INTERNAL\n" +" Purpose Definition.\n" +" ""\n" +"purpose: [mandatory] [single] [primary/look-up key]\n" +"descr: [mandatory] [multiple] [ ]\n" +"address: [optional] [multiple] [ ]\n" +"remedyref: [optional] [single] [ ]\n" +"remarks: [optional] [multiple] [ ]\n" +"mnt-by: [mandatory] [multiple] [inverse key]\n" +"changed: [mandatory] [multiple] [ ]\n" +"source: [mandatory] [single] [ ]\n" +"\n" +"The content of the attributes of the purpose class are defined below:\n" +"\n" +"purpose\n" +"\n" +" GSOC EU INTERNAL\n" +" \n" +" Details of the purpose the block has been allocated for\n" +"\n" +" See also \"facility\" object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"descr\n" +"\n" +" A short decription related to the object.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"address\n" +"\n" +" Full postal address of a contact.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"remedyref\n" +"\n" +" GSOC EU INTERNAL\n" +"\n" +" Remedey Reference Field. May contain references to the local\n" +" ticket-management system in the future.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"remarks\n" +"\n" +" Contains remarks.\n" +" ""\n" +" A sequence of ASCII characters.\n" +" ""\n" +"mnt-by\n" +"\n" +" Specifies the identifier of a registered mntner object used\n" +" for authorisation of operations performed with the object\n" +" that contains this attribute.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a name\n" +" must be a letter, and the last character of a name must be a\n" +" letter or a digit. The following words are reserved by\n" +" RPSL, and they can not be used as names:\n" +" \n" +" any as-any rs-any peeras and or not atomic from to at\n" +" action accept announce except refine networks into inbound\n" +" outbound\n" +" \n" +" Names starting with certain prefixes are reserved for\n" +" certain object types. Names starting with \"as-\" are\n" +" reserved for as set names. Names starting with \"rs-\" are\n" +" reserved for route set names. Names starting with \"rtrs-\"\n" +" are reserved for router set names. Names starting with\n" +" \"fltr-\" are reserved for filter set names. Names starting\n" +" with \"prng-\" are reserved for peering set names. Names\n" +" starting with \"irt-\" are reserved for irt names.\n" +" ""\n" +"changed\n" +"\n" +" Specifies who submitted the update, and when the object was\n" +" updated. \n" +" ""\n" +" An e-mail address as defined in RFC 2822, followed by a date\n" +" in the format YYYYMMDD.\n" +" ""\n" +"source\n" +"\n" +" Specifies the registry where the object is registered. Should\n" +" be \"RIPE\" for the RIPE Database.\n" +" ""\n" +" Made up of letters, digits, the character underscore \"_\",\n" +" and the character hyphen \"-\"; the first character of a \n" +" registry name must be a letter, and the last character of a\n" +" registry name must be a letter or a digit.\n" +" ""\n" +, NULL }; /* Templates_v */ Index: include/DF_radix_load.def diff -Nau include/DF_radix_load.def.orig include/DF_radix_load.def --- include/DF_radix_load.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/DF_radix_load.def 2004-03-18 13:02:16.630000000 +0100 @@ -16,5 +16,9 @@ "SELECT object_id,prefix,prefix_length,origin FROM route WHERE thread_id = 0", NULL }, + { A_RA, RX_FAM_IN, + "SELECT object_id,begin_in,end_in FROM range WHERE thread_id = 0", + NULL + }, { -1, -1, NULL, NULL } }; Index: include/Diagrams.def diff -Nau include/Diagrams.def.orig include/Diagrams.def --- include/Diagrams.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/Diagrams.def 2004-03-18 13:02:14.400002000 +0100 @@ -1,343 +1,429 @@ Classes: Foreign keys: -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| ak: as-block | rb zc tc ml mi ct ah cn mb ac mu -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| ak: as-block [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->----|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->----|--|--X--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--X--|--| -| ml: mnt-lower [I] |->----|--|--|--X--|--|--|--|--|--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| as: as-set | rb zc tc ml mi ct ah cn mb ac mu -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| as: as-set [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| ms: members | |--|--|--|--|--|--|--|--|--|--| -| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| tc: tech-c [I] |->--|--|--X--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->--|--|--|--|--|--|--|--|--|--X--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| an: aut-num | rb zc tc ml mi ct ah cn mb ac mu -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| an: aut-num [P][L] | |--|--|--|--|--|--|--|--|--|--| -| aa: as-name | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| mo: member-of | |--|--|--|--|--|--|--|--|--|--| -| ip: import | |--|--|--|--|--|--|--|--|--|--| -| ex: export | |--|--|--|--|--|--|--|--|--|--| -| df: default | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->---|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->---|--|--X--|--|--|--|--|--|--|--| -| ct: cross-mnt [I] |->---|--|--|--|--|--X--|--|--|--|--| -| cn: cross-nfy [I] |->---|--|--|--|--|--|--|--X--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| ml: mnt-lower [I] |->---|--|--|--X--|--|--|--|--|--|--| -| mu: mnt-routes [I] |->---|--|--|--|--|--|--|--|--|--|--X -| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| dn: domain | rb zc tc ml mi ct ah cn mb ac mu -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| dn: domain [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->----|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->----|--|--X--|--|--|--|--|--|--|--| -| zc: zone-c [I] |->----|--X--|--|--|--|--|--|--|--|--| -| ns: nserver [I] | |--|--|--|--|--|--|--|--|--|--| -| sd: sub-dom [I] | |--|--|--|--|--|--|--|--|--|--| -| di: dom-net | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--X--|--| -| ml: mnt-lower [I] |->----|--|--|--X--|--|--|--|--|--|--| -| rf: refer | |--|--|--|--|--|--|--|--|--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| ir: inet-rtr | rb zc tc ml mi ct ah cn mb ac mu -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| ir: inet-rtr [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| az: alias | |--|--|--|--|--|--|--|--|--|--| -| la: local-as [I] | |--|--|--|--|--|--|--|--|--|--| -| if: ifaddr [L] | |--|--|--|--|--|--|--|--|--|--| -| pe: peer | |--|--|--|--|--|--|--|--|--|--| -| mo: member-of [I] | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->----|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->----|--|--X--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| i6: inet6num | rb zc tc ml mi ct ah cn mb ac mu -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -| i6: inet6num [P][L] | |--|--|--|--|--|--|--|--|--|--| -| na: netname [L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| cy: country | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->----|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->----|--|--X--|--|--|--|--|--|--|--| -| rz: rev-srv [I] | |--|--|--|--|--|--|--|--|--|--| -| st: status | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--X--|--| -| ml: mnt-lower [I] |->----|--|--|--X--|--|--|--|--|--|--| -| mi: mnt-irt [I] |->----|--|--|--|--X--|--|--|--|--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+----------------------+ |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| in: inetnum | rb zc tc ml mi ct ah cn mb ac mu -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| in: inetnum [P][L] | |--|--|--|--|--|--|--|--|--|--| -| na: netname [L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| cy: country | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->---|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->---|--|--X--|--|--|--|--|--|--|--| -| rz: rev-srv [I] | |--|--|--|--|--|--|--|--|--|--| -| st: status | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--X--|--| -| ml: mnt-lower [I] |->---|--|--|--X--|--|--|--|--|--|--| -| mu: mnt-routes [I] |->---|--|--|--|--|--|--|--|--|--|--X -| mi: mnt-irt [I] |->---|--|--|--|--X--|--|--|--|--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| kc: key-cert | rb zc tc ml mi ct ah cn mb ac mu -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| kc: key-cert [P][L] | |--|--|--|--|--|--|--|--|--|--| -| mh: method | |--|--|--|--|--|--|--|--|--|--| -| ow: owner | |--|--|--|--|--|--|--|--|--|--| -| fp: fingerpr | |--|--|--|--|--|--|--|--|--|--| -| ce: certif | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| li: limerick | rb zc tc ml mi ct ah cn mb ac mu -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| li: limerick [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| tx: text | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->-----|--|--|--|--|--|--|--|--|--X--| -| ah: author [I] |->-----|--|--|--|--|--|--X--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| mt: mntner | rb zc tc ml mi ct ah cn mb ac mu -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| mt: mntner [P][L] |-|--o--|--|--o--|--o--|--|--o--|--o -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->--|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->--|--|--X--|--|--|--|--|--|--|--| -| dt: upd-to [I] | |--|--|--|--|--|--|--|--|--|--| -| mn: mnt-nfy [I] | |--|--|--|--|--|--|--|--|--|--| -| at: auth | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--X--|--| -| rb: referral-by [I] |->--X--|--|--|--|--|--|--|--|--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| pn: person | rb zc tc ml mi ct ah cn mb ac mu -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| pn: person [L] | |--|--|--|--|--|--|--|--|--|--| -| ad: address | |--|--|--|--|--|--|--|--|--|--| -| ph: phone | |--|--|--|--|--|--|--|--|--|--| -| fx: fax-no | |--|--|--|--|--|--|--|--|--|--| -| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--| -| nh: nic-hdl [P][L] |-|-----|--o--o--|--|--|--o--o--|--o--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| ro: role | rb zc tc ml mi ct ah cn mb ac mu -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -| ro: role [L] | |--|--|--|--|--|--|--|--|--|--| -| ad: address | |--|--|--|--|--|--|--|--|--|--| -| ph: phone | |--|--|--|--|--|--|--|--|--|--| -| fx: fax-no | |--|--|--|--|--|--|--|--|--|--| -| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--| -| tb: trouble | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->-----|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->-----|--|--X--|--|--|--|--|--|--|--| -| nh: nic-hdl [P][L] |-|-----|--o--o--|--|--|--o--o--|--o--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+---------------------+ |--|--|--|--|--|--|--|--|--|--| -+-------------------------+ |--|--|--|--|--|--|--|--|--|--| -| rt: route | rb zc tc ml mi ct ah cn mb ac mu -+-------------------------+ |--|--|--|--|--|--|--|--|--|--| -| rt: route [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| or: origin [P][I] | |--|--|--|--|--|--|--|--|--|--| -| ho: holes | |--|--|--|--|--|--|--|--|--|--| -| mo: member-of | |--|--|--|--|--|--|--|--|--|--| -| ij: inject | |--|--|--|--|--|--|--|--|--|--| -| ag: aggr-mtd | |--|--|--|--|--|--|--|--|--|--| -| ab: aggr-bndry | |--|--|--|--|--|--|--|--|--|--| -| ec: export-comps | |--|--|--|--|--|--|--|--|--|--| -| co: components | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| ct: cross-mnt [I] |->-|--|--|--|--|--X--|--|--|--|--| -| cn: cross-nfy [I] |->-|--|--|--|--|--|--|--X--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| ml: mnt-lower [I] |->-|--|--|--X--|--|--|--|--|--|--| -| mu: mnt-routes [I] |->-|--|--|--|--|--|--|--|--|--|--X -| mb: mnt-by [I] |->-|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+-------------------------+ |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| rs: route-set | rb zc tc ml mi ct ah cn mb ac mu -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| rs: route-set [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| ms: members | |--|--|--|--|--|--|--|--|--|--| -| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| tc: tech-c [I] |->--|--|--X--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->--|--|--|--|--|--|--|--|--|--X--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| fs: filter-set | rb zc tc ml mi ct ah cn mb ac mu -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| fs: filter-set [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| fi: filter | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| tc: tech-c [I] |->---|--|--X--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->---|--|--|--|--|--|--|--|--|--X--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| ps: peering-set | rb zc tc ml mi ct ah cn mb ac mu -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| ps: peering-set [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| pg: peering | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| tc: tech-c [I] |->--|--|--X--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->--|--|--|--|--|--|--|--|--|--X--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| is: rtr-set | rb zc tc ml mi ct ah cn mb ac mu -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -| is: rtr-set [P][L] | |--|--|--|--|--|--|--|--|--|--| -| de: descr | |--|--|--|--|--|--|--|--|--|--| -| ms: members | |--|--|--|--|--|--|--|--|--|--| -| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| tc: tech-c [I] |->--|--|--X--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->--|--|--|--|--|--|--|--|--|--X--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+------------------------+ |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| it: irt | rb zc tc ml mi ct ah cn mb ac mu -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| -| it: irt [P][L] |-|---|--|--|--|--o--|--|--|--|--|--| -| ad: address | |--|--|--|--|--|--|--|--|--|--| -| ph: phone | |--|--|--|--|--|--|--|--|--|--| -| fx: fax-no | |--|--|--|--|--|--|--|--|--|--| -| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--| -| sg: signature | |--|--|--|--|--|--|--|--|--|--| -| en: encryption | |--|--|--|--|--|--|--|--|--|--| -| ac: admin-c [I] |->---|--|--|--|--|--|--|--|--|--X--| -| tc: tech-c [I] |->---|--|--X--|--|--|--|--|--|--|--| -| at: auth | |--|--|--|--|--|--|--|--|--|--| -| rm: remarks | |--|--|--|--|--|--|--|--|--|--| -| iy: irt-nfy [I] | |--|--|--|--|--|--|--|--|--|--| -| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--| -| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--X--|--| -| ch: changed | |--|--|--|--|--|--|--|--|--|--| -| so: source | |--|--|--|--|--|--|--|--|--|--| -| ud: delete | |--|--|--|--|--|--|--|--|--|--| -| uo: override | |--|--|--|--|--|--|--|--|--|--| -+-----------------------+ |--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ak: as-block | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ak: as-block [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->----|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ml: mnt-lower [I] |->----|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| as: as-set | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| as: as-set [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ms: members | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->--|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->--|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| an: aut-num | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| an: aut-num [P][L] |-|---o--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| aa: as-name | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mo: member-of | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ip: import | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ex: export | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| df: default | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->---|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->---|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ct: cross-mnt [I] |->---|--|--|--|--|--|--|--X--|--|--|--|--|--|--| +| cn: cross-nfy [I] |->---|--|--|--|--|--|--|--|--|--|--X--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ml: mnt-lower [I] |->---|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| mu: mnt-routes [I] |->---|--|--|--|--|--X--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| dn: domain | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| dn: domain [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->----|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| zc: zone-c [I] |->----|--|--|--|--|--|--|--|--|--|--|--X--|--|--| +| ns: nserver [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| sd: sub-dom [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| di: dom-net | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ml: mnt-lower [I] |->----|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| rf: refer | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| lc: comment | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ir: inet-rtr | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ir: inet-rtr [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| az: alias | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| la: local-as [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| if: ifaddr [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pe: peer | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mo: member-of [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->----|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| i6: inet6num | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| i6: inet6num [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| na: netname [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| cy: country | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->----|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| rz: rev-srv [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| st: status | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ml: mnt-lower [I] |->----|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| mi: mnt-irt [I] |->----|--|--|--|--|--|--|--|--|--X--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| in: inetnum | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| in: inetnum [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| na: netname [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rg: registry [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--|--|--X +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ae: assigned | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| cy: country | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->---|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->---|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| rz: rev-srv [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| st: status | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ml: mnt-lower [I] |->---|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| mu: mnt-routes [I] |->---|--|--|--|--|--X--|--|--|--|--|--|--|--|--| +| mi: mnt-irt [I] |->---|--|--|--|--|--|--|--|--|--X--|--|--|--|--| +| lc: comment | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| kc: key-cert | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| kc: key-cert [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mh: method | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ow: owner | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fp: fingerpr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ce: certif | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| li: limerick | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| li: limerick [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tx: text | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->-----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ah: author [I] |->-----|--|--|--X--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mt: mntner | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mt: mntner [P][L] |-|--|--o--|--|--|--o--|--o--o--|--|--|--o--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->--|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->--|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| dt: upd-to [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mn: mnt-nfy [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| at: auth | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| rb: referral-by [I] |->--|--X--|--|--|--|--|--|--|--|--|--|--|--|--| +| lc: comment | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pn: person | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pn: person [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ad: address | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ph: phone | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fx: fax-no | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| nh: nic-hdl [P][L] |-|-----|--|--|--o--o--|--o--|--|--|--o--o--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| lc: comment | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ro: role | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ro: role [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ad: address | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ph: phone | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fx: fax-no | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tb: trouble | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->-----|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->-----|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| nh: nic-hdl [P][L] |-|-----|--|--|--o--o--|--o--|--|--|--o--o--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| lc: comment | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rt: route | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rt: route [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| or: origin [P][I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ho: holes | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mo: member-of | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ij: inject | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ag: aggr-mtd | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ab: aggr-bndry | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ec: export-comps | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| co: components | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ct: cross-mnt [I] |->-|--|--|--|--|--|--|--X--|--|--|--|--|--|--| +| cn: cross-nfy [I] |->-|--|--|--|--|--|--|--|--|--|--X--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ml: mnt-lower [I] |->-|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| mu: mnt-routes [I] |->-|--|--|--|--|--X--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rs: route-set | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rs: route-set [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ms: members | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->--|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->--|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fs: filter-set | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fs: filter-set [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fi: filter | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->---|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->---|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ps: peering-set | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ps: peering-set [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pg: peering | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->--|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->--|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| is: rtr-set | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| is: rtr-set [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ms: members | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mr: mbrs-by-ref [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->--|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->--|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->--|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++------------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| it: irt | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| it: irt [P][L] |-|---|--|--|--|--|--|--|--|--|--o--|--|--|--|--| +| ad: address | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ph: phone | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fx: fax-no | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| em: e-mail [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| sg: signature | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| en: encryption | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ac: admin-c [I] |->---|--|--|--|--X--|--|--|--|--|--|--|--|--|--| +| tc: tech-c [I] |->---|--|--|--|--|--|--X--|--|--|--|--|--|--|--| +| at: auth | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| iy: irt-nfy [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ri: reg-id | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ri: reg-id [P][L] |-|-----|--|--|--|--|--|--|--|--|--|--|--|--|--|--o +| ww: window | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ax: as-num [I] |->-----X--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pp: facility | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pp: facility [P][L] |-|----|--|--|--|--|--|--|--|--|--|--|--|--|--o--| +| ad: address | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rg: registry [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--|--|--X +| rr: remedyref | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ax: as-num [I] |->----X--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tk: ticket | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| tk: ticket [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| na: netname [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rg: registry [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--|--|--X +| sz: size | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| cr: created | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| fu: formurl | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->-----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++---------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ra: range | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ra: range [P][L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| na: netname [L] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rg: registry [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--|--|--X +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| cy: country | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| st: status | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pf: location [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--|--X--| +| uf: usedfor [I] |->---|--|--X--|--|--|--|--|--|--|--|--|--|--|--| +| pr: preference | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->---|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ml: mnt-lower [I] |->---|--|--|--|--|--|--|--|--X--|--|--|--|--|--| +| ny: notify [I] | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++-----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pu: purpose | ax rb uf ah ac mu tc ct ml mi cn zc mb pf rg ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| pu: purpose [P][L] |-|----|--|--o--|--|--|--|--|--|--|--|--|--|--|--| +| de: descr | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ad: address | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rr: remedyref | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| rm: remarks | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| mb: mnt-by [I] |->----|--|--|--|--|--|--|--|--|--|--|--|--X--|--| +| ch: changed | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| so: source | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| ud: delete | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| +| uo: override | |--|--|--|--|--|--|--|--|--|--|--|--|--|--| ++----------------------+ |--|--|--|--|--|--|--|--|--|--|--|--|--|--| Index: include/QI_queries.def diff -Nau include/QI_queries.def.orig include/QI_queries.def --- include/QI_queries.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/QI_queries.def 2004-03-18 13:01:31.290089000 +0100 @@ -3,29 +3,38 @@ { R_SQL, Q_LOOKUP, - WK_ASSETNAME, - A_AS, - C_AS, - "SELECT object_id FROM as_set WHERE as_set = '%s' AND thread_id = 0", - "SQL:as/as/WK_ASSETNAME" + WK_NIC_HDL, + A_NH, + C_PN, + "SELECT object_id FROM person_role WHERE nic_hdl = '%s' AND object_type = 10 AND thread_id = 0", + "SQL:pn/nh/WK_NIC_HDL" }, { R_SQL, - Q_INVERSE, + Q_LOOKUP, WK_NIC_HDL, - A_ZC, + A_NH, + C_RO, + "SELECT object_id FROM person_role WHERE nic_hdl = '%s' AND object_type = 11 AND thread_id = 0", + "SQL:ro/nh/WK_NIC_HDL" + }, + { + R_SQL, + Q_INVERSE, + WK_POP, + A_PF, C_ANY, - "SELECT i.object_id FROM zone_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", - "SQL:ANY/zc/WK_NIC_HDL" + "SELECT i.object_id FROM pop, pop_ref i WHERE pop.object_id = i.pop_id AND pop.pop = '%s' AND i.thread_id = 0", + "SQL:ANY/pf/WK_POP" }, { R_SQL, Q_INVERSE, - WK_MNTNER, - A_MR, + WK_AUTNUM, + A_AX, C_ANY, - "SELECT MR.object_id FROM mbrs_by_ref MR, mntner MT WHERE MT.mntner = '%s' AND MT.dummy = 0 AND MT.object_id = MR.mnt_id AND MR.thread_id = 0", - "SQL:ANY/mr/WK_MNTNER" + "SELECT i.object_id FROM aut_num, as_ref i WHERE aut_num.object_id = i.as_id AND aut_num.aut_num = '%s' AND i.thread_id = 0", + "SQL:ANY/ax/WK_AUTNUM" }, { R_SQL, @@ -48,6 +57,15 @@ { R_SQL, Q_LOOKUP, + WK_RTRSET, + A_IS, + C_IS, + "SELECT object_id FROM rtr_set WHERE rtr_set='%s' AND thread_id=0", + "SQL:is/is/WK_RTRSET" + }, + { + R_SQL, + Q_LOOKUP, WK_ASRANGE, A_AK, C_AK, @@ -58,136 +76,181 @@ R_SQL, Q_INVERSE, WK_NIC_HDL, - A_AC, + A_AH, C_ANY, - "SELECT i.object_id FROM admin_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", - "SQL:ANY/ac/WK_NIC_HDL" + "SELECT i.object_id FROM person_role, author i WHERE person_role.object_id = i.pe_ro_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", + "SQL:ANY/ah/WK_NIC_HDL" }, { R_SQL, Q_LOOKUP, - WK_NAME, - A_PN, - C_PN, - "SELECT N00.object_id FROM %s WHERE %s AND N00.object_type = 10 AND N00.thread_id = 0", - "SQL:pn/pn/WK_NAME" + WK_IPADDRESS, + A_IF, + C_IR, + "SELECT object_id FROM ifaddr WHERE ifaddr >= %u AND ifaddr <= %u AND thread_id = 0", + "SQL:ir/if/WK_IPADDRESS" }, { R_SQL, Q_INVERSE, - WK_NIC_HDL, - A_AH, - C_ANY, - "SELECT i.object_id FROM person_role, author i WHERE person_role.object_id = i.pe_ro_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", - "SQL:ANY/ah/WK_NIC_HDL" + WK_DOMAIN, + A_RZ, + C_IN, + "SELECT object_id FROM rev_srv WHERE rev_srv = '%s' AND thread_id = 0", + "SQL:in/rz/WK_DOMAIN" }, { R_SQL, - Q_LOOKUP, - WK_NIC_HDL, - A_NH, - C_PN, - "SELECT object_id FROM person_role WHERE nic_hdl = '%s' AND object_type = 10 AND thread_id = 0", - "SQL:pn/nh/WK_NIC_HDL" + Q_INVERSE, + WK_DOMAIN, + A_RZ, + C_I6, + "SELECT object_id FROM rev_srv WHERE rev_srv = '%s' AND thread_id = 0", + "SQL:i6/rz/WK_DOMAIN" }, { R_SQL, - Q_LOOKUP, + Q_INVERSE, WK_NIC_HDL, - A_NH, - C_RO, - "SELECT object_id FROM person_role WHERE nic_hdl = '%s' AND object_type = 11 AND thread_id = 0", - "SQL:ro/nh/WK_NIC_HDL" + A_CN, + C_ANY, + "SELECT i.object_id FROM person_role, cross_nfy i WHERE person_role.object_id = i.pe_ro_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", + "SQL:ANY/cn/WK_NIC_HDL" }, { R_SQL, Q_LOOKUP, - WK_AUTNUM, - A_AN, - C_AN, - "SELECT object_id FROM aut_num WHERE aut_num = '%s' AND thread_id = 0", - "SQL:an/an/WK_AUTNUM" + WK_MNTNER, + A_MT, + C_MT, + "SELECT object_id FROM mntner WHERE mntner = '%s' AND thread_id = 0", + "SQL:mt/mt/WK_MNTNER" }, { R_SQL, Q_INVERSE, - WK_MNTNER, - A_RB, + WK_NIC_HDL, + A_TC, C_ANY, - "SELECT i.object_id FROM mntner, referral_by i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", - "SQL:ANY/rb/WK_MNTNER" + "SELECT i.object_id FROM tech_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", + "SQL:ANY/tc/WK_NIC_HDL" }, { R_SQL, Q_INVERSE, WK_MNTNER, - A_MB, + A_ML, C_ANY, - "SELECT i.object_id FROM mntner, mnt_by i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", - "SQL:ANY/mb/WK_MNTNER" + "SELECT i.object_id FROM mntner, mnt_lower i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", + "SQL:ANY/ml/WK_MNTNER" + }, + { + R_SQL, + Q_INVERSE, + WK_AUTNUM, + A_LA, + C_IR, + "SELECT object_id FROM inet_rtr WHERE local_as = '%s' AND thread_id = 0", + "SQL:ir/la/WK_AUTNUM" }, { R_SQL, Q_INVERSE, WK_MNTNER, - A_CT, + A_MB, C_ANY, - "SELECT i.object_id FROM mntner, cross_mnt i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", - "SQL:ANY/ct/WK_MNTNER" + "SELECT i.object_id FROM mntner, mnt_by i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", + "SQL:ANY/mb/WK_MNTNER" }, { R_SQL, - Q_INVERSE, - WK_EMAIL, - A_MN, - C_MT, - "SELECT object_id FROM mnt_nfy WHERE mnt_nfy = '%s' AND thread_id = 0", - "SQL:mt/mn/WK_EMAIL" + Q_LOOKUP, + WK_DOMAIN, + A_IR, + C_IR, + "SELECT object_id FROM inet_rtr WHERE inet_rtr = '%s' AND thread_id = 0", + "SQL:ir/ir/WK_DOMAIN" + }, + { + R_RADIX, + Q_LOOKUP, + WK_IP6PREFIX, + A_I6, + C_I6, + "", + "RADIX:i6/WK_IP6PREFIX" }, { R_RADIX, Q_LOOKUP, WK_IPRANGE, - A_RT, - C_RT, + A_RA, + C_RA, "", - "RADIX:rt/WK_IPRANGE" + "RADIX:ra/WK_IPRANGE" }, { R_RADIX, Q_LOOKUP, WK_IPPREFIX, - A_RT, - C_RT, + A_RA, + C_RA, "", - "RADIX:rt/WK_IPPREFIX" + "RADIX:ra/WK_IPPREFIX" }, { R_RADIX, Q_LOOKUP, WK_IPADDRESS, - A_RT, - C_RT, + A_RA, + C_RA, "", - "RADIX:rt/WK_IPADDRESS" + "RADIX:ra/WK_IPADDRESS" }, { R_SQL, Q_LOOKUP, - WK_DOMAIN, - A_IR, - C_IR, - "SELECT object_id FROM inet_rtr WHERE inet_rtr = '%s' AND thread_id = 0", - "SQL:ir/ir/WK_DOMAIN" + WK_AUTNUM, + A_AN, + C_AN, + "SELECT object_id FROM aut_num WHERE aut_num = '%s' AND thread_id = 0", + "SQL:an/an/WK_AUTNUM" }, { R_SQL, Q_LOOKUP, - WK_NAME, - A_RO, - C_RO, - "SELECT N00.object_id FROM %s WHERE %s AND N00.object_type = 11 AND N00.thread_id = 0", - "SQL:ro/ro/WK_NAME" + WK_FILTERSET, + A_FS, + C_FS, + "SELECT object_id FROM filter_set WHERE filter_set='%s' AND thread_id=0", + "SQL:fs/fs/WK_FILTERSET" + }, + { + R_SQL, + Q_LOOKUP, + WK_POP, + A_PP, + C_PP, + "SELECT object_id FROM pop WHERE pop = '%s' AND thread_id = 0", + "SQL:pp/pp/WK_POP" + }, + { + R_SQL, + Q_INVERSE, + WK_MNTNER, + A_MR, + C_ANY, + "SELECT MR.object_id FROM mbrs_by_ref MR, mntner MT WHERE MT.mntner = '%s' AND MT.dummy = 0 AND MT.object_id = MR.mnt_id AND MR.thread_id = 0", + "SQL:ANY/mr/WK_MNTNER" + }, + { + R_SQL, + Q_LOOKUP, + WK_LIMERICK, + A_LI, + C_LI, + "SELECT object_id FROM limerick WHERE limerick = '%s' AND thread_id = 0", + "SQL:li/li/WK_LIMERICK" }, { R_RADIX, @@ -228,38 +291,47 @@ { R_SQL, Q_INVERSE, - WK_DOMAIN, - A_NS, - C_DN, - "SELECT object_id FROM nserver WHERE host = '%s' AND thread_id = 0", - "SQL:dn/ns/WK_DOMAIN" + WK_EMAIL, + A_DT, + C_MT, + "SELECT object_id FROM upd_to WHERE upd_to = '%s' AND thread_id = 0", + "SQL:mt/dt/WK_EMAIL" }, { R_SQL, Q_INVERSE, - WK_IPADDRESS, - A_NS, - C_DN, - "SELECT object_id FROM nserver WHERE host = '%s' AND thread_id = 0", - "SQL:dn/ns/WK_IPADDRESS" + WK_EMAIL, + A_IY, + C_IT, + "SELECT object_id FROM irt_nfy WHERE irt_nfy = '%s' AND thread_id = 0", + "SQL:it/iy/WK_EMAIL" }, { R_SQL, - Q_INVERSE, - WK_MNTNER, - A_ML, - C_ANY, - "SELECT i.object_id FROM mntner, mnt_lower i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", - "SQL:ANY/ml/WK_MNTNER" + Q_LOOKUP, + WK_PURPOSE, + A_PU, + C_PU, + "SELECT object_id FROM purpose WHERE purpose = '%s' AND thread_id = 0", + "SQL:pu/pu/WK_PURPOSE" }, { R_SQL, - Q_INVERSE, - WK_NIC_HDL, - A_TC, - C_ANY, - "SELECT i.object_id FROM tech_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", - "SQL:ANY/tc/WK_NIC_HDL" + Q_LOOKUP, + WK_PEERINGSET, + A_PS, + C_PS, + "SELECT object_id FROM peering_set WHERE peering_set='%s' AND thread_id=0", + "SQL:ps/ps/WK_PEERINGSET" + }, + { + R_SQL, + Q_LOOKUP, + WK_NAME, + A_RO, + C_RO, + "SELECT N00.object_id FROM %s WHERE %s AND N00.object_type = 11 AND N00.thread_id = 0", + "SQL:ro/ro/WK_NAME" }, { R_SQL, @@ -273,146 +345,65 @@ { R_SQL, Q_LOOKUP, - WK_IRT, - A_IT, - C_IT, - "SELECT object_id FROM irt WHERE irt = '%s' AND thread_id=0", - "SQL:it/it/WK_IRT" + WK_ROUTESETNAME, + A_RS, + C_RS, + "SELECT object_id FROM route_set WHERE route_set = '%s' AND thread_id = 0", + "SQL:rs/rs/WK_ROUTESETNAME" }, { R_SQL, Q_INVERSE, WK_NIC_HDL, - A_CN, + A_ZC, C_ANY, - "SELECT i.object_id FROM person_role, cross_nfy i WHERE person_role.object_id = i.pe_ro_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", - "SQL:ANY/cn/WK_NIC_HDL" - }, - { - R_SQL, - Q_INVERSE, - WK_IRT, - A_MI, - C_ANY, - "SELECT b.object_id FROM irt a, mnt_irt b WHERE a.object_id = b.irt_id AND a.irt = '%s' AND b.thread_id = 0", - "SQL:ANY/mi/WK_IRT" + "SELECT i.object_id FROM zone_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", + "SQL:ANY/zc/WK_NIC_HDL" }, { R_RADIX, Q_LOOKUP, - WK_IP6PREFIX, - A_I6, - C_I6, + WK_IPRANGE, + A_RT, + C_RT, "", - "RADIX:i6/WK_IP6PREFIX" - }, - { - R_SQL, - Q_INVERSE, - WK_DOMAIN, - A_RZ, - C_IN, - "SELECT object_id FROM rev_srv WHERE rev_srv = '%s' AND thread_id = 0", - "SQL:in/rz/WK_DOMAIN" - }, - { - R_SQL, - Q_INVERSE, - WK_DOMAIN, - A_RZ, - C_I6, - "SELECT object_id FROM rev_srv WHERE rev_srv = '%s' AND thread_id = 0", - "SQL:i6/rz/WK_DOMAIN" - }, - { - R_SQL, - Q_INVERSE, - WK_MNTNER, - A_MU, - C_ANY, - "SELECT i.object_id FROM mntner, mnt_routes i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s'", - "SQL:ANY/mu/WK_MNTNER" - }, - { - R_SQL, - Q_INVERSE, - WK_DOMAIN, - A_SD, - C_DN, - "SELECT object_id FROM sub_dom WHERE domain = '%s' AND thread_id = 0", - "SQL:dn/sd/WK_DOMAIN" - }, - { - R_SQL, - Q_LOOKUP, - WK_FILTERSET, - A_FS, - C_FS, - "SELECT object_id FROM filter_set WHERE filter_set='%s' AND thread_id=0", - "SQL:fs/fs/WK_FILTERSET" + "RADIX:rt/WK_IPRANGE" }, { - R_SQL, + R_RADIX, Q_LOOKUP, - WK_LIMERICK, - A_LI, - C_LI, - "SELECT object_id FROM limerick WHERE limerick = '%s' AND thread_id = 0", - "SQL:li/li/WK_LIMERICK" + WK_IPPREFIX, + A_RT, + C_RT, + "", + "RADIX:rt/WK_IPPREFIX" }, { - R_SQL, + R_RADIX, Q_LOOKUP, WK_IPADDRESS, - A_IF, - C_IR, - "SELECT object_id FROM ifaddr WHERE ifaddr >= %u AND ifaddr <= %u AND thread_id = 0", - "SQL:ir/if/WK_IPADDRESS" - }, - { - R_SQL, - Q_INVERSE, - WK_AUTNUM, - A_OR, + A_RT, C_RT, - "SELECT object_id FROM route WHERE origin = '%s' AND thread_id = 0", - "SQL:rt/or/WK_AUTNUM" - }, - { - R_SQL, - Q_LOOKUP, - WK_PEERINGSET, - A_PS, - C_PS, - "SELECT object_id FROM peering_set WHERE peering_set='%s' AND thread_id=0", - "SQL:ps/ps/WK_PEERINGSET" + "", + "RADIX:rt/WK_IPADDRESS" }, { R_SQL, Q_INVERSE, - WK_EMAIL, - A_IY, - C_IT, - "SELECT object_id FROM irt_nfy WHERE irt_nfy = '%s' AND thread_id = 0", - "SQL:it/iy/WK_EMAIL" + WK_MNTNER, + A_CT, + C_ANY, + "SELECT i.object_id FROM mntner, cross_mnt i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", + "SQL:ANY/ct/WK_MNTNER" }, { R_SQL, Q_INVERSE, - WK_EMAIL, - A_NY, + WK_IRT, + A_MI, C_ANY, - "SELECT object_id FROM notify i WHERE i.notify = '%s' AND i.thread_id = 0", - "SQL:ANY/ny/WK_EMAIL" - }, - { - R_SQL, - Q_LOOKUP, - WK_RTRSET, - A_IS, - C_IS, - "SELECT object_id FROM rtr_set WHERE rtr_set='%s' AND thread_id=0", - "SQL:is/is/WK_RTRSET" + "SELECT b.object_id FROM irt a, mnt_irt b WHERE a.object_id = b.irt_id AND a.irt = '%s' AND b.thread_id = 0", + "SQL:ANY/mi/WK_IRT" }, { R_SQL, @@ -461,21 +452,21 @@ }, { R_SQL, - Q_LOOKUP, + Q_INVERSE, WK_MNTNER, - A_MT, - C_MT, - "SELECT object_id FROM mntner WHERE mntner = '%s' AND thread_id = 0", - "SQL:mt/mt/WK_MNTNER" + A_MU, + C_ANY, + "SELECT i.object_id FROM mntner, mnt_routes i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s'", + "SQL:ANY/mu/WK_MNTNER" }, { R_SQL, - Q_INVERSE, - WK_AUTNUM, - A_LA, - C_IR, - "SELECT object_id FROM inet_rtr WHERE local_as = '%s' AND thread_id = 0", - "SQL:ir/la/WK_AUTNUM" + Q_LOOKUP, + WK_ASSETNAME, + A_AS, + C_AS, + "SELECT object_id FROM as_set WHERE as_set = '%s' AND thread_id = 0", + "SQL:as/as/WK_ASSETNAME" }, { R_SQL, @@ -497,21 +488,129 @@ }, { R_SQL, + Q_INVERSE, + WK_EMAIL, + A_MN, + C_MT, + "SELECT object_id FROM mnt_nfy WHERE mnt_nfy = '%s' AND thread_id = 0", + "SQL:mt/mn/WK_EMAIL" + }, + { + R_SQL, + Q_INVERSE, + WK_NIC_HDL, + A_AC, + C_ANY, + "SELECT i.object_id FROM admin_c i, person_role WHERE i.pe_ro_id = person_role.object_id AND person_role.nic_hdl = '%s' AND i.thread_id = 0", + "SQL:ANY/ac/WK_NIC_HDL" + }, + { + R_SQL, + Q_INVERSE, + WK_REGID, + A_RG, + C_ANY, + "SELECT i.object_id FROM reg_id, reg_ref i WHERE reg_id.object_id = i.reg_id AND reg_id.reg_id = '%s' AND i.thread_id = 0", + "SQL:ANY/rg/WK_REGID" + }, + { + R_SQL, Q_LOOKUP, - WK_ROUTESETNAME, - A_RS, - C_RS, - "SELECT object_id FROM route_set WHERE route_set = '%s' AND thread_id = 0", - "SQL:rs/rs/WK_ROUTESETNAME" + WK_NAME, + A_PN, + C_PN, + "SELECT N00.object_id FROM %s WHERE %s AND N00.object_type = 10 AND N00.thread_id = 0", + "SQL:pn/pn/WK_NAME" + }, + { + R_SQL, + Q_LOOKUP, + WK_TICKET, + A_TK, + C_TK, + "SELECT object_id FROM ticket WHERE ticket = '%s' AND thread_id = 0", + "SQL:tk/tk/WK_TICKET" + }, + { + R_SQL, + Q_INVERSE, + WK_MNTNER, + A_RB, + C_ANY, + "SELECT i.object_id FROM mntner, referral_by i WHERE mntner.object_id = i.mnt_id AND mntner.mntner = '%s' AND i.thread_id = 0", + "SQL:ANY/rb/WK_MNTNER" + }, + { + R_SQL, + Q_INVERSE, + WK_PURPOSE, + A_UF, + C_PU, + "SELECT i.object_id FROM purpose, purp_ref i WHERE purpose.object_id = i.purp_id AND purpose.purpose = '%s' AND i.thread_id = 0", + "SQL:pu/uf/WK_PURPOSE" + }, + { + R_SQL, + Q_LOOKUP, + WK_REGID, + A_RI, + C_RI, + "SELECT object_id FROM reg_id WHERE reg_id = '%s' AND thread_id = 0", + "SQL:ri/ri/WK_REGID" + }, + { + R_SQL, + Q_LOOKUP, + WK_IRT, + A_IT, + C_IT, + "SELECT object_id FROM irt WHERE irt = '%s' AND thread_id=0", + "SQL:it/it/WK_IRT" + }, + { + R_SQL, + Q_INVERSE, + WK_AUTNUM, + A_OR, + C_RT, + "SELECT object_id FROM route WHERE origin = '%s' AND thread_id = 0", + "SQL:rt/or/WK_AUTNUM" + }, + { + R_SQL, + Q_INVERSE, + WK_DOMAIN, + A_SD, + C_DN, + "SELECT object_id FROM sub_dom WHERE domain = '%s' AND thread_id = 0", + "SQL:dn/sd/WK_DOMAIN" + }, + { + R_SQL, + Q_INVERSE, + WK_DOMAIN, + A_NS, + C_DN, + "SELECT object_id FROM nserver WHERE host = '%s' AND thread_id = 0", + "SQL:dn/ns/WK_DOMAIN" + }, + { + R_SQL, + Q_INVERSE, + WK_IPADDRESS, + A_NS, + C_DN, + "SELECT object_id FROM nserver WHERE host = '%s' AND thread_id = 0", + "SQL:dn/ns/WK_IPADDRESS" }, { R_SQL, Q_INVERSE, WK_EMAIL, - A_DT, - C_MT, - "SELECT object_id FROM upd_to WHERE upd_to = '%s' AND thread_id = 0", - "SQL:mt/dt/WK_EMAIL" + A_NY, + C_ANY, + "SELECT object_id FROM notify i WHERE i.notify = '%s' AND i.thread_id = 0", + "SQL:ANY/ny/WK_EMAIL" }, { 0, Index: include/UD_queries.def diff -Nau include/UD_queries.def.orig include/UD_queries.def --- include/UD_queries.def.orig 2003-08-05 16:24:11.000000000 +0200 +++ include/UD_queries.def 2004-03-18 13:01:33.520201000 +0100 @@ -80,6 +80,24 @@ {UD_LEAF_, " INSERT irt_nfy SET thread_id=%d, object_id=%ld, irt_nfy='%s' "}, {UD_NULL_, ""}, {UD_NULL_, ""}, + {UD_MAIN_, " INSERT reg_id SET thread_id=%d, object_id=%ld, reg_id='%s', reg_window=0 "}, + {UD_MA_U2, " UPDATE %s SET thread_id=%d, reg_window='%s' WHERE object_id=%ld "}, + {UD_AUX__, " INSERT as_ref SELECT %d, %ld, aut_num.object_id, %d FROM aut_num WHERE aut_num.aut_num='%s' "}, + {UD_MAIN_, " INSERT pop SET thread_id=%d, object_id=%ld, pop='%s', remedyref='fresh_insert' "}, + {UD_MA_U2, " UPDATE %s SET thread_id=%d, remedyref='%s' WHERE object_id=%ld "}, + {UD_MAIN_, " INSERT ticket SET thread_id=%d, object_id=%ld, ticket='%s', netname='-' "}, + {UD_AUX__, " INSERT reg_ref SELECT %d, %ld, reg_id.object_id, %d FROM reg_id WHERE reg_id.reg_id='%s' "}, + {UD_AUX__, " INSERT pop_ref SELECT %d, %ld, pop.object_id, %d FROM pop WHERE pop.pop='%s' "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_MAIN_, " INSERT purpose SET thread_id=%d, object_id=%ld, purpose='%s' "}, + {UD_MA_IN, " INSERT range SET thread_id=%d, object_id=%ld, begin_in=%u, end_in=%u "}, + {UD_AUX__, " INSERT purp_ref SELECT %d, %ld, purpose.object_id, %d FROM purpose WHERE purpose.purpose='%s' "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, {0, NULL} }; /* Insert */ @@ -165,6 +183,24 @@ {UD_LEAF_, " UPDATE irt_nfy SET thread_id=%d WHERE object_id=%ld AND irt_nfy='%s' "}, {UD_NULL_, ""}, {UD_NULL_, ""}, + {UD_MAIN_, ""}, + {UD_MA_U2, " UPDATE %s SET thread_id=%d, reg_window='%s' WHERE object_id=%ld "}, + {UD_AX_AX, " UPDATE as_ref SET thread_id=%d WHERE object_id=%ld AND as_id=%ld "}, + {UD_MAIN_, ""}, + {UD_MA_U2, " UPDATE %s SET thread_id=%d, remedyref='%s' WHERE object_id=%ld "}, + {UD_MAIN_, ""}, + {UD_AX_RG, " UPDATE reg_ref SET thread_id=%d WHERE object_id=%ld AND reg_id=%ld "}, + {UD_AX_PP, " UPDATE pop_ref SET thread_id=%d WHERE object_id=%ld AND pop_id=%ld "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_MAIN_, ""}, + {UD_MAIN_, ""}, + {UD_AX_PU, " UPDATE purp_ref SET thread_id=%d WHERE object_id=%ld AND purp_id=%ld "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, {0, NULL} }; /* Update */ @@ -250,6 +286,24 @@ {UD_NULL_, ""}, {UD_NULL_, ""}, {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, {0, NULL} }; /* Dummy */ @@ -335,6 +389,24 @@ {UD_NULL_, ""}, {UD_NULL_, ""}, {UD_NULL_, ""}, + {UD_MAIN_, " reg_id='%s' AND "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_MAIN_, " pop='%s' AND "}, + {UD_NULL_, ""}, + {UD_MAIN_, " ticket='%s' AND "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_MAIN_, " purpose='%s' AND "}, + {UD_MA_IN, " begin_in=%u AND end_in=%u AND "}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, + {UD_NULL_, ""}, {0, NULL} }; /* Select */ Index: modules/qc/query_command.c diff -Nau modules/qc/query_command.c.orig modules/qc/query_command.c --- modules/qc/query_command.c.orig 2003-07-03 09:55:33.000000000 +0200 +++ modules/qc/query_command.c 2003-12-12 04:38:18.300001000 +0100 @@ -824,11 +824,12 @@ MA_not(query_command->object_type_bitmap); } - /* XXX: missing checks for "-i" and "-T" versus key types */ + /* XXX: missing checks for "-i" and "-T" versus key types AV */ is_ip_key = MA_isset(query_command->keytypes_bitmap, WK_IPADDRESS) || - MA_isset(query_command->keytypes_bitmap, WK_IPRANGE) || - MA_isset(query_command->keytypes_bitmap, WK_IPPREFIX) || + MA_isset(query_command->keytypes_bitmap, WK_IPRANGE) || + MA_isset(query_command->keytypes_bitmap, WK_IPPREFIX) || + MA_isset(query_command->keytypes_bitmap, WK_RANGE ) || MA_isset(query_command->keytypes_bitmap, WK_IP6PREFIX); /* check for use of IP flags on non-IP lookups */ Index: modules/qi/query_instructions.c diff -Nau modules/qi/query_instructions.c.orig modules/qi/query_instructions.c --- modules/qi/query_instructions.c.orig 2003-07-03 09:55:34.000000000 +0200 +++ modules/qi/query_instructions.c 2003-12-12 05:14:05.410008000 +0100 @@ -396,7 +396,7 @@ create_name_query(result_buff, q.query, qc->keys); addquery = 1; } - else if( q.keytype == WK_IPADDRESS ) { /* ifaddr sql lookups */ + else if( q.keytype == WK_IPADDRESS || q.keytype == WK_RANGE ) { /* AV ifaddr sql lookups */ ip_range_t myrang; unsigned begin, end; ip_keytype_t key_type; @@ -2104,6 +2104,10 @@ static int valid_query(const Query_command *qc, const Query_t q) { int result=0; + if (q.keytype == WK_REGID || q.keytype == WK_POP || + q.keytype == WK_TICKET|| q.keytype == WK_RANGE || + q.keytype == WK_PURPOSE ) return 1; + if (MA_isset(qc->keytypes_bitmap, q.keytype) == 1) { if (q.query != NULL) { switch (q.querytype) { Index: modules/rp/rp_load.c diff -Nau modules/rp/rp_load.c.orig modules/rp/rp_load.c --- modules/rp/rp_load.c.orig 2003-07-03 09:55:36.000000000 +0200 +++ modules/rp/rp_load.c 2003-12-12 04:50:54.680003000 +0100 @@ -61,6 +61,7 @@ pack->type = attr; pack->d.origin = NULL; switch( attr ) { + case A_RA: /* AV Range Object */ case A_IN: /* read 0-2 from inetnum @@ -254,7 +255,7 @@ dieif ( SQ_execute_query(con, "LOCK TABLES " "route READ, inetnum READ, inet6num READ, " - "inaddr_arpa READ, domain READ, ip6int READ ", + "inaddr_arpa READ, domain READ, ip6int READ, range READ ", NULL) == -1 ); do { @@ -264,6 +265,9 @@ if( !NOERR(err=RP_sql_load_attr_space( A_IN, IP_V4, reg_id, con))) { break; } + if( !NOERR(err=RP_sql_load_attr_space( A_RA, IP_V4, reg_id, con))) { + break; + } #ifndef NO_A_I6 if( !NOERR(err=RP_sql_load_attr_space( A_I6, IP_V6, reg_id, con))) { break; Index: modules/rp/rp_tree.c diff -Nau modules/rp/rp_tree.c.orig modules/rp/rp_tree.c --- modules/rp/rp_tree.c.orig 2003-07-03 09:55:36.000000000 +0200 +++ modules/rp/rp_tree.c 2003-12-12 04:56:27.790002000 +0100 @@ -201,7 +201,8 @@ if( NOERR(err=rp_init_attr_tree(reg_id, A_IN)) && NOERR(err=rp_init_attr_tree(reg_id, A_RT)) && NOERR(err=rp_init_attr_tree(reg_id, A_I6)) - && NOERR(err=rp_init_attr_tree(reg_id, A_DN)) ) { + && NOERR(err=rp_init_attr_tree(reg_id, A_DN)) + && NOERR(err=rp_init_attr_tree(reg_id, A_RA)) ) { /* AV Init range 2 */ return RP_OK; } Index: modules/ud/ud_core.c diff -Nau modules/ud/ud_core.c.orig modules/ud/ud_core.c --- modules/ud/ud_core.c.orig 2003-07-03 09:55:49.000000000 +0200 +++ modules/ud/ud_core.c 2003-12-12 04:59:20.420009000 +0100 @@ -654,6 +654,13 @@ /* Determine the attribute type */ attribute_type = rpsl_get_attr_id(rpsl_attr_get_name(attribute)); /* Get attribute value .It is already clean since we process the flattened copy of the object */ + + /* This is kind of ugly but the only possebility for a fast solution */ + /* Never allow dummy for reg-id, pop and ticket AV */ + if(attribute_type==A_AX || attribute_type==A_RG || + attribute_type==A_TK || attribute_type==A_PF || + attribute_type==A_UF ) return 1; + attribute_value = rpsl_attr_get_value(attribute); query_fmt = DF_get_dummy_query(attribute_type); @@ -917,6 +924,22 @@ get_ref_id(tr, "mntner", "mntner", attribute_value, condition)); } break; + case UD_AX_AX: /* Update as_ref reference AV */ + g_string_sprintf(tr->query, query_fmt, tr->thread_upd, tr->object_id, + get_ref_id(tr, "aut_num", "aut_num", attribute_value, NULL)); + break; + case UD_AX_RG: /* Update reg_ref reference AV */ + g_string_sprintf(tr->query, query_fmt, tr->thread_upd, tr->object_id, + get_ref_id(tr, "reg_id", "reg_id", attribute_value, NULL)); + break; + case UD_AX_PP: /* Update pop reference AV */ + g_string_sprintf(tr->query, query_fmt, tr->thread_upd, tr->object_id, + get_ref_id(tr, "pop", "pop", attribute_value, NULL)); + break; + case UD_AX_PU: /* Update purpose reference AV */ + g_string_sprintf(tr->query, query_fmt, tr->thread_upd, tr->object_id, + get_ref_id(tr, "purpose", "purpose", attribute_value, NULL)); + break; case UD_LEAF_: g_string_sprintf(tr->query, query_fmt, tr->thread_upd, tr->object_id, attribute_value); break; @@ -1144,8 +1167,19 @@ } break; case UD_AUX__: /* for AUX tables*/ - g_string_sprintf(tr->query, query_fmt, tr->thread_ins, tr->object_id, tr->class_type, attribute_value); - if(!IS_DUMMY_ALLOWED(tr->mode))g_string_sprintfa(tr->query, " AND dummy=0 "); + /* AV Never create dummys for this attributes */ + if(attribute_type==A_AX || attribute_type==A_RG || + attribute_type==A_TK || attribute_type==A_PF || + attribute_type==A_UF ) + { + g_string_sprintf(tr->query, query_fmt, tr->thread_ins, tr->object_id, + tr->class_type, attribute_value); + } + else { + g_string_sprintf(tr->query, query_fmt, tr->thread_ins, tr->object_id, + tr->class_type, attribute_value); + if(!IS_DUMMY_ALLOWED(tr->mode))g_string_sprintfa(tr->query, " AND dummy=0 "); + } break; case UD_AX_MO: /* for member_of table*/ set_name = get_set_name(tr->class_type); Index: modules/ud/ud_rx.c diff -Nau modules/ud/ud_rx.c.orig modules/ud/ud_rx.c --- modules/ud/ud_rx.c.orig 2003-07-03 09:55:49.000000000 +0200 +++ modules/ud/ud_rx.c 2003-12-11 03:58:26.000002000 +0100 @@ -44,6 +44,7 @@ const gchar *attribute_value; switch(attribute_type){ + case A_RA: /* AV range object */ case A_IN: case A_RT: case A_I6: Index: modules/rp/rp_convert.c diff -Nau modules/rp/rp_convert.c.orig modules/rp/rp_convert.c --- modules/rp/rp_convert.c.orig 2004-05-28 16:12:55.000000000 +0200 +++ modules/rp/rp_convert.c 2004-05-28 16:09:53.000000000 +0200 @@ -70,6 +70,7 @@ int conv; rx_fam_t fam_id = RP_attr2fam( attr ); switch( attr ) { + case A_RA: case A_IN: conv = IP_rang_e2b(&(uni->u.in), astr); break;