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:
parent
0ef0fe98f9
commit
67cb96a48a
12 changed files with 44 additions and 172 deletions
6
net/ja-samba/MESSAGE.common
Normal file
6
net/ja-samba/MESSAGE.common
Normal 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.
|
||||
|
||||
===========================================================================
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
30
net/ja-samba/patches/patch-aw
Normal file
30
net/ja-samba/patches/patch-aw
Normal 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++) {
|
|
@ -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_ */
|
|
@ -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 */
|
|
@ -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))) {
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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;
|
|
@ -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);
|
||||
|
Loading…
Reference in a new issue