diff options
Diffstat (limited to 'source4/include')
-rw-r--r-- | source4/include/ads.h | 2 | ||||
-rw-r--r-- | source4/include/includes.h | 78 | ||||
-rw-r--r-- | source4/include/interfaces.h | 12 | ||||
-rw-r--r-- | source4/include/nameserv.h | 32 | ||||
-rw-r--r-- | source4/include/structs.h | 1 | ||||
-rw-r--r-- | source4/include/system/README | 4 | ||||
-rw-r--r-- | source4/include/system/kerberos.h | 44 | ||||
-rw-r--r-- | source4/include/system/network.h | 60 |
8 files changed, 135 insertions, 98 deletions
diff --git a/source4/include/ads.h b/source4/include/ads.h index 71bca6eb71..8db0209573 100644 --- a/source4/include/ads.h +++ b/source4/include/ads.h @@ -22,7 +22,7 @@ typedef struct { void *ld; /* the active ldap structure */ - struct in_addr ldap_ip; /* the ip of the active connection, if any */ + struct ipv4_addr ldap_ip; /* the ip of the active connection, if any */ time_t last_attempt; /* last attempt to reconnect */ int ldap_port; diff --git a/source4/include/includes.h b/source4/include/includes.h index 374abc4c37..a9198dbc1d 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -83,6 +83,7 @@ #endif /* RELIANTUNIX */ #include <sys/types.h> +#include <stdint.h> #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -114,14 +115,6 @@ #include <stdlib.h> #endif -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif - -#ifdef HAVE_UNIXSOCKET -#include <sys/un.h> -#endif - #ifdef HAVE_SYS_SYSCALL_H #include <sys/syscall.h> #elif HAVE_SYSCALL_H @@ -213,10 +206,6 @@ #include <varargs.h> #endif -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h> - #ifdef HAVE_SYSLOG_H #include <syslog.h> #else @@ -227,27 +216,6 @@ #include <sys/file.h> -#ifdef HAVE_NETINET_TCP_H -#include <netinet/tcp.h> -#endif - -/* - * The next three defines are needed to access the IPTOS_* options - * on some systems. - */ - -#ifdef HAVE_NETINET_IN_SYSTM_H -#include <netinet/in_systm.h> -#endif - -#ifdef HAVE_NETINET_IN_IP_H -#include <netinet/in_ip.h> -#endif - -#ifdef HAVE_NETINET_IP_H -#include <netinet/ip.h> -#endif - #if defined(HAVE_TERMIOS_H) /* POSIX terminal handling. */ #include <termios.h> @@ -280,11 +248,6 @@ #include <sys/mman.h> #endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif - - #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif @@ -374,28 +337,6 @@ #endif #endif -#ifdef HAVE_KRB5_H -#include <krb5.h> -#else -#undef HAVE_KRB5 -#endif - -#ifdef HAVE_GSSAPI_H -#include <gssapi.h> -#endif - -#ifdef HAVE_GSSAPI_GSSAPI_H -#include <gssapi/gssapi.h> -#endif - -#ifdef HAVE_GSSAPI_GSSAPI_GENERIC_H -#include <gssapi/gssapi_generic.h> -#endif - -#ifdef HAVE_COM_ERR_H -#include <com_err.h> -#endif - /* we support ADS if we want it and have krb5 and ldap libs */ #if defined(WITH_ADS) && defined(HAVE_KRB5) && defined(HAVE_LDAP) #define HAVE_ADS @@ -466,6 +407,14 @@ typedef int socklen_t; #define uint64 uint64_t #endif +/* + we use struct ipv4_addr to avoid having to include all the + system networking headers everywhere +*/ +struct ipv4_addr { + uint32_t s_addr; +}; + #ifndef UINT8_MAX #define UINT8_MAX 255 #endif @@ -518,7 +467,6 @@ extern int errno; #include "talloc.h" #include "db_wrap.h" #include "nt_status.h" -#include "interfaces.h" #include "trans2.h" #include "ioctl.h" #include "nterr.h" @@ -557,7 +505,6 @@ extern int errno; #include "libcli/auth/ntlmssp.h" #include "libcli/auth/credentials.h" -#include "libcli/auth/kerberos.h" #include "libcli/auth/gensec.h" #include "libcli/auth/spnego.h" #include "auth/auth.h" @@ -721,13 +668,6 @@ unsigned long strtoul(const char *nptr, char **endptr, int base); int setenv(const char *name, const char *value, int overwrite); #endif -#if (defined(USE_SETRESUID) && !defined(HAVE_SETRESUID_DECL)) -/* stupid glibc */ -int setresuid(uid_t ruid, uid_t euid, uid_t suid); -#endif -#if (defined(USE_SETRESUID) && !defined(HAVE_SETRESGID_DECL)) -int setresgid(gid_t rgid, gid_t egid, gid_t sgid); -#endif #ifndef HAVE_VASPRINTF_DECL int vasprintf(char **ptr, const char *format, va_list ap); #endif diff --git a/source4/include/interfaces.h b/source4/include/interfaces.h index 3b786f1ebc..e69de29bb2 100644 --- a/source4/include/interfaces.h +++ b/source4/include/interfaces.h @@ -1,12 +0,0 @@ -/* - This structure is used by lib/interfaces.c to return the list of network - interfaces on the machine -*/ - -#define MAX_INTERFACES 128 - -struct iface_struct { - char name[16]; - struct in_addr ip; - struct in_addr netmask; -}; diff --git a/source4/include/nameserv.h b/source4/include/nameserv.h index 33ee8f99e6..9efee46466 100644 --- a/source4/include/nameserv.h +++ b/source4/include/nameserv.h @@ -206,7 +206,7 @@ struct nmb_data { uint16_t nb_flags; /* Netbios flags. */ int num_ips; /* Number of ip entries. */ - struct in_addr *ip; /* The ip list for this name. */ + struct ipv4_addr *ip; /* The ip list for this name. */ enum name_source source; /* Where the name came from. */ @@ -214,7 +214,7 @@ struct nmb_data time_t refresh_time; /* The time the record should be refreshed. */ uint64_t id; /* unique id */ - struct in_addr wins_ip; /* the adress of the wins server this record comes from */ + struct ipv4_addr wins_ip; /* the adress of the wins server this record comes from */ int wins_flags; /* similar to the netbios flags but different ! */ }; @@ -238,7 +238,7 @@ struct browse_cache_record #endif pstring lmb_name; pstring work_group; - struct in_addr ip; + struct ipv4_addr ip; time_t sync_time; time_t death_time; /* The time the record must be removed. */ }; @@ -307,7 +307,7 @@ struct work_record /* Domain master browser info. Used for efficient syncs. */ struct nmb_name dmb_name; - struct in_addr dmb_addr; + struct ipv4_addr dmb_addr; }; /* typedefs needed to define copy & free functions for userdata. */ @@ -353,7 +353,7 @@ typedef void (*register_name_success_function)( struct subnet_record *, struct nmb_name *, uint16_t, int, - struct in_addr); + struct ipv4_addr); typedef void (*register_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); @@ -361,7 +361,7 @@ typedef void (*register_name_fail_function)( struct subnet_record *, typedef void (*release_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, - struct in_addr); + struct ipv4_addr); typedef void (*release_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); @@ -371,7 +371,7 @@ typedef void (*refresh_name_success_function)( struct subnet_record *, struct nmb_name *, uint16_t, int, - struct in_addr); + struct ipv4_addr); typedef void (*refresh_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); @@ -379,7 +379,7 @@ typedef void (*refresh_name_fail_function)( struct subnet_record *, typedef void (*query_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, - struct in_addr, + struct ipv4_addr, struct res_rec *answers); typedef void (*query_name_fail_function)( struct subnet_record *, @@ -390,7 +390,7 @@ typedef void (*query_name_fail_function)( struct subnet_record *, typedef void (*node_status_success_function)( struct subnet_record *, struct userdata_struct *, struct res_rec *, - struct in_addr); + struct ipv4_addr); typedef void (*node_status_fail_function)( struct subnet_record *, struct response_record *); @@ -457,9 +457,9 @@ struct subnet_record BOOL namelist_changed; BOOL work_changed; - struct in_addr bcast_ip; - struct in_addr mask_ip; - struct in_addr myip; + struct ipv4_addr bcast_ip; + struct ipv4_addr mask_ip; + struct ipv4_addr myip; int nmb_sock; /* socket to listen for unicast 137. */ int dgram_sock; /* socket to listen for unicast 138. */ }; @@ -535,7 +535,7 @@ struct dgram_packet { BOOL more; } flags; int dgm_id; - struct in_addr source_ip; + struct ipv4_addr source_ip; int source_port; int dgm_length; int packet_offset; @@ -554,7 +554,7 @@ struct packet_struct struct packet_struct *next; struct packet_struct *prev; BOOL locked; - struct in_addr ip; + struct ipv4_addr ip; int port; int fd; time_t timestamp; @@ -642,8 +642,8 @@ typedef struct _WINS_RECORD { int wins_flags; uint64_t id; int num_ips; - struct in_addr ip[25]; - struct in_addr wins_ip; + struct ipv4_addr ip[25]; + struct ipv4_addr wins_ip; } WINS_RECORD; /* To be removed. */ diff --git a/source4/include/structs.h b/source4/include/structs.h index 2757e6df57..e1e6de5d77 100644 --- a/source4/include/structs.h +++ b/source4/include/structs.h @@ -48,3 +48,4 @@ struct samr_CryptPasswordEx; struct netr_SamInfo3; struct netr_Authenticator; +struct iface_struct; diff --git a/source4/include/system/README b/source4/include/system/README new file mode 100644 index 0000000000..69a2b80b56 --- /dev/null +++ b/source4/include/system/README @@ -0,0 +1,4 @@ +This directory contains wrappers around logical groups of system +include files. The idea is to avoid #ifdef blocks in the main code, +and instead put all the necessary conditional includes in subsystem +specific header files in this directory. diff --git a/source4/include/system/kerberos.h b/source4/include/system/kerberos.h new file mode 100644 index 0000000000..85c635e223 --- /dev/null +++ b/source4/include/system/kerberos.h @@ -0,0 +1,44 @@ +/* + Unix SMB/CIFS implementation. + + kerberos system include wrappers + + Copyright (C) Andrew Tridgell 2004 + + 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 + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 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. +*/ + + +#ifdef HAVE_KRB5_H +#include <krb5.h> +#else +#undef HAVE_KRB5 +#endif + +#ifdef HAVE_GSSAPI_H +#include <gssapi.h> +#endif + +#ifdef HAVE_GSSAPI_GSSAPI_H +#include <gssapi/gssapi.h> +#endif + +#ifdef HAVE_GSSAPI_GSSAPI_GENERIC_H +#include <gssapi/gssapi_generic.h> +#endif + +#ifdef HAVE_COM_ERR_H +#include <com_err.h> +#endif diff --git a/source4/include/system/network.h b/source4/include/system/network.h new file mode 100644 index 0000000000..fcee0f7c24 --- /dev/null +++ b/source4/include/system/network.h @@ -0,0 +1,60 @@ +/* + Unix SMB/CIFS implementation. + + networking system include wrappers + + Copyright (C) Andrew Tridgell 2004 + + 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 + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 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. +*/ + +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif + +#ifdef HAVE_UNIXSOCKET +#include <sys/un.h> +#endif + +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> + +#ifdef HAVE_NETINET_TCP_H +#include <netinet/tcp.h> +#endif + +/* + * The next three defines are needed to access the IPTOS_* options + * on some systems. + */ + +#ifdef HAVE_NETINET_IN_SYSTM_H +#include <netinet/in_systm.h> +#endif + +#ifdef HAVE_NETINET_IN_IP_H +#include <netinet/in_ip.h> +#endif + +#ifdef HAVE_NETINET_IP_H +#include <netinet/ip.h> +#endif + +#ifdef HAVE_NET_IF_H +#include <net/if.h> +#endif + + |