From 16bf14adf1b78f7ec4d3d267d500258fdf399627 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 16 Dec 1997 09:20:34 +0000 Subject: Added Lanman announce patch from Jacco de Leeuw . Also added code to stop old Samba servers that announce the workgroup name as master browser name when they are a local master browser. Jeremy. (This used to be commit 3605da055737e2cc0fbfffe7772721943a5be8bd) --- source3/include/nameserv.h | 1 + source3/include/proto.h | 7 +++++++ 2 files changed, 8 insertions(+) (limited to 'source3/include') diff --git a/source3/include/nameserv.h b/source3/include/nameserv.h index 4b7216fef6..98a6cb330a 100644 --- a/source3/include/nameserv.h +++ b/source3/include/nameserv.h @@ -122,6 +122,7 @@ enum netbios_reply_type_code { NMB_QUERY, NMB_STATUS, NMB_REG, NMB_REG_REFRESH, #define BROWSE_MAILSLOT "\\MAILSLOT\\BROWSE" #define NET_LOGON_MAILSLOT "\\MAILSLOT\\NET\\NETLOGON" #define NT_LOGON_MAILSLOT "\\MAILSLOT\\NET\\NTLOGON" +#define LANMAN_MAILSLOT "\\MAILSLOT\\LANMAN" /* Samba definitions for find_name_on_subnet(). */ #define FIND_ANY_NAME 0 diff --git a/source3/include/proto.h b/source3/include/proto.h index b249c9cb20..a3fd1d1f0f 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -298,6 +298,8 @@ int lp_lpqcachetime(void); int lp_syslog(void); int lp_client_code_page(void); int lp_announce_as(void); +int lp_lm_announce(void); +int lp_lm_interval(void); char *lp_preexec(int ); char *lp_postexec(int ); char *lp_rootpreexec(int ); @@ -485,6 +487,7 @@ void unbecome_local_master_fail(struct subnet_record *subrec, struct response_re void release_1d_name( struct subnet_record *subrec, char *workgroup_name); void unbecome_local_master_browser(struct subnet_record *subrec, struct work_record *work); void become_local_master_browser(struct subnet_record *subrec, struct work_record *work); +void set_workgroup_local_master_browser_name( struct work_record *work, char *newname); /*The following definitions come from nmbd_browserdb.c */ @@ -517,11 +520,13 @@ void process_workgroup_announce(struct subnet_record *subrec, struct packet_stru void process_local_master_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_master_browser_announce(struct subnet_record *subrec, struct packet_struct *p,char *buf); +void process_lm_host_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_get_backup_list_request(struct subnet_record *subrec, struct packet_struct *p,char *buf); void process_reset_browser(struct subnet_record *subrec, struct packet_struct *p,char *buf); void process_announce_request(struct subnet_record *subrec, struct packet_struct *p, char *buf); +void process_lm_announce_request(struct subnet_record *subrec, struct packet_struct *p, char *buf); /*The following definitions come from nmbd_incomingrequests.c */ @@ -670,6 +675,7 @@ void reply_netbios_packet(struct packet_struct *orig_packet, int ttl, char *data,int len); void queue_packet(struct packet_struct *packet); void process_browse_packet(struct packet_struct *p, char *buf,int len); +void process_lanman_packet(struct packet_struct *p, char *buf,int len); BOOL validate_nmb_response_packet( struct nmb_packet *nmb ); BOOL validate_nmb_packet( struct nmb_packet *nmb ); void run_packet_queue(); @@ -706,6 +712,7 @@ struct response_record *find_response_record(struct subnet_record **ppsubrec, void send_browser_reset(int reset_type, char *to_name, int to_type, struct in_addr to_ip); void broadcast_announce_request(struct subnet_record *subrec, struct work_record *work); void announce_my_server_names(time_t t); +void announce_my_lm_server_names(time_t t); void reset_announce_timer(); void announce_myself_to_domain_master_browser(time_t t); void announce_my_servers_removed(void); -- cgit