diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2010-08-24 14:47:26 +1000 | 
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2010-09-11 18:46:03 +1000 | 
| commit | 42a98a570b57c3b4625f56179c6697a45427e8a6 (patch) | |
| tree | 3f13de3cc137eb3f35e44593c14bb08bd60fef91 /source3/lib | |
| parent | b8f28c2e70b3fa332313126ea6f1f2f42fb46a90 (diff) | |
| download | samba-42a98a570b57c3b4625f56179c6697a45427e8a6.tar.gz samba-42a98a570b57c3b4625f56179c6697a45427e8a6.tar.bz2 samba-42a98a570b57c3b4625f56179c6697a45427e8a6.zip  | |
s3:privileges Change SE_PRIV to be just a uint64_t
We don't need 128 possible privileges here, as we only use 12.
This reverts some of 46e5effea948931509283cb84b27007d34b521c8
by Jerry back in 2005, where he introduced the SE_PRIV structure
to replace the uint32_t used at the time.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'source3/lib')
| -rw-r--r-- | source3/lib/privileges_basic.c | 29 | 
1 files changed, 5 insertions, 24 deletions
diff --git a/source3/lib/privileges_basic.c b/source3/lib/privileges_basic.c index f6080690f7..962b5e8514 100644 --- a/source3/lib/privileges_basic.c +++ b/source3/lib/privileges_basic.c @@ -148,11 +148,7 @@ bool se_priv_put_all_privileges(SE_PRIV *mask)  void se_priv_add( SE_PRIV *mask, const SE_PRIV *addpriv )  { -	int i; - -	for ( i=0; i<SE_PRIV_MASKSIZE; i++ ) { -		mask->mask[i] |= addpriv->mask[i]; -	} +	*mask |= *addpriv;  }  /*************************************************************************** @@ -162,11 +158,7 @@ void se_priv_add( SE_PRIV *mask, const SE_PRIV *addpriv )  void se_priv_remove( SE_PRIV *mask, const SE_PRIV *removepriv )  { -	int i; - -	for ( i=0; i<SE_PRIV_MASKSIZE; i++ ) { -		mask->mask[i] &= ~removepriv->mask[i]; -	} +	*mask &= ~*removepriv;  }  /*************************************************************************** @@ -188,7 +180,7 @@ static void se_priv_invert( SE_PRIV *new_mask, const SE_PRIV *mask )  bool se_priv_equal( const SE_PRIV *mask1, const SE_PRIV *mask2 )  { -	return ( memcmp(mask1, mask2, sizeof(SE_PRIV)) == 0 ); +	return *mask1 == *mask2;  }  /*************************************************************************** @@ -198,13 +190,10 @@ bool se_priv_equal( const SE_PRIV *mask1, const SE_PRIV *mask2 )  static bool se_priv_empty( const SE_PRIV *mask )  {  	SE_PRIV p1; -	int i;  	se_priv_copy( &p1, mask ); -	for ( i=0; i<SE_PRIV_MASKSIZE; i++ ) { -		p1.mask[i] &= se_priv_all.mask[i]; -	} +	p1 &= se_priv_all;  	return se_priv_equal( &p1, &se_priv_none );  } @@ -233,15 +222,7 @@ bool se_priv_from_name( const char *name, SE_PRIV *mask )  void dump_se_priv( int dbg_cl, int dbg_lvl, const SE_PRIV *mask )  { -	int i; - -	DEBUGADDC( dbg_cl, dbg_lvl,("SE_PRIV ")); - -	for ( i=0; i<SE_PRIV_MASKSIZE; i++ ) { -		DEBUGADDC( dbg_cl, dbg_lvl,(" 0x%x", mask->mask[i] )); -	} - -	DEBUGADDC( dbg_cl, dbg_lvl, ("\n")); +	DEBUGADDC( dbg_cl, dbg_lvl,("SE_PRIV 0x%llx\n", (unsigned long long)*mask));  }  /****************************************************************************  | 
