svn commit: samba r15681 - branches/SAMBA_3_0/source/libsmb trunk/source/libsmb

2006-05-17 Thread jerry
Author: jerry
Date: 2006-05-18 04:33:43 + (Thu, 18 May 2006)
New Revision: 15681

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15681

Log:
fix segv in 'kinit && net ads join'
Modified:
   branches/SAMBA_3_0/source/libsmb/cliconnect.c
   trunk/source/libsmb/cliconnect.c


Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/cliconnect.c
===
--- branches/SAMBA_3_0/source/libsmb/cliconnect.c   2006-05-18 04:13:07 UTC 
(rev 15680)
+++ branches/SAMBA_3_0/source/libsmb/cliconnect.c   2006-05-18 04:33:43 UTC 
(rev 15681)
@@ -1493,6 +1493,7 @@
 {
NTSTATUS nt_status;
struct cli_state *cli = NULL;
+   int pw_len = password ? strlen(password)+1 : 0;
 
nt_status = cli_start_connection(&cli, my_name, dest_host, 
 dest_ip, port, signing_state, flags, 
retry);
@@ -1501,9 +1502,7 @@
return nt_status;
}
 
-   if (!cli_session_setup(cli, user, password, strlen(password)+1, 
-  password, strlen(password)+1, 
-  domain)) {
+   if (!cli_session_setup(cli, user, password, pw_len, password, pw_len, 
domain)) {
if ((flags & CLI_FULL_CONNECTION_ANNONYMOUS_FALLBACK)
&& cli_session_setup(cli, "", "", 0, "", 0, domain)) {
} else {
@@ -1517,8 +1516,7 @@
} 
 
if (service) {
-   if (!cli_send_tconX(cli, service, service_type,
-   password, strlen(password)+1)) {
+   if (!cli_send_tconX(cli, service, service_type, password, 
pw_len)) {
nt_status = cli_nt_error(cli);
DEBUG(1,("failed tcon_X with %s\n", 
nt_errstr(nt_status)));
cli_shutdown(cli);

Modified: trunk/source/libsmb/cliconnect.c
===
--- trunk/source/libsmb/cliconnect.c2006-05-18 04:13:07 UTC (rev 15680)
+++ trunk/source/libsmb/cliconnect.c2006-05-18 04:33:43 UTC (rev 15681)
@@ -1493,6 +1493,7 @@
 {
NTSTATUS nt_status;
struct cli_state *cli = NULL;
+   int pw_len = password ? strlen(password)+1 : 0;
 
nt_status = cli_start_connection(&cli, my_name, dest_host, 
 dest_ip, port, signing_state, flags, 
retry);
@@ -1501,9 +1502,7 @@
return nt_status;
}
 
-   if (!cli_session_setup(cli, user, password, strlen(password)+1, 
-  password, strlen(password)+1, 
-  domain)) {
+   if (!cli_session_setup(cli, user, password, pw_len, password, pw_len, 
domain)) {
if ((flags & CLI_FULL_CONNECTION_ANNONYMOUS_FALLBACK)
&& cli_session_setup(cli, "", "", 0, "", 0, domain)) {
} else {
@@ -1517,8 +1516,7 @@
} 
 
if (service) {
-   if (!cli_send_tconX(cli, service, service_type,
-   password, strlen(password)+1)) {
+   if (!cli_send_tconX(cli, service, service_type, password, 
pw_len)) {
nt_status = cli_nt_error(cli);
DEBUG(1,("failed tcon_X with %s\n", 
nt_errstr(nt_status)));
cli_shutdown(cli);



svn commit: samba r15680 - branches/SAMBA_3_0/source/utils trunk/source/utils

2006-05-17 Thread jerry
Author: jerry
Date: 2006-05-18 04:13:07 + (Thu, 18 May 2006)
New Revision: 15680

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15680

Log:
use the user creds when calling net_set_machine_spn()  rather than the machine 
creds (just like WinXP)
Modified:
   branches/SAMBA_3_0/source/utils/net_ads.c
   trunk/source/utils/net_ads.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_ads.c
===
--- branches/SAMBA_3_0/source/utils/net_ads.c   2006-05-18 04:10:52 UTC (rev 
15679)
+++ branches/SAMBA_3_0/source/utils/net_ads.c   2006-05-18 04:13:07 UTC (rev 
15680)
@@ -1143,11 +1143,6 @@

ads_mod_str(ctx, &mods, "dNSHostName", my_fqdn);
ads_mod_strlist(ctx, &mods, "servicePrincipalName", 
servicePrincipalName);
-#if 0 
-   ads_mod_str(ctx, &mods, "userPrincipalName", host_upn);
-   ads_mod_str(ctx, &mods, "operatingSystem", "Samba");
-   ads_mod_str(ctx, &mods, "operatingSystemVersion", SAMBA_VERSION_STRING);
-#endif
 
status = ads_gen_mod(ads_s, new_dn, mods);
 
@@ -1164,7 +1159,6 @@
 
 static ADS_STATUS net_precreate_machine_acct( ADS_STRUCT *ads, const char *ou )
 {
-   ADS_STRUCT *ads_s = ads;
ADS_STATUS rc = ADS_ERROR(LDAP_SERVER_DOWN);
char *dn, *ou_str;
LDAPMessage *res = NULL;
@@ -1173,40 +1167,19 @@
asprintf(&dn, "%s,%s", ou_str, ads->config.bind_path);
free(ou_str);
 
-   if ( !ads->ld ) {
-   ads_s = ads_init( ads->config.realm, NULL, 
ads->config.ldap_server_name );
-
-   if ( ads_s ) {
-   rc = ads_connect( ads_s );
-   }
-
-   if ( !ADS_ERR_OK(rc) ) {
-   goto done;
-   }
-   }
-
rc = ads_search_dn(ads, (void**)&res, dn, NULL);
ads_msgfree(ads, res);
 
-   if (!ADS_ERR_OK(rc)) {
-   goto done;
-   }
+   if (ADS_ERR_OK(rc)) {
+   /* Attempt to create the machine account and bail if this fails.
+  Assume that the admin wants exactly what they requested */
 
-   /* Attempt to create the machine account and bail if this fails.
-  Assume that the admin wants exactly what they requested */
-
-   rc = ads_create_machine_acct( ads, global_myname(), dn );
-   if ( rc.error_type == ENUM_ADS_ERROR_LDAP && rc.err.rc == 
LDAP_ALREADY_EXISTS ) {
-   rc = ADS_SUCCESS;
-   goto done;
+   rc = ads_create_machine_acct( ads, global_myname(), dn );
+   if ( rc.error_type == ENUM_ADS_ERROR_LDAP && rc.err.rc == 
LDAP_ALREADY_EXISTS ) {
+   rc = ADS_SUCCESS;
+   }
}
-   if ( !ADS_ERR_OK(rc) ) {
-   goto done;
-   }
 
-done:
-   if ( ads_s != ads )
-   ads_destroy( &ads_s );
SAFE_FREE( dn );
 
return rc;
@@ -1218,7 +1191,7 @@
  
 int net_ads_join(int argc, const char **argv)
 {
-   ADS_STRUCT *ads, *ads_s;
+   ADS_STRUCT *ads;
ADS_STATUS status;
char *machine_account = NULL;
const char *short_domain_name = NULL;
@@ -1311,39 +1284,17 @@
return -1;
}   
 
-   /* From here on out, use the machine account.  But first delete any 
-  existing tickets based on the user's creds.  */
-
-   ads_kdestroy( NULL );
+   /* create the dNSHostName & servicePrincipalName values */

-   status = ADS_ERROR(LDAP_SERVER_DOWN);
-   ads_s = ads_init( ads->server.realm, ads->server.workgroup, 
ads->server.ldap_server );
+   status = net_set_machine_spn( ctx, ads );
+   if ( !ADS_ERR_OK(status) )  {
+   d_fprintf(stderr, "Failed to set servicePrincipalNames. Only 
NTLM authentication will be possible.\n");
+   d_fprintf(stderr, "Please ensure that the DNS domain of this 
server matches the AD domain,\n");
+   d_fprintf(stderr, "Or rejoin with using Domain Admin 
credentials.\n");
 
-   if ( ads_s ) {
-   asprintf( &ads_s->auth.user_name, "%s$", global_myname() );
-   ads_s->auth.password = secrets_fetch_machine_password( 
short_domain_name, NULL, NULL );
-   ads_s->auth.realm = SMB_STRDUP( lp_realm() );
-   ads_kinit_password( ads_s );
-   status = ads_connect( ads_s );
+   /* don't fail */
}
-   if ( !ADS_ERR_OK(status) ) {
-   d_fprintf( stderr, "LDAP bind using machine credentials 
failed!\n");
-   d_fprintf(stderr, "Only NTLM authentication will be 
possible.\n");
-   } else {
-   /* create the dNSHostName & servicePrincipalName values */
-   
-   status = net_set_machine_spn( ctx, ads_s );
-   if ( !ADS_ERR_OK(status) )  {
-   d_fprintf(stderr, "Failed to set 
servicePrincipalNames.\n");
-   d_f

svn commit: samba r15679 - branches/SAMBA_3_0/source/popt trunk/source/popt

2006-05-17 Thread jerry
Author: jerry
Date: 2006-05-18 04:10:52 + (Thu, 18 May 2006)
New Revision: 15679

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15679

Log:
fix some popt warnings
Modified:
   branches/SAMBA_3_0/source/popt/popt.c
   branches/SAMBA_3_0/source/popt/popt.h
   branches/SAMBA_3_0/source/popt/popthelp.c
   trunk/source/popt/popt.c
   trunk/source/popt/popt.h
   trunk/source/popt/popthelp.c


Changeset:
Modified: branches/SAMBA_3_0/source/popt/popt.c
===
--- branches/SAMBA_3_0/source/popt/popt.c   2006-05-18 04:05:37 UTC (rev 
15678)
+++ branches/SAMBA_3_0/source/popt/popt.c   2006-05-18 04:10:52 UTC (rev 
15679)
@@ -1153,7 +1153,7 @@
 /[EMAIL PROTECTED]@*/
 }
 
-const char *const poptStrerror(const int error)
+const char *poptStrerror(const int error)
 {
 switch (error) {
   case POPT_ERROR_NOARG:

Modified: branches/SAMBA_3_0/source/popt/popt.h
===
--- branches/SAMBA_3_0/source/popt/popt.h   2006-05-18 04:05:37 UTC (rev 
15678)
+++ branches/SAMBA_3_0/source/popt/popt.h   2006-05-18 04:10:52 UTC (rev 
15679)
@@ -443,7 +443,7 @@
  * @param errorpopt error
  * @return error string
  */
-/[EMAIL PROTECTED]@*/ const char *const poptStrerror(const int error)
+/[EMAIL PROTECTED]@*/ const char* poptStrerror(const int error)
/[EMAIL PROTECTED]/;
 
 /** \ingroup popt

Modified: branches/SAMBA_3_0/source/popt/popthelp.c
===
--- branches/SAMBA_3_0/source/popt/popthelp.c   2006-05-18 04:05:37 UTC (rev 
15678)
+++ branches/SAMBA_3_0/source/popt/popthelp.c   2006-05-18 04:10:52 UTC (rev 
15679)
@@ -67,7 +67,7 @@
 /**
  * @param tableoption(s)
  */
-/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *const
+/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *
 getTableTranslationDomain(/[EMAIL PROTECTED]@*/ const struct poptOption *table)
/[EMAIL PROTECTED]/
 {
@@ -85,7 +85,7 @@
  * @param opt  option(s)
  * @param translation_domain   translation domain
  */
-/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *const
+/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *
 getArgDescrip(const struct poptOption * opt,
/[EMAIL PROTECTED]@*/ /* FIX: i18n macros disabled with lclint 
*/
/[EMAIL PROTECTED]@*/ const char * translation_domain)

Modified: trunk/source/popt/popt.c
===
--- trunk/source/popt/popt.c2006-05-18 04:05:37 UTC (rev 15678)
+++ trunk/source/popt/popt.c2006-05-18 04:10:52 UTC (rev 15679)
@@ -1153,7 +1153,7 @@
 /[EMAIL PROTECTED]@*/
 }
 
-const char *const poptStrerror(const int error)
+const char *poptStrerror(const int error)
 {
 switch (error) {
   case POPT_ERROR_NOARG:

Modified: trunk/source/popt/popt.h
===
--- trunk/source/popt/popt.h2006-05-18 04:05:37 UTC (rev 15678)
+++ trunk/source/popt/popt.h2006-05-18 04:10:52 UTC (rev 15679)
@@ -443,7 +443,7 @@
  * @param errorpopt error
  * @return error string
  */
-/[EMAIL PROTECTED]@*/ const char *const poptStrerror(const int error)
+/[EMAIL PROTECTED]@*/ const char* poptStrerror(const int error)
/[EMAIL PROTECTED]/;
 
 /** \ingroup popt

Modified: trunk/source/popt/popthelp.c
===
--- trunk/source/popt/popthelp.c2006-05-18 04:05:37 UTC (rev 15678)
+++ trunk/source/popt/popthelp.c2006-05-18 04:10:52 UTC (rev 15679)
@@ -67,7 +67,7 @@
 /**
  * @param tableoption(s)
  */
-/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *const
+/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *
 getTableTranslationDomain(/[EMAIL PROTECTED]@*/ const struct poptOption *table)
/[EMAIL PROTECTED]/
 {
@@ -85,7 +85,7 @@
  * @param opt  option(s)
  * @param translation_domain   translation domain
  */
-/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *const
+/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char *
 getArgDescrip(const struct poptOption * opt,
/[EMAIL PROTECTED]@*/ /* FIX: i18n macros disabled with lclint 
*/
/[EMAIL PROTECTED]@*/ const char * translation_domain)



svn commit: samba r15678 - in trunk/source/smbd: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 04:05:37 + (Thu, 18 May 2006)
New Revision: 15678

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15678

Log:
Fix coverity error #293. Resource leak in error path in
the changed NT_STATUS fsp code.
Jeremy.

Modified:
   trunk/source/smbd/files.c


Changeset:
Modified: trunk/source/smbd/files.c
===
--- trunk/source/smbd/files.c   2006-05-18 02:05:56 UTC (rev 15677)
+++ trunk/source/smbd/files.c   2006-05-18 04:05:37 UTC (rev 15678)
@@ -96,6 +96,7 @@
 
fsp->fh = SMB_MALLOC_P(struct fd_handle);
if (!fsp->fh) {
+   SAFE_FREE(fsp);
return NT_STATUS_NO_MEMORY;
}
 



svn commit: samba r15677 - in trunk/source/auth: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 02:05:56 + (Thu, 18 May 2006)
New Revision: 15677

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15677

Log:
Fix meaningless debug statement from uninitialized variable.
Spotted by "John E. Malmberg" <[EMAIL PROTECTED]>.
Jeremy.

Modified:
   trunk/source/auth/auth_util.c


Changeset:
Modified: trunk/source/auth/auth_util.c
===
--- trunk/source/auth/auth_util.c   2006-05-18 02:05:53 UTC (rev 15676)
+++ trunk/source/auth/auth_util.c   2006-05-18 02:05:56 UTC (rev 15677)
@@ -1198,7 +1198,6 @@
 {
TALLOC_CTX *mem_ctx;
DOM_SID group_sid;
-   NTSTATUS status;
BOOL ret;
 
mem_ctx = talloc_new(NULL);
@@ -1212,8 +1211,7 @@
TALLOC_FREE(mem_ctx);
 
if (!ret) {
-   DEBUG(10, ("lookup_name(%s) failed: %s\n", groupname,
-  nt_errstr(status)));
+   DEBUG(10, ("lookup_name for (%s) failed.\n", groupname));
return False;
}
 



svn commit: samba r15676 - in branches/SAMBA_3_0/source/auth: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 02:05:53 + (Thu, 18 May 2006)
New Revision: 15676

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15676

Log:
Fix meaningless debug statement from uninitialized variable.
Spotted by "John E. Malmberg" <[EMAIL PROTECTED]>.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/auth/auth_util.c


Changeset:
Modified: branches/SAMBA_3_0/source/auth/auth_util.c
===
--- branches/SAMBA_3_0/source/auth/auth_util.c  2006-05-18 01:45:18 UTC (rev 
15675)
+++ branches/SAMBA_3_0/source/auth/auth_util.c  2006-05-18 02:05:53 UTC (rev 
15676)
@@ -1198,7 +1198,6 @@
 {
TALLOC_CTX *mem_ctx;
DOM_SID group_sid;
-   NTSTATUS status;
BOOL ret;
 
mem_ctx = talloc_new(NULL);
@@ -1212,8 +1211,7 @@
TALLOC_FREE(mem_ctx);
 
if (!ret) {
-   DEBUG(10, ("lookup_name(%s) failed: %s\n", groupname,
-  nt_errstr(status)));
+   DEBUG(10, ("lookup_name for (%s) failed.\n", groupname));
return False;
}
 



svn commit: samba r15675 - in branches/SAMBA_3_0/source/nsswitch: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 01:45:18 + (Thu, 18 May 2006)
New Revision: 15675

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15675

Log:
Man pages say never look at the fd_set after a select
if it returned -1 (treat as undefined). Ensure we obey
this.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-05-18 01:45:11 UTC 
(rev 15674)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-05-18 01:45:18 UTC 
(rev 15675)
@@ -769,10 +769,14 @@
 
selret = sys_select(maxfd + 1, &r_fds, &w_fds, NULL, &timeout);
 
-   if (selret == 0)
+   if (selret == 0) {
goto no_fds_ready;
+   }
 
-   if ((selret == -1 && errno != EINTR) || selret == 0) {
+   if (selret == -1) {
+   if (errno == EINTR) {
+   goto no_fds_ready;
+   }
 
/* Select error, something is badly wrong */
 
@@ -780,6 +784,8 @@
exit(1);
}
 
+   /* selret > 0 */
+
ev = fd_events;
while (ev != NULL) {
struct fd_event *next = ev->next;



svn commit: samba r15674 - in trunk/source/nsswitch: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 01:45:11 + (Thu, 18 May 2006)
New Revision: 15674

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15674

Log:
Man pages say never look at the fd_set after a select
if it returned -1 (treat as undefined). Ensure we obey
this.
Jeremy.

Modified:
   trunk/source/nsswitch/winbindd.c


Changeset:
Modified: trunk/source/nsswitch/winbindd.c
===
--- trunk/source/nsswitch/winbindd.c2006-05-18 01:30:03 UTC (rev 15673)
+++ trunk/source/nsswitch/winbindd.c2006-05-18 01:45:11 UTC (rev 15674)
@@ -770,10 +770,14 @@
 
selret = sys_select(maxfd + 1, &r_fds, &w_fds, NULL, &timeout);
 
-   if (selret == 0)
+   if (selret == 0) {
goto no_fds_ready;
+   }
 
-   if ((selret == -1 && errno != EINTR) || selret == 0) {
+   if (selret == -1) {
+   if (errno == EINTR) {
+   goto no_fds_ready;
+   }
 
/* Select error, something is badly wrong */
 
@@ -781,6 +785,8 @@
exit(1);
}
 
+   /* selret > 0 */
+
ev = fd_events;
while (ev != NULL) {
struct fd_event *next = ev->next;



svn commit: samba r15673 - in trunk/source/lib: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 01:30:03 + (Thu, 18 May 2006)
New Revision: 15673

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15673

Log:
Fix for bug #3783. winbindd_cm.c calls open_any_socket_out()
to make connections to ports 445 or 139 on the DC it's trying
to contact. It calls sys_select() on the non-blocking sockets,
not sys_select_intr(). This is a mistake (I believe) as it allows
a signal to early terminate the connection attempts - whereas
sys_select_intr() will ignore signals until we get back to
the main processing loop where they'll be handled correctly.
This change means winbindd_cm will not early terminate if it
gets a message whilst trying to connect to DC's.
Gunther, Volker and Jerry please review (but I think this
is correct).
Jeremy.

Modified:
   trunk/source/lib/util_sock.c


Changeset:
Modified: trunk/source/lib/util_sock.c
===
--- trunk/source/lib/util_sock.c2006-05-18 01:30:00 UTC (rev 15672)
+++ trunk/source/lib/util_sock.c2006-05-18 01:30:03 UTC (rev 15673)
@@ -1003,7 +1003,7 @@
tv.tv_sec = 0;
tv.tv_usec = connect_loop;
 
-   res = sys_select(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
+   res = sys_select_intr(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
 
if (res < 0)
goto done;



svn commit: samba r15672 - in branches/SAMBA_3_0/source/lib: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 01:30:00 + (Thu, 18 May 2006)
New Revision: 15672

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15672

Log:
Fix for bug #3783. winbindd_cm.c calls open_any_socket_out()
to make connections to ports 445 or 139 on the DC it's trying
to contact. It calls sys_select() on the non-blocking sockets,
not sys_select_intr(). This is a mistake (I believe) as it allows
a signal to early terminate the connection attempts - whereas
sys_select_intr() will ignore signals until we get back to
the main processing loop where they'll be handled correctly.
This change means winbindd_cm will not early terminate if it
gets a message whilst trying to connect to DC's.
Gunther, Volker and Jerry please review (but I think this
is correct).
Jeremy.

Modified:
   branches/SAMBA_3_0/source/lib/util_sock.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/util_sock.c
===
--- branches/SAMBA_3_0/source/lib/util_sock.c   2006-05-18 00:22:14 UTC (rev 
15671)
+++ branches/SAMBA_3_0/source/lib/util_sock.c   2006-05-18 01:30:00 UTC (rev 
15672)
@@ -1003,7 +1003,7 @@
tv.tv_sec = 0;
tv.tv_usec = connect_loop;
 
-   res = sys_select(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
+   res = sys_select_intr(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
 
if (res < 0)
goto done;



svn commit: samba r15671 - in trunk/source/locking: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 00:22:14 + (Thu, 18 May 2006)
New Revision: 15671

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15671

Log:
Fix valgrind-spotted issue in BASE-DELETE test.
We were forgetting to increment after copying
the primary group gid.
Jeremy

Modified:
   trunk/source/locking/locking.c


Changeset:
Modified: trunk/source/locking/locking.c
===
--- trunk/source/locking/locking.c  2006-05-18 00:22:07 UTC (rev 15670)
+++ trunk/source/locking/locking.c  2006-05-18 00:22:14 UTC (rev 15671)
@@ -665,6 +665,7 @@
p += sizeof(uid_t);
 
memcpy(p, &lck->delete_token->gid, sizeof(gid_t));
+   p += sizeof(gid_t);
 
for (i = 0; i < lck->delete_token->ngroups; i++) {
memcpy(p, &lck->delete_token->groups[i], sizeof(gid_t));



svn commit: samba r15670 - in branches/SAMBA_3_0/source/locking: .

2006-05-17 Thread jra
Author: jra
Date: 2006-05-18 00:22:07 + (Thu, 18 May 2006)
New Revision: 15670

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15670

Log:
Fix valgrind-spotted issue in BASE-DELETE test.
We were forgetting to increment after copying
the primary group gid.
Jeremy

Modified:
   branches/SAMBA_3_0/source/locking/locking.c


Changeset:
Modified: branches/SAMBA_3_0/source/locking/locking.c
===
--- branches/SAMBA_3_0/source/locking/locking.c 2006-05-17 23:15:54 UTC (rev 
15669)
+++ branches/SAMBA_3_0/source/locking/locking.c 2006-05-18 00:22:07 UTC (rev 
15670)
@@ -665,6 +665,7 @@
p += sizeof(uid_t);
 
memcpy(p, &lck->delete_token->gid, sizeof(gid_t));
+   p += sizeof(gid_t);
 
for (i = 0; i < lck->delete_token->ngroups; i++) {
memcpy(p, &lck->delete_token->groups[i], sizeof(gid_t));



Build status as of Thu May 18 00:00:02 2006

2006-05-17 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2006-05-17 
00:00:49.0 +
+++ /home/build/master/cache/broken_results.txt 2006-05-18 00:00:26.0 
+
@@ -1,16 +1,16 @@
-Build status as of Wed May 17 00:00:02 2006
+Build status as of Thu May 18 00:00:02 2006
 
 Build counts:
 Tree Total  Broken Panic 
-ccache   37 4  0 
+ccache   37 3  0 
 distcc   38 3  0 
-lorikeet-heimdal 34 22 0 
+lorikeet-heimdal 34 23 0 
 ppp  21 0  0 
-rsync37 4  0 
+rsync37 2  0 
 samba6  2  0 
 samba-docs   0  0  0 
-samba4   41 32 10
-samba_3_038 12 0 
+samba4   41 33 12
+samba_3_038 13 0 
 smb-build30 0  0 
 talloc   34 15 0 
 tdb  34 4  0 


svn commit: samba r15669 - in trunk/source: include locking smbd

2006-05-17 Thread jra
Author: jra
Date: 2006-05-17 23:15:54 + (Wed, 17 May 2006)
New Revision: 15669

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15669

Log:
DOS or FCB opens share one share mode entry from different
fsp pointers. Ensure we cope with this to pass Samba4
DENY tests (we used to pass these, there must have been
a regression with newer code). We now pass them.
Jeremy

Modified:
   trunk/source/include/smb.h
   trunk/source/locking/locking.c
   trunk/source/smbd/close.c
   trunk/source/smbd/files.c
   trunk/source/smbd/oplock.c
   trunk/source/smbd/oplock_irix.c
   trunk/source/smbd/oplock_linux.c


Changeset:
Modified: trunk/source/include/smb.h
===
--- trunk/source/include/smb.h  2006-05-17 23:15:53 UTC (rev 15668)
+++ trunk/source/include/smb.h  2006-05-17 23:15:54 UTC (rev 15669)
@@ -401,6 +401,7 @@
 * DELETE_ON_CLOSE is not stored in the share
 * mode database.
 */
+   unsigned long file_id;
 };
 
 struct timed_event;
@@ -435,7 +436,6 @@
struct share_mode_entry *pending_break_messages;
int num_pending_break_messages;
 
-   unsigned long file_id;
BOOL can_lock;
BOOL can_read;
BOOL can_write;

Modified: trunk/source/locking/locking.c
===
--- trunk/source/locking/locking.c  2006-05-17 23:15:53 UTC (rev 15668)
+++ trunk/source/locking/locking.c  2006-05-17 23:15:54 UTC (rev 15669)
@@ -927,7 +927,7 @@
e->op_type = op_type;
e->time.tv_sec = fsp->open_time.tv_sec;
e->time.tv_usec = fsp->open_time.tv_usec;
-   e->share_file_id = fsp->file_id;
+   e->share_file_id = fsp->fh->file_id;
e->dev = fsp->dev;
e->inode = fsp->inode;
 }
@@ -986,28 +986,19 @@
 
 /***
  Check if two share mode entries are identical, ignoring oplock 
- and mid info and desired_access.
+ and mid info and desired_access. (Removed paranoia test - it's
+ not automatically a logic error if they are identical. JRA.)
 /
 
 static BOOL share_modes_identical(struct share_mode_entry *e1,
  struct share_mode_entry *e2)
 {
-#if 1 /* JRA PARANOIA TEST - REMOVE LATER */
-   if (procid_equal(&e1->pid, &e2->pid) &&
-   e1->share_file_id == e2->share_file_id &&
-   e1->dev == e2->dev &&
-   e1->inode == e2->inode &&
-   (e1->share_access) != (e2->share_access)) {
-   DEBUG(0,("PANIC: share_modes_identical: share_mode "
-"mismatch (e1 = 0x%x, e2 = 0x%x). Logic error.\n",
-(unsigned int)e1->share_access,
-(unsigned int)e2->share_access ));
-   smb_panic("PANIC: share_modes_identical logic error.\n");
-   }
-#endif
+   /* We used to check for e1->share_access == e2->share_access here
+  as well as the other fields but 2 different DOS or FCB opens
+  sharing the same share mode entry may validly differ in
+  fsp->share_access field. */
 
return (procid_equal(&e1->pid, &e2->pid) &&
-   (e1->share_access) == (e2->share_access) &&
e1->dev == e2->dev &&
e1->inode == e2->inode &&
e1->share_file_id == e2->share_file_id );

Modified: trunk/source/smbd/close.c
===
--- trunk/source/smbd/close.c   2006-05-17 23:15:53 UTC (rev 15668)
+++ trunk/source/smbd/close.c   2006-05-17 23:15:54 UTC (rev 15669)
@@ -143,55 +143,16 @@
 }
 
 /
- Close a file.
-
- close_type can be NORMAL_CLOSE=0,SHUTDOWN_CLOSE,ERROR_CLOSE.
- printing and magic scripts are only run on normal close.
- delete on close is done on normal and shutdown close.
+ Deal with removing a share mode on last close.
 /
 
-static int close_normal_file(files_struct *fsp, enum file_close_type 
close_type)
+static int close_remove_share_mode(files_struct *fsp, enum file_close_type 
close_type)
 {
+   connection_struct *conn = fsp->conn;
BOOL delete_file = False;
-   connection_struct *conn = fsp->conn;
-   int saved_errno = 0;
-   int err = 0;
-   int err1 = 0;
struct share_mode_lock *lck;
 
-   remove_pending_lock_requests_by_fid(fsp);
-
-   if (fsp->aio_write_behind) {
-   /*
-* If we're finishing write behind on a close we can get a write
-* error here, we must remember this.
-*/
-   int ret = wait_for_aio_completion(fsp);
-   if (ret) {
-

svn commit: samba r15668 - in branches/SAMBA_3_0/source: include locking smbd

2006-05-17 Thread jra
Author: jra
Date: 2006-05-17 23:15:53 + (Wed, 17 May 2006)
New Revision: 15668

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15668

Log:
DOS or FCB opens share one share mode entry from different
fsp pointers. Ensure we cope with this to pass Samba4
DENY tests (we used to pass these, there must have been
a regression with newer code). We now pass them.
Jeremy

Modified:
   branches/SAMBA_3_0/source/include/smb.h
   branches/SAMBA_3_0/source/locking/locking.c
   branches/SAMBA_3_0/source/smbd/close.c
   branches/SAMBA_3_0/source/smbd/files.c
   branches/SAMBA_3_0/source/smbd/oplock.c
   branches/SAMBA_3_0/source/smbd/oplock_irix.c
   branches/SAMBA_3_0/source/smbd/oplock_linux.c


Changeset:
Modified: branches/SAMBA_3_0/source/include/smb.h
===
--- branches/SAMBA_3_0/source/include/smb.h 2006-05-17 22:21:24 UTC (rev 
15667)
+++ branches/SAMBA_3_0/source/include/smb.h 2006-05-17 23:15:53 UTC (rev 
15668)
@@ -404,6 +404,7 @@
 * DELETE_ON_CLOSE is not stored in the share
 * mode database.
 */
+   unsigned long file_id;
 };
 
 struct timed_event;
@@ -438,7 +439,6 @@
struct share_mode_entry *pending_break_messages;
int num_pending_break_messages;
 
-   unsigned long file_id;
BOOL can_lock;
BOOL can_read;
BOOL can_write;

Modified: branches/SAMBA_3_0/source/locking/locking.c
===
--- branches/SAMBA_3_0/source/locking/locking.c 2006-05-17 22:21:24 UTC (rev 
15667)
+++ branches/SAMBA_3_0/source/locking/locking.c 2006-05-17 23:15:53 UTC (rev 
15668)
@@ -927,7 +927,7 @@
e->op_type = op_type;
e->time.tv_sec = fsp->open_time.tv_sec;
e->time.tv_usec = fsp->open_time.tv_usec;
-   e->share_file_id = fsp->file_id;
+   e->share_file_id = fsp->fh->file_id;
e->dev = fsp->dev;
e->inode = fsp->inode;
 }
@@ -986,28 +986,19 @@
 
 /***
  Check if two share mode entries are identical, ignoring oplock 
- and mid info and desired_access.
+ and mid info and desired_access. (Removed paranoia test - it's
+ not automatically a logic error if they are identical. JRA.)
 /
 
 static BOOL share_modes_identical(struct share_mode_entry *e1,
  struct share_mode_entry *e2)
 {
-#if 1 /* JRA PARANOIA TEST - REMOVE LATER */
-   if (procid_equal(&e1->pid, &e2->pid) &&
-   e1->share_file_id == e2->share_file_id &&
-   e1->dev == e2->dev &&
-   e1->inode == e2->inode &&
-   (e1->share_access) != (e2->share_access)) {
-   DEBUG(0,("PANIC: share_modes_identical: share_mode "
-"mismatch (e1 = 0x%x, e2 = 0x%x). Logic error.\n",
-(unsigned int)e1->share_access,
-(unsigned int)e2->share_access ));
-   smb_panic("PANIC: share_modes_identical logic error.\n");
-   }
-#endif
+   /* We used to check for e1->share_access == e2->share_access here
+  as well as the other fields but 2 different DOS or FCB opens
+  sharing the same share mode entry may validly differ in
+  fsp->share_access field. */
 
return (procid_equal(&e1->pid, &e2->pid) &&
-   (e1->share_access) == (e2->share_access) &&
e1->dev == e2->dev &&
e1->inode == e2->inode &&
e1->share_file_id == e2->share_file_id );

Modified: branches/SAMBA_3_0/source/smbd/close.c
===
--- branches/SAMBA_3_0/source/smbd/close.c  2006-05-17 22:21:24 UTC (rev 
15667)
+++ branches/SAMBA_3_0/source/smbd/close.c  2006-05-17 23:15:53 UTC (rev 
15668)
@@ -143,55 +143,16 @@
 }
 
 /
- Close a file.
-
- close_type can be NORMAL_CLOSE=0,SHUTDOWN_CLOSE,ERROR_CLOSE.
- printing and magic scripts are only run on normal close.
- delete on close is done on normal and shutdown close.
+ Deal with removing a share mode on last close.
 /
 
-static int close_normal_file(files_struct *fsp, enum file_close_type 
close_type)
+static int close_remove_share_mode(files_struct *fsp, enum file_close_type 
close_type)
 {
+   connection_struct *conn = fsp->conn;
BOOL delete_file = False;
-   connection_struct *conn = fsp->conn;
-   int saved_errno = 0;
-   int err = 0;
-   int err1 = 0;
struct share_mode_lock *lck;
 
-   remove_pending_lock_requests_by_fid(fsp);
-
-   if (fsp->aio_write_behind) {
-   /*
-* If we're

svn commit: samba r15667 - in branches/SAMBA_4_0/source/libnet: .

2006-05-17 Thread mimir
Author: mimir
Date: 2006-05-17 22:21:24 + (Wed, 17 May 2006)
New Revision: 15667

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15667

Log:
Make sure the rpc pipe pointers are zeroed during
initialisation of libnet_context.
This fixes a valgrind warning.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet.c
===
--- branches/SAMBA_4_0/source/libnet/libnet.c   2006-05-17 22:07:32 UTC (rev 
15666)
+++ branches/SAMBA_4_0/source/libnet/libnet.c   2006-05-17 22:21:24 UTC (rev 
15667)
@@ -47,6 +47,14 @@
 
/* connected domain params */
ZERO_STRUCT(ctx->domain);
+
+   /* currently opened user */
+   ZERO_STRUCT(ctx->user_handle);
+
+   /* init pipe pointers */
+   ctx->samr_pipe = NULL;
+   ctx->lsa_pipe  = NULL;
+   ctx->pipe  = NULL;

return ctx;
 }



svn commit: samba r15666 - in branches/SAMBA_4_0/source/libnet: .

2006-05-17 Thread mimir
Author: mimir
Date: 2006-05-17 22:07:32 + (Wed, 17 May 2006)
New Revision: 15666

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15666

Log:
Fix a silly typo.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_user.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-05-17 21:45:00 UTC 
(rev 15665)
+++ branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-05-17 22:07:32 UTC 
(rev 15666)
@@ -299,7 +299,7 @@
 
 
 NTSTATUS libnet_DeleteUser_recv(struct composite_context *c, TALLOC_CTX 
*mem_ctx,
-   struct libnet_CreateUser *r)
+   struct libnet_DeleteUser *r)
 {
NTSTATUS status;
struct delete_user_state *s;



svn commit: samba r15665 - in branches/SAMBA_4_0/source/script/tests: .

2006-05-17 Thread mimir
Author: mimir
Date: 2006-05-17 21:45:00 + (Wed, 17 May 2006)
New Revision: 15665

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15665

Log:
ejsnet test should be better now, after changes in delete
user routine.


rafal


Modified:
   branches/SAMBA_4_0/source/script/tests/test_ejs.sh


Changeset:
Modified: branches/SAMBA_4_0/source/script/tests/test_ejs.sh
===
--- branches/SAMBA_4_0/source/script/tests/test_ejs.sh  2006-05-17 21:44:06 UTC 
(rev 15664)
+++ branches/SAMBA_4_0/source/script/tests/test_ejs.sh  2006-05-17 21:45:00 UTC 
(rev 15665)
@@ -24,7 +24,7 @@
 testit "$f" $SCRIPTDIR/$f $CONFIGURATION ncalrpc: -U$USERNAME%$PASSWORD || 
failed=`expr $failed + 1`
 done
 
-#testit "ejsnet.js" $SCRIPTDIR/ejsnet.js $CONFIGURATION -U$USERNAME%$PASSWORD 
$DOMAIN ejstestuser || failed=`expr $failed + 1`
+testit "ejsnet.js" $SCRIPTDIR/ejsnet.js $CONFIGURATION -U$USERNAME%$PASSWORD 
$DOMAIN ejstestuser || failed=`expr $failed + 1`
 
 testit "winreg" scripting/bin/winreg $CONFIGURATION ncalrpc: 'HKLM' 
-U$USERNAME%$PASSWORD || failed=`expr $failed + 1`
 



svn commit: samba r15664 - in branches/SAMBA_4_0/source/torture/libnet: .

2006-05-17 Thread mimir
Author: mimir
Date: 2006-05-17 21:44:06 + (Wed, 17 May 2006)
New Revision: 15664

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15664

Log:
Add NET-API-DELETEUSER test for libnet_DeleteUser function.
Only the sync version right now.


rafal


Modified:
   branches/SAMBA_4_0/source/torture/libnet/libnet.c
   branches/SAMBA_4_0/source/torture/libnet/libnet_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/libnet.c
===
--- branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-05-17 21:41:59 UTC 
(rev 15663)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-05-17 21:44:06 UTC 
(rev 15664)
@@ -33,6 +33,7 @@
register_torture_op("NET-API-LOOKUPHOST", torture_lookup_host, 0);
register_torture_op("NET-API-LOOKUPPDC", torture_lookup_pdc, 0);
register_torture_op("NET-API-CREATEUSER", torture_createuser, 0);
+   register_torture_op("NET-API-DELETEUSER", torture_deleteuser, 0);
register_torture_op("NET-API-RPCCONNECT", torture_rpc_connect, 0);
register_torture_op("NET-API-LISTSHARES", torture_listshares, 0);
register_torture_op("NET-API-DELSHARE", torture_delshare, 0);

Modified: branches/SAMBA_4_0/source/torture/libnet/libnet_user.c
===
--- branches/SAMBA_4_0/source/torture/libnet/libnet_user.c  2006-05-17 
21:41:59 UTC (rev 15663)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_user.c  2006-05-17 
21:44:06 UTC (rev 15664)
@@ -24,6 +24,7 @@
 #include "libnet/libnet.h"
 #include "librpc/gen_ndr/ndr_samr_c.h"
 #include "torture/torture.h"
+#include "torture/rpc/rpc.h"
 
 
 #define TEST_USERNAME  "libnetusertest"
@@ -94,6 +95,114 @@
 }
 
 
+static BOOL test_opendomain(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+   struct policy_handle *handle, struct lsa_String 
*domname)
+{
+   NTSTATUS status;
+   struct policy_handle h, domain_handle;
+   struct samr_Connect r1;
+   struct samr_LookupDomain r2;
+   struct samr_OpenDomain r3;
+   
+   printf("connecting\n");
+   
+   r1.in.system_name = 0;
+   r1.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+   r1.out.connect_handle = &h;
+   
+   status = dcerpc_samr_Connect(p, mem_ctx, &r1);
+   if (!NT_STATUS_IS_OK(status)) {
+   printf("Connect failed - %s\n", nt_errstr(status));
+   return False;
+   }
+   
+   r2.in.connect_handle = &h;
+   r2.in.domain_name = domname;
+
+   printf("domain lookup on %s\n", domname->string);
+
+   status = dcerpc_samr_LookupDomain(p, mem_ctx, &r2);
+   if (!NT_STATUS_IS_OK(status)) {
+   printf("LookupDomain failed - %s\n", nt_errstr(status));
+   return False;
+   }
+
+   r3.in.connect_handle = &h;
+   r3.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+   r3.in.sid = r2.out.sid;
+   r3.out.domain_handle = &domain_handle;
+
+   printf("opening domain\n");
+
+   status = dcerpc_samr_OpenDomain(p, mem_ctx, &r3);
+   if (!NT_STATUS_IS_OK(status)) {
+   printf("OpenDomain failed - %s\n", nt_errstr(status));
+   return False;
+   } else {
+   *handle = domain_handle;
+   }
+
+   return True;
+}
+
+
+static BOOL test_createuser(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+   struct policy_handle *handle, const char* user)
+{
+   NTSTATUS status;
+   struct policy_handle user_handle;
+   struct lsa_String username;
+   struct samr_CreateUser r1;
+   struct samr_Close r2;
+   uint32_t user_rid;
+
+   username.string = user;
+   
+   r1.in.domain_handle = handle;
+   r1.in.account_name = &username;
+   r1.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+   r1.out.user_handle = &user_handle;
+   r1.out.rid = &user_rid;
+
+   printf("creating user '%s'\n", username.string);
+   
+   status = dcerpc_samr_CreateUser(p, mem_ctx, &r1);
+   if (!NT_STATUS_IS_OK(status)) {
+   printf("CreateUser failed - %s\n", nt_errstr(status));
+
+   if (NT_STATUS_EQUAL(status, NT_STATUS_USER_EXISTS)) {
+   printf("User (%s) already exists - attempting to delete 
and recreate account again\n", user);
+   if (!test_cleanup(p, mem_ctx, handle, TEST_USERNAME)) {
+   return False;
+   }
+
+   printf("creating user account\n");
+   
+   status = dcerpc_samr_CreateUser(p, mem_ctx, &r1);
+   if (!NT_STATUS_IS_OK(status)) {
+   printf("CreateUser failed - %s\n", 
nt_errstr(status));
+   return False;
+   }
+   return True;
+  

svn commit: samba r15663 - in branches/SAMBA_4_0/source/libnet: .

2006-05-17 Thread mimir
Author: mimir
Date: 2006-05-17 21:41:59 + (Wed, 17 May 2006)
New Revision: 15663

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15663

Log:
Turn libnet_DeleteUser into async function and fix subtle bug probably
causing ejsnet test to segfault. Also, cleanup a bit and add monitor
fn pointer to internal user delete libnet function.
Time for some comments now.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_user.c
   branches/SAMBA_4_0/source/libnet/userman.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_user.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-05-17 16:14:33 UTC 
(rev 15662)
+++ branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-05-17 21:41:59 UTC 
(rev 15663)
@@ -39,7 +39,7 @@
 
 
 static void continue_rpc_useradd(struct composite_context *ctx);
-static void continue_domain_open(struct composite_context *ctx);
+static void continue_domain_open_create(struct composite_context *ctx);
 
 
 struct composite_context* libnet_CreateUser_send(struct libnet_context *ctx,
@@ -74,7 +74,7 @@
domopen_req = libnet_DomainOpen_send(ctx, 
&s->domain_open, monitor);
if (composite_nomem(domopen_req, c)) return c;

-   composite_continue(c, domopen_req, 
continue_domain_open, c);
+   composite_continue(c, domopen_req, 
continue_domain_open_create, c);
return c;
} else {
/* no domain name provided - neither in io structure 
nor default
@@ -93,7 +93,7 @@
domopen_req = libnet_DomainOpen_send(ctx, 
&s->domain_open, monitor);
if (composite_nomem(domopen_req, c)) return c;

-   composite_continue(c, domopen_req, 
continue_domain_open, c);
+   composite_continue(c, domopen_req, 
continue_domain_open_create, c);
return c;
}
}
@@ -109,7 +109,7 @@
 }
 
 
-static void continue_domain_open(struct composite_context *ctx)
+static void continue_domain_open_create(struct composite_context *ctx)
 {
struct composite_context *c;
struct create_user_state *s;
@@ -178,101 +178,148 @@
 }
 
 
-#ifdef OBSOLETE
-NTSTATUS libnet_CreateUser(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, 
struct libnet_CreateUser *r)
+
+struct delete_user_state {
+   struct libnet_DeleteUser r;
+   struct libnet_context *ctx;
+   struct libnet_DomainOpen domain_open;
+   struct libnet_rpc_userdel user_del;
+
+   /* information about the progress */
+   void (*monitor_fn)(struct monitor_msg *);
+};
+
+
+static void continue_rpc_userdel(struct composite_context *ctx);
+static void continue_domain_open_delete(struct composite_context *ctx);
+
+
+struct composite_context *libnet_DeleteUser_send(struct libnet_context *ctx,
+TALLOC_CTX *mem_ctx,
+struct libnet_DeleteUser *r,
+void (*monitor)(struct 
monitor_msg*))
 {
-   NTSTATUS status;
-   struct libnet_RpcConnect cn;
-   struct libnet_DomainOpen dom_io;
-   struct libnet_rpc_useradd user_io;
+   struct composite_context *c;
+   struct delete_user_state *s;
+   struct composite_context *domopen_req;
+   struct composite_context *delete_req;
+
+   c = talloc_zero(mem_ctx, struct composite_context);
+   if (c == NULL) return NULL;
+
+   s = talloc_zero(c, struct delete_user_state);
+   if (composite_nomem(s, c)) return c;
+
+   c->private_data = s;
+   c->state = COMPOSITE_STATE_IN_PROGRESS;
+   c->event_ctx = ctx->event_ctx;
+
+   s->ctx = ctx;
+   s->r = *r;

-   /* connect rpc service of remote DC */
-   cn.level   = LIBNET_RPC_CONNECT_PDC;
-   cn.in.name = talloc_strdup(mem_ctx, r->in.domain_name);
-   cn.in.dcerpc_iface = &dcerpc_table_samr;
+   if (s->r.in.domain_name == NULL) {
+   
+   if (policy_handle_empty(&ctx->domain.handle)) {
+   s->domain_open.in.domain_name = 
cli_credentials_get_domain(ctx->cred);
+   s->domain_open.in.access_mask = 
SEC_FLAG_MAXIMUM_ALLOWED;
+   
+   domopen_req = libnet_DomainOpen_send(ctx, 
&s->domain_open, monitor);
+   if (composite_nomem(domopen_req, c)) return c;
+   
+   composite_continue(c, domopen_req, 
continue_domain_open_delete, c);
+   return c;
+   }
 
-   status = libnet_RpcConnect(ctx, mem_ctx, &cn);
-   if (!NT_STATUS_IS_OK(status)) {
-   r->out.error_string = tall

svn commit: samba r15662 - in branches/tmp/vl-posixacls/source: . modules

2006-05-17 Thread jmcd
Author: jmcd
Date: 2006-05-17 16:14:33 + (Wed, 17 May 2006)
New Revision: 15662

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15662

Log:
restore aix acl functionality.  Work done by Gomati Mohanan and Peter
Somogyi.

Added:
   branches/tmp/vl-posixacls/source/modules/vfs_aixacl_util.c
Modified:
   branches/tmp/vl-posixacls/source/Makefile.in
   branches/tmp/vl-posixacls/source/modules/vfs_aixacl.c


Changeset:
Sorry, the patch is too large (795 lines) to include; please use WebSVN to see 
it!
WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15662


svn commit: samba r15661 - in branches/SAMBA_4_0/source/libcli/util: .

2006-05-17 Thread metze
Author: metze
Date: 2006-05-17 15:16:46 + (Wed, 17 May 2006)
New Revision: 15661

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15661

Log:
add NT_STATUS_OBJECTID_NOT_FOUND

metze
Modified:
   branches/SAMBA_4_0/source/libcli/util/nterr.c
   branches/SAMBA_4_0/source/libcli/util/nterr.h


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/util/nterr.c
===
--- branches/SAMBA_4_0/source/libcli/util/nterr.c   2006-05-17 15:01:57 UTC 
(rev 15660)
+++ branches/SAMBA_4_0/source/libcli/util/nterr.c   2006-05-17 15:16:46 UTC 
(rev 15661)
@@ -544,6 +544,7 @@
 { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
{ "NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED", 
NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED },
{ "NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX", 
NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX },
+   { "NT_STATUS_OBJECTID_NOT_FOUND", NT_STATUS_OBJECTID_NOT_FOUND },
{ "STATUS_MORE_ENTRIES", STATUS_MORE_ENTRIES },
{ "STATUS_SOME_UNMAPPED", STATUS_SOME_UNMAPPED },
 

Modified: branches/SAMBA_4_0/source/libcli/util/nterr.h
===
--- branches/SAMBA_4_0/source/libcli/util/nterr.h   2006-05-17 15:01:57 UTC 
(rev 15660)
+++ branches/SAMBA_4_0/source/libcli/util/nterr.h   2006-05-17 15:16:46 UTC 
(rev 15661)
@@ -575,6 +575,7 @@
 #define NT_STATUS_QUOTA_LIST_INCONSISTENT NT_STATUS(0xC000 | 0x0266)
 #define NT_STATUS_FILE_IS_OFFLINE NT_STATUS(0xC000 | 0x0267)
 #define NT_STATUS_NOT_A_REPARSE_POINT NT_STATUS(0xC000 | 0x0275)
+#define NT_STATUS_OBJECTID_NOT_FOUND NT_STATUS(0xC000 | 0x02F0)
 #define NT_STATUS_NO_SUCH_JOB NT_STATUS(0xC000 | 0xEDE) /* scheduler */
 #define NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED NT_STATUS(0xC000 | 0x20004)
 #define NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX NT_STATUS(0xC000 | 0x20026)



svn commit: samba r15660 - branches/SAMBA_3_0/source/smbd trunk/source/smbd

2006-05-17 Thread vlendec
Author: vlendec
Date: 2006-05-17 15:01:57 + (Wed, 17 May 2006)
New Revision: 15660

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15660

Log:
Without this when using smbcquotas I get

close fd=-1 fnum=4321 (numopen=1)
close_file: Could not get share mode lock for file 
$Extend/$Quota:$Q:$INDEX_ALLOCATION
unix_error_packet: error string = Das Argument ist ung?\195?\188ltig
error packet at smbd/reply.c(3325) cmd=4 (SMBclose) NT_STATUS_INVALID_HANDLE

so a fake file needs special close handling I think. Jeremy, can you check
this?

Thanks,

Volker

Modified:
   branches/SAMBA_3_0/source/smbd/close.c
   branches/SAMBA_3_0/source/smbd/fake_file.c
   trunk/source/smbd/close.c
   trunk/source/smbd/fake_file.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/close.c
===
--- branches/SAMBA_3_0/source/smbd/close.c  2006-05-17 13:58:53 UTC (rev 
15659)
+++ branches/SAMBA_3_0/source/smbd/close.c  2006-05-17 15:01:57 UTC (rev 
15660)
@@ -447,6 +447,8 @@
return close_directory(fsp, close_type);
else if (fsp->is_stat)
return close_stat(fsp);
+   else if (fsp->fake_file_handle != NULL)
+   return close_fake_file(fsp);
else
return close_normal_file(fsp, close_type);
 }

Modified: branches/SAMBA_3_0/source/smbd/fake_file.c
===
--- branches/SAMBA_3_0/source/smbd/fake_file.c  2006-05-17 13:58:53 UTC (rev 
15659)
+++ branches/SAMBA_3_0/source/smbd/fake_file.c  2006-05-17 15:01:57 UTC (rev 
15660)
@@ -156,3 +156,9 @@
talloc_destroy((*fh)->mem_ctx);
(*fh) = NULL;
 }
+
+int close_fake_file(files_struct *fsp)
+{
+   file_free(fsp);
+   return 0;
+}

Modified: trunk/source/smbd/close.c
===
--- trunk/source/smbd/close.c   2006-05-17 13:58:53 UTC (rev 15659)
+++ trunk/source/smbd/close.c   2006-05-17 15:01:57 UTC (rev 15660)
@@ -447,6 +447,8 @@
return close_directory(fsp, close_type);
else if (fsp->is_stat)
return close_stat(fsp);
+   else if (fsp->fake_file_handle != NULL)
+   return close_fake_file(fsp);
else
return close_normal_file(fsp, close_type);
 }

Modified: trunk/source/smbd/fake_file.c
===
--- trunk/source/smbd/fake_file.c   2006-05-17 13:58:53 UTC (rev 15659)
+++ trunk/source/smbd/fake_file.c   2006-05-17 15:01:57 UTC (rev 15660)
@@ -158,3 +158,9 @@
talloc_destroy((*fh)->mem_ctx);
(*fh) = NULL;
 }
+
+int close_fake_file(files_struct *fsp)
+{
+   file_free(fsp);
+   return 0;
+}



svn commit: samba r15659 - in branches/SAMBA_4_0/source/lib/registry: .

2006-05-17 Thread jelmer
Author: jelmer
Date: 2006-05-17 13:58:53 + (Wed, 17 May 2006)
New Revision: 15659

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15659

Log:
Implement opening a key by name (significant better performance 
in some situations). Patch by Wilco Baan Hofman.

Modified:
   branches/SAMBA_4_0/source/lib/registry/reg_backend_nt4.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/registry/reg_backend_nt4.c
===
--- branches/SAMBA_4_0/source/lib/registry/reg_backend_nt4.c2006-05-17 
12:59:30 UTC (rev 15658)
+++ branches/SAMBA_4_0/source/lib/registry/reg_backend_nt4.c2006-05-17 
13:58:53 UTC (rev 15659)
@@ -469,7 +469,7 @@
return WERR_OK;
 }
 
-static WERROR regf_get_subkey (TALLOC_CTX *ctx, const struct registry_key 
*key, int idx, struct registry_key **ret)
+static WERROR regf_get_subkey_by_index (TALLOC_CTX *ctx, const struct 
registry_key *key, int idx, struct registry_key **ret)
 {
DATA_BLOB data;
struct nk_block *nk = key->backend_data;
@@ -627,7 +627,240 @@
return WERR_OK;
 }
 
+static WERROR regf_match_subkey_by_name (TALLOC_CTX *ctx, const struct 
registry_key *key, uint32_t offset, const char *name, uint32_t *ret) 
+{
+   DATA_BLOB subkey_data;
+   struct nk_block subkey;
+   struct tdr_pull pull;
+   
+   subkey_data = hbin_get(key->hive->backend_data, offset);
+   if (!subkey_data.data) {
+   DEBUG(0, ("Unable to retrieve subkey HBIN\n"));
+   return WERR_GENERAL_FAILURE;
+   }
 
+   ZERO_STRUCT(pull);
+   pull.data = subkey_data;
+   
+   if (NT_STATUS_IS_ERR(tdr_pull_nk_block(&pull, ctx, &subkey))) {
+   DEBUG(0, ("Error parsing NK structure.\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   if (strncmp(subkey.header, "nk", 2)) {
+   DEBUG(0, ("Not an NK structure.\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   if (!strcasecmp(subkey.key_name, name)) {
+   *ret = offset;
+   } else {
+   *ret = 0;
+   }
+   return WERR_OK;
+}
+   
+static WERROR regf_get_subkey_by_name (TALLOC_CTX *ctx, const struct 
registry_key *key, const char *name, struct registry_key **ret)
+{
+   DATA_BLOB data;
+   struct nk_block *nk = key->backend_data;
+   uint32_t key_off = 0;
+
+   data = hbin_get(key->hive->backend_data, nk->subkeys_offset);
+   if (!data.data) {
+   DEBUG(0, ("Unable to find subkey list\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+
+   if (!strncmp((char *)data.data, "li",2)) {
+   struct li_block li;
+   struct tdr_pull pull;
+   uint16_t i;
+
+   DEBUG(10, ("Subkeys in LI list\n"));
+   ZERO_STRUCT(pull);
+   pull.data = data;
+   
+   if (NT_STATUS_IS_ERR(tdr_pull_li_block(&pull, nk, &li))) {
+   DEBUG(0, ("Error parsing LI list\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   SMB_ASSERT(!strncmp(li.header, "li",2));
+
+   if (li.key_count != nk->num_subkeys) {
+   DEBUG(0, ("Subkey counts don't match\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   
+   for (i = 0; i < li.key_count; i++) {
+   W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, 
key, li.nk_offset[i], name, &key_off));
+   if (key_off) {
+   break;
+   }
+   }
+   if (!key_off) {
+   return WERR_DEST_NOT_FOUND;
+   }
+   } else if (!strncmp((char *)data.data, "lf",2)) {
+   struct lf_block lf;
+   struct tdr_pull pull;
+   uint16_t i;
+
+   DEBUG(10, ("Subkeys in LF list\n"));
+   ZERO_STRUCT(pull);
+   pull.data = data;
+   
+   if (NT_STATUS_IS_ERR(tdr_pull_lf_block(&pull, nk, &lf))) {
+   DEBUG(0, ("Error parsing LF list\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   SMB_ASSERT(!strncmp(lf.header, "lf",2));
+
+   if (lf.key_count != nk->num_subkeys) {
+   DEBUG(0, ("Subkey counts don't match\n"));
+   return WERR_GENERAL_FAILURE;
+   }
+   
+   for (i = 0; i < lf.key_count; i++) {
+   if (strncmp(lf.hr[i].hash, name, 4)) {
+   continue;
+   }
+   W_ERROR_NOT_OK_RETURN(regf_match_subkey_by_name(nk, 
key, lf.hr[i].nk_offset, name, &key_off));
+   if (key_off) {
+   break;
+   }
+   

svn commit: samba r15658 - in trunk/source: printing smbd

2006-05-17 Thread vlendec
Author: vlendec
Date: 2006-05-17 12:59:30 + (Wed, 17 May 2006)
New Revision: 15658

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15658

Log:
Micro-step towards getting rid of set_saved_error & friends. Lift
set_saved_ntstatus up from file_new one level. The plan is to work the way up
to open_file_ntcreate and higher.

Volker

Modified:
   trunk/source/printing/printfsp.c
   trunk/source/smbd/fake_file.c
   trunk/source/smbd/files.c
   trunk/source/smbd/open.c


Changeset:
Modified: trunk/source/printing/printfsp.c
===
--- trunk/source/printing/printfsp.c2006-05-17 11:14:26 UTC (rev 15657)
+++ trunk/source/printing/printfsp.c2006-05-17 12:59:30 UTC (rev 15658)
@@ -32,11 +32,15 @@
 {
int jobid;
SMB_STRUCT_STAT sbuf;
-   files_struct *fsp = file_new(conn);
+   files_struct *fsp;
fstring name;
+   NTSTATUS status;
 
-   if(!fsp)
+   status = file_new(conn, &fsp);
+   if(!NT_STATUS_IS_OK(status)) {
+   set_saved_ntstatus(status);
return NULL;
+   }
 
fstrcpy( name, "Remote Downlevel Document");
if (fname) {

Modified: trunk/source/smbd/fake_file.c
===
--- trunk/source/smbd/fake_file.c   2006-05-17 11:14:26 UTC (rev 15657)
+++ trunk/source/smbd/fake_file.c   2006-05-17 12:59:30 UTC (rev 15658)
@@ -107,6 +107,7 @@
uint32 access_mask)
 {
files_struct *fsp = NULL;
+   NTSTATUS status;
 
/* access check */
if (current_user.ut.uid != 0) {
@@ -116,8 +117,9 @@
return NULL;
}
 
-   fsp = file_new(conn);
-   if(!fsp) {
+   status = file_new(conn, &fsp);
+   if(!NT_STATUS_IS_OK(status)) {
+   set_saved_ntstatus(status);
return NULL;
}
 

Modified: trunk/source/smbd/files.c
===
--- trunk/source/smbd/files.c   2006-05-17 11:14:26 UTC (rev 15657)
+++ trunk/source/smbd/files.c   2006-05-17 12:59:30 UTC (rev 15658)
@@ -61,7 +61,7 @@
  Find first available file slot.
 /
 
-files_struct *file_new(connection_struct *conn)
+NTSTATUS file_new(connection_struct *conn, files_struct **result)
 {
int i;
static int first_file;
@@ -84,23 +84,19 @@
/* TODO: We have to unconditionally return a DOS error here,
 * W2k3 even returns ERRDOS/ERRnofids for ntcreate&x with
 * NTSTATUS negotiated */
-   set_saved_ntstatus(NT_STATUS_TOO_MANY_OPENED_FILES);
-   return NULL;
+   return NT_STATUS_TOO_MANY_OPENED_FILES;
}
 
fsp = SMB_MALLOC_P(files_struct);
if (!fsp) {
-   set_saved_ntstatus(NT_STATUS_NO_MEMORY);
-   return NULL;
+   return NT_STATUS_NO_MEMORY;
}
 
ZERO_STRUCTP(fsp);
 
fsp->fh = SMB_MALLOC_P(struct fd_handle);
if (!fsp->fh) {
-   SAFE_FREE(fsp);
-   set_saved_ntstatus(NT_STATUS_NO_MEMORY);
-   return NULL;
+   return NT_STATUS_NO_MEMORY;
}
 
ZERO_STRUCTP(fsp->fh);
@@ -133,8 +129,9 @@
if (fsp_fi_cache.fsp == NULL) {
ZERO_STRUCT(fsp_fi_cache);
}
-   
-   return fsp;
+
+   *result = fsp;
+   return NT_STATUS_OK;
 }
 
 /
@@ -529,9 +526,13 @@
uint32 share_access,
uint32 create_options)
 {
-   files_struct *dup_fsp = file_new(fsp->conn);
+   NTSTATUS status;
+   files_struct *dup_fsp;
 
-   if (!dup_fsp) {
+   status = file_new(fsp->conn, &dup_fsp);
+
+   if (!NT_STATUS_IS_OK(status)) {
+   set_saved_ntstatus(status);
return NULL;
}
 

Modified: trunk/source/smbd/open.c
===
--- trunk/source/smbd/open.c2006-05-17 11:14:26 UTC (rev 15657)
+++ trunk/source/smbd/open.c2006-05-17 12:59:30 UTC (rev 15658)
@@ -1336,8 +1336,9 @@
return NULL;
}
 
-   fsp = file_new(conn);
-   if(!fsp) {
+   status = file_new(conn, &fsp);
+   if(!NT_STATUS_IS_OK(status)) {
+   set_saved_ntstatus(status);
return NULL;
}
 
@@ -1775,13 +1776,15 @@
 {
files_struct *fsp = NULL;
BOOL fsp_open;
+   NTSTATUS status;
 
if (!VALID_STAT(*psbuf)) {
return NULL;
}
 
-   fsp = file_new(conn);
-   if(!fsp) {
+   status = file_new(conn, &fsp);
+   if(!NT_STATUS_IS_OK(status)) {
+   set_saved_ntstatus(status);
   

svn commit: samba-web r988 - in trunk/devel: .

2006-05-17 Thread jerry
Author: jerry
Date: 2006-05-17 12:26:58 + (Wed, 17 May 2006)
New Revision: 988

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-web&rev=988

Log:
cleanup of the devel index page
Modified:
   trunk/devel/index.html


Changeset:
Modified: trunk/devel/index.html
===
--- trunk/devel/index.html  2006-05-12 22:28:56 UTC (rev 987)
+++ trunk/devel/index.html  2006-05-17 12:26:58 UTC (rev 988)
@@ -14,16 +14,15 @@
 
 As of 4 April 2004, the Samba Team converted from CVS to Subversion for 
maintaining the Samba source code.  All current development is done in a 
Subversion repository.  All older code is in the original CVS tree; this would 
include 2.2.x versions of Samba, which are no longer in active development.
 
-The latest stable release is Samba 3.0.22 (The latest production release is Samba 3.0.22 (release notes and download).  
+href="/samba/download/">download). 
 
-The next major release will be Samba 4.0, an ambitious
-reworking of the Samba code.  This development is concurrent with Samba
-3.0 maintainence and development.  A technology 
+Ongoing future research is being done for Samba 4.0
+This work is concurrent with Samba 3.0 maintenance 
+and development.  A technology 
 preview release is available.
 
-
 
 Samba Branches
 
@@ -32,7 +31,7 @@
   
 TRUNK
 This is the current development branch, based on the Samba 3.0
-codebase.  It is, obviously, not stable, as it is the ground where
+code base.  It is, obviously, not stable, as it is the ground where
 features for future stable releases in the Samba 3.0.x series are 
implemented and tested.
 Example checkout command:
   
@@ -43,10 +42,7 @@
 
   
 SAMBA_3_0
-This is the development area for the current stable release
-branch.  Updates to this branch are mostly bugfixes, but as new features 
-in TRUNK become stable, they will be merged here to prepare for the next 
-3.0.x release.
+This is the development area for the 3.0.x production releases.
 Example checkout command:
   
 
@@ -56,9 +52,7 @@
 
   
 SAMBA_3_0_RELEASE
-This is the staging area used by the release manager for 3.0.x 
-releases.  This is where the actual releases are snapshotted and prepared 
-into tarballs.
+This is the staging area used for freezing the 3.0.x release 
snapshots.
 Example checkout command:
   
 
@@ -69,9 +63,11 @@
 
   
 SAMBA_4_0
-This is the tree for the next major release. It is currently under 
heavy development.  Though it hasn't yet reached an alpha release, there is a
-technology preview release available.
-   For more information, see the roadmap 
document.
+This is the research branch for Samba 4. 
+   Technical Previews of this code base 
are available 
+   for download.  Be aware that these snapshots are intended for testing 
purposes 
+   only and not for use in production environments.  For more information, 
see 
+   the road map document.
 Example checkout command:
   
 
@@ -88,7 +84,7 @@
 
 Please coordinate all development efforts on the mailto:[EMAIL 
PROTECTED]">samba-technical mailing list.  For more information about the 
list, or to join the list, go to the http://lists.samba.org/mailman/listinfo/samba-technical";>samba technical 
mailing list page.  The main samba development channel on IRC is 
#samba-technical, server irc.freenode.net.  Please don't ask user 
questions in this channel (users see #samba).  Channel logs are 
available http://irc.vernstok.nl/samba-technical.php";>here.
 
-Also, please see our policy concering contributor copyright.
+Also, please see our policy concerningcontributor copyright.
 
 
 Learn More



svn commit: samba r15657 - branches/SAMBA_3_0/source/utils trunk/source/utils

2006-05-17 Thread vlendec
Author: vlendec
Date: 2006-05-17 11:14:26 + (Wed, 17 May 2006)
New Revision: 15657

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15657

Log:
Fix some Tru64 warnings
Modified:
   branches/SAMBA_3_0/source/utils/net_rpc.c
   branches/SAMBA_3_0/source/utils/net_rpc_rights.c
   trunk/source/utils/net_rpc.c
   trunk/source/utils/net_rpc_rights.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_rpc.c
===
--- branches/SAMBA_3_0/source/utils/net_rpc.c   2006-05-17 09:52:14 UTC (rev 
15656)
+++ branches/SAMBA_3_0/source/utils/net_rpc.c   2006-05-17 11:14:26 UTC (rev 
15657)
@@ -1606,7 +1606,7 @@
};
 
return cmds;
-};
+}
 
 //
 
@@ -4793,7 +4793,7 @@
};
 
return cmds;
-};
+}
 
 //
 

Modified: branches/SAMBA_3_0/source/utils/net_rpc_rights.c
===
--- branches/SAMBA_3_0/source/utils/net_rpc_rights.c2006-05-17 09:52:14 UTC 
(rev 15656)
+++ branches/SAMBA_3_0/source/utils/net_rpc_rights.c2006-05-17 11:14:26 UTC 
(rev 15657)
@@ -609,5 +609,5 @@
};
 
return cmds;
-};
+}
 

Modified: trunk/source/utils/net_rpc.c
===
--- trunk/source/utils/net_rpc.c2006-05-17 09:52:14 UTC (rev 15656)
+++ trunk/source/utils/net_rpc.c2006-05-17 11:14:26 UTC (rev 15657)
@@ -1606,7 +1606,7 @@
};
 
return cmds;
-};
+}
 
 //
 
@@ -4793,7 +4793,7 @@
};
 
return cmds;
-};
+}
 
 //
 

Modified: trunk/source/utils/net_rpc_rights.c
===
--- trunk/source/utils/net_rpc_rights.c 2006-05-17 09:52:14 UTC (rev 15656)
+++ trunk/source/utils/net_rpc_rights.c 2006-05-17 11:14:26 UTC (rev 15657)
@@ -609,5 +609,5 @@
};
 
return cmds;
-};
+}
 



svn commit: samba r15656 - in branches/SAMBA_4_0/source: libcli/raw smb_server/smb torture/raw

2006-05-17 Thread metze
Author: metze
Date: 2006-05-17 09:52:14 + (Wed, 17 May 2006)
New Revision: 15656

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15656

Log:
for NT IOCTL's we need to control the max_data field for some calls

metze
Modified:
   branches/SAMBA_4_0/source/libcli/raw/interfaces.h
   branches/SAMBA_4_0/source/libcli/raw/rawioctl.c
   branches/SAMBA_4_0/source/smb_server/smb/nttrans.c
   branches/SAMBA_4_0/source/torture/raw/ioctl.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/raw/interfaces.h
===
--- branches/SAMBA_4_0/source/libcli/raw/interfaces.h   2006-05-17 00:51:42 UTC 
(rev 15655)
+++ branches/SAMBA_4_0/source/libcli/raw/interfaces.h   2006-05-17 09:52:14 UTC 
(rev 15656)
@@ -1716,6 +1716,7 @@
uint32_t function;
BOOL fsctl;
uint8_t filter;
+   uint32_t max_data;
DATA_BLOB blob;
} in;
struct {

Modified: branches/SAMBA_4_0/source/libcli/raw/rawioctl.c
===
--- branches/SAMBA_4_0/source/libcli/raw/rawioctl.c 2006-05-17 00:51:42 UTC 
(rev 15655)
+++ branches/SAMBA_4_0/source/libcli/raw/rawioctl.c 2006-05-17 09:52:14 UTC 
(rev 15656)
@@ -77,7 +77,7 @@
 
nt.in.max_setup = 0;
nt.in.max_param = 0;
-   nt.in.max_data = 0;
+   nt.in.max_data = parms->ntioctl.in.max_data;
nt.in.setup_count = 4;
nt.in.setup = (uint16_t *)setup;
SIVAL(setup, 0, parms->ntioctl.in.function);

Modified: branches/SAMBA_4_0/source/smb_server/smb/nttrans.c
===
--- branches/SAMBA_4_0/source/smb_server/smb/nttrans.c  2006-05-17 00:51:42 UTC 
(rev 15655)
+++ branches/SAMBA_4_0/source/smb_server/smb/nttrans.c  2006-05-17 09:52:14 UTC 
(rev 15656)
@@ -324,6 +324,7 @@
nt->ntioctl.in.function = function;
nt->ntioctl.in.fsctl = fsctl;
nt->ntioctl.in.filter = filter;
+   nt->ntioctl.in.max_data = trans->in.max_data;
nt->ntioctl.in.blob = trans->in.data;
 
status = nttrans_setup_reply(op, trans, 0, 0, 1);

Modified: branches/SAMBA_4_0/source/torture/raw/ioctl.c
===
--- branches/SAMBA_4_0/source/torture/raw/ioctl.c   2006-05-17 00:51:42 UTC 
(rev 15655)
+++ branches/SAMBA_4_0/source/torture/raw/ioctl.c   2006-05-17 09:52:14 UTC 
(rev 15656)
@@ -105,6 +105,7 @@
nt.ntioctl.in.file.fnum = fnum;
nt.ntioctl.in.fsctl = True;
nt.ntioctl.in.filter = 0;
+   nt.ntioctl.in.max_data = 0;
nt.ntioctl.in.blob = data_blob(NULL, 0);
 
status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);
@@ -112,10 +113,11 @@
 
printf("trying batch oplock\n");
nt.ioctl.level = RAW_IOCTL_NTIOCTL;
-   nt.ntioctl.in.function = (FSCTL_FILESYSTEM | (2<<2));
+   nt.ntioctl.in.function = FSCTL_REQUEST_BATCH_OPLOCK;
nt.ntioctl.in.file.fnum = fnum;
nt.ntioctl.in.fsctl = True;
nt.ntioctl.in.filter = 0;
+   nt.ntioctl.in.max_data = 0;
nt.ntioctl.in.blob = data_blob(NULL, 0);
 
status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);



Re: svn commit: samba r15654 - branches/SAMBA_3_0/source branches/SAMBA_3_0/source/popt trunk/source trunk/source/popt

2006-05-17 Thread Jelmer Vernooij
On Wed, 2006-05-17 at 11:17 +0200, Stefan (metze) Metzmacher wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> [EMAIL PROTECTED] schrieb:
> > Log:
> > Update our internal copy of popt to that distributed with the RPM 4.2
> > source code.
> >
> should we do this in samba4 too?
We're already at the latest version, I updated some months ago.

Cheers,

Jelmer
-- 
Jelmer Vernooij <[EMAIL PROTECTED]> - http://samba.org/~jelmer/


signature.asc
Description: This is a digitally signed message part


Re: svn commit: samba r15654 - branches/SAMBA_3_0/source branches/SAMBA_3_0/source/popt trunk/source trunk/source/popt

2006-05-17 Thread Stefan (metze) Metzmacher
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

[EMAIL PROTECTED] schrieb:
> Log:
> Update our internal copy of popt to that distributed with the RPM 4.2
> source code.
>
should we do this in samba4 too?

metze
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFEauo6m70gjA5TCD8RAmjoAJ9TJBFDbIkpgbieKXqCz2J+Xpr47QCgsHXK
EvuYirTG/tBNEOajUQfur6Y=
=rdzQ
-END PGP SIGNATURE-