This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* work around broken krb5.h on sles9 */
#if HAVE_LBER_H
#include <lber.h>
-#ifdef HPUX
+#if defined(HPUX) && !defined(_LBER_TYPES_H)
/* Define ber_tag_t and ber_int_t for using
* HP LDAP-UX Integration products' LDAP libraries.
*/
typedef unsigned long ber_tag_t;
typedef int ber_int_t;
#endif
-#endif /* HPUX */
+#endif /* defined(HPUX) && !defined(_LBER_TYPES_H) */
#ifndef LBER_USE_DER
#define LBER_USE_DER 0x01
#endif
#include <sys/attributes.h>
#endif
+#ifndef ENOATTR
+#define ENOATTR ENODATA
+#endif
+
/* mutually exclusive (SuSE 8.2) */
#if HAVE_ATTR_XATTR_H
#include <attr/xattr.h>
typedef int VOLATILE SIG_ATOMIC_T;
#endif
-#ifndef HAVE_SOCKLEN_T_TYPE
-#define HAVE_SOCKLEN_T_TYPE
-typedef int socklen_t;
-#endif
-
-
#ifndef uchar
#define uchar unsigned char
#endif
#include "nt_status.h"
#include "ads.h"
-#include "gpo.h"
#include "ads_dns.h"
#include "interfaces.h"
#include "trans2.h"
#include "nterr.h"
#include "ntioctl.h"
-#include "messages.h"
#include "charset.h"
#include "dynconfig.h"
#include "util_getent.h"
#include "debugparse.h"
#include "version.h"
#include "privileges.h"
+#include "messages.h"
#include "locking.h"
#include "smb.h"
#include "ads_cldap.h"
#include "mapping.h"
#include "passdb.h"
#include "rpc_secdes.h"
+#include "gpo.h"
#include "authdata.h"
#include "msdfs.h"
#include "rap.h"
#include "rpc_lsa.h"
#include "rpc_netlogon.h"
#include "reg_objects.h"
+#include "reg_db.h"
#include "rpc_samr.h"
+#include "rpc_srvsvc.h"
#include "rpc_spoolss.h"
#include "rpc_eventlog.h"
#include "rpc_ds.h"
#include "rpc_perfcount.h"
#include "rpc_perfcount_defs.h"
-#include "librpc/gen_ndr/srvsvc.h"
-#include "librpc/gen_ndr/echo.h"
#include "librpc/gen_ndr/notify.h"
#include "nt_printing.h"
#include "idmap.h"
#include "spnego.h"
#include "rpc_client.h"
#include "event.h"
+#include "dbwrap.h"
+#include "packet.h"
+#include "ctdbd_conn.h"
+#include "talloc_stack.h"
/*
* Type for wide character dirent structure.
struct printjob;
-struct smb_ldap_privates;
-
/* forward declarations from smbldap.c */
#include "smbldap.h"
#include "nss_info.h"
+/* generated rpc server implementation functions */
+#include "librpc/gen_ndr/srv_echo.h"
+#include "librpc/gen_ndr/srv_svcctl.h"
+#include "librpc/gen_ndr/srv_lsa.h"
+#include "librpc/gen_ndr/srv_eventlog.h"
+#include "librpc/gen_ndr/srv_winreg.h"
+#include "librpc/gen_ndr/srv_initshutdown.h"
+
/***** automatically generated prototypes *****/
#ifndef NO_PROTO_H
#include "proto.h"
krb5_error_code krb5_set_real_time(krb5_context context, int32_t seconds, int32_t microseconds);
#endif
-#ifndef HAVE_KRB5_SET_DEFAULT_TGS_KTYPES
krb5_error_code krb5_set_default_tgs_ktypes(krb5_context ctx, const krb5_enctype *enc);
-#endif
#if defined(HAVE_KRB5_AUTH_CON_SETKEY) && !defined(HAVE_KRB5_AUTH_CON_SETUSERUSERKEY)
krb5_error_code krb5_auth_con_setuseruserkey(krb5_context context, krb5_auth_context auth_context, krb5_keyblock *keyblock);
int cli_krb5_get_ticket(const char *principal, time_t time_offset,
DATA_BLOB *ticket, DATA_BLOB *session_key_krb5, uint32 extra_ap_opts, const char *ccname, time_t *tgs_expire);
PAC_LOGON_INFO *get_logon_info_from_pac(PAC_DATA *pac_data);
-krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *new_start_time);
+krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *expire_time);
krb5_error_code kpasswd_err_to_krb5_err(krb5_error_code res_code);
krb5_error_code smb_krb5_gen_netbios_krb5_address(smb_krb5_addresses **kerb_addr);
krb5_error_code smb_krb5_free_addresses(krb5_context context, smb_krb5_addresses *addr);
krb5_error_code error_code,
const krb5_principal server,
krb5_data *reply);
-
+krb5_enctype smb_get_enctype_from_kt_entry(const krb5_keytab_entry *kt_entry);
+krb5_error_code smb_krb5_enctype_to_string(krb5_context context,
+ krb5_enctype enctype,
+ char **etype_s);
+krb5_error_code smb_krb5_open_keytab(krb5_context context,
+ const char *keytab_name,
+ BOOL write_access,
+ krb5_keytab *keytab);
#endif /* HAVE_KRB5 */
#endif /* HAVE_LDAP */
+#if defined(HAVE_LINUX_READAHEAD) && ! defined(HAVE_READAHEAD_DECL)
+ssize_t readahead(int fd, off64_t offset, size_t count);
+#endif
/* TRUE and FALSE are part of the C99 standard and gcc, but
unfortunately many vendor compilers don't support them. Use True