## modules/up/dbupdate.h

/* [<][>][^][v][top][bottom][index][help] */

## FUNCTIONS

This source file includes following functions.

       1 /******************
       2   Copyright (c) 2002                                        RIPE NCC
       3
       4   All Rights Reserved
       5
       6   Permission to use, copy, modify, and distribute this software and its
       7   documentation for any purpose and without fee is hereby granted,
       8   provided that the above copyright notice appear in all copies and that
       9   both that copyright notice and this permission notice appear in
      10   supporting documentation, and that the name of the author not be
      11   used in advertising or publicity pertaining to distribution of the
      12   software without specific, written prior permission.
      13
      14   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
      15   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
      16   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
      17   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
      18   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
      19   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
      20   ***************************************/
      21
      22 #ifndef UPDATE_UPPER_H
      23 #define UPDATE_UPPER_H
      24
      25
      26 #include <stdio.h>
      27 #include <stdlib.h>
      28 #include <string.h>
      29 #include <stubs.h>
      30 /*#include <string>*/
      31 #include <glib.h>
      32 /*#include <iostream.h>
      33 #include <fstream>*/
      34
      35 #include <netdb.h>
      36 #include <sys/types.h>
      37 #include <netinet/in.h>
      38 #include <sys/socket.h>
      39 #include <errno.h>
      40 #include <unistd.h>
      41
      42 #include "rip.h"
      43 #undef close
      44
      45 #include <config.h>
      46 /* #include <istream.h>
      47 #include "rpsl/object.hh"
      48 #include "util/rusage.hh"
      49 #include "util/debug.hh"
      50 #include "util/trace.hh"
      51 #include "util/Argv.hh"
      52 #include "util/version.hh"
      53 #ifdef IRR_NEEDED
      54 #include "irr/irr.hh"
      55 #include "irr/rawhoisc.hh"
      56 #endif */ /* IRR_NEEDED */
      57 /* #include "rpsl/schema.hh"
      58 */
      59 #include "erroutines.h"
      60 #include "AU_util.h"
      61 #include "ack.h"
      62 #define private private_xx
      63 #include "mm.h"
      64 #include "mysql_driver.h"
      65 /*#include "mail_parser.h"*/
      66 #undef private
      67
      68
      69 #define MAXDATASIZE 100 /* max number of bytes we can get at once */
      70
      71 #define OVR_OK 0 /* override succeded */
      72
      73
      74 #define ACK_FILE_PREFIX "ack"
      75
      76 extern char *sources[];
      77
      78 typedef enum {
      79   UP_AUTH_OK=0, /* Auth succeded */
      80   UP_MOR, /* got more than one object from the db, where extected only one */
      81   UP_NSO, /* no such object */
      82   UP_AUF, /* auth failed */
      83   UP_NIY, /* not implemented yet */
      84   UP_ABN, /* as-block does not exist */
      85   UP_HOF, /* hierarchical auth failed */
      86   UP_OVF, /* override failed */
      87   UP_OVS, /* override syntax error */
      88   UP_NOM, /* no match. the old & nw versions of the object are not the same */
      89   UP_ANE, /* AUTO NIC hdl error */
      90   UP_FWD, /* mntner or as-block creation will be forwarded to <HUMAILBOX> */
      91   UP_SYN, /* syntax error in the object */
      92   UP_NAM, /* name of a person/role object cannot be changed */
      93   UP_INT  /* internal error */
      94
      95 } return_codes;
      96
      97 typedef struct _up_ripupd_result_struct {
      98   int result;
      99   char * error_str;
     100 } up_ripupd_result_struct;
     101
     102
     103
     104 up_ripupd_result_struct * send_object_db(rpsl_object_t * object, char * assigned_NIC, char * operation);
     105
     106 /* char * get_class_type(Object *arg); */
     107
     108 char * get_search_key(rpsl_object_t *object, const char * type);
     109
     110 /* GSList *get_attributes(Object * o, const char * attrib, const char * text); */
     111
     112 char * send_and_get(char * host, int port, char * arg);
     113
     114 int count_objects(char * arg);
     115
     116 char * take_object(char * arg);
     117
     118 char * get_as_block(rpsl_object_t *autnum_object);
     119
     120 char * get_less_specific_domain(rpsl_object_t *domain_object);
     121
     122 char * get_less_specific_set(rpsl_object_t *set_object, const char *type);
     123
     124 char * get_less_specific(rpsl_object_t *inetnum_object, const char *type);
     125
     126 GList *get_mntners(rpsl_object_t * object);
     127
     128 GList *get_auths(char * object_str);
     129
     130 GList *get_attr_list(rpsl_object_t * object, const char * attr_type);
     131
     132 GList *get_mnt_lowers(rpsl_object_t * object);
     133
     134 char *get_override(rpsl_object_t * object);
     135
     136 int check_override(char * string);
     137
     138 GSList * add_to_auth_vector(GSList * list_of_auth_struct, GList * auths, char * mntner_name);
     139
     140 GSList * get_auth_vector(GList * mntners);
     141
     142 GList * get_mntnfy_vector(GList * mntners);
     143
     144 int check_auth(rpsl_object_t *new_object, rpsl_object_t *old_object, const char *type, credentials_struct credentials);
     145
     146 char * get_old_version(rpsl_object_t * object, char * arg);
     147
     148 /* int process_object(char * arg, credentials_struct credentials, GHashTable * NIC_hdl_hash, char * ack_file_name); */
     149
     150 void process_mail_header(credentials_struct * credentials_ptr ,char * header);
     151
     152 int has_ref_to_AUTO_nic_hdl(rpsl_object_t * object);
     153
     154 char * find_email_address(const char * from_line);
     155
     156 char * replace_refs_to_AUTO_NIC_hdl(rpsl_object_t * object, GHashTable * auto_nic_hash , char *arg);
     157
     158 int identical(const char * old_version, rpsl_object_t * object);
     159
     160 int has_AUTO_NIC_hdl(const rpsl_object_t * object);
     161
     162 rpsl_object_t * replace_AUTO_NIC_hdl(rpsl_object_t * object, char * auto_nic_hdl);
     163
     164 /* char * get_class_type_char(char * object); */
     165
     166 void up_string_pack(char *dest, const char *source);
     167
     168 void UP_add_to_upd_log(const char * filename);
     169
     170 void UP_log_networkupdate(const char * object_str, const char * host);
     171
     172
     173 #endif

/* [<][>][^][v][top][bottom][index][help] */