From aaba4712c8dbf61043d9fe6e1d6773bbd835e3b2 Mon Sep 17 00:00:00 2001 From: Samba Release Account Date: Sat, 15 Mar 1997 14:47:00 +0000 Subject: JHT ===> Moved MAJOR_VERSION and MINOR_VERSION defines to smb.h Made version info consistent in ipc.c and nameannounce.c Added define for BROWSER_ELECTION_VALUE and BROWSER_CONSTANT (see do_announce_host() in nameannounce.c). Sniffing with the latest bloodhound I found that the byte range occupied by the BROWSER_ELECTION_VALUE is interpreted depending on the type of announcement being made. In a Local_Master_Announcement it is BROWSER_ELECTION_VALUE but in both Workgroup_Announcement and Host_Announcement this is seen as Comment_String_Pointer. What does this mean? We need to know? (This used to be commit 86b0018cc7e246910a9a621b2bf379f782506a08) --- source3/include/smb.h | 10 +++++++++- source3/nameannounce.c | 9 +++++---- source3/smbd/ipc.c | 3 --- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'source3') diff --git a/source3/include/smb.h b/source3/include/smb.h index e9d74befc2..506bbb9b16 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -794,7 +794,15 @@ char *Strstr(char *s, char *p); #define SV_TYPE_DOMAIN_ENUM 0x80000000 #define SV_TYPE_ALL 0xFFFFFFFF -/* what server type are we currently */ +/* what server type are we currently - JHT Says we ARE 4.10 */ +/* this was set by JHT in liaison with Andrew Tridgell early 1996 */ +/* setting to 4.10 at same time as announcing ourselves as NT Server */ +#define MAJOR_VERSION 0x04 +#define MINOR_VERSION 0x01 + +/* Browser Election Values */ +#define BROWSER_ELECT_VERSION 0x010f +#define BROWSER_CONSTANT 0xaa55 /* Capabilities. see ftp.microsoft.com/developr/drg/cifs/cifs/cifs4.txt */ diff --git a/source3/nameannounce.c b/source3/nameannounce.c index 990be00602..8dc0668f4e 100644 --- a/source3/nameannounce.c +++ b/source3/nameannounce.c @@ -160,12 +160,13 @@ void do_announce_host(int command, StrnCpy(p+5,server_name,16); strupper(p+5); - CVAL(p,21) = 0x02; /* major version */ - CVAL(p,22) = 0x02; /* minor version */ + CVAL(p,21) = MAJOR_VERSION; /* major version */ + CVAL(p,22) = MINOR_VERSION; /* minor version */ SIVAL(p,23,server_type); - SSVAL(p,27,0x010f); /* browse version: got from NT/AS 4.00 */ - SSVAL(p,29,0xaa55); /* browse signature */ + /* browse version: got from NT/AS 4.00 - Value defined in smb.h (JHT)*/ + SSVAL(p,27,BROWSER_ELECTION_VERSION); + SSVAL(p,29,BROWSER_CONSTANT); /* browse signature */ strcpy(p+31,server_comment); p += 31; diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c index 9f8369912c..3a2df56b3e 100644 --- a/source3/smbd/ipc.c +++ b/source3/smbd/ipc.c @@ -60,9 +60,6 @@ extern fstring local_machine; #define SNLEN 15 /* service name length */ #define QNLEN 12 /* queue name maximum length */ -#define MAJOR_VERSION 4 -#define MINOR_VERSION 1 - extern int Client; static BOOL api_Unsupported(int cnum,uint16 vuid, char *param,char *data, -- cgit