Re: [PATCH] group control bits ....

2002-09-11 Thread Jelmer Vernooij

On Wed, Sep 11, 2002 at 08:27:21AM +0200, Stefan (metze) Metzmacher wrote about 'Re: 
[PATCH] group control bits ':
> At 23:29 10.09.2002 +0200, Jelmer Vernooij wrote:
> >On Fri, Sep 06, 2002 at 09:45:06AM +0200, Stefan (metze) Metzmacher wrote 
> >about 'Re: [PATCH] group control bits ':

> >> >> -NTSTATUS sam_skel_get_groups_of_account(const struct sam_methods
> >> >*sam_method, const SAM_ACCOUNT_HANDLE *account, const uint32 type, 
> >uint32
> >> >*group_count, SAM_GROUP_ENUM **groups)
> >> >> +NTSTATUS sam_skel_get_groups_of_sid(const struct sam_methods
> >> >*sam_method,
> >> >const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint32 
> >type,
> >> >uint32 *group_count, SAM_GROUP_ENUM **groups)

> >> >you forgott to change the const uint32 type to uint16 group_ctrl

> >> I fixed that :-)

> >> I also change 'struct sam_methods' -> 'SAM_METHODS'  in sam_skel.c

> >> I also change the prototypes of sam_create_account ,sam_create_group

> >> and set SAM_INTERFACE_VERSION 0  until we have a stable interface:-)

> >Just to let you know - this patch is still in my patchqueue...
> I think abartlet has allready applied it, with a few changes :-)
Oops, silly me :-) 

Jelmer

-- 
Jelmer Vernooij <[EMAIL PROTECTED]> - http://nl.linux.org/~jelmer/
Development And Underdevelopment: http://library.thinkquest.org/C0110231/
Listening to Radio 3FM
 14:51:17 up  7:42,  4 users,  load average: 0.08, 0.03, 0.01



Re: [PATCH] group control bits ....

2002-09-10 Thread Stefan (metze) Metzmacher

At 23:29 10.09.2002 +0200, Jelmer Vernooij wrote:
>On Fri, Sep 06, 2002 at 09:45:06AM +0200, Stefan (metze) Metzmacher wrote 
>about 'Re: [PATCH] group control bits ':
>
> > >> -NTSTATUS sam_skel_get_groups_of_account(const struct sam_methods
> > >*sam_method, const SAM_ACCOUNT_HANDLE *account, const uint32 type, uint32
> > >*group_count, SAM_GROUP_ENUM **groups)
> > >> +NTSTATUS sam_skel_get_groups_of_sid(const struct sam_methods
> > >*sam_method,
> > >const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint32 
> type,
> > >uint32 *group_count, SAM_GROUP_ENUM **groups)
>
> > >you forgott to change the const uint32 type to uint16 group_ctrl
>
> > I fixed that :-)
>
> > I also change 'struct sam_methods' -> 'SAM_METHODS'  in sam_skel.c
>
> > I also change the prototypes of sam_create_account ,sam_create_group
>
> > and set SAM_INTERFACE_VERSION 0  until we have a stable interface:-)
>
>Just to let you know - this patch is still in my patchqueue...

I think abartlet has allready applied it, with a few changes :-)

see:
http://lists.samba.org/pipermail/samba-cvs/2002-September/076096.html
http://lists.samba.org/pipermail/samba-cvs/2002-September/076097.html
http://lists.samba.org/pipermail/samba-cvs/2002-September/076098.html
http://lists.samba.org/pipermail/samba-cvs/2002-September/076099.html
http://lists.samba.org/pipermail/samba-cvs/2002-September/076100.html


metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>




Re: [PATCH] group control bits ....

2002-09-10 Thread Jelmer Vernooij

On Fri, Sep 06, 2002 at 09:45:06AM +0200, Stefan (metze) Metzmacher wrote about 'Re: 
[PATCH] group control bits ':



> >> -NTSTATUS sam_skel_get_groups_of_account(const struct sam_methods
> >*sam_method, const SAM_ACCOUNT_HANDLE *account, const uint32 type, uint32
> >*group_count, SAM_GROUP_ENUM **groups)
> >> +NTSTATUS sam_skel_get_groups_of_sid(const struct sam_methods 
> >*sam_method,
> >const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint32 type,
> >uint32 *group_count, SAM_GROUP_ENUM **groups)

> >you forgott to change the const uint32 type to uint16 group_ctrl

> I fixed that :-)

> I also change 'struct sam_methods' -> 'SAM_METHODS'  in sam_skel.c

> I also change the prototypes of sam_create_account ,sam_create_group

> and set SAM_INTERFACE_VERSION 0  until we have a stable interface:-)

Just to let you know - this patch is still in my patchqueue...

Jelmer



Re: [PATCH] group control bits ....

2002-09-06 Thread Stefan (metze) Metzmacher


>
> >
> > -NTSTATUS sam_skel_get_groups_of_account(const struct sam_methods
>*sam_method, const SAM_ACCOUNT_HANDLE *account, const uint32 type, uint32
>*group_count, SAM_GROUP_ENUM **groups)
> > +NTSTATUS sam_skel_get_groups_of_sid(const struct sam_methods *sam_method,
>const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint32 type,
>uint32 *group_count, SAM_GROUP_ENUM **groups)
>
>you forgott to change the const uint32 type to uint16 group_ctrl

I fixed that :-)

I also change 'struct sam_methods' -> 'SAM_METHODS'  in sam_skel.c

I also change the prototypes of sam_create_account ,sam_create_group

and set SAM_INTERFACE_VERSION 0  until we have a stable interface:-)




metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>

diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=.#* 
HEAD/source/sam/api.c HEAD-fix/source/sam/api.c
--- HEAD/source/sam/api.c   Thu Aug 29 09:19:05 2002
+++ HEAD-fix/source/sam/api.c   Fri Sep  6 08:10:46 2002
@@ -1,7 +1,7 @@
 /* 
Unix SMB/CIFS implementation.
SAM interface API.
-

+   
Copyright (C) Stefan (metze) Metzmacher 2002
   
This program is free software; you can redistribute it and/or modify
@@ -120,7 +120,7 @@ NTSTATUS sam_get_domain_by_sid(const NT_
 
 /* Account API */
 
-NTSTATUS sam_create_account(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *domainsid, SAM_ACCOUNT_HANDLE **account)
+NTSTATUS sam_create_account(const NT_USER_TOKEN *access_token, const uint32 
+access_desired, const DOM_SID *domainsid, const char *account_name, uint16 acct_ctrl, 
+SAM_ACCOUNT_HANDLE **account)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -128,7 +128,7 @@ NTSTATUS sam_create_account(const NT_USE
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_create_account(sam_context, access_token, 
access_desired, domainsid, account);
+   return sam_context->sam_create_account(sam_context, access_token, 
+access_desired, domainsid, account_name, acct_ctrl, account);
 }
 
 NTSTATUS sam_add_account(const DOM_SID *domainsid, const SAM_ACCOUNT_HANDLE *account)
@@ -164,7 +164,7 @@ NTSTATUS sam_delete_account(const SAM_AC
return sam_context->sam_delete_account(sam_context, account);
 }
 
-NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
+NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
+uint16 acct_ctrl, uint32 *account_count, SAM_ACCOUNT_ENUM **accounts)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -172,7 +172,7 @@ NTSTATUS sam_enum_accounts(const NT_USER
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
account_count, accounts);
+   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
+acct_ctrl, account_count, accounts);
 }
 
 NTSTATUS sam_get_account_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
@@ -199,6 +199,17 @@ NTSTATUS sam_get_account_by_name(const N
 
 /* Group API */
 
+NTSTATUS sam_create_group(const NT_USER_TOKEN *access_token, const uint32 
+access_desired, const DOM_SID *domainsid, const char *group_name, uint16 group_ctrl, 
+SAM_GROUP_HANDLE **group)
+{
+   SAM_CONTEXT *sam_context = sam_get_static_context(False);
+
+   if (!sam_context) {
+   return NT_STATUS_UNSUCCESSFUL;
+   }
+
+   return sam_context->sam_create_group(sam_context, access_token, 
+access_desired, domainsid, group_name, group_ctrl, group);
+}
+
 NTSTATUS sam_add_group(const DOM_SID *domainsid, const SAM_GROUP_HANDLE *group)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
@@ -232,7 +243,7 @@ NTSTATUS sam_delete_group(const SAM_GROU
return sam_context->sam_delete_group(sam_context, group);
 }
 
-NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
const uint32 type, uint32 *groups_count, SAM_GROUP_ENUM **groups)
+NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
+uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -240,7 +251,7 @@ NTSTATUS sam_enum_groups(const NT_USER_T
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
type, groups_count, groups);
+   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
+group_ctrl, groups_count, groups);
 }
 
 NTSTATUS sam_get_group_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **

Re: [PATCH] group control bits ....

2002-09-05 Thread Kai Krueger

- Original Message -
From: "Stefan (metze) Metzmacher" <[EMAIL PROTECTED]>
To: "Jelmer Vernooij" <[EMAIL PROTECTED]>; "Andrew Bartlett"
<[EMAIL PROTECTED]>; "Kai Krueger" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Thursday, September 05, 2002 7:39 PM
Subject: [PATCH] group control bits 

...

> diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=.#*
HEAD/examples/sam/sam_skel.c HEAD-fix/examples/sam/sam_skel.c
> --- HEAD/examples/sam/sam_skel.c Sat Aug 31 15:36:26 2002
> +++ HEAD-fix/examples/sam/sam_skel.c Thu Sep  5 19:37:18 2002
> @@ -183,7 +183,7 @@ NTSTATUS sam_skel_enum_groupmembers(cons
>  }
>
>
> -NTSTATUS sam_skel_get_groups_of_account(const struct sam_methods
*sam_method, const SAM_ACCOUNT_HANDLE *account, const uint32 type, uint32
*group_count, SAM_GROUP_ENUM **groups)
> +NTSTATUS sam_skel_get_groups_of_sid(const struct sam_methods *sam_method,
const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint32 type,
uint32 *group_count, SAM_GROUP_ENUM **groups)

you forgott to change the const uint32 type to uint16 group_ctrl

>  {
>   DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
>   return NT_STATUS_NOT_IMPLEMENTED;
> @@ -238,7 +238,7 @@ NTSTATUS sam_init(const SAM_CONTEXT *sam
>   (*sam_method)->sam_delete_member_from_group =
sam_skel_delete_member_from_group;
>   (*sam_method)->sam_enum_groupmembers = sam_skel_enum_groupmembers;
>
> - (*sam_method)->sam_get_groups_of_account =
sam_skel_get_groups_of_account;
> + (*sam_method)->sam_get_groups_of_sid = sam_skel_get_groups_of_sid;
>
>   (*sam_method)->free_private_data = NULL;
>
>

Other than that, I think the patch is good and imho should be checked in if
it compiles.

Kai




[PATCH] group control bits ....

2002-09-05 Thread Stefan (metze) Metzmacher

Attach the file :-) ...I go to bed now!

Hi Jelmer, Andrew, Kai,

here's a patch witch :

add uint16 group_ctrl; to SAM_GROUP_HANDLE and SAM_GROUP_ENUM

change the sam_enum_accounts and sam_enum_groups to use acct_ctrl or 
group_ctrl.

and remove the uint32 tpye from sam_get_groups_of_account  (I don't see the 
need of them:-)

I also change name to group_name and comment to group_desc  to make it like 
accout_name and account_desc

And add a lot of const to get_set_*

Add group.c like account.c

I've change  NTSTATUS sam_get_groups_of_sid(const SAM_CONTEXT *context, 
const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint16 
group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)


and change sam_skel.c

metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>

diff -Npur --exclude=CVS HEAD/source/sam/api.c HEAD-fix/source/sam/api.c
--- HEAD/source/sam/api.c   Thu Aug 29 09:19:05 2002
+++ HEAD-fix/source/sam/api.c   Thu Sep  5 15:45:29 2002
@@ -164,7 +164,7 @@ NTSTATUS sam_delete_account(const SAM_AC
return sam_context->sam_delete_account(sam_context, account);
 }
 
-NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
+NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
+const uint16 acct_ctrl, int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -172,7 +172,7 @@ NTSTATUS sam_enum_accounts(const NT_USER
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
account_count, accounts);
+   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
+acct_ctrl, account_count, accounts);
 }
 
 NTSTATUS sam_get_account_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
@@ -232,7 +232,7 @@ NTSTATUS sam_delete_group(const SAM_GROU
return sam_context->sam_delete_group(sam_context, group);
 }
 
-NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
const uint32 type, uint32 *groups_count, SAM_GROUP_ENUM **groups)
+NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
+const uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -240,7 +240,7 @@ NTSTATUS sam_enum_groups(const NT_USER_T
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
type, groups_count, groups);
+   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
+group_ctrl, groups_count, groups);
 }
 
 NTSTATUS sam_get_group_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
@@ -298,7 +298,7 @@ NTSTATUS sam_enum_groupmembers(const SAM
return sam_context->sam_enum_groupmembers(sam_context, group, members_count, 
members);
 }
 
-NTSTATUS sam_get_groups_of_account(const SAM_ACCOUNT_HANDLE *account, const uint32 
type, uint32 *group_count, SAM_GROUP_ENUM **groups)
+NTSTATUS sam_get_groups_of_sid(const NT_USER_TOKEN *access_token, const DOM_SID 
+**sids, const uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -306,6 +306,6 @@ NTSTATUS sam_get_groups_of_account(const
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_get_groups_of_account(sam_context, account, type, 
group_count, groups);
+   return sam_context->sam_get_groups_of_sid(sam_context, access_token, sids, 
+group_ctrl, group_count, groups);
 }
 
diff -Npur --exclude=CVS HEAD/source/sam/get_set_account.c 
HEAD-fix/source/sam/get_set_account.c
--- HEAD/source/sam/get_set_account.c   Thu Aug 29 09:19:05 2002
+++ HEAD-fix/source/sam/get_set_account.c   Thu Sep  5 03:27:40 2002
@@ -355,7 +355,7 @@ NTSTATUS sam_get_account_unknown_3(const
  Collection of set...() functions for SAM_ACCOUNT_HANDLE_INFO.
  /
 
-NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, uint16 flags)
+NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, const uint16 flags)
 {
if (!sampass)
return NT_STATUS_UNSUCCESSFUL;
@@ -365,7 +365,7 @@ NTSTATUS sam_set_account_acct_ctrl(SAM_A
return NT_STATUS_OK;
 }
 
-NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL 
store)
+NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, const NTTIME mytime, 
+const BOOL store)
 {
if (!sampass)
return NT_STATUS_UNSUCCES

[PATCH] group control bits ....

2002-09-05 Thread Stefan (metze) Metzmacher

Attach the file :-) ...I go to bed now!

Hi Jelmer, Andrew, Kai,

here's a patch witch :

add uint16 group_ctrl; to SAM_GROUP_HANDLE and SAM_GROUP_ENUM

change the sam_enum_accounts and sam_enum_groups to use acct_ctrl or 
group_ctrl.

and remove the uint32 tpye from sam_get_groups_of_account  (I don't see the 
need of them:-)

I also change name to group_name and comment to group_desc  to make it like 
accout_name and account_desc

And add a lot of const to get_set_*

Add group.c like account.c

I've change  NTSTATUS sam_get_groups_of_sid(const SAM_CONTEXT *context, 
const DOM_SID **sids, const uint16 group_ctrl, uint32 *group_count, 
SAM_GROUP_ENUM **groups)


metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>

diff -Npur --exclude=CVS HEAD/source/sam/api.c HEAD-fix/source/sam/api.c
--- HEAD/source/sam/api.c   Thu Aug 29 09:19:05 2002
+++ HEAD-fix/source/sam/api.c   Thu Sep  5 15:45:29 2002
@@ -164,7 +164,7 @@ NTSTATUS sam_delete_account(const SAM_AC
return sam_context->sam_delete_account(sam_context, account);
 }
 
-NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
+NTSTATUS sam_enum_accounts(const NT_USER_TOKEN *access_token, const DOM_SID *domain, 
+const uint16 acct_ctrl, int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -172,7 +172,7 @@ NTSTATUS sam_enum_accounts(const NT_USER
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
account_count, accounts);
+   return sam_context->sam_enum_accounts(sam_context, access_token, domain, 
+acct_ctrl, account_count, accounts);
 }
 
 NTSTATUS sam_get_account_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
@@ -232,7 +232,7 @@ NTSTATUS sam_delete_group(const SAM_GROU
return sam_context->sam_delete_group(sam_context, group);
 }
 
-NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
const uint32 type, uint32 *groups_count, SAM_GROUP_ENUM **groups)
+NTSTATUS sam_enum_groups(const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, 
+const uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -240,7 +240,7 @@ NTSTATUS sam_enum_groups(const NT_USER_T
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
type, groups_count, groups);
+   return sam_context->sam_enum_groups(sam_context, access_token, domainsid, 
+group_ctrl, groups_count, groups);
 }
 
 NTSTATUS sam_get_group_by_sid(const NT_USER_TOKEN *access_token, const uint32 
access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
@@ -298,7 +298,7 @@ NTSTATUS sam_enum_groupmembers(const SAM
return sam_context->sam_enum_groupmembers(sam_context, group, members_count, 
members);
 }
 
-NTSTATUS sam_get_groups_of_account(const SAM_ACCOUNT_HANDLE *account, const uint32 
type, uint32 *group_count, SAM_GROUP_ENUM **groups)
+NTSTATUS sam_get_groups_of_sid(const DOM_SID **sids, const uint16 group_ctrl, uint32 
+*group_count, SAM_GROUP_ENUM **groups)
 {
SAM_CONTEXT *sam_context = sam_get_static_context(False);
 
@@ -306,6 +306,6 @@ NTSTATUS sam_get_groups_of_account(const
return NT_STATUS_UNSUCCESSFUL;
}
 
-   return sam_context->sam_get_groups_of_account(sam_context, account, type, 
group_count, groups);
+   return sam_context->sam_get_groups_of_sid(sam_context, sids, group_ctrl, 
+group_count, groups);
 }
 
diff -Npur --exclude=CVS HEAD/source/sam/get_set_account.c 
HEAD-fix/source/sam/get_set_account.c
--- HEAD/source/sam/get_set_account.c   Thu Aug 29 09:19:05 2002
+++ HEAD-fix/source/sam/get_set_account.c   Thu Sep  5 03:27:40 2002
@@ -355,7 +355,7 @@ NTSTATUS sam_get_account_unknown_3(const
  Collection of set...() functions for SAM_ACCOUNT_HANDLE_INFO.
  /
 
-NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, uint16 flags)
+NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, const uint16 flags)
 {
if (!sampass)
return NT_STATUS_UNSUCCESSFUL;
@@ -365,7 +365,7 @@ NTSTATUS sam_set_account_acct_ctrl(SAM_A
return NT_STATUS_OK;
 }
 
-NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL 
store)
+NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, const NTTIME mytime, 
+const BOOL store)
 {
if (!sampass)
return NT_STATUS_UNSUCCESSFUL;
@@ -378,7 +378,7 @@ NTSTATUS sam_set_account_logon_time(SAM_
return NT_STATUS_UNSUCCESSFUL;
 

[PATCH] group control bits ....

2002-09-04 Thread Stefan (metze) Metzmacher

Attach the file :-) ...I go to bed now!

Hi Jelmer, Andrew, Kai,

here's a patch witch :

add uint16 group_ctrl; to SAM_GROUP_HANDLE and SAM_GROUP_ENUM

change the sam_enum_accounts and sam_enum_groups to use acct_ctrl or 
group_ctrl.

and remove the uint32 tpye from sam_get_groups_of_account  (I don't see the 
need of them:-)

I also change name to group_name and comment to group_desc  to make it like 
accout_name and account_desc

And add a lot of const to get_set_*

Add group.c like account.c

comments please!


metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>

diff -Npur --exclude=CVS HEAD/source/include/sam.h  HEAD-fix/source/include/sam.h 
--- HEAD/source/include/sam.h   Mon Sep  2 15:06:55 2002
+++ HEAD-fix/source/include/sam.h   Thu Sep  5 04:33:36 2002
@@ -104,12 +104,11 @@ typedef struct sam_group_handle {
struct sam_methods *current_sam_methods; /* sam_methods creating this handle */
void (*free_fn)(struct sam_group_handle **);
struct sam_group_data {
-   char *name;
-   char *comment;
+   char *group_name;
+   char *group_desc;
DOM_SID sid;
-   int32 flags; /* specifies if the group is a local group or a global 
group */
+   uint16 group_ctrl; /* specifies if the group is a local group or a 
+global group */
uint32 num_members;
-   PRIVILEGE_SET privileges;
} private;
 } SAM_GROUP_HANDLE;
 
@@ -117,7 +116,6 @@ typedef struct sam_group_handle {
 typedef struct sam_group_member {
DOM_SID sid; 
BOOL group; /* specifies if it is a group or a account */ 
-
 } SAM_GROUP_MEMBER;
 
 typedef struct sam_account_enum {
@@ -125,15 +123,23 @@ typedef struct sam_account_enum {
char *account_name; 
char *full_name; 
char *account_desc; 
-   uint16 acc_ctrl; 
+   uint16 acct_ctrl; 
 } SAM_ACCOUNT_ENUM;
 
 typedef struct sam_group_enum {
DOM_SID sid;
-   char *groupname;
-   char *comment;
+   char *group_name;
+   char *group_desc;
+   uint16 group_ctrl;
 } SAM_GROUP_ENUM;
 
+
+/* bits for group_ctrl: to spezify if the group is global group or alias */
+#define GCB_LOCAL_GROUP0x0001
+#define GCB_ALIAS_GROUPGCB_LOCAL_GROUP
+#define GCB_GLOBAL_GROUP   0x0002
+
+
 typedef struct sam_context 
 {
struct sam_methods *methods;
@@ -164,7 +170,7 @@ typedef struct sam_context 
NTSTATUS (*sam_add_account) (const struct sam_context *, const DOM_SID 
*domainsid, const SAM_ACCOUNT_HANDLE *account);
NTSTATUS (*sam_update_account) (const struct sam_context *, const 
SAM_ACCOUNT_HANDLE *account);
NTSTATUS (*sam_delete_account) (const struct sam_context *, const 
SAM_ACCOUNT_HANDLE *account);
-   NTSTATUS (*sam_enum_accounts) (const struct sam_context *, const NT_USER_TOKEN 
*access_token, const DOM_SID *domain, int32 *account_count, SAM_ACCOUNT_ENUM 
**accounts);
+   NTSTATUS (*sam_enum_accounts) (const struct sam_context *, const NT_USER_TOKEN 
+*access_token, const DOM_SID *domain, const uint16 acct_ctrl, uint32 *account_count, 
+SAM_ACCOUNT_ENUM **accounts);
 
NTSTATUS (*sam_get_account_by_sid) (const struct sam_context *, const 
NT_USER_TOKEN *access_token, const uint32 access_desired, const DOM_SID *accountsid, 
SAM_ACCOUNT_HANDLE **account);
NTSTATUS (*sam_get_account_by_name) (const struct sam_context *, const 
NT_USER_TOKEN *access_token, const uint32 access_desired, const char *domain, const 
char *name, SAM_ACCOUNT_HANDLE **account);
@@ -175,7 +181,7 @@ typedef struct sam_context 
NTSTATUS (*sam_add_group) (const struct sam_context *, const DOM_SID 
*domainsid, const SAM_GROUP_HANDLE *group);
NTSTATUS (*sam_update_group) (const struct sam_context *, const 
SAM_GROUP_HANDLE *group);
NTSTATUS (*sam_delete_group) (const struct sam_context *, const 
SAM_GROUP_HANDLE *group);
-   NTSTATUS (*sam_enum_groups) (const struct sam_context *, const NT_USER_TOKEN 
*access_token, const DOM_SID *domainsid, const uint32 type, uint32 *groups_count, 
SAM_GROUP_ENUM **groups);
+   NTSTATUS (*sam_enum_groups) (const struct sam_context *, const NT_USER_TOKEN 
+*access_token, const DOM_SID *domainsid, const uint16 group_ctrl, uint32 
+*groups_count, SAM_GROUP_ENUM **groups);
NTSTATUS (*sam_get_group_by_sid) (const struct sam_context *, const 
NT_USER_TOKEN *access_token, const uint32 access_desired, const DOM_SID *groupsid, 
SAM_GROUP_HANDLE **group);
NTSTATUS (*sam_get_group_by_name) (const struct sam_context *, const 
NT_USER_TOKEN *access_token, const uint32 access_desired, const char *domain, const 
char *name, SAM_GROUP_HANDLE **group);
 
@@ -183,7 +189,7 @@ typedef struct sam_context 
NTSTATUS (*sam_delete_member_from_group) (const struct sam_context *, const 
SAM_GROUP_HANDLE *group, const SAM_GROU

[PATCH] group control bits ....

2002-09-04 Thread Stefan (metze) Metzmacher

Hi Jelmer, Andrew, Kai,

here's a patch witch :

add uint16 group_ctrl; to SAM_GROUP_HANDLE and SAM_GROUP_ENUM

change the sam_enum_accounts and sam_enum_groups to use acct_ctrl or 
group_ctrl.

and remove the uint32 tpye from sam_get_groups_of_account  (I don't see the 
need of them:-)

I also change name to group_name and comment to group_desc  to make it like 
accout_name and account_desc

And add a lot of const to get_set_*

Add group.c like account.c

comments please!


metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>