fred-mod-eppd-2.20.2
epp_common.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2018 CZ.NIC, z. s. p. o.
3  *
4  * This file is part of FRED.
5  *
6  * FRED is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * FRED is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with FRED. If not, see <https://www.gnu.org/licenses/>.
18  */
28 #ifndef EPP_COMMON_H
29 #define EPP_COMMON_H
30 
32 typedef enum {
33  EPP_FATAL = 1,
38 } epp_loglevel;
39 
45 typedef struct
46 {
47  void *pool;
48  void *conn;
49  int session;
50 } epp_context;
51 
52 typedef enum
53 {
54  dcpa_all,
55  dcpa_none,
56 } epp_DataCollectionPolicyAccess;
57 
62 typedef enum {
63  EPP_UNKNOWN_CMD = 0,
64  /*
65  * 'dummy' is not a command from point of view of epp client, but is
66  * command from central repository's point of view
67  */
68  EPP_DUMMY,
69  /* session commands */
70  EPP_LOGIN,
71  EPP_LOGOUT,
72  /* query commands */
73  EPP_CHECK_CONTACT,
74  EPP_CHECK_DOMAIN,
75  EPP_CHECK_NSSET,
76  EPP_CHECK_KEYSET,
77  EPP_INFO_CONTACT,
78  EPP_INFO_DOMAIN,
79  EPP_INFO_NSSET,
80  EPP_INFO_KEYSET,
81  EPP_LIST_CONTACT,
82  EPP_LIST_DOMAIN,
83  EPP_LIST_NSSET,
84  EPP_LIST_KEYSET,
85  EPP_POLL_REQ,
86  EPP_POLL_ACK,
87  /* transform commands */
88  EPP_CREATE_CONTACT,
89  EPP_CREATE_DOMAIN,
90  EPP_CREATE_NSSET,
91  EPP_CREATE_KEYSET,
92  EPP_DELETE_CONTACT,
93  EPP_DELETE_DOMAIN,
94  EPP_DELETE_NSSET,
95  EPP_DELETE_KEYSET,
96  EPP_UPDATE_CONTACT,
97  EPP_UPDATE_DOMAIN,
98  EPP_UPDATE_NSSET,
99  EPP_UPDATE_KEYSET,
100  EPP_TRANSFER_CONTACT,
101  EPP_TRANSFER_DOMAIN,
102  EPP_TRANSFER_NSSET,
103  EPP_TRANSFER_KEYSET,
104  EPP_RENEW_DOMAIN,
105  /* protocol extensions */
106  EPP_SENDAUTHINFO_CONTACT,
107  EPP_SENDAUTHINFO_DOMAIN,
108  EPP_SENDAUTHINFO_NSSET,
109  EPP_SENDAUTHINFO_KEYSET,
110  EPP_TEST_NSSET,
111  EPP_CREDITINFO,
112  /* info functions */
113  EPP_INFO_LIST_CONTACTS,
114  EPP_INFO_LIST_DOMAINS,
115  EPP_INFO_LIST_NSSETS,
116  EPP_INFO_LIST_KEYSETS,
117  EPP_INFO_DOMAINS_BY_NSSET,
118  EPP_INFO_DOMAINS_BY_KEYSET,
119  EPP_INFO_DOMAINS_BY_CONTACT,
120  EPP_INFO_NSSETS_BY_CONTACT,
121  EPP_INFO_NSSETS_BY_NS,
122  EPP_INFO_KEYSETS_BY_CONTACT,
123  EPP_INFO_GET_RESULTS
125 
129 typedef enum { EPP_EXT_ENUMVAL, EPP_EXT_MAILING_ADDR } epp_ext_type;
130 
134 typedef enum {
135  EPP_UNKNOWN_OBJ = 0,
136  EPP_CONTACT,
137  EPP_DOMAIN,
138  EPP_NSSET,
139  EPP_KEYSET
141 
145 typedef enum {
146  LANG_EN = 0,
147  LANG_CS,
148 } epp_lang;
149 
157 typedef enum {
158  errspec_poll_msgID = 0,
159  errspec_contact_handle,
160  errspec_contact_cc,
161  errspec_nsset_handle,
162  errspec_nsset_tech,
163  errspec_nsset_dns_name,
164  errspec_nsset_dns_addr,
165  errspec_nsset_dns_name_add,
166  errspec_nsset_dns_name_rem,
167  errspec_nsset_tech_add,
168  errspec_nsset_tech_rem,
169  errspec_keyset_handle,
170  errspec_keyset_tech,
171  errspec_keyset_dnskey,
172  errspec_keyset_dnskey_add,
173  errspec_keyset_dnskey_rem,
174  errspec_keyset_tech_add,
175  errspec_keyset_tech_rem,
176  errspec_registrar_author,
177  errspec_domain_fqdn,
178  errspec_domain_registrant,
179  errspec_domain_nsset,
180  errspec_domain_keyset,
181  errspec_domain_period,
182  errspec_domain_admin,
183  errspec_domain_tmpcontact,
184  errspec_domain_ext_valDate,
185  errspec_domain_ext_valDate_missing,
186  errspec_domain_curExpDate,
187  errspec_domain_admin_add,
188  errspec_domain_admin_rem,
189  /* input errors */
190  errspec_not_valid,
191  errspec_poll_msgID_missing,
192  errspec_contact_identtype_missing,
193  errspec_transfer_op
194 } epp_errorspec;
195 
203 typedef struct
204 {
206  char *value;
221  char *reason;
223  int position;
224 } epp_error;
225 
232 typedef enum
233 {
234  incorrect_epp_action_type = 0,
235  ClientLogin = 100,
236  ClientLogout = 101,
237  ClientGreeting = 105,
238  PollAcknowledgement = 120,
239  PollResponse = 121,
240  ContactCheck = 200,
241  ContactInfo = 201,
242  ContactDelete = 202,
243  ContactUpdate = 203,
244  ContactCreate = 204,
245  ContactTransfer = 205,
246  NSsetCheck = 400,
247  NSsetInfo = 401,
248  NSsetDelete = 402,
249  NSsetUpdate = 403,
250  NSsetCreate = 404,
251  NSsetTransfer = 405,
252  DomainCheck = 500,
253  DomainInfo = 501,
254  DomainDelete = 502,
255  DomainUpdate = 503,
256  DomainCreate = 504,
257  DomainTransfer = 505,
258  DomainRenew = 506,
259  DomainTrade = 507,
260  KeysetCheck = 600,
261  KeysetInfo = 601,
262  KeysetDelete = 602,
263  KeysetUpdate = 603,
264  KeysetCreate = 604,
265  KeysetTransfer = 605,
266  UnknownAction = 1000,
267  ListContact = 1002,
268  ListNSset = 1004,
269  ListDomain = 1005,
270  ListKeySet = 1006,
271  ClientCredit = 1010,
272  nssetTest = 1012,
273  ContactSendAuthInfo = 1101,
274  NSSetSendAuthInfo = 1102,
275  DomainSendAuthInfo = 1103,
276  KeySetSendAuthInfo = 1106,
277  InfoListContacts = 1200,
278  InfoListDomains = 1201,
279  InfoListNssets = 1202,
280  InfoListKeysets = 1203,
281  InfoDomainsByNsset = 1204,
282  InfoDomainsByKeyset = 1205,
283  InfoDomainsByContact = 1206,
284  InfoNssetsByContact = 1207,
285  InfoNssetsByNs = 1208,
286  InfoKeysetsByContact = 1209,
287  InfoGetResults = 1210
289 
298 typedef struct qitem
299 {
300  struct qitem *next;
301  void *content;
302 } qitem;
303 
309 typedef struct
310 {
311  int count;
314 } qhead;
315 
317 #define q_length(_qhead) ((_qhead).count)
318 
319 #define q_next(_qhead) ((_qhead)->cur = ((_qhead)->cur) ? (_qhead)->cur->next : NULL)
320 
321 #define q_content(_qhead) ((_qhead)->cur->content)
322 
323 #define q_reset(_qhead) ((_qhead)->cur = (_qhead)->body)
324 
328 #define q_foreach(_qhead) \
329  for ((_qhead)->cur = (_qhead)->body; (_qhead)->cur != NULL; (_qhead)->cur = (_qhead)->cur->next)
330 
338 int q_add(void *pool, qhead *head, void *data);
339 
343 /* ********************************************************************* */
344 
345 
349 typedef struct
350 {
351  char *value;
352  char *text;
353 } epp_status;
354 
358 typedef struct
359 {
360  char *name;
361  char *org;
363  char *city;
364  char *sp;
365  char *pc;
366  char *cc;
368 
369 typedef enum
370 {
371  public_data,
372  private_data,
373  unused_privacy_policy
374 } epp_PrivacyPolicy;
375 
379 typedef struct
380 {
381  epp_PrivacyPolicy name;
382  epp_PrivacyPolicy organization;
383  epp_PrivacyPolicy address;
384  epp_PrivacyPolicy telephone;
385  epp_PrivacyPolicy fax;
386  epp_PrivacyPolicy email;
387  epp_PrivacyPolicy vat;
388  epp_PrivacyPolicy ident;
389  epp_PrivacyPolicy notify_email;
390 } epp_discl;
391 
392 typedef struct
393 {
394  unsigned name:1;
395  unsigned organization:1;
396  unsigned address:1;
397  unsigned telephone:1;
398  unsigned fax:1;
399  unsigned email:1;
400  unsigned vat:1;
401  unsigned ident:1;
402  unsigned notify_email:1;
404 
408 typedef struct
409 {
411  epp_DataCollectionPolicyAccess data_collection_policy_access;
412  epp_controlled_privacy_data_mask contact_info_available_disclose_elements;
413  epp_controlled_privacy_data_mask contact_create_available_disclose_elements;
414  epp_controlled_privacy_data_mask contact_update_available_disclose_elements;
416 
420 typedef struct
421 {
422  char *name;
424 } epp_ns;
425 
427 typedef struct
428 {
429  unsigned short flags;
430  unsigned char protocol;
431  unsigned char alg;
432  char *public_key;
433 } epp_dnskey;
434 
436 typedef enum
437 {
444 } epp_identType;
445 
446 typedef enum { TIMEUNIT_MONTH, TIMEUNIT_YEAR } epp_timeunit;
447 
449 typedef struct
450 {
451  int avail;
452  char *reason;
453 } epp_avail;
454 
456 typedef struct
457 {
458  char *zone;
459  char *credit;
461 
462 typedef struct
463 {
464  char *ext_enumval;
465  int publish;
467 } epp_ext_enum;
468 
469 typedef struct
470 {
471  char *Street1;
472  char *Street2;
473  char *Street3;
474  char *City;
476  char *PostalCode;
477  char *CountryCode;
479 
480 typedef enum { mailing_addr_info, mailing_addr_set, mailing_addr_remove } epp_mailingAddrCommand;
481 
484 typedef struct
485 {
487 
488 typedef struct
489 {
490  epp_mailingAddrCommand command;
491  union
492  {
496  } data;
498 
499 
500 typedef struct
501 {
503  union
504  {
507  } ext;
508 } epp_ext_item;
509 
511 typedef enum {
532 } epp_pollType;
533 
535 typedef struct
536 {
537  char *testname;
538  int status;
539  char *note;
541 
542 /* ********************************************************************* */
543 
544 
546 typedef struct
547 {
548  char *clID;
549  char *pw;
550  char *newPW;
553  unsigned lang;
554 } epps_login;
555 
557 typedef struct
558 {
561 } epps_check;
562 
564 typedef struct
565 {
566  char *id;
567  char *handle;
568  char *roid;
571  char *voice;
572  char *fax;
573  char *email;
574  char *clID;
575  char *crID;
576  char *crDate;
577  char *upID;
578  char *upDate;
579  char *trDate;
580  char *authInfo;
582  char *vat;
583  char *ident;
585  char *notify_email;
588 
590 typedef struct
591 {
592  char *name;
593  char *handle;
594  char *roid;
596  char *registrant;
599  char *nsset;
600  char *keyset;
601  char *clID;
602  char *crID;
603  char *crDate;
604  char *exDate;
605  char *upID;
606  char *upDate;
607  char *trDate;
608  char *authInfo;
611 
613 typedef struct
614 {
615  char *id;
616  char *handle;
617  char *roid;
619  char *clID;
620  char *crID;
621  char *crDate;
622  char *upID;
623  char *upDate;
624  char *trDate;
625  char *authInfo;
628  int level;
630 
632 typedef struct
633 {
634  char *id;
635  char *handle;
636  char *roid;
638  char *clID;
639  char *crID;
640  char *crDate;
641  char *upID;
642  char *upDate;
643  char *trDate;
644  char *authInfo;
648 
650 typedef struct
651 {
652  unsigned long long count;
653  char *msgid;
654  char *qdate;
656  union
657  {
658  char *handle;
659  struct
660  {
661  char *handle;
662  char *date;
663  char *clID;
664  } hdt;
665  struct
666  {
667  char *handle;
668  char *date;
669  } hd;
670  struct
671  {
672  char *handle;
673  qhead fqdns;
674  qhead tests;
675  } tc;
676  struct
677  {
678  char *zone;
679  char *limit;
680  char *credit;
681  } lc;
682  struct
683  {
684  char *period_from;
685  char *period_to;
686  unsigned long long total_free_count;
687  unsigned long long used_count;
688  char *price;
689  } rfi;
690  struct
691  {
692  char *optrid;
693  unsigned long long pollid;
694  epps_info_contact old_data;
695  epps_info_contact new_data;
696  } upc;
697  struct
698  {
699  char *optrid;
700  unsigned long long pollid;
701  epps_info_domain old_data;
702  epps_info_domain new_data;
703  } upd;
704  struct
705  {
706  char *optrid;
707  unsigned long long pollid;
708  epps_info_nsset old_data;
709  epps_info_nsset new_data;
710  } upn;
711  struct
712  {
713  char *optrid;
714  unsigned long long pollid;
715  epps_info_keyset old_data;
716  epps_info_keyset new_data;
717  } upk;
718  } msg;
719 } epps_poll_req;
720 
722 typedef struct
723 {
724  char *msgid;
725  unsigned long long count;
726  char *newmsgid;
727 } epps_poll_ack;
728 
730 typedef struct
731 {
732  char *id;
734  char *voice;
735  char *fax;
736  char *email;
737  char *authInfo;
739  char *vat;
740  char *ident;
742  char *notify_email;
743  char *crDate;
746 
748 typedef struct
749 {
750  char *name;
751  char *registrant;
753  char *nsset;
754  char *keyset;
755  int period;
756  epp_timeunit unit;
757  char *authInfo;
759  char *crDate;
760  char *exDate;
762 
764 typedef struct
765 {
766  char *id;
767  char *authInfo;
770  char *crDate;
771  int level;
773 
775 typedef struct
776 {
777  char *id;
778  char *authInfo;
781  char *crDate;
783 
785 typedef struct
786 {
787  char *id;
788 } epps_delete;
789 
791 typedef struct
792 {
793  char *name;
794  char *curExDate;
795  int period;
796  epp_timeunit unit;
798  char *exDate;
799 } epps_renew;
800 
802 typedef struct
803 {
804  char *id;
806  char *voice;
807  char *fax;
808  char *email;
809  char *authInfo;
810  unsigned char discl_update;
812  char *vat;
813  char *ident;
815  char *notify_email;
818 
820 typedef struct
821 {
822  char *name;
823  char *registrant;
827  char *nsset;
828  char *keyset;
829  char *authInfo;
832 
834 typedef struct
835 {
836  char *id;
841  char *authInfo;
842  int level;
844 
846 typedef struct
847 {
848  char *id;
853  char *authInfo;
855 
857 typedef struct
858 {
859  char *id;
860  char *authInfo;
861 } epps_transfer;
862 
864 typedef struct
865 {
866  char *id;
868 
870 typedef struct
871 {
874 
876 typedef struct
877 {
878  char *id;
880  int level;
881 } epps_test;
882 
884 typedef struct
885 {
887 } epps_list;
888 
894 typedef struct
895 {
896  char *handle;
897  unsigned int count;
898 } epps_info;
899 
909 typedef struct
910 {
911  char *clTRID;
912  char *svTRID;
913  int rc;
914  char *msg;
915  char *xml_in;
917  /* parsed_doc and xpath_ctx are needed for error reporting. */
918  void *parsed_doc;
919  void *xpath_ctx;
921  short noresdata;
924 
935  void *data;
937 
938 
939 /* ********************************************************************* */
940 
948 void epplog(epp_context *epp_ctx, epp_loglevel level, const char *fmt, ...);
949 
966 void *epp_malloc(void *pool, unsigned size);
967 
975 void *epp_calloc(void *pool, unsigned size);
976 
985 char *epp_strdup(void *pool, const char *str);
986 
999 char *epp_strcat(void *pool, const char *str1, const char *str2);
1000 
1008 char *epp_sprintf(void *pool, const char *fmt, ...);
1009 
1014 #endif /* EPP_COMMON_H */
epps_create_contact::discl
epp_discl discl
Disclose information section.
Definition: epp_common.h:738
epp_mailingAddr
Definition: epp_common.h:469
epps_poll_req
Poll request parameters.
Definition: epp_common.h:650
pt_delete_keyset
@ pt_delete_keyset
KeySet was deleted because not used.
Definition: epp_common.h:517
pt_impvalidation
@ pt_impvalidation
Domain validation will expire soon.
Definition: epp_common.h:522
epps_info_domain::handle
char * handle
FQDN of wanted domain (output).
Definition: epp_common.h:593
pt_transfer_contact
@ pt_transfer_contact
Contact was transferred.
Definition: epp_common.h:512
epp_ns::name
char * name
fqdn of nameserver.
Definition: epp_common.h:422
epps_transfer::id
char * id
Id of transfered object.
Definition: epp_common.h:859
pt_update_domain
@ pt_update_domain
Domain changed.
Definition: epp_common.h:529
epps_create_domain::period
int period
Registration period in months.
Definition: epp_common.h:755
epps_info_domain::upID
char * upID
ID of last updater.
Definition: epp_common.h:605
epp_ext_item
Definition: epp_common.h:500
epps_info_contact::trDate
char * trDate
Last transfered.
Definition: epp_common.h:579
epps_info_keyset::roid
char * roid
ROID of object.
Definition: epp_common.h:636
epps_create_keyset::id
char * id
Id of wanted keyset (input).
Definition: epp_common.h:777
epps_list
Parameters of obsolete command 'list' and getResults command.
Definition: epp_common.h:884
epp_postalInfo
Structure gathers postal info about contact.
Definition: epp_common.h:358
epps_renew::exDate
char * exDate
New expiration date.
Definition: epp_common.h:798
epps_info_domain::crID
char * crID
ID of creator.
Definition: epp_common.h:602
qitem
Queue item type.
Definition: epp_common.h:298
epps_update_domain::extensions
qhead extensions
List of domain extensions.
Definition: epp_common.h:830
epps_info_domain::tmpcontact
qhead tmpcontact
Temporary contact used for migration.
Definition: epp_common.h:597
epp_postalInfo::sp
char * sp
State or province.
Definition: epp_common.h:364
epps_poll_req::qdate
char * qdate
Date of message submission.
Definition: epp_common.h:654
epps_info_keyset::keys
qhead keys
List of DNS Key records.
Definition: epp_common.h:645
epps_info_domain::name
char * name
FQDN of wanted domain (input).
Definition: epp_common.h:592
epps_update_contact::notify_email
char * notify_email
Notification email.
Definition: epp_common.h:815
epps_update_domain::rem_admin
qhead rem_admin
Admin contacts to be removed.
Definition: epp_common.h:825
epps_info_contact::id
char * id
Id of wanted contact (input).
Definition: epp_common.h:566
epps_create_domain::admin
qhead admin
Admin contact for domain.
Definition: epp_common.h:752
epps_check::ids
qhead ids
IDs of checked objects.
Definition: epp_common.h:559
ident_ICO
@ ident_ICO
ICO.
Definition: epp_common.h:442
epps_create_domain::crDate
char * crDate
Creation date of domain.
Definition: epp_common.h:759
epps_info_contact::roid
char * roid
ROID of object.
Definition: epp_common.h:568
epp_command_data::noresdata
short noresdata
True if there should be no resdata section or msgQ section.
Definition: epp_common.h:921
pt_validation
@ pt_validation
Domain validation expired.
Definition: epp_common.h:523
epp_postalInfo::name
char * name
Name.
Definition: epp_common.h:360
epps_transfer::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:860
epps_renew
Renew domain parameters.
Definition: epp_common.h:791
epp_ext_mailingAddr_remove
Definition: epp_common.h:484
epps_update_contact::voice
char * voice
Telephone number.
Definition: epp_common.h:806
epp_command_data::errors
qhead errors
List of validation errors or errors from central repository.
Definition: epp_common.h:923
epps_renew::extensions
qhead extensions
List of domain extensions.
Definition: epp_common.h:797
epps_info_contact
Info contact parameters.
Definition: epp_common.h:564
epps_sendAuthInfo::id
char * id
Handle of object.
Definition: epp_common.h:866
epps_create_contact::vat
char * vat
VAT tax ID.
Definition: epp_common.h:739
epps_delete::id
char * id
ID of object to be deleted.
Definition: epp_common.h:787
epps_info_keyset::status
qhead status
Keyset's status.
Definition: epp_common.h:637
epps_login::exturi
qhead exturi
currently not used
Definition: epp_common.h:552
epps_update_contact::vat
char * vat
VAT tax ID.
Definition: epp_common.h:812
epps_update_contact::email
char * email
Email address.
Definition: epp_common.h:808
epps_info_domain::admin
qhead admin
Admin contact for domain.
Definition: epp_common.h:598
epp_command_data::msg
char * msg
Text message coresponding to return code.
Definition: epp_common.h:914
qhead::count
int count
Optimization for length() function.
Definition: epp_common.h:311
epp_ext_item::ext_mailing_addr
epp_ext_mailingAddr ext_mailing_addr
Extensions for mailing contact addresses.
Definition: epp_common.h:506
epps_create_nsset
Create nsset parameters.
Definition: epp_common.h:764
epps_info::count
unsigned int count
Count of results.
Definition: epp_common.h:897
pt_delete_nsset
@ pt_delete_nsset
Nsset was deleted because not used.
Definition: epp_common.h:515
epps_update_nsset::rem_tech
qhead rem_tech
Technical contacts to be removed.
Definition: epp_common.h:838
epps_list::handles
qhead handles
List of handles.
Definition: epp_common.h:886
epps_info_keyset::trDate
char * trDate
Last transfered.
Definition: epp_common.h:643
eppd_server_xml_conf
Configuration of entities enabled in xml schemas.
Definition: epp_common.h:408
epps_update_domain::rem_tmpcontact
qhead rem_tmpcontact
Temporary contact used for migration.
Definition: epp_common.h:826
epps_login::lang
unsigned lang
Language.
Definition: epp_common.h:553
epp_ns
Nameserver has a name and possibly more than one ip address.
Definition: epp_common.h:420
EPP_INFO
@ EPP_INFO
This is the default log level.
Definition: epp_common.h:36
epps_update_nsset
Update nsset parameters.
Definition: epp_common.h:834
epps_login::newPW
char * newPW
New password.
Definition: epp_common.h:550
qhead::cur
qitem * cur
Currently selected item.
Definition: epp_common.h:313
epp_error::reason
char * reason
Human readable reason of error.
Definition: epp_common.h:221
epp_loglevel
epp_loglevel
Log levels used for logging to eppd log file.
Definition: epp_common.h:32
epps_update_domain::keyset
char * keyset
Keyset of domain.
Definition: epp_common.h:828
epp_strdup
char * epp_strdup(void *pool, const char *str)
Duplicate string from argument, the memory will be allocated from memory pool.
Definition: mod_eppd.c:404
epps_create_domain::registrant
char * registrant
Registrant of domain.
Definition: epp_common.h:751
epps_create_nsset::crDate
char * crDate
Creation date of nsset.
Definition: epp_common.h:770
epps_update_contact::discl
epp_discl discl
Disclose information section.
Definition: epp_common.h:811
epps_poll_ack::msgid
char * msgid
ID of acknoledged message.
Definition: epp_common.h:724
epps_create_contact
Create contact parameters.
Definition: epp_common.h:730
epps_info_nsset::ns
qhead ns
List of nameservers.
Definition: epp_common.h:626
epps_renew::curExDate
char * curExDate
Current expiration date.
Definition: epp_common.h:794
epps_info_domain::clID
char * clID
Owner's ID.
Definition: epp_common.h:601
epps_update_contact::discl_update
unsigned char discl_update
Use disclose information section.
Definition: epp_common.h:810
epp_error::position
int position
Position of faulty element if it is part of list.
Definition: epp_common.h:223
epps_info_nsset::level
int level
Report level.
Definition: epp_common.h:628
epp_ext_mailingAddr
Definition: epp_common.h:488
epps_login::clID
char * clID
Client ID.
Definition: epp_common.h:548
epp_mailingAddr::City
char * City
city
Definition: epp_common.h:474
ident_BIRTHDAY
@ ident_BIRTHDAY
Date of birth.
Definition: epp_common.h:443
epps_create_contact::voice
char * voice
Telephone number.
Definition: epp_common.h:734
EPP_DEBUG
@ EPP_DEBUG
Contents of requests and responses are logged.
Definition: epp_common.h:37
epps_info_keyset::tech
qhead tech
List of technical contacts for keyset.
Definition: epp_common.h:646
ident_UNKNOWN
@ ident_UNKNOWN
Unknown value can also mean undefined.
Definition: epp_common.h:438
epps_poll_req::msgid
char * msgid
ID of next message in a queue.
Definition: epp_common.h:653
epp_strcat
char * epp_strcat(void *pool, const char *str1, const char *str2)
Concatenate two strings in arguments, the memory will be allocated from memory pool.
Definition: mod_eppd.c:422
epps_info_domain::crDate
char * crDate
Creation date.
Definition: epp_common.h:603
epps_create_domain::keyset
char * keyset
Keyset for domain.
Definition: epp_common.h:754
epps_info
All Info functions, which accept single key on input and count on output (domainsByNsset,...
Definition: epp_common.h:894
epp_avail
Structure holding answer to EPP check command.
Definition: epp_common.h:449
epp_discl
Disclose information of contact.
Definition: epp_common.h:379
epps_login::pw
char * pw
Password.
Definition: epp_common.h:549
epp_postalInfo::org
char * org
Organization.
Definition: epp_common.h:361
epps_info_domain::trDate
char * trDate
Last transfered.
Definition: epp_common.h:607
epps_poll_ack::count
unsigned long long count
Count of waiting messages.
Definition: epp_common.h:725
epps_update_contact
Update contact parameters.
Definition: epp_common.h:802
epps_renew::name
char * name
Name of renewed domain.
Definition: epp_common.h:793
epps_create_domain::name
char * name
FQDN of wanted domain (input).
Definition: epp_common.h:750
qitem
struct qitem qitem
Queue item type.
epps_update_keyset::id
char * id
Id of wanted keyset (input).
Definition: epp_common.h:848
epps_update_domain::nsset
char * nsset
Nsset of domain.
Definition: epp_common.h:827
EPP_WARNING
@ EPP_WARNING
Errors which are not serious but should be logged.
Definition: epp_common.h:35
epps_check::avails
qhead avails
Booleans + reasons.
Definition: epp_common.h:560
epps_update_keyset::add_tech
qhead add_tech
Technical contacts to be added.
Definition: epp_common.h:849
epps_info_contact::fax
char * fax
Fax number.
Definition: epp_common.h:572
epplog
void epplog(epp_context *epp_ctx, epp_loglevel level, const char *fmt,...)
Write a log message to eppd log file.
Definition: mod_eppd.c:475
epps_update_contact::identtype
epp_identType identtype
Type of unique ident.
Definition: epp_common.h:814
epps_login::objuri
qhead objuri
currently not used
Definition: epp_common.h:551
epps_create_nsset::tech
qhead tech
List of technical contacts for nsset.
Definition: epp_common.h:769
epp_zonecredit::zone
char * zone
True if object is available, false otherwise.
Definition: epp_common.h:458
epps_info_keyset::crDate
char * crDate
Creation date.
Definition: epp_common.h:640
epps_update_nsset::add_ns
qhead add_ns
Nameservers to be added.
Definition: epp_common.h:839
epps_info_contact::handle
char * handle
Id of wanted contact (output).
Definition: epp_common.h:567
epps_info_nsset::id
char * id
Id of wanted nsset (input).
Definition: epp_common.h:615
epps_info_domain::keyset
char * keyset
Keyset for domain.
Definition: epp_common.h:600
epp_context
EPP context is a group of variables used often together.
Definition: epp_common.h:45
epp_dnskey::public_key
char * public_key
base64 encoded public key
Definition: epp_common.h:432
epp_calloc
void * epp_calloc(void *pool, unsigned size)
Allocate memory from memory pool and prezero it.
Definition: mod_eppd.c:386
epps_update_nsset::add_tech
qhead add_tech
Technical contacts to be added.
Definition: epp_common.h:837
epps_create_contact::crDate
char * crDate
Creation date of contact.
Definition: epp_common.h:743
epps_info_contact::pi
epp_postalInfo pi
Postal info.
Definition: epp_common.h:570
epps_update_contact::pi
epp_postalInfo * pi
Postal info.
Definition: epp_common.h:805
epps_info_keyset::crID
char * crID
ID of creator.
Definition: epp_common.h:639
epp_dnskey::alg
unsigned char alg
algorithm type
Definition: epp_common.h:431
epp_lang
epp_lang
definition of languages (english is default)
Definition: epp_common.h:145
epps_test
Test parameters.
Definition: epp_common.h:876
epps_poll_req::type
epp_pollType type
Type of poll message.
Definition: epp_common.h:655
epps_info_contact::discl
epp_discl discl
Disclose information section.
Definition: epp_common.h:581
qitem::content
void * content
Pointer to content of item.
Definition: epp_common.h:301
epp_pollType
epp_pollType
Type of poll message.
Definition: epp_common.h:511
epp_command_data::xml_schema
eppd_server_xml_conf xml_schema
Entities enabled in xml schemas.
Definition: epp_common.h:930
epp_command_data::clTRID
char * clTRID
client's TRID
Definition: epp_common.h:911
epp_command_data::data
void * data
Command data (Input + output parameters for all possible epp commands).
Definition: epp_common.h:935
epp_ext_item::extType
epp_ext_type extType
Identifier of extension.
Definition: epp_common.h:502
epp_errorspec
epp_errorspec
In case that central repository finds out that some parameter is bad, there has to be way how to prop...
Definition: epp_common.h:157
epps_create_domain
Create domain parameters.
Definition: epp_common.h:748
epps_update_domain::registrant
char * registrant
Registrant of domain.
Definition: epp_common.h:823
epp_dnskey::flags
unsigned short flags
key properties.
Definition: epp_common.h:429
epps_info_contact::extensions
qhead extensions
List of extensions.
Definition: epp_common.h:586
epps_info_contact::email
char * email
Email address.
Definition: epp_common.h:573
epps_create_contact::email
char * email
Email address.
Definition: epp_common.h:736
pt_lowcredit
@ pt_lowcredit
Credit of registrator is low.
Definition: epp_common.h:526
epp_mailingAddr::Street2
char * Street2
street - line #2
Definition: epp_common.h:472
epps_info_contact::ident
char * ident
Contact's unique ident.
Definition: epp_common.h:583
epps_info_contact::crDate
char * crDate
Creation date.
Definition: epp_common.h:576
epp_command_data::svTRID
char * svTRID
server's TRID
Definition: epp_common.h:912
epps_info_contact::clID
char * clID
Owner's ID.
Definition: epp_common.h:574
epp_command_type
epp_command_type
Enumeration of codes of all EPP commands this module is able to handle.
Definition: epp_common.h:62
epps_info_domain::upDate
char * upDate
Last updated.
Definition: epp_common.h:606
epps_update_keyset::rem_tech
qhead rem_tech
Technical contacts to be removed.
Definition: epp_common.h:850
epps_login
Login parameters.
Definition: epp_common.h:546
epps_create_nsset::level
int level
Report level.
Definition: epp_common.h:771
epps_update_nsset::level
int level
Report level.
Definition: epp_common.h:842
epps_create_domain::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:757
pt_impexpiration
@ pt_impexpiration
Domain will expire in near future.
Definition: epp_common.h:520
epps_update_contact::id
char * id
Id of wanted contact (input).
Definition: epp_common.h:804
epps_poll_ack
Poll acknoledge parameters.
Definition: epp_common.h:722
epps_info_nsset::trDate
char * trDate
Last transfered.
Definition: epp_common.h:624
pt_transfer_domain
@ pt_transfer_domain
Domain was transferred.
Definition: epp_common.h:519
epps_update_keyset::rem_dnskey
qhead rem_dnskey
DNSKEYs to be removed.
Definition: epp_common.h:852
epps_update_nsset::id
char * id
Id of wanted nsset (input).
Definition: epp_common.h:836
epps_update_keyset
Update keyset parameters.
Definition: epp_common.h:846
epps_create_keyset::keys
qhead keys
List of DNS Key records.
Definition: epp_common.h:779
epp_context::conn
void * conn
Connection handler.
Definition: epp_common.h:48
epp_testResult
Structure containing result of one technical test.
Definition: epp_common.h:535
epps_create_nsset::ns
qhead ns
List of nameservers.
Definition: epp_common.h:768
epp_identType
epp_identType
Type of identification number used in contact object.
Definition: epp_common.h:436
epps_info_domain
Info domain parameters.
Definition: epp_common.h:590
epp_mailingAddr::Street1
char * Street1
street - line #1
Definition: epp_common.h:471
epps_info_contact::notify_email
char * notify_email
Notification email.
Definition: epp_common.h:585
epps_test::names
qhead names
Fqdns of domains to be tested with nsset.
Definition: epp_common.h:879
epps_info_domain::registrant
char * registrant
Registrant of domain.
Definition: epp_common.h:596
epps_info_contact::upID
char * upID
ID of last updater.
Definition: epp_common.h:577
epp_error::spec
epp_errorspec spec
Specification of surrounding XML tags.
Definition: epp_common.h:212
epps_info_contact::crID
char * crID
ID of creator.
Definition: epp_common.h:575
epps_update_domain
Update domain parameters.
Definition: epp_common.h:820
EPP_ERROR
@ EPP_ERROR
Error caused usually by client, module is operational.
Definition: epp_common.h:34
epps_create_domain::extensions
qhead extensions
List of domain extensions.
Definition: epp_common.h:758
epp_context::pool
void * pool
Pool for allocations.
Definition: epp_common.h:47
epp_mailingAddr::StateOrProvince
char * StateOrProvince
state or province
Definition: epp_common.h:475
epp_action_type
epp_action_type
EPP action types for now only a copy of current enum_action.
Definition: epp_common.h:232
epps_info_nsset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:625
epps_info_nsset::upID
char * upID
ID of last updater.
Definition: epp_common.h:622
epp_controlled_privacy_data_mask
Definition: epp_common.h:392
epps_create_contact::identtype
epp_identType identtype
Type of unique ident.
Definition: epp_common.h:741
epps_info::handle
char * handle
Search key.
Definition: epp_common.h:896
ident_PASSPORT
@ ident_PASSPORT
Number of passport.
Definition: epp_common.h:440
epps_create_contact::fax
char * fax
Fax number.
Definition: epp_common.h:735
pt_update_keyset
@ pt_update_keyset
KeySet changed.
Definition: epp_common.h:531
epps_create_nsset::id
char * id
Id of wanted nsset (input).
Definition: epp_common.h:766
pt_outzone
@ pt_outzone
Domain was outaged from zone.
Definition: epp_common.h:524
epp_ext_enum
Definition: epp_common.h:462
epps_info_domain::status
qhead status
Domain's status.
Definition: epp_common.h:595
epps_renew::unit
epp_timeunit unit
Registration period's unit.
Definition: epp_common.h:796
epps_create_keyset::crDate
char * crDate
Creation date of keyset.
Definition: epp_common.h:781
pt_update_nsset
@ pt_update_nsset
NSSet changed.
Definition: epp_common.h:530
epps_delete
Delete parameters.
Definition: epp_common.h:785
pt_expiration
@ pt_expiration
Domain expired.
Definition: epp_common.h:521
epps_poll_req::count
unsigned long long count
Count of waiting messages.
Definition: epp_common.h:652
epps_update_domain::name
char * name
FQDN of wanted domain (input).
Definition: epp_common.h:822
epps_create_domain::unit
epp_timeunit unit
Registration period's unit.
Definition: epp_common.h:756
qhead::body
qitem * body
Items in a queue.
Definition: epp_common.h:312
epps_create_contact::extensions
qhead extensions
List of extensions.
Definition: epp_common.h:744
epp_zonecredit::credit
char * credit
Credit.
Definition: epp_common.h:459
epps_info_keyset::id
char * id
Id of wanted keyset (input).
Definition: epp_common.h:634
epps_renew::period
int period
Renew period.
Definition: epp_common.h:795
epps_test::id
char * id
ID of tested nsset.
Definition: epp_common.h:878
epps_update_domain::add_admin
qhead add_admin
Admin contacts to be added.
Definition: epp_common.h:824
epps_info_domain::extensions
qhead extensions
List of domain extensions.
Definition: epp_common.h:609
epp_avail::avail
int avail
True if object is available, false otherwise.
Definition: epp_common.h:451
epps_info_domain::nsset
char * nsset
Nsset of domain.
Definition: epp_common.h:599
epp_status
Structure for holding status' names and values.
Definition: epp_common.h:349
epps_create_keyset
Create keyset parameters.
Definition: epp_common.h:775
epps_update_nsset::rem_ns
qhead rem_ns
Nameservers to be removed.
Definition: epp_common.h:840
epps_info_domain::roid
char * roid
ROID of object.
Definition: epp_common.h:594
epp_dnskey
DNS Key record - http://rfc-ref.org/RFC-TEXTS/4034/chapter2.html.
Definition: epp_common.h:427
epps_update_nsset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:841
epp_postalInfo::pc
char * pc
Postal code.
Definition: epp_common.h:365
epp_status::text
char * text
Status value.
Definition: epp_common.h:352
epps_update_contact::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:809
epp_postalInfo::city
char * city
City.
Definition: epp_common.h:363
epps_info_keyset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:644
epps_sendAuthInfo
SendAuthInfo parameters.
Definition: epp_common.h:864
epps_create_keyset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:778
epp_ns::addr
qhead addr
List of ip addresses.
Definition: epp_common.h:423
epps_test::level
int level
Level of tests (-1 if not overriden).
Definition: epp_common.h:880
epps_info_contact::vat
char * vat
VAT tax ID.
Definition: epp_common.h:582
epps_update_keyset::add_dnskey
qhead add_dnskey
DNSKEYs to be added.
Definition: epp_common.h:851
pt_transfer_nsset
@ pt_transfer_nsset
Nsset was transferred.
Definition: epp_common.h:514
qitem::next
struct qitem * next
Link to next item in a queue.
Definition: epp_common.h:300
epp_malloc
void * epp_malloc(void *pool, unsigned size)
Allocate memory from memory pool.
epps_create_contact::id
char * id
Id of wanted contact (input).
Definition: epp_common.h:732
epp_mailingAddr::Street3
char * Street3
street - line #3
Definition: epp_common.h:473
ident_OP
@ ident_OP
Number of ID card.
Definition: epp_common.h:439
epps_info_nsset::crID
char * crID
ID of creator.
Definition: epp_common.h:620
epps_info_keyset
Info keyset parameters.
Definition: epp_common.h:632
epp_postalInfo::cc
char * cc
Country code.
Definition: epp_common.h:366
epps_create_keyset::tech
qhead tech
List of technical contacts for keyset.
Definition: epp_common.h:780
epp_error::value
char * value
Client provided input which caused the error.
Definition: epp_common.h:206
epps_info_nsset::status
qhead status
Nsset's status.
Definition: epp_common.h:618
epp_object_type
epp_object_type
Enumeration of EPP objects which this server operates on.
Definition: epp_common.h:134
epps_update_keyset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:853
epp_status::value
char * value
Status name.
Definition: epp_common.h:351
pt_transfer_keyset
@ pt_transfer_keyset
KeySet was transferred.
Definition: epp_common.h:516
epps_update_contact::fax
char * fax
Fax number.
Definition: epp_common.h:807
epps_info_keyset::upDate
char * upDate
Last updated.
Definition: epp_common.h:642
qhead
Queue structure used on countless places throughout the program.
Definition: epp_common.h:309
epp_command_data::rc
int rc
EPP return code defined in standard.
Definition: epp_common.h:913
epp_ext_item::ext_enum
epp_ext_enum ext_enum
Extensions for ENUM.
Definition: epp_common.h:505
EPP_FATAL
@ EPP_FATAL
Error, the module is not in operational state.
Definition: epp_common.h:33
epp_error
The struct represents one epp error in ExtValue element.
Definition: epp_common.h:203
epp_command_data::xml_in
char * xml_in
XML as it is received from client.
Definition: epp_common.h:915
epp_zonecredit
Structure holding answer to EPP creditInfo command.
Definition: epp_common.h:456
ident_MPSV
@ ident_MPSV
Number assigned by "ministry of work and ...".
Definition: epp_common.h:441
epps_info_domain::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:608
pt_delete_contact
@ pt_delete_contact
Contact was deleted because not used.
Definition: epp_common.h:513
epps_info_contact::identtype
epp_identType identtype
Type of unique ident.
Definition: epp_common.h:584
epps_info_keyset::upID
char * upID
ID of last updater.
Definition: epp_common.h:641
epps_info_nsset::roid
char * roid
ROID of object.
Definition: epp_common.h:617
pt_request_fee_info
@ pt_request_fee_info
Requests price/count info.
Definition: epp_common.h:527
epps_check
Check contact, domain and nsset parameters.
Definition: epp_common.h:557
epp_command_data::parsed_doc
void * parsed_doc
Parsed XML document tree.
Definition: epp_common.h:918
epps_create_domain::nsset
char * nsset
Nsset of domain.
Definition: epp_common.h:753
epps_info_domain::exDate
char * exDate
Expiration date.
Definition: epp_common.h:604
epps_info_keyset::handle
char * handle
Id of wanted keyset (output).
Definition: epp_common.h:635
epps_creditInfo
CreditInfo parameters.
Definition: epp_common.h:870
epp_ext_enum::publish
int publish
Flag determining if this domain can be published in the ENUM dictionary.
Definition: epp_common.h:465
eppd_server_xml_conf::has_contact_mailing_address_extension
int has_contact_mailing_address_extension
Contacts feature mailing address extension.
Definition: epp_common.h:410
epps_poll_ack::newmsgid
char * newmsgid
ID of first message in a queue.
Definition: epp_common.h:726
epps_update_contact::ident
char * ident
Contact's unique ident.
Definition: epp_common.h:813
epps_info_keyset::clID
char * clID
Owner's ID.
Definition: epp_common.h:638
epps_info_contact::status
qhead status
Contact's status.
Definition: epp_common.h:569
epps_create_nsset::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:767
epps_update_contact::extensions
qhead extensions
List of extensions.
Definition: epp_common.h:816
epp_mailingAddr::CountryCode
char * CountryCode
country code - 2 char ISO country code
Definition: epp_common.h:477
epps_info_nsset::clID
char * clID
Owner's ID.
Definition: epp_common.h:619
epp_sprintf
char * epp_sprintf(void *pool, const char *fmt,...)
Print formatted string.
Definition: mod_eppd.c:439
epp_avail::reason
char * reason
If object is not available, here is the reason.
Definition: epp_common.h:452
epp_command_data
This structure is central to the concept of the whole module.
Definition: epp_common.h:909
pt_update_contact
@ pt_update_contact
Contact changed.
Definition: epp_common.h:528
epps_create_contact::pi
epp_postalInfo pi
Postal info.
Definition: epp_common.h:733
epp_postalInfo::streets
qhead streets
3x street.
Definition: epp_common.h:362
epp_ext_enum::ext_enumval
char * ext_enumval
Domain validation.
Definition: epp_common.h:464
epps_create_contact::ident
char * ident
Contact's unique ident.
Definition: epp_common.h:740
epps_create_contact::notify_email
char * notify_email
Notification email.
Definition: epp_common.h:742
epps_info_nsset
Info nsset parameters.
Definition: epp_common.h:613
epp_command_data::type
epp_command_type type
Identification of epp command.
Definition: epp_common.h:929
epps_transfer
Transfer parameters.
Definition: epp_common.h:857
epp_common.h
epps_info_contact::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:580
epps_create_domain::exDate
char * exDate
Expiration date of domain.
Definition: epp_common.h:760
epps_info_contact::upDate
char * upDate
Last updated.
Definition: epp_common.h:578
epp_dnskey::protocol
unsigned char protocol
= 3
Definition: epp_common.h:430
epp_command_data::xpath_ctx
void * xpath_ctx
XPath context.
Definition: epp_common.h:919
epps_info_contact::voice
char * voice
Telephone number.
Definition: epp_common.h:571
epps_info_nsset::handle
char * handle
Id of wanted nsset (output).
Definition: epp_common.h:616
epps_info_nsset::crDate
char * crDate
Creation date.
Definition: epp_common.h:621
pt_techcheck
@ pt_techcheck
Technical check results.
Definition: epp_common.h:518
q_add
int q_add(void *pool, qhead *head, void *data)
Add new item to a queue (the item will be enqueued at the end of queue).
Definition: epp_common.c:31
epps_create_contact::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:737
pt_delete_domain
@ pt_delete_domain
Domain was deleted.
Definition: epp_common.h:525
epp_ext_type
epp_ext_type
Enumeration of implemented extensions.
Definition: epp_common.h:129
epps_update_domain::authInfo
char * authInfo
Authorization information.
Definition: epp_common.h:829
epps_creditInfo::zonecredits
qhead zonecredits
List of credits for individual zones.
Definition: epp_common.h:872
epps_info_nsset::tech
qhead tech
List of technical contacts for nsset.
Definition: epp_common.h:627
epp_mailingAddr::PostalCode
char * PostalCode
postal code
Definition: epp_common.h:476
epps_info_nsset::upDate
char * upDate
Last updated.
Definition: epp_common.h:623