The Samba-Bugzilla – Attachment 11 Details for
Bug 98
nmbd/nmbd_processlogon.c SAMLOGON incorrect for ADS domains
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Add DNS decompression support to ADS nmbd SAMLOGON
samlogon_dns_strings.patch (text/plain), 3.22 KB, created by
Anthony Liguori
on 2003-05-19 11:18:47 UTC
(
hide
)
Description:
Add DNS decompression support to ADS nmbd SAMLOGON
Filename:
MIME Type:
Creator:
Anthony Liguori
Created:
2003-05-19 11:18:47 UTC
Size:
3.22 KB
patch
obsolete
>Index: source/nmbd/nmbd_processlogon.c >=================================================================== >RCS file: /cvsroot/samba/source/nmbd/nmbd_processlogon.c,v >retrieving revision 1.51.2.6 >diff -u -r1.51.2.6 nmbd_processlogon.c >--- source/nmbd/nmbd_processlogon.c 28 Jan 2003 12:07:02 -0000 1.51.2.6 >+++ source/nmbd/nmbd_processlogon.c 19 May 2003 18:12:28 -0000 >@@ -304,19 +304,19 @@ > pstring hostname; > char *component, *dc, *q1; > uint8 size; >+ char *q_orig = q; >+ int str_offset; > > get_mydomname(domain); > get_myname(hostname); > > if (SVAL(uniuser, 0) == 0) { >- SSVAL(q, 0, SAMLOGON_AD_UNK_R); /* user unknown */ >+ SIVAL(q, 0, SAMLOGON_AD_UNK_R); /* user unknown */ > } else { >- SSVAL(q, 0, SAMLOGON_AD_R); >+ SIVAL(q, 0, SAMLOGON_AD_R); > } >- q += 2; >+ q += 4; > >- SSVAL(q, 0, 0); >- q += 2; > SIVAL(q, 0, ADS_PDC|ADS_GC|ADS_LDAP|ADS_DS| > ADS_KDC|ADS_TIMESERV|ADS_CLOSEST|ADS_WRITABLE); > q += 4; >@@ -329,7 +329,8 @@ > memcpy(q, &domain_guid, sizeof(domain_guid)); > q += sizeof(domain_guid); > >- /* Push domain components */ >+ /* Forest */ >+ str_offset = q - q_orig; > dc = domain; > q1 = q; > while ((component = strtok(dc, "."))) { >@@ -338,44 +339,60 @@ > SCVAL(q, 0, size); > q += (size + 1); > } >+ >+ /* Unk0 */ > SCVAL(q, 0, 0); q++; >- SSVAL(q, 0, 0x18c0); /* not sure what this is for, but */ >- q += 2; /* it must follow the domain name. */ > >- /* Push dns host name */ >+ /* Domain */ >+ SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F)); >+ SCVAL(q, 1, str_offset & 0xFF); >+ q += 2; >+ >+ /* Hostname */ > size = push_ascii(&q[1], hostname, -1, 0); > SCVAL(q, 0, size); > q += (size + 1); >- SSVAL(q, 0, 0x18c0); /* not sure what this is for, but */ >- q += 2; /* it must follow the domain name. */ >+ SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F)); >+ SCVAL(q, 1, str_offset & 0xFF); >+ q += 2; > >- /* Push NETBIOS of domain */ >+ /* NETBIOS of domain */ > size = push_ascii(&q[1], lp_workgroup(), -1, STR_UPPER); > SCVAL(q, 0, size); > q += (size + 1); >- SCVAL(q, 0, 0); q++; /* is this a null terminator or empty field */ >- /* null terminator would not be needed because size is included */ > >- /* Push NETBIOS of hostname */ >+ /* Unk1 */ >+ SCVAL(q, 0, 0); q++; >+ >+ /* NETBIOS of hostname */ > size = push_ascii(&q[1], my_name, -1, 0); > SCVAL(q, 0, size); > q += (size + 1); >- SCVAL(q, 0, 0); q++; /* null terminator or empty field? */ > >- /* Push user account */ >- size = push_ascii(&q[1], ascuser, -1, 0); >- SCVAL(q, 0, size); >- q += (size + 1); >+ /* Unk2 */ >+ SCVAL(q, 0, 0); q++; >+ >+ /* User name */ >+ if (SVAL(uniuser, 0) != 0) { >+ size = push_ascii(&q[1], ascuser, -1, 0); >+ SCVAL(q, 0, size); >+ q += (size + 1); >+ } > >- /* Push 'Default-First-Site-Name' */ >+ q_orig = q; >+ /* Site name */ > size = push_ascii(&q[1], "Default-First-Site-Name", -1, 0); > SCVAL(q, 0, size); > q += (size + 1); > >- SSVAL(q, 0, 0xc000); /* unknown */ >- SCVAL(q, 2, PTR_DIFF(q,q1)); >- SCVAL(q, 3, 0x10); /* unknown */ >- q += 4; >+ /* Site name (2) */ >+ str_offset = q - q_orig; >+ SCVAL(q, 0, 0xc0 | ((str_offset >> 8) & 0x3F)); >+ SCVAL(q, 1, str_offset & 0xFF); >+ q += 2; >+ >+ SCVAL(q, 0, PTR_DIFF(q,q1)); >+ SCVAL(q, 1, 0x10); /* unknown */ > > SIVAL(q, 0, 0x00000002); q += 4; /* unknown */ > SIVAL(q, 0, (iface_ip(p->ip))->s_addr); q += 4;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 98
: 11