ports/net/samba3/files/patch-libaddns__dnsgss.c
Timur I. Bakeyev 2a1c6bc502 This is a cummulative update of net/samba3 from version 3.0.25a to
3.0.26a. Detailed list of all the changes can be found:

  http://www.samba.org/samba/history/samba-3.0.26a.html

Changes are:
o Memory leaks in Winbind's IDMap manager.
o CVE-2007-4138 - Incorrect primary group assignment for domain
  users using the rfc2307 or sfu winbind nss info plugin.
o File sharing with Widows 9x clients.
o Winbind running out of file descriptors due to stalled child
  processes.
o MS-DFS inter-operability issues.
o Offline caching of files with Windows XP/Vista clients.
o Improper cleanup of expired or invalid byte range locks on files.
o Crashes is idmap_ldap and idmap_rid.

Approved by:	shaun (mentor)
2007-09-18 22:27:58 +00:00

55 lines
1.5 KiB
C

Index: libaddns/dnsgss.c
===================================================================
--- libaddns/dnsgss.c (revision 25080)
+++ libaddns/dnsgss.c (working copy)
@@ -219,11 +219,8 @@ DNS_ERROR dns_negotiate_sec_ctx( const c
gss_name_t targ_name;
- krb5_principal host_principal;
- krb5_context krb_ctx = NULL;
-
gss_OID_desc nt_host_oid_desc =
- { 10, (char *)"\052\206\110\206\367\022\001\002\002\002" };
+ {10, (char *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x02\x01"};
TALLOC_CTX *mem_ctx;
@@ -247,23 +244,13 @@ DNS_ERROR dns_negotiate_sec_ctx( const c
goto error;
}
- krb5_init_context( &krb_ctx );
- krb5_parse_name( krb_ctx, targetname, &host_principal );
-
- /* don't free the principal until after you call
- gss_release_name() or else you'll get a segv
- as the krb5_copy_principal() does a structure
- copy and not a deep copy. --jerry*/
-
- input_name.value = &host_principal;
- input_name.length = sizeof( host_principal );
+ input_name.value = targetname;
+ input_name.length = strlen(targetname);
major = gss_import_name( &minor, &input_name,
&nt_host_oid_desc, &targ_name );
if (major) {
- krb5_free_principal( krb_ctx, host_principal );
- krb5_free_context( krb_ctx );
err = ERROR_DNS_GSS_ERROR;
goto error;
}
@@ -273,11 +260,6 @@ DNS_ERROR dns_negotiate_sec_ctx( const c
gss_release_name( &minor, &targ_name );
- /* now we can free the principal */
-
- krb5_free_principal( krb_ctx, host_principal );
- krb5_free_context( krb_ctx );
-
error:
TALLOC_FREE(mem_ctx);