added decls for setresuid.
const issues.
int ftruncate(int f,long l);
#endif
-#if (defined(HAVE_SETRESUID) && !defined(HAVE_SETRESUID_DECL))
+#if (defined(USE_SETRESUID) && !defined(HAVE_SETRESUID_DECL))
/* stupid glibc */
int setresuid(uid_t ruid, uid_t euid, uid_t suid);
+#endif
+#if (defined(USE_SETRESUID) && !defined(HAVE_SETRESGID_DECL))
int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
#endif
char *credstr(const uchar *cred);
void cred_session_key(DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal, const char *pass,
- const uchar session_key[8]);
+ uchar session_key[8]);
void cred_create(uchar session_key[8], DOM_CHAL *stor_cred, UTIME timestamp,
DOM_CHAL *cred);
int cred_assert(const DOM_CHAL *cred, uchar session_key[8],
void E_P24(const uchar *p21, const uchar *c8, uchar *p24);
void D_P16(const uchar *p14, const uchar *in, uchar *out);
void E_old_pw_hash( const uchar *p14, const uchar *in, uchar *out);
-void cred_hash1(uchar *out,uchar *in,uchar *key);
+void cred_hash1(uchar *out, const uchar *in, const uchar *key);
void cred_hash2(uchar *out,uchar *in,uchar *key);
void cred_hash3(uchar *out, const uchar *in,uchar *key, int forw);
void SamOEMhash( uchar *data, const uchar *key, int val);
char *credstr(const uchar *cred);
void cred_session_key(DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal, const char *pass,
- const uchar session_key[8]);
+ uchar session_key[8]);
void cred_create(uchar session_key[8], DOM_CHAL *stor_cred, UTIME timestamp,
DOM_CHAL *cred);
int cred_assert(const DOM_CHAL *cred, uchar session_key[8],
void E_P24(const uchar *p21, const uchar *c8, uchar *p24);
void D_P16(const uchar *p14, const uchar *in, uchar *out);
void E_old_pw_hash( const uchar *p14, const uchar *in, uchar *out);
-void cred_hash1(uchar *out,uchar *in,uchar *key);
+void cred_hash1(uchar *out, const uchar *in, const uchar *key);
void cred_hash2(uchar *out,uchar *in,uchar *key);
void cred_hash3(uchar *out, const uchar *in,uchar *key, int forw);
void SamOEMhash( uchar *data, const uchar *key, int val);
BOOL samr_query_lookup_domain( POLICY_HND *pol, const char *dom_name,
DOM_SID *dom_sid);
BOOL samr_query_lookup_names(const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **names,
+ uint32 num_names, char **names,
uint32 *num_rids, uint32 **rids, uint32 **types);
BOOL samr_query_lookup_rids( const POLICY_HND *pol, uint32 flags,
uint32 num_rids, const uint32 *rids,
BOOL samr_query_lookup_domain( POLICY_HND *pol, const char *dom_name,
DOM_SID *dom_sid);
BOOL samr_query_lookup_names(const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **names,
+ uint32 num_names, char **names,
uint32 *num_rids, uint32 **rids, uint32 **types);
BOOL samr_query_lookup_rids( const POLICY_HND *pol, uint32 flags,
uint32 num_rids, const uint32 *rids,
BOOL samr_io_r_query_aliasmem(char *desc, SAMR_R_QUERY_ALIASMEM *r_u, prs_struct *ps, int depth);
BOOL make_samr_q_lookup_names(SAMR_Q_LOOKUP_NAMES *q_u,
const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **name);
+ uint32 num_names, char **name);
BOOL samr_io_q_lookup_names(char *desc, SAMR_Q_LOOKUP_NAMES *q_u, prs_struct *ps, int depth);
void samr_free_q_lookup_names(SAMR_Q_LOOKUP_NAMES *q_l);
BOOL make_samr_r_lookup_names(SAMR_R_LOOKUP_NAMES *r_u,
char *credstr(const uchar *cred);
void cred_session_key(DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal, const char *pass,
- const uchar session_key[8]);
+ uchar session_key[8]);
void cred_create(uchar session_key[8], DOM_CHAL *stor_cred, UTIME timestamp,
DOM_CHAL *cred);
int cred_assert(const DOM_CHAL *cred, uchar session_key[8],
void E_P24(const uchar *p21, const uchar *c8, uchar *p24);
void D_P16(const uchar *p14, const uchar *in, uchar *out);
void E_old_pw_hash( const uchar *p14, const uchar *in, uchar *out);
-void cred_hash1(uchar *out,uchar *in,uchar *key);
+void cred_hash1(uchar *out, const uchar *in, const uchar *key);
void cred_hash2(uchar *out,uchar *in,uchar *key);
void cred_hash3(uchar *out, const uchar *in,uchar *key, int forw);
void SamOEMhash( uchar *data, const uchar *key, int val);
BOOL samr_query_lookup_domain( POLICY_HND *pol, const char *dom_name,
DOM_SID *dom_sid);
BOOL samr_query_lookup_names(const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **names,
+ uint32 num_names, char **names,
uint32 *num_rids, uint32 **rids, uint32 **types);
BOOL samr_query_lookup_rids( const POLICY_HND *pol, uint32 flags,
uint32 num_rids, const uint32 *rids,
BOOL samr_io_r_query_aliasmem(char *desc, SAMR_R_QUERY_ALIASMEM *r_u, prs_struct *ps, int depth);
BOOL make_samr_q_lookup_names(SAMR_Q_LOOKUP_NAMES *q_u,
const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **name);
+ uint32 num_names, char **name);
BOOL samr_io_q_lookup_names(char *desc, SAMR_Q_LOOKUP_NAMES *q_u, prs_struct *ps, int depth);
void samr_free_q_lookup_names(SAMR_Q_LOOKUP_NAMES *q_l);
BOOL make_samr_r_lookup_names(SAMR_R_LOOKUP_NAMES *r_u,
8 byte session key
****************************************************************************/
void cred_session_key(DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal, const char *pass,
- const uchar session_key[8])
+ uchar session_key[8])
{
uint32 sum[2];
- unsigned char sum2[8];
+ uchar sum2[8];
sum[0] = IVAL(clnt_chal->data, 0) + IVAL(srv_chal->data, 0);
sum[1] = IVAL(clnt_chal->data, 4) + IVAL(srv_chal->data, 4);
SIVAL(sum2,0,sum[0]);
SIVAL(sum2,4,sum[1]);
- cred_hash1(session_key, sum2,(unsigned char *)pass);
+ cred_hash1(session_key, sum2,(const uchar *)pass);
/* debug output */
DEBUG(4,("cred_session_key\n"));
smbhash(out+8, in+8, p14+7, 1);
}
-void cred_hash1(uchar *out,uchar *in,uchar *key)
+void cred_hash1(uchar *out, const uchar *in, const uchar *key)
{
uchar buf[8];
}
if (s2 == NT_STATUS_NOPROBLEMO)
{
- if (!secret_get_data(&secret, old_trust, 16))
+ int len;
+ if (!secret_get_data(&secret, old_trust, &len) || len != 16)
{
s2 = NT_STATUS_ACCESS_DENIED;
}
do a SAMR Query Lookup Names
****************************************************************************/
BOOL samr_query_lookup_names(const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **names,
+ uint32 num_names, char **names,
uint32 *num_rids, uint32 **rids, uint32 **types)
{
prs_struct data;
********************************************************************/
BOOL make_samr_q_lookup_names(SAMR_Q_LOOKUP_NAMES *q_u,
const POLICY_HND *pol, uint32 flags,
- uint32 num_names, const char **name)
+ uint32 num_names, char **name)
{
uint32 i;
if (q_u == NULL) return False;
static BOOL cgi_handle_authorization(char *line)
{
char *p, *user, *user_pass;
- struct passwd *pass = NULL;
+ const struct passwd *pass = NULL;
BOOL ret = False;
if (strncasecmp(line,"Basic ", 6)) {