Update ja-samba package to 2.2.10.1.0 (samba-2.2.10-a-1.0).

Changes from 2.2.9.1.0 is a fix for CAN-2004-0686 included in samba 2.2.10
though it is already applied by ja-samba-2.2.9.1.0nb1 package.

This pkgsrc also contains a fix by Samba 2.2.11; smbd crash problem
by Windos XP SP2 client.
This commit is contained in:
taca 2004-08-17 17:32:43 +00:00
parent 0ef0fe98f9
commit 67cb96a48a
12 changed files with 44 additions and 172 deletions

View file

@ -0,0 +1,6 @@
===========================================================================
$NetBSD: MESSAGE.common,v 1.1 2004/08/17 17:32:43 taca Exp $
This package contains the fix by Samba 2.2.11.
===========================================================================

View file

@ -1,9 +1,8 @@
# $NetBSD: Makefile,v 1.27 2004/07/23 16:45:42 taca Exp $
# $NetBSD: Makefile,v 1.28 2004/08/17 17:32:43 taca Exp $
.include "Makefile.common"
PKGNAME= ja-samba-${SAMBA_BASE_VERS}.${SAMBA_JA_VERS}
PKGREVISION= 1
CATEGORIES= net
MAINTAINER= tech-pkg-ja@jp.NetBSD.org
@ -49,7 +48,7 @@ CONFIGURE_ARGS+= --with-ldapsam
PLIST_SUBST+= SAMBA_LDAP=""
.else
PLIST_SUBST+= SAMBA_LDAP="@comment "
MESSAGE_SRC= ${.CURDIR}/MESSAGE.smbpasswd
MESSAGE_SRC= ${.CURDIR}/MESSAGE.common ${.CURDIR}/MESSAGE.smbpasswd
SMBPASSWD_FILE= /dev/null ${SAMBA_PRIVATE}/smbpasswd \
${ROOT_USER} ${ROOT_GROUP} 0600
.endif

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile.common,v 1.5 2004/06/05 13:16:35 taca Exp $
# $NetBSD: Makefile.common,v 1.6 2004/08/17 17:32:44 taca Exp $
DISTNAME= samba-${SAMBA_BASE_VERS}-ja-${SAMBA_JA_VERS}
SAMBA_BASE_VERS= 2.2.9
SAMBA_BASE_VERS= 2.2.10
SAMBA_JA_VERS= 1.0
WRKSRC?= ${WRKDIR}/${DISTNAME}/source
CATEGORIES?= net

View file

@ -1,7 +1,7 @@
$NetBSD: distinfo,v 1.14 2004/07/23 16:45:43 taca Exp $
$NetBSD: distinfo,v 1.15 2004/08/17 17:32:44 taca Exp $
SHA1 (samba-2.2.9-ja-1.0.tar.bz2) = 982339aaecf4276db0f87e7491c0f4ff039d0d75
Size (samba-2.2.9-ja-1.0.tar.bz2) = 7474160 bytes
SHA1 (samba-2.2.10-ja-1.0.tar.bz2) = efe97e5bea7a824dfd76909ffe124f425862a7b4
Size (samba-2.2.10-ja-1.0.tar.bz2) = 7473659 bytes
SHA1 (patch-aa) = 2f553bd640a819e9543d4678c779d5f98a164e3f
SHA1 (patch-ab) = a2eef891b0a38955f22a9adeec09666d231a541f
SHA1 (patch-ac) = c1de3af21a4b539236a906c4c072e6db283a2b28
@ -14,10 +14,4 @@ SHA1 (patch-an) = 55c7f9785c19d84b8ad74bbf0827162b156e2327
SHA1 (patch-ao) = cc0b3d73d0c7de4cd46e66b0d66b2c3bbaddeb41
SHA1 (patch-ap) = 5c5dea7e8b67885e8214210dfff344a9d6102279
SHA1 (patch-aq) = 73017f99efd1b4e3d93d8f14e63f0c43e391236d
SHA1 (patch-ba) = c22c70c498d817a3623ac0d11898eed75b4d8d0c
SHA1 (patch-bb) = cefd6b3041df94543c73b819f905845c6c136786
SHA1 (patch-bc) = a12df625338827bdec7bb4c2f826660b8d4a57cf
SHA1 (patch-bd) = 3983dbaa9a5101ed5a978b6efe2f55755a55438d
SHA1 (patch-be) = a4db1b67ac53b680c6878795faa59f6a017eb83a
SHA1 (patch-bf) = 1c614db983b4fdab3b0561b301402cb1b231b069
SHA1 (patch-bg) = 89987dfb2ef7d86f78e6e55ef9ae0fa80684d54e
SHA1 (patch-aw) = 996a1cf5756cd43865ae99ff76cd333b9038a98a

View file

@ -0,0 +1,30 @@
$NetBSD: patch-aw,v 1.1 2004/08/17 17:32:44 taca Exp $
--- rpc_server/srv_spoolss_nt.c.orig 2003-07-17 20:34:06.000000000 +0900
+++ rpc_server/srv_spoolss_nt.c
@@ -2842,6 +2842,12 @@ static WERROR printserver_notify_info(pi
info->data=NULL;
info->count=0;
+ /* a bug in xp sp2 rc2 causes it to send a fnpcn request without
+ sending a ffpcn() request first */
+
+ if ( !option )
+ return WERR_BADFID;
+
for (i=0; i<option->count; i++) {
option_type = &(option->ctr.type[i]);
@@ -2903,6 +2909,12 @@ static WERROR printer_notify_info(pipes_
info->data=NULL;
info->count=0;
+ /* a bug in xp sp2 rc2 causes it to send a fnpcn request without
+ sending a ffpcn() request first */
+
+ if ( !option )
+ return WERR_BADFID;
+
get_printer_snum(p, hnd, &snum);
for (i=0; i<option->count; i++) {

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ba,v 1.3 2004/07/23 16:45:43 taca Exp $
--- include/mangle.h.orig 2002-07-09 11:26:06.000000000 +0900
+++ include/mangle.h
@@ -8,7 +8,7 @@ struct mangle_fns {
BOOL (*is_mangled)__P((const char *s));
BOOL (*is_8_3)__P((const char *fname, BOOL check_case, BOOL allow_wildcards));
void (*reset)__P((void));
- BOOL (*check_cache)__P((char *s));
+ BOOL (*check_cache)(char *s, size_t maxlen);
void (*name_map)__P((char *OutName, BOOL need83, BOOL cache83));
};
#endif /* _MANGLE_H_ */

View file

@ -1,13 +0,0 @@
$NetBSD: patch-bb,v 1.7 2004/07/23 16:45:43 taca Exp $
--- include/proto.h.orig 2003-08-04 19:18:25.000000000 +0900
+++ include/proto.h
@@ -4492,7 +4492,7 @@ void mangle_reset_cache __P((void));
BOOL mangle_is_mangled __P((const char *s));
BOOL mangle_is_8_3 __P((const char *fname, BOOL check_case));
BOOL mangle_is_8_3_wildcards __P((const char *fname, BOOL check_case));
-BOOL mangle_check_cache __P((char *s));
+BOOL mangle_check_cache __P((char *s, size_t maxlen));
void mangle_map __P((char *OutName, BOOL need83, BOOL cache83, int snum));
/* The following definitions come from smbd/mangle_hash.c */

View file

@ -1,22 +0,0 @@
$NetBSD: patch-bc,v 1.3 2004/07/23 16:45:43 taca Exp $
--- smbd/filename.c.orig 2003-05-20 11:17:18.000000000 +0900
+++ smbd/filename.c
@@ -314,7 +314,7 @@ BOOL unix_convert(char *name,connection_
*/
if (mangle_is_mangled(start)) {
- mangle_check_cache( start );
+ mangle_check_cache( start, sizeof(pstring) - 1 - (start - name) );
}
DEBUG(5,("New file %s\n",start));
@@ -472,7 +472,7 @@ static BOOL scan_directory(const char *p
* (JRA).
*/
if (mangled)
- mangled = !mangle_check_cache( name );
+ mangled = !mangle_check_cache( name, maxlength );
/* open the directory */
if (!(cur_dir = OpenDir(conn, path, True))) {

View file

@ -1,16 +0,0 @@
$NetBSD: patch-bd,v 1.3 2004/07/23 16:45:43 taca Exp $
--- smbd/mangle.c.orig 2003-05-20 11:17:18.000000000 +0900
+++ smbd/mangle.c
@@ -97,9 +97,9 @@ BOOL mangle_is_8_3_wildcards(const char
looking for a matching name if it doesn't. It should succeed most of the time
or there will be a huge performance penalty
*/
-BOOL mangle_check_cache(char *s)
+BOOL mangle_check_cache(char *s, size_t maxlen)
{
- return mangle_fns->check_cache(s);
+ return mangle_fns->check_cache(s, maxlen);
}
/*

View file

@ -1,36 +0,0 @@
$NetBSD: patch-be,v 1.1 2004/07/23 16:45:43 taca Exp $
--- smbd/mangle_hash.c.orig 2003-05-20 11:17:18.000000000 +0900
+++ smbd/mangle_hash.c
@@ -622,7 +622,7 @@ static void cache_mangled_name( char *ma
* ************************************************************************** **
*/
-static BOOL check_mangled_cache( char *s )
+static BOOL check_mangled_cache( char *s, size_t maxlen )
{
ubi_cacheEntryPtr FoundPtr;
char *ext_start = NULL;
@@ -660,7 +660,7 @@ static BOOL check_mangled_cache( char *s
if(saved_ext)
{
/* Replace the saved_ext as it was truncated. */
- (void)pstrcat( s, saved_ext );
+ (void)safe_strcat( s, saved_ext, maxlen );
SAFE_FREE(saved_ext);
}
return( False );
@@ -672,11 +672,11 @@ static BOOL check_mangled_cache( char *s
DEBUG( 3, ("Found %s on mangled stack ", s) );
- (void)pstrcpy( s, found_name );
+ (void)safe_strcpy( s, found_name, maxlen );
if( saved_ext )
{
/* Replace the saved_ext as it was truncated. */
- (void)pstrcat( s, saved_ext );
+ (void)safe_strcat( s, saved_ext,maxlen );
SAFE_FREE(saved_ext);
}

View file

@ -1,26 +0,0 @@
$NetBSD: patch-bf,v 1.1 2004/07/23 16:45:43 taca Exp $
--- smbd/mangle_hash2.c.orig 2003-07-17 19:41:37.000000000 +0900
+++ smbd/mangle_hash2.c
@@ -353,7 +353,7 @@ static void mangle_reset(void)
The filename must be able to hold at least sizeof(fstring)
*/
-static BOOL check_cache(char *name)
+static BOOL check_cache(char *name, size_t maxlen)
{
u32 hash, multiplier;
int i;
@@ -391,10 +391,10 @@ static BOOL check_cache(char *name)
if (extension[0]) {
DEBUG(10,("check_cache: %s -> %s.%s\n", name, prefix, extension));
- slprintf(name, sizeof(fstring), "%s.%s", prefix, extension);
+ slprintf(name, maxlen, "%s.%s", prefix, extension);
} else {
DEBUG(10,("check_cache: %s -> %s\n", name, prefix));
- fstrcpy(name, prefix);
+ safe_strcpy(name, prefix, maxlen);
}
return True;

View file

@ -1,31 +0,0 @@
$NetBSD: patch-bg,v 1.1 2004/07/23 16:45:43 taca Exp $
--- smbd/reply.c.orig 2003-07-17 19:41:37.000000000 +0900
+++ smbd/reply.c
@@ -2191,7 +2191,7 @@ NTSTATUS unlink_internals(connection_str
*/
if (!rc && mangle_is_mangled(mask))
- mangle_check_cache( mask );
+ mangle_check_cache( mask, sizeof(pstring)-1 );
has_wild = ms_has_wild(mask);
@@ -4049,7 +4049,7 @@ NTSTATUS rename_internals(connection_str
*/
if (!rc && mangle_is_mangled(mask))
- mangle_check_cache( mask );
+ mangle_check_cache( mask, sizeof(pstring)-1 );
has_wild = ms_has_wild(mask);
@@ -4463,7 +4463,7 @@ int reply_copy(connection_struct *conn,
*/
if (!rc && mangle_is_mangled(mask))
- mangle_check_cache( mask );
+ mangle_check_cache( mask, sizeof(pstring)-1 );
has_wild = ms_has_wild(mask);