svn commit: samba r5995 - in branches/SAMBA_3_0_RELEASE/source:
client libsmb rpc_client rpc_parse sam utils
jerry at samba.org
jerry at samba.org
Wed Mar 23 15:55:24 GMT 2005
Author: jerry
Date: 2005-03-23 15:55:23 +0000 (Wed, 23 Mar 2005)
New Revision: 5995
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5995
Log:
merging more changes from 3.0 tree.
Now just have to work on the acl bug (#2521) and we're
ready to ship.
svn merge -r5945:5946 $SVNURL/branches/SAMBA_3_0
svn merge -r5945:5946 $SVNURL/branches/SAMBA_3_0
svn merge -r5954:5955 $SVNURL/branches/SAMBA_3_0
svn merge -r5965:5967 $SVNURL/branches/SAMBA_3_0
svn merge -r5968:5970 $SVNURL/branches/SAMBA_3_0
svn merge -r5970:5971 $SVNURL/branches/SAMBA_3_0
svn merge -r5971:5973 $SVNURL/branches/SAMBA_3_0
svn merge -r5973:5975 $SVNURL/branches/SAMBA_3_0
svn merge -r5975:5979 $SVNURL/branches/SAMBA_3_0
svn merge -r5979:5981 $SVNURL/branches/SAMBA_3_0
svn merge -r5981:5991 $SVNURL/branches/SAMBA_3_0
svn merge -r5993:5994 $SVNURL/branches/SAMBA_3_0
Modified:
branches/SAMBA_3_0_RELEASE/source/client/client.c
branches/SAMBA_3_0_RELEASE/source/libsmb/cliconnect.c
branches/SAMBA_3_0_RELEASE/source/libsmb/clidfs.c
branches/SAMBA_3_0_RELEASE/source/libsmb/clilist.c
branches/SAMBA_3_0_RELEASE/source/rpc_client/cli_spoolss.c
branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_spoolss.c
branches/SAMBA_3_0_RELEASE/source/sam/
branches/SAMBA_3_0_RELEASE/source/utils/net_ads.c
branches/SAMBA_3_0_RELEASE/source/utils/net_rpc_printer.c
Changeset:
Modified: branches/SAMBA_3_0_RELEASE/source/client/client.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/client/client.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/client/client.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -219,6 +219,7 @@
if ( !cli_resolve_path( "", cli, cur_dir, &targetcli, targetpath ) ) {
d_printf("Error in dskattr: %s\n", cli_errstr(cli));
+ return 1;
}
if (!cli_dskattr(targetcli, &bsize, &total, &avail)) {
Modified: branches/SAMBA_3_0_RELEASE/source/libsmb/cliconnect.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libsmb/cliconnect.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/libsmb/cliconnect.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -978,9 +978,13 @@
cli->win95 = True;
}
- if ( cli->protocol >= PROTOCOL_LANMAN2 )
- cli->dfsroot = (SVAL( cli->inbuf, smb_vwv2 ) & SMB_SHARE_IN_DFS);
+ /* Make sure that we have the optional support 16-bit field. WCT > 2 */
+ /* Avoids issues when connecting to Win9x boxes sharing files */
+ cli->dfsroot = False;
+ if ( (CVAL(cli->inbuf, smb_wct))>2 && cli->protocol >= PROTOCOL_LANMAN2 )
+ cli->dfsroot = (SVAL( cli->inbuf, smb_vwv2 ) & SMB_SHARE_IN_DFS) ? True : False;
+
cli->cnum = SVAL(cli->inbuf,smb_tid);
return True;
}
Modified: branches/SAMBA_3_0_RELEASE/source/libsmb/clidfs.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libsmb/clidfs.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/libsmb/clidfs.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -595,7 +595,7 @@
/* we got an error, check for DFS referral */
- if ( !cli_dfs_check_error(rootcli) )
+ if ( !cli_dfs_check_error(rootcli) )
return False;
/* check for the referral */
Modified: branches/SAMBA_3_0_RELEASE/source/libsmb/clilist.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libsmb/clilist.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/libsmb/clilist.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -29,7 +29,7 @@
by NT and 2 is used by OS/2
****************************************************************************/
-static int interpret_long_filename(struct cli_state *cli,
+static size_t interpret_long_filename(struct cli_state *cli,
int level,char *p,file_info *finfo)
{
extern file_info def_finfo;
@@ -130,12 +130,12 @@
clistr_pull(cli, finfo->name, p,
sizeof(finfo->name),
namelen, 0);
- return SVAL(base, 0);
+ return (size_t)IVAL(base, 0);
}
}
DEBUG(1,("Unknown long filename format %d\n",level));
- return(SVAL(p,0));
+ return (size_t)IVAL(base,0);
}
/****************************************************************************
@@ -168,6 +168,7 @@
unsigned int param_len, data_len;
uint16 setup;
pstring param;
+ const char *mnt;
/* NT uses 260, OS/2 uses 2. Both accept 1. */
info_level = (cli->capabilities&CAP_NT_SMBS)?260:1;
@@ -205,7 +206,7 @@
SIVAL(param,6,0); /* ff_resume_key */
/* NB. *DON'T* use continue here. If you do it seems that W2K and bretheren
can miss filenames. Use last filename continue instead. JRA */
- SSVAL(param,4,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */
+ SSVAL(param,10,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */
p = param+12;
p += clistr_push(cli, param+12, mask, sizeof(param)-12,
STR_TERMINATE);
@@ -270,25 +271,14 @@
p = rdata;
/* we might need the lastname for continuations */
-
- /* and add them to the dirlist pool */
- tdl = SMB_REALLOC(dirlist,dirlist_len + data_len);
-
- if (!tdl) {
- DEBUG(0,("cli_list_new: Failed to expand dirlist\n"));
- break;
- } else {
- dirlist = tdl;
- }
-
- /* put in a length for the last entry, to ensure we can chain entries
- into the next packet */
- for (p2=p,i=0;i<(ff_searchcount-1);i++) {
+ for (p2=p,i=0;i<ff_searchcount;i++) {
+ if ((info_level == 260) && (i == ff_searchcount-1)) {
+ /* Last entry - fixup the last offset length. */
+ SIVAL(p2,0,PTR_DIFF((rdata + data_len),p2));
+ }
p2 += interpret_long_filename(cli,info_level,p2,&finfo);
}
- SSVAL(p2,0,data_len - PTR_DIFF(p2,p));
- /* we might need the lastname for continuations */
if (ff_lastname > 0) {
pstrcpy(mask, finfo.name);
} else {
@@ -296,6 +286,16 @@
}
/* grab the data for later use */
+ /* and add them to the dirlist pool */
+ tdl = SMB_REALLOC(dirlist,dirlist_len + data_len);
+
+ if (!tdl) {
+ DEBUG(0,("cli_list_new: Failed to expand dirlist\n"));
+ break;
+ } else {
+ dirlist = tdl;
+ }
+
memcpy(dirlist+dirlist_len,p,data_len);
dirlist_len += data_len;
@@ -313,11 +313,10 @@
First = False;
}
+ mnt = cli_cm_get_mntpoint( cli );
+
for (p=dirlist,i=0;i<total_received;i++) {
- const char *mnt = cli_cm_get_mntpoint( cli );
-
p += interpret_long_filename(cli,info_level,p,&finfo);
-
fn( mnt,&finfo, Mask, state );
}
Modified: branches/SAMBA_3_0_RELEASE/source/rpc_client/cli_spoolss.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/rpc_client/cli_spoolss.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/rpc_client/cli_spoolss.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -1089,7 +1089,7 @@
*/
WERROR cli_spoolss_deleteprinterdriverex(struct cli_state *cli,
TALLOC_CTX *mem_ctx, const char *arch,
- const char *driver, uint32 version)
+ const char *driver, int version)
{
prs_struct qbuf, rbuf;
SPOOL_Q_DELETEPRINTERDRIVEREX q;
Modified: branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_spoolss.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_spoolss.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_spoolss.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -1226,7 +1226,7 @@
const char *server,
const char* arch,
const char* driver,
- uint32 version)
+ int version)
{
DEBUG(5,("make_spoolss_q_deleteprinterdriverex\n"));
Property changes on: branches/SAMBA_3_0_RELEASE/source/sam
___________________________________________________________________
Name: svn:ignore
+ *.po
*.po32
Modified: branches/SAMBA_3_0_RELEASE/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/utils/net_ads.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/utils/net_ads.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -94,8 +94,13 @@
{
ADS_STRUCT *ads;
- ads = ads_init(NULL, opt_target_workgroup, opt_host);
+ /* if netbios is disabled we have to default to the realm from smb.conf */
+ if ( lp_disable_netbios() && *lp_realm() )
+ ads = ads_init(lp_realm(), opt_target_workgroup, opt_host);
+ else
+ ads = ads_init(NULL, opt_target_workgroup, opt_host);
+
if (ads) {
ads->auth.flags |= ADS_AUTH_NO_BIND;
}
Modified: branches/SAMBA_3_0_RELEASE/source/utils/net_rpc_printer.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/utils/net_rpc_printer.c 2005-03-23 15:36:48 UTC (rev 5994)
+++ branches/SAMBA_3_0_RELEASE/source/utils/net_rpc_printer.c 2005-03-23 15:55:23 UTC (rev 5995)
@@ -466,7 +466,7 @@
if (!src_name || !dst_name)
goto out;
- if (cli_share_dst == NULL || cli_share_dst == NULL)
+ if (cli_share_src == NULL || cli_share_dst == NULL)
goto out;
More information about the samba-cvs
mailing list