include/dbupdate.h
/* [<][>][^][v][top][bottom][index][help] */
FUNCTIONS
This source file includes following functions.
1 #ifndef UPDATE_UPPER_H
2 #define UPDATE_UPPER_H
3
4
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <string.h>
8 #include <stubs.h>
9 #include <string>
10 #include <glib.h>
11 #include <iostream.h>
12 #include <fstream>
13
14 #include <netdb.h>
15 #include <sys/types.h>
16 #include <netinet/in.h>
17 #include <sys/socket.h>
18 #include <errno.h>
19 #include <unistd.h>
20
21 #include <config.h>
22 #include <istream.h>
23 #include "rpsl/object.hh"
24 #include "util/rusage.hh"
25 #include "util/debug.hh"
26 #include "util/trace.hh"
27 #include "util/Argv.hh"
28 #include "util/version.hh"
29 #ifdef IRR_NEEDED
30 #include "irr/irr.hh"
31 #include "irr/rawhoisc.hh"
32 #endif // IRR_NEEDED
33 #include "rpsl/schema.hh"
34 #include "erroutines.h"
35 #include "AU_util.h"
36 #include "ack.h"
37 #define private private_xx
38 #include "mm.h"
39 #include "mysql_driver.h"
40 //#include "mail_parser.h"
41 #undef private
42
43
44 #define MAXDATASIZE 100 /* max number of bytes we can get at once */
45
46 #define OVR_OK 0 /* override succeded */
47
48
49 //#define UPDATE_SOURCE "RIPE"
50
51 #define ACK_FILE_PREFIX "ack"
52
53 typedef enum {
54 UP_AUTH_OK=0, /* Auth succeded */
55 UP_MOR, /* got more than one object from the db, where extected only one */
56 UP_NSO, /* no such object */
57 UP_AUF, /* auth failed */
58 UP_NIY, /* not implemented yet */
59 UP_ABN, /* as-block does not exist */
60 UP_HOF, /* hierarchical auth failed */
61 UP_OVF, /* override failed */
62 UP_OVS, /* override syntax error */
63 UP_NOM, /* no match. the old & nw versions of the object are not the same */
64 UP_ANE, /* AUTO NIC hdl error */
65 UP_FWD, /* mntner or as-block creation will be forwarded to <HUMAILBOX> */
66 UP_INT /* internal error */
67
68 } return_codes;
69
70
71 #ifdef __cplusplus
72 extern "C" {
73 #endif
74
75
76
77 int send_object_db(char * arg, char * assigned_NIC, char * operation);
78
79 char * get_class_type(Object *arg);
80
81 char * get_search_key(Object *arg, char * type, const char * text);
82
83 GSList *get_attributes(Object * o, const char * attrib, const char * text);
84
85 char * send_and_get(char * host, int port, char * arg);
86
87 int count_objects(char * arg);
88
89 char * take_object(char * arg);
90
91 char * get_as_block(char *autnum_object);
92
93 char * get_less_specific_domain(char *domain_object);
94
95 char * get_less_specific_set(char *set_object, char *type);
96
97 char * get_less_specific(char *inetnum_object, char *type);
98
99 GSList *get_mntners(char * object);
100
101 GSList *get_auths(char * object);
102
103 GSList *get_attr_list(char * object, char * attr_type);
104
105 GSList *get_mnt_lowers(char * object);
106
107 char *get_override(char * object);
108
109 int check_override(char * string);
110
111 GSList * add_to_auth_vector(GSList * list_of_auth_struct, GSList * auths, char * mntner_name);
112
113 GSList * get_auth_vector(GSList * mntners);
114
115 GSList * get_mntnfy_vector(GSList * mntners);
116
117 int check_auth(char *new_object, char *old_object, char *type, credentials_struct credentials);
118
119 char * get_old_version(char * arg);
120
121 //int process_object(char * arg, credentials_struct credentials, GHashTable * NIC_hdl_hash, char * ack_file_name);
122
123 void process_mail_header(credentials_struct * credentials_ptr ,char * header);
124
125 int has_ref_to_AUTO_nic_hdl(const char * object);
126
127 char * find_email_address(const char * from_line);
128
129 char * replace_refs_to_AUTO_NIC_hdl(char * changed_obj, char * arg, GHashTable * auto_nic_hash);
130
131 int identical(const char * old_version, const char * new_version);
132
133 int has_AUTO_NIC_hdl(const char * object);
134
135 char * replace_AUTO_NIC_hdl(char * arg, char * auto_nic_hdl);
136
137 char * get_class_type_char(char * object);
138
139 void up_string_pack(char *dest, const char *source);
140
141 #ifdef __cplusplus
142 }
143 #endif
144
145
146 #endif