/crypto/external/bsd/heimdal/dist/kadmin/kadmin_locl.h

http://www.minix3.org/ · C++ Header · 159 lines · 93 code · 25 blank · 41 comment · 0 complexity · 96145cbca34b1591df51a0ba02f992a4 MD5 · raw file

  1. /* $NetBSD: kadmin_locl.h,v 1.1.1.2 2011/04/14 14:08:10 elric Exp $ */
  2. /*
  3. * Copyright (c) 1997-2004 Kungliga Tekniska Hรถgskolan
  4. * (Royal Institute of Technology, Stockholm, Sweden).
  5. * All rights reserved.
  6. *
  7. * Redistribution and use in source and binary forms, with or without
  8. * modification, are permitted provided that the following conditions
  9. * are met:
  10. *
  11. * 1. Redistributions of source code must retain the above copyright
  12. * notice, this list of conditions and the following disclaimer.
  13. *
  14. * 2. Redistributions in binary form must reproduce the above copyright
  15. * notice, this list of conditions and the following disclaimer in the
  16. * documentation and/or other materials provided with the distribution.
  17. *
  18. * 3. Neither the name of the Institute nor the names of its contributors
  19. * may be used to endorse or promote products derived from this software
  20. * without specific prior written permission.
  21. *
  22. * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
  23. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
  26. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32. * SUCH DAMAGE.
  33. */
  34. /*
  35. * Id
  36. */
  37. #ifndef __ADMIN_LOCL_H__
  38. #define __ADMIN_LOCL_H__
  39. #include <config.h>
  40. #include <stdio.h>
  41. #include <stdlib.h>
  42. #include <string.h>
  43. #include <ctype.h>
  44. #include <errno.h>
  45. #include <limits.h>
  46. #ifdef HAVE_SYS_TYPES_H
  47. #include <sys/types.h>
  48. #endif
  49. #ifdef HAVE_SYS_SELECT_H
  50. #include <sys/select.h>
  51. #endif
  52. #ifdef HAVE_FCNTL_H
  53. #include <fcntl.h>
  54. #endif
  55. #ifdef HAVE_SYS_SOCKET_H
  56. #include <sys/socket.h>
  57. #endif
  58. #ifdef HAVE_SYS_SELECT_H
  59. #include <sys/select.h>
  60. #endif
  61. #ifdef HAVE_NETINET_IN_H
  62. #include <netinet/in.h>
  63. #endif
  64. #ifdef HAVE_NETINET_IN6_H
  65. #include <netinet/in6.h>
  66. #endif
  67. #ifdef HAVE_NETINET6_IN6_H
  68. #include <netinet6/in6.h>
  69. #endif
  70. #ifdef HAVE_UTIL_H
  71. #include <util.h>
  72. #endif
  73. #ifdef HAVE_LIBUTIL_H
  74. #include <libutil.h>
  75. #endif
  76. #ifdef HAVE_NETDB_H
  77. #include <netdb.h>
  78. #endif
  79. #ifdef HAVE_SYS_UN_H
  80. #include <sys/un.h>
  81. #endif
  82. #include <err.h>
  83. #include <krb5/roken.h>
  84. #include <krb5/krb5.h>
  85. #include <krb5_locl.h>
  86. #include <krb5/hdb.h>
  87. #include <krb5/hdb_err.h>
  88. #include <krb5/hex.h>
  89. #include <kadm5/admin.h>
  90. #include <kadm5/private.h>
  91. #include <kadm5/kadm5_err.h>
  92. #include <krb5/parse_time.h>
  93. #include <krb5/getarg.h>
  94. extern krb5_context context;
  95. extern void * kadm_handle;
  96. #undef ALLOC
  97. #define ALLOC(X) ((X) = malloc(sizeof(*(X))))
  98. /* util.c */
  99. void attributes2str(krb5_flags, char *, size_t);
  100. int str2attributes(const char *, krb5_flags *);
  101. int parse_attributes (const char *, krb5_flags *, int *, int);
  102. int edit_attributes (const char *, krb5_flags *, int *, int);
  103. void time_t2str(time_t, char *, size_t, int);
  104. int str2time_t (const char *, time_t *);
  105. int parse_timet (const char *, krb5_timestamp *, int *, int);
  106. int edit_timet (const char *, krb5_timestamp *, int *,
  107. int);
  108. void deltat2str(unsigned, char *, size_t);
  109. int str2deltat(const char *, krb5_deltat *);
  110. int parse_deltat (const char *, krb5_deltat *, int *, int);
  111. int edit_deltat (const char *, krb5_deltat *, int *, int);
  112. int edit_entry(kadm5_principal_ent_t, int *, kadm5_principal_ent_t, int);
  113. void set_defaults(kadm5_principal_ent_t, int *, kadm5_principal_ent_t, int);
  114. int set_entry(krb5_context, kadm5_principal_ent_t, int *,
  115. const char *, const char *, const char *,
  116. const char *, const char *);
  117. int
  118. foreach_principal(const char *, int (*)(krb5_principal, void*),
  119. const char *, void *);
  120. int parse_des_key (const char *, krb5_key_data *, const char **);
  121. /* random_password.c */
  122. void
  123. random_password(char *, size_t);
  124. /* kadm_conn.c */
  125. extern sig_atomic_t term_flag, doing_useful_work;
  126. void parse_ports(krb5_context, const char*);
  127. void start_server(krb5_context, const char*);
  128. /* server.c */
  129. krb5_error_code
  130. kadmind_loop (krb5_context, krb5_keytab, int);
  131. /* rpc.c */
  132. int
  133. handle_mit(krb5_context, void *, size_t, int);
  134. #endif /* __ADMIN_LOCL_H__ */