From 253e4eec84eb55ff31f3586ad89d1b226bfaa138 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Wed, 22 Mar 2000 10:55:01 +0000 Subject: disabled code from HP that replaced get_sampwd_entries() with get_passwd_entries(). get_sampwd_entries() calls the generic SAM pwdb API, whereas get_passwd_entries() calls the Unix database explicitly. this will result in LDAP, MYSQL, NISPLUS and any other future modules (e.g "appliance" mode SAM database) failing to operate correctly. i know what problem was attempted to be fixed, here, but this is not the right place to attempt to fix it. (This used to be commit 04fa6a02739671fa02b531ae47e5d24c54753331) --- source3/rpc_server/srv_samr.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/source3/rpc_server/srv_samr.c b/source3/rpc_server/srv_samr.c index 5056c9382b..1e0b2fc16a 100644 --- a/source3/rpc_server/srv_samr.c +++ b/source3/rpc_server/srv_samr.c @@ -209,6 +209,29 @@ static char *unmap_unixname(char *unix_user_name, int name_idx) return NULL; } +#ifdef DISABLED_BECAUSE_IT_FIXES_THE_PROBLEM_IN_THE_WRONG_WAY + +/* + * 1) this code should be *inside* getsam21pwent(), behind the + * sam database API. it should *not* be explictly in the samsrv + * implementation. that's the whole point of the sam database API: + * it hides implementation issues like this and allows code reuse + * for LDAP, NISPLUS, SMBPASSWD+Unix Passwd, MYSQL, tdb etc. + * + * 2) modifications to cvs main and 2_0 should be absolutely critical + * bug-fixes only, and TNG should be checked and worked on first. + * any bug-fixes and enhancements should be made to TNG, + * as per instructions at top of this file. + * + * i really appreciate the efforts of the person who wrote this code + * (whoever they are), however please consult with me because there + * are design issues that you should be aware of, and your skills + * are needed to fix the problems in the correct code-module in + * the right branch, not this one. + * + * lkcl@samba.org 23mar2000. + */ + /******************************************************************* This function sets up a list of users taken from the list of users that UNIX knows about, as well as all the user names that @@ -355,6 +378,8 @@ static BOOL get_passwd_entries(SAM_USER_INFO_21 *pw_buf, return (*num_entries) > 0; } +#endif + /******************************************************************* samr_reply_unknown_1 ********************************************************************/ @@ -817,7 +842,7 @@ static void samr_reply_query_dispinfo(SAMR_Q_QUERY_DISPINFO *q_u, if (r_e.status == 0x0) { become_root(True); - got_pwds = get_passwd_entries(pass, q_u->start_idx, &total_entries, &num_entries, MAX_SAM_ENTRIES, 0); + got_pwds = get_sampwd_entries(pass, q_u->start_idx, &total_entries, &num_entries, MAX_SAM_ENTRIES, 0); unbecome_root(True); switch (q_u->switch_level) -- cgit