pkgsrc/net/samba/patches/patch-bg
taca 4e41ddcf9f Update samba package to 3.0.37.
This is a security release in order to address CVE-2009-2813, CVE-2009-2948
and CVE-2009-2906.
Please note that Samba 3.0 is not maintained any longer. This security
release is shipped on a voluntary basis.

   o CVE-2009-2813:
     In all versions of Samba later than 3.0.11, connecting to the home
     share of a user will use the root of the filesystem
     as the home directory if this user is misconfigured to have
     an empty home directory in /etc/passwd.

   o CVE-2009-2948:
     If mount.cifs is installed as a setuid program, a user can pass it a
     credential or password path to which he or she does not have access and
     then use the --verbose option to view the first line of that file.

   o CVE-2009-2906:
     Specially crafted SMB requests on authenticated SMB connections can
     send smbd into a 100% CPU loop, causing a DoS on the Samba server.
2009-10-04 16:58:38 +00:00

49 lines
1.8 KiB
Text

$NetBSD: patch-bg,v 1.3 2009/10/04 16:58:38 taca Exp $
--- printing/nt_printing.c.orig 2009-09-30 21:21:56.000000000 +0900
+++ printing/nt_printing.c
@@ -351,8 +351,7 @@ static int sec_desc_upg_fn( TDB_CONTEXT
SEC_DESC *sec, *new_sec;
TALLOC_CTX *ctx = state;
int result, i;
- uint32 sd_size;
- size_t size_new_sec;
+ size_t sd_size, size_new_sec;
DOM_SID sid;
if (!data.dptr || data.dsize == 0) {
@@ -560,28 +559,28 @@ BOOL nt_printing_init(void)
if (tdb_drivers)
tdb_close(tdb_drivers);
- tdb_drivers = tdb_open_log(lock_path("ntdrivers.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
+ tdb_drivers = tdb_open_log(state_path("ntdrivers.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (!tdb_drivers) {
DEBUG(0,("nt_printing_init: Failed to open nt drivers database %s (%s)\n",
- lock_path("ntdrivers.tdb"), strerror(errno) ));
+ state_path("ntdrivers.tdb"), strerror(errno) ));
return False;
}
if (tdb_printers)
tdb_close(tdb_printers);
- tdb_printers = tdb_open_log(lock_path("ntprinters.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
+ tdb_printers = tdb_open_log(state_path("ntprinters.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (!tdb_printers) {
DEBUG(0,("nt_printing_init: Failed to open nt printers database %s (%s)\n",
- lock_path("ntprinters.tdb"), strerror(errno) ));
+ state_path("ntprinters.tdb"), strerror(errno) ));
return False;
}
if (tdb_forms)
tdb_close(tdb_forms);
- tdb_forms = tdb_open_log(lock_path("ntforms.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
+ tdb_forms = tdb_open_log(state_path("ntforms.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (!tdb_forms) {
DEBUG(0,("nt_printing_init: Failed to open nt forms database %s (%s)\n",
- lock_path("ntforms.tdb"), strerror(errno) ));
+ state_path("ntforms.tdb"), strerror(errno) ));
return False;
}