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;