|
From: <co...@us...> - 2008-06-23 10:50:19
|
Revision: 118
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=118&view=rev
Author: collen
Date: 2008-06-23 03:50:26 -0700 (Mon, 23 Jun 2008)
Log Message:
-----------
Added Paths:
-----------
branches/pdbsql_3_2/sql-dumps/mysql.dump
Removed Paths:
-------------
branches/pdbsql_3_2/docs/mysql.dump
Deleted: branches/pdbsql_3_2/docs/mysql.dump
===================================================================
--- branches/pdbsql_3_2/docs/mysql.dump 2008-06-23 10:47:58 UTC (rev 117)
+++ branches/pdbsql_3_2/docs/mysql.dump 2008-06-23 10:50:26 UTC (rev 118)
@@ -1,38 +0,0 @@
-# Put this in your MySQL database by running
-# mysql -u<user> -p<password> -h<host> <database> < mysql.dump
-
-CREATE TABLE user (
- logon_time int(9) default NULL,
- logoff_time int(9) default NULL,
- kickoff_time int(9) default NULL,
- pass_last_set_time int(9) default NULL,
- pass_can_change_time int(9) default '0',
- pass_must_change_time int(9) default '2147483647',
- username varchar(255) default NULL,
- domain varchar(255) default NULL,
- nt_username varchar(255) default NULL,
- nt_fullname varchar(255) default NULL,
- home_dir varchar(255) default NULL,
- dir_drive varchar(4) default NULL,
- logon_script varchar(255) default NULL,
- profile_path varchar(255) default NULL,
- acct_desc varchar(255) default NULL,
- workstations varchar(255) default NULL,
- unknown_str varchar(255) default NULL,
- munged_dial varchar(255) default NULL,
- uid int(9) NOT NULL PRIMARY KEY auto_increment,
- gid int(9) default NULL,
- user_sid varchar(255) default NULL,
- group_sid varchar(255) default NULL,
- lm_pw varchar(255) default NULL,
- nt_pw varchar(255) default NULL,
- acct_ctrl int(9) default '528',
- logon_divs int(9) default '168',
- hours_len int(9) default '21',
- unknown_6 int(9) default "1260",
- bad_password_count int(9) default NULL,
- logon_count int(9) default '0',
- logon_hours varchar(42) default NULL,
- password_history text default NULL,
- KEY username(username)
-);
Copied: branches/pdbsql_3_2/sql-dumps/mysql.dump (from rev 117, branches/pdbsql_3_2/docs/mysql.dump)
===================================================================
--- branches/pdbsql_3_2/sql-dumps/mysql.dump (rev 0)
+++ branches/pdbsql_3_2/sql-dumps/mysql.dump 2008-06-23 10:50:26 UTC (rev 118)
@@ -0,0 +1,38 @@
+# Put this in your MySQL database by running
+# mysql -u<user> -p<password> -h<host> <database> < mysql.dump
+
+CREATE TABLE user (
+ logon_time int(9) default NULL,
+ logoff_time int(9) default NULL,
+ kickoff_time int(9) default NULL,
+ pass_last_set_time int(9) default NULL,
+ pass_can_change_time int(9) default '0',
+ pass_must_change_time int(9) default '2147483647',
+ username varchar(255) default NULL,
+ domain varchar(255) default NULL,
+ nt_username varchar(255) default NULL,
+ nt_fullname varchar(255) default NULL,
+ home_dir varchar(255) default NULL,
+ dir_drive varchar(4) default NULL,
+ logon_script varchar(255) default NULL,
+ profile_path varchar(255) default NULL,
+ acct_desc varchar(255) default NULL,
+ workstations varchar(255) default NULL,
+ unknown_str varchar(255) default NULL,
+ munged_dial varchar(255) default NULL,
+ uid int(9) NOT NULL PRIMARY KEY auto_increment,
+ gid int(9) default NULL,
+ user_sid varchar(255) default NULL,
+ group_sid varchar(255) default NULL,
+ lm_pw varchar(255) default NULL,
+ nt_pw varchar(255) default NULL,
+ acct_ctrl int(9) default '528',
+ logon_divs int(9) default '168',
+ hours_len int(9) default '21',
+ unknown_6 int(9) default "1260",
+ bad_password_count int(9) default NULL,
+ logon_count int(9) default '0',
+ logon_hours varchar(42) default NULL,
+ password_history text default NULL,
+ KEY username(username)
+);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <co...@us...> - 2008-06-23 10:50:28
|
Revision: 119
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=119&view=rev
Author: collen
Date: 2008-06-23 03:50:37 -0700 (Mon, 23 Jun 2008)
Log Message:
-----------
Added Paths:
-----------
branches/pdbsql_3_2/sql-dumps/pgsql.dump
Removed Paths:
-------------
branches/pdbsql_3_2/docs/pgsql.dump
Deleted: branches/pdbsql_3_2/docs/pgsql.dump
===================================================================
--- branches/pdbsql_3_2/docs/pgsql.dump 2008-06-23 10:50:26 UTC (rev 118)
+++ branches/pdbsql_3_2/docs/pgsql.dump 2008-06-23 10:50:37 UTC (rev 119)
@@ -1,39 +0,0 @@
-/*
- * Import this file with psql < pgsql.dump
- */
-CREATE TABLE users (
- logon_time integer default NULL,
- logoff_time integer default NULL,
- kickoff_time integer default NULL,
- pass_last_set_time integer default NULL,
- pass_can_change_time integer default '0',
- pass_must_change_time integer default '2147483647',
- username varchar(255) default NULL,
- domain varchar(255) default NULL,
- nt_username varchar(255) default NULL,
- nt_fullname varchar(255) default NULL,
- home_dir varchar(255) default NULL,
- dir_drive varchar(4) default NULL,
- logon_script varchar(255) default NULL,
- profile_path varchar(255) default NULL,
- acct_desc varchar(255) default NULL,
- workstations varchar(255) default NULL,
- unknown_str varchar(255) default NULL,
- munged_dial varchar(255) default NULL,
- uid SERIAL NOT NULL PRIMARY KEY,
- gid integer default NULL,
- user_sid varchar(255) default NULL,
- group_sid varchar(255) default NULL,
- lm_pw varchar(255) default NULL,
- nt_pw varchar(255) default NULL,
- acct_ctrl integer default '528',
- logon_divs integer default '168',
- hours_len integer default '21',
- unknown_6 integer default '1260',
- bad_password_count integer default NULL,
- logon_count integer default '0',
- logon_hours varchar(42) default NULL,
- password_history text default NULL,
- UNIQUE (username),
- UNIQUE (nt_username)
-);
Copied: branches/pdbsql_3_2/sql-dumps/pgsql.dump (from rev 118, branches/pdbsql_3_2/docs/pgsql.dump)
===================================================================
--- branches/pdbsql_3_2/sql-dumps/pgsql.dump (rev 0)
+++ branches/pdbsql_3_2/sql-dumps/pgsql.dump 2008-06-23 10:50:37 UTC (rev 119)
@@ -0,0 +1,39 @@
+/*
+ * Import this file with psql < pgsql.dump
+ */
+CREATE TABLE users (
+ logon_time integer default NULL,
+ logoff_time integer default NULL,
+ kickoff_time integer default NULL,
+ pass_last_set_time integer default NULL,
+ pass_can_change_time integer default '0',
+ pass_must_change_time integer default '2147483647',
+ username varchar(255) default NULL,
+ domain varchar(255) default NULL,
+ nt_username varchar(255) default NULL,
+ nt_fullname varchar(255) default NULL,
+ home_dir varchar(255) default NULL,
+ dir_drive varchar(4) default NULL,
+ logon_script varchar(255) default NULL,
+ profile_path varchar(255) default NULL,
+ acct_desc varchar(255) default NULL,
+ workstations varchar(255) default NULL,
+ unknown_str varchar(255) default NULL,
+ munged_dial varchar(255) default NULL,
+ uid SERIAL NOT NULL PRIMARY KEY,
+ gid integer default NULL,
+ user_sid varchar(255) default NULL,
+ group_sid varchar(255) default NULL,
+ lm_pw varchar(255) default NULL,
+ nt_pw varchar(255) default NULL,
+ acct_ctrl integer default '528',
+ logon_divs integer default '168',
+ hours_len integer default '21',
+ unknown_6 integer default '1260',
+ bad_password_count integer default NULL,
+ logon_count integer default '0',
+ logon_hours varchar(42) default NULL,
+ password_history text default NULL,
+ UNIQUE (username),
+ UNIQUE (nt_username)
+);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <co...@us...> - 2008-06-26 12:58:26
|
Revision: 124
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=124&view=rev
Author: collen
Date: 2008-06-26 05:58:35 -0700 (Thu, 26 Jun 2008)
Log Message:
-----------
fixed bool and others.
still broke, but working on it..
Modified Paths:
--------------
branches/pdbsql_3_2/pdb_multi.c
branches/pdbsql_3_2/pdb_mysql.c
branches/pdbsql_3_2/pdb_pgsql.c
branches/pdbsql_3_2/pdb_sql.c
branches/pdbsql_3_2/pdb_sql.h
Modified: branches/pdbsql_3_2/pdb_multi.c
===================================================================
--- branches/pdbsql_3_2/pdb_multi.c 2008-06-26 10:45:37 UTC (rev 123)
+++ branches/pdbsql_3_2/pdb_multi.c 2008-06-26 12:58:35 UTC (rev 124)
@@ -20,9 +20,9 @@
* TODO
* * Volker commited Trust domain passwords to be included in the pdb.
* These need to be added here:
- * BOOL get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
- * BOOL set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
- * BOOL del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
+ * bool get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
+ * bool set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
+ * bool del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
* NTSTATUS enum_trusteddoms(struct pdb_methods *methods, TALLOC_CTX *mem_ctx, uint32 *num_domains, struct trustdom_info ***domains)
*/
@@ -54,7 +54,7 @@
}
#define IS_DEFAULT(methods, function) ((*(data->default_methods)->function) == (*(methods)->function))
-static BOOL multisam_new_rid(struct pdb_methods *methods,
+static bool multisam_new_rid(struct pdb_methods *methods,
uint32 *rid,
short backend)
{
@@ -85,20 +85,20 @@
}
#if 0
-static BOOL multisam_search_groups(struct pdb_methods *methods,
+static bool multisam_search_groups(struct pdb_methods *methods,
struct pdb_search *search)
{
return False;
}
-static BOOL multisam_search_aliases(struct pdb_methods *methods,
+static bool multisam_search_aliases(struct pdb_methods *methods,
struct pdb_search *search,
const DOM_SID *sid)
{
return False;
}
-static BOOL multisam_search_users(struct pdb_methods *methods,
+static bool multisam_search_users(struct pdb_methods *methods,
struct pdb_search *search,
uint32 acct_flags)
{
@@ -125,12 +125,12 @@
#endif
/* Tries uid_to_rid on every backend until one succeeds, returns true on success */
-static BOOL multisam_uid_to_rid(struct pdb_methods *methods, uid_t uid,
+static bool multisam_uid_to_rid(struct pdb_methods *methods, uid_t uid,
uint32 *rid)
{
short i;
struct multisam_data *data;
- BOOL rv;
+ bool rv;
if (!methods) return False;
data = (struct multisam_data *)methods->private_data;
@@ -147,12 +147,12 @@
}
/* Tries gid_to_sid on every backend until one succeeds, returns true on success */
-static BOOL multisam_gid_to_sid(struct pdb_methods *methods, gid_t gid,
+static bool multisam_gid_to_sid(struct pdb_methods *methods, gid_t gid,
DOM_SID *sid)
{
short i;
struct multisam_data *data;
- BOOL rv;
+ bool rv;
if (!methods) return False;
data = (struct multisam_data *)methods->private_data;
@@ -169,13 +169,13 @@
}
/* Tries sid_to_id on every backend until one succeeds, returns true on success */
-static BOOL multisam_sid_to_id(struct pdb_methods *methods,
+static bool multisam_sid_to_id(struct pdb_methods *methods,
const DOM_SID *sid,
union unid_t *id, enum SID_NAME_USE *type)
{
short i;
struct multisam_data *data;
- BOOL rv;
+ bool rv;
if (!methods) return False;
data = (struct multisam_data *)methods->private_data;
@@ -273,7 +273,7 @@
}
-static NTSTATUS multisam_update_login_attempts (struct pdb_methods *methods, struct samu *newpwd, BOOL success)
+static NTSTATUS multisam_update_login_attempts (struct pdb_methods *methods, struct samu *newpwd, bool success)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
@@ -363,7 +363,7 @@
static NTSTATUS multisam_enum_group_mapping(struct pdb_methods *methods,
const DOM_SID *sid, enum SID_NAME_USE sid_name_use,
GROUP_MAP **pp_rmap, size_t *p_num_entries,
- BOOL unix_only)
+ bool unix_only)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
@@ -442,67 +442,67 @@
#endif
/* Creates user list in every backend */
-static NTSTATUS multisam_setsampwent(struct pdb_methods *methods, BOOL update, uint32 acb_mask)
-{
- short i;
- struct multisam_data *data;
- NTSTATUS ret;
+//static NTSTATUS multisam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
+//{
+// short i;
+// struct multisam_data *data;
+// NTSTATUS ret;
+//
+// SET_DATA(data, methods);
+//
+// DEBUG(1, ("Setsampwent executing..\n"));
+//
+// for (i = 0; i < data->num_backends; i++) {
+// ret = data->methods[i]->setsampwent(data->methods[i], update, acb_mask);
+// if (!NT_STATUS_IS_OK(ret)) {
+// return ret;
+// }
+// }
+//
+// return NT_STATUS_OK;
+//}
- SET_DATA(data, methods);
-
- DEBUG(1, ("Setsampwent executing..\n"));
-
- for (i = 0; i < data->num_backends; i++) {
- ret = data->methods[i]->setsampwent(data->methods[i], update, acb_mask);
- if (!NT_STATUS_IS_OK(ret)) {
- return ret;
- }
- }
-
- return NT_STATUS_OK;
-}
-
/***************************************************************
End enumeration of the passwd list.
****************************************************************/
/* Runs endsampwent on every backend */
-static void multisam_endsampwent(struct pdb_methods *methods)
-{
- short i;
- struct multisam_data *data;
+//static void multisam_endsampwent(struct pdb_methods *methods)
+//{
+// short i;
+// struct multisam_data *data;
+//
+// if (!methods) return;
+// data = (struct multisam_data *)methods->private_data;
+// if (!data) return;
+//
+// DEBUG(1, ("Freeing pwent results on multisam backends\n"));
+//
+// for (i = 0; i < data->num_backends; i++) {
+// data->methods[i]->endsampwent(data->methods[i]);
+// }
+//}
- if (!methods) return;
- data = (struct multisam_data *)methods->private_data;
- if (!data) return;
-
- DEBUG(1, ("Freeing pwent results on multisam backends\n"));
-
- for (i = 0; i < data->num_backends; i++) {
- data->methods[i]->endsampwent(data->methods[i]);
- }
-}
-
/*****************************************************************
Get one struct samu from the list (next in line)
*****************************************************************/
/* Reads every user from backend 0, then 1.. etc (returns one) */
-static NTSTATUS multisam_getsampwent(struct pdb_methods *methods, struct samu * user)
-{
- short i;
- struct multisam_data *data;
- NTSTATUS ret;
-
- SET_DATA(data, methods);
-
- for (i = 0; i < data->num_backends; i++) {
- ret = data->methods[i]->getsampwent(data->methods[i], user);
- if (NT_STATUS_IS_OK(ret)) {
- return ret;
- }
- }
-
- return NT_STATUS_INVALID_PARAMETER;
-}
+//static NTSTATUS multisam_getsampwent(struct pdb_methods *methods, struct samu * user)
+//{
+// short i;
+// struct multisam_data *data;
+// NTSTATUS ret;
+//
+// SET_DATA(data, methods);
+//
+// for (i = 0; i < data->num_backends; i++) {
+// ret = data->methods[i]->getsampwent(data->methods[i], user);
+// if (NT_STATUS_IS_OK(ret)) {
+// return ret;
+// }
+// }
+//
+// return NT_STATUS_INVALID_PARAMETER;
+//}
/******************************************************************
Lookup a name in the SAM database
@@ -659,12 +659,12 @@
#endif
/* The rid algorithm of the first backend is used. */
-static BOOL multisam_rid_algorithm (struct pdb_methods *methods)
+static bool multisam_rid_algorithm (struct pdb_methods *methods)
{
return True;
}
/* This function is a fallback for errors */
-static BOOL multisam_dummy_new_rid (struct pdb_methods *methods, uint32 *rid)
+static bool multisam_dummy_new_rid (struct pdb_methods *methods, uint32 *rid)
{
DEBUG(0, ("This function should not be used!\n"));
return False;
@@ -699,9 +699,9 @@
(*pdb_method)->name = "multisam";
/* Mandatory implementation */
- (*pdb_method)->setsampwent = multisam_setsampwent;
- (*pdb_method)->endsampwent = multisam_endsampwent;
- (*pdb_method)->getsampwent = multisam_getsampwent;
+// (*pdb_method)->setsampwent = multisam_setsampwent;
+// (*pdb_method)->endsampwent = multisam_endsampwent;
+// (*pdb_method)->getsampwent = multisam_getsampwent;
(*pdb_method)->getsampwnam = multisam_getsampwnam;
(*pdb_method)->getsampwsid = multisam_getsampwsid;
(*pdb_method)->add_sam_account = multisam_add_sam_account;
Modified: branches/pdbsql_3_2/pdb_mysql.c
===================================================================
--- branches/pdbsql_3_2/pdb_mysql.c 2008-06-26 10:45:37 UTC (rev 123)
+++ branches/pdbsql_3_2/pdb_mysql.c 2008-06-26 12:58:35 UTC (rev 124)
@@ -20,9 +20,9 @@
* TODO
* * Volker commited Trust domain passwords to be included in the pdb.
* These need to be added here:
- * BOOL get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
- * BOOL set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
- * BOOL del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
+ * bool get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
+ * bool set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
+ * bool del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
* NTSTATUS enum_trusteddoms(struct pdb_methods *methods, TALLOC_CTX *mem_ctx, uint32 *num_domains, struct trustdom_info ***domains)
*/
@@ -166,99 +166,99 @@
return NT_STATUS_OK;
}
-static NTSTATUS mysqlsam_setsampwent(struct pdb_methods *methods, BOOL update, uint32 acb_mask)
-{
- struct pdb_mysql_data *data =
- (struct pdb_mysql_data *) methods->private_data;
- char *query;
- int mysql_ret;
+//static NTSTATUS mysqlsam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
+//{
+// struct pdb_mysql_data *data =
+// (struct pdb_mysql_data *) methods->private_data;
+// char *query;
+// int mysql_ret;
+//
+// if (!data || !(data->handle)) {
+// DEBUG(0, ("invalid handle!\n"));
+// return NT_STATUS_INVALID_HANDLE;
+// }
+//
+// query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
+//
+// mysql_ret = mysql_query(data->handle, query);
+//
+// /* [SYN] If the server has gone away, reconnect and retry */
+// if (mysql_ret && mysql_errno(data->handle) == CR_SERVER_GONE_ERROR) {
+// DEBUG(5, ("MySQL server has gone away, reconnecting and retrying.\n"));
+//
+// /* [SYN] Reconnect */
+// if (!NT_STATUS_IS_OK(pdb_mysql_connect(data))) {
+// DEBUG(0, ("Error: Lost connection to MySQL server\n"));
+// talloc_free(query);
+// return NT_STATUS_UNSUCCESSFUL;
+// }
+// /* [SYN] Retry */
+// mysql_ret = mysql_query(data->handle, query);
+// }
+//
+// talloc_free(query);
+//
+// if (mysql_ret) {
+// DEBUG(0,
+// ("Error executing MySQL query %s\n", mysql_error(data->handle)));
+// return NT_STATUS_UNSUCCESSFUL;
+// }
+//
+// data->pwent = mysql_store_result(data->handle);
+//
+// if (data->pwent == NULL) {
+// DEBUG(0,
+// ("Error storing results: %s\n", mysql_error(data->handle)));
+// return NT_STATUS_UNSUCCESSFUL;
+// }
+//
+// DEBUG(5,
+// ("mysqlsam_setsampwent succeeded(%llu results)!\n",
+// mysql_num_rows(data->pwent)));
+//
+// return NT_STATUS_OK;
+//}
- if (!data || !(data->handle)) {
- DEBUG(0, ("invalid handle!\n"));
- return NT_STATUS_INVALID_HANDLE;
- }
-
- query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
-
- mysql_ret = mysql_query(data->handle, query);
-
- /* [SYN] If the server has gone away, reconnect and retry */
- if (mysql_ret && mysql_errno(data->handle) == CR_SERVER_GONE_ERROR) {
- DEBUG(5, ("MySQL server has gone away, reconnecting and retrying.\n"));
-
- /* [SYN] Reconnect */
- if (!NT_STATUS_IS_OK(pdb_mysql_connect(data))) {
- DEBUG(0, ("Error: Lost connection to MySQL server\n"));
- talloc_free(query);
- return NT_STATUS_UNSUCCESSFUL;
- }
- /* [SYN] Retry */
- mysql_ret = mysql_query(data->handle, query);
- }
-
- talloc_free(query);
-
- if (mysql_ret) {
- DEBUG(0,
- ("Error executing MySQL query %s\n", mysql_error(data->handle)));
- return NT_STATUS_UNSUCCESSFUL;
- }
-
- data->pwent = mysql_store_result(data->handle);
-
- if (data->pwent == NULL) {
- DEBUG(0,
- ("Error storing results: %s\n", mysql_error(data->handle)));
- return NT_STATUS_UNSUCCESSFUL;
- }
-
- DEBUG(5,
- ("mysqlsam_setsampwent succeeded(%llu results)!\n",
- mysql_num_rows(data->pwent)));
-
- return NT_STATUS_OK;
-}
-
/***************************************************************
End enumeration of the passwd list.
****************************************************************/
-static void mysqlsam_endsampwent(struct pdb_methods *methods)
-{
- struct pdb_mysql_data *data =
- (struct pdb_mysql_data *) methods->private_data;
+//static void mysqlsam_endsampwent(struct pdb_methods *methods)
+//{
+// struct pdb_mysql_data *data =
+// (struct pdb_mysql_data *) methods->private_data;
+//
+// if (data == NULL) {
+// DEBUG(0, ("invalid handle!\n"));
+// return;
+// }
+//
+// if (data->pwent != NULL)
+// mysql_free_result(data->pwent);
+//
+// data->pwent = NULL;
+//
+// DEBUG(5, ("mysql_endsampwent called\n"));
+//}
- if (data == NULL) {
- DEBUG(0, ("invalid handle!\n"));
- return;
- }
-
- if (data->pwent != NULL)
- mysql_free_result(data->pwent);
-
- data->pwent = NULL;
-
- DEBUG(5, ("mysql_endsampwent called\n"));
-}
-
/*****************************************************************
Get one struct samu from the list (next in line)
*****************************************************************/
-static NTSTATUS mysqlsam_getsampwent(struct pdb_methods *methods, struct samu * user)
-{
- struct pdb_mysql_data *data;
+//static NTSTATUS mysqlsam_getsampwent(struct pdb_methods *methods, struct samu * user)
+//{
+// struct pdb_mysql_data *data;
+//
+// SET_DATA(data, methods);
+//
+// if (data->pwent == NULL) {
+// DEBUG(0, ("invalid pwent\n"));
+// return NT_STATUS_INVALID_PARAMETER;
+// }
+//
+// return row_to_sam_account(data->pwent, user);
+//}
- SET_DATA(data, methods);
-
- if (data->pwent == NULL) {
- DEBUG(0, ("invalid pwent\n"));
- return NT_STATUS_INVALID_PARAMETER;
- }
-
- return row_to_sam_account(data->pwent, user);
-}
-
static NTSTATUS mysqlsam_select_by_field(struct pdb_methods * methods, struct samu * user,
enum sql_search_field field, const char *sname)
{
@@ -373,8 +373,9 @@
SET_DATA(data, methods);
- sid_to_string(sid_str, sid);
-
+// sid_to_string(sid_str, sid);
+ sid_string_dbg(sid);
+
return mysqlsam_select_by_field(methods, user, SQL_SEARCH_USER_SID, sid_str);
}
@@ -525,10 +526,10 @@
return mysqlsam_replace_sam_account(methods, newpwd, 1);
}
-static BOOL mysqlsam_rid_algorithm (struct pdb_methods *pdb_methods) {
+static bool mysqlsam_rid_algorithm (struct pdb_methods *pdb_methods) {
return True;
}
-static BOOL mysqlsam_new_rid (struct pdb_methods *pdb_methods, uint32 *rid) {
+static bool mysqlsam_new_rid (struct pdb_methods *pdb_methods, uint32 *rid) {
return False;
}
@@ -550,9 +551,9 @@
(*pdb_method)->name = "mysqlsam";
- (*pdb_method)->setsampwent = mysqlsam_setsampwent;
- (*pdb_method)->endsampwent = mysqlsam_endsampwent;
- (*pdb_method)->getsampwent = mysqlsam_getsampwent;
+// (*pdb_method)->setsampwent = mysqlsam_setsampwent;
+// (*pdb_method)->endsampwent = mysqlsam_endsampwent;
+// (*pdb_method)->getsampwent = mysqlsam_getsampwent;
(*pdb_method)->getsampwnam = mysqlsam_getsampwnam;
(*pdb_method)->getsampwsid = mysqlsam_getsampwsid;
(*pdb_method)->add_sam_account = mysqlsam_add_sam_account;
Modified: branches/pdbsql_3_2/pdb_pgsql.c
===================================================================
--- branches/pdbsql_3_2/pdb_pgsql.c 2008-06-26 10:45:37 UTC (rev 123)
+++ branches/pdbsql_3_2/pdb_pgsql.c 2008-06-26 12:58:35 UTC (rev 124)
@@ -21,9 +21,9 @@
* TODO
* * Volker commited Trust domain passwords to be included in the pdb.
* These need to be added here:
- * BOOL get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
- * BOOL set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
- * BOOL del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
+ * bool get_trusteddom_pw(struct pdb_methods *methods, const char *domain, char **pwd, DOM_SID *sid, time_t *pass_last_set_time)
+ * bool set_trusteddom_pw(struct pdb_methods *methods, const char *domain, const char *pwd, const DOM_SID *sid)
+ * bool del_trusteddom_pw(struct pdb_methods *methods, const char *domain)
* NTSTATUS enum_trusteddoms(struct pdb_methods *methods, TALLOC_CTX *mem_ctx, uint32 *num_domains, struct trustdom_info ***domains)
*/
@@ -228,86 +228,86 @@
return NT_STATUS_OK;
}
-static NTSTATUS pgsqlsam_setsampwent(struct pdb_methods *methods, BOOL update, uint32 acb_mask)
-{
- struct pdb_pgsql_data *data;
- PGconn *handle;
- char *query;
- NTSTATUS retval;
-
- SET_DATA(data, methods);
+//static NTSTATUS pgsqlsam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
+//{
+// struct pdb_pgsql_data *data;
+// PGconn *handle;
+// char *query;
+// NTSTATUS retval;
+//
+// SET_DATA(data, methods);
+//
+// /* Connect to the DB. */
+// handle = choose_connection(data);
+// if (handle == NULL) {
+// return NT_STATUS_UNSUCCESSFUL;
+// }
+// DEBUG(5, ("CONNECTING pgsqlsam_setsampwent\n"));
+//
+// query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
+//
+// /* Execute query */
+// DEBUG(5, ("Executing query %s\n", query));
+// data->pwent = PQexec(handle, query);
+// data->currow = 0;
+//
+// /* Result? */
+// if (data->pwent == NULL) {
+// DEBUG(0, ("Error executing %s, %s\n", query, PQerrorMessage(handle)));
+// retval = NT_STATUS_UNSUCCESSFUL;
+// } else if (PQresultStatus(data->pwent) != PGRES_TUPLES_OK) {
+// DEBUG(0, ("Error executing %s, %s\n", query, PQresultErrorMessage(data->pwent)));
+// retval = NT_STATUS_UNSUCCESSFUL;
+// } else {
+// DEBUG(5, ("pgsqlsam_setsampwent succeeded(%d results)!\n", PQntuples(data->pwent)));
+// retval = NT_STATUS_OK;
+// }
+//
+// talloc_free(query);
+// return retval;
+//}
- /* Connect to the DB. */
- handle = choose_connection(data);
- if (handle == NULL) {
- return NT_STATUS_UNSUCCESSFUL;
- }
- DEBUG(5, ("CONNECTING pgsqlsam_setsampwent\n"));
-
- query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
-
- /* Execute query */
- DEBUG(5, ("Executing query %s\n", query));
- data->pwent = PQexec(handle, query);
- data->currow = 0;
-
- /* Result? */
- if (data->pwent == NULL) {
- DEBUG(0, ("Error executing %s, %s\n", query, PQerrorMessage(handle)));
- retval = NT_STATUS_UNSUCCESSFUL;
- } else if (PQresultStatus(data->pwent) != PGRES_TUPLES_OK) {
- DEBUG(0, ("Error executing %s, %s\n", query, PQresultErrorMessage(data->pwent)));
- retval = NT_STATUS_UNSUCCESSFUL;
- } else {
- DEBUG(5, ("pgsqlsam_setsampwent succeeded(%d results)!\n", PQntuples(data->pwent)));
- retval = NT_STATUS_OK;
- }
-
- talloc_free(query);
- return retval;
-}
-
/***************************************************************
End enumeration of the passwd list.
****************************************************************/
-static void pgsqlsam_endsampwent(struct pdb_methods *methods)
-{
- struct pdb_pgsql_data *data;
-
- SET_DATA_QUIET(data, methods);
-
- if (data->pwent != NULL) {
- PQclear(data->pwent);
- }
-
- data->pwent = NULL;
- data->currow = 0;
-
- DEBUG(5, ("pgsql_endsampwent called\n"));
-}
+//static void pgsqlsam_endsampwent(struct pdb_methods *methods)
+//{
+// struct pdb_pgsql_data *data;
+//
+// SET_DATA_QUIET(data, methods);
+//
+// if (data->pwent != NULL) {
+// PQclear(data->pwent);
+// }
+//
+// data->pwent = NULL;
+// data->currow = 0;
+//
+// DEBUG(5, ("pgsql_endsampwent called\n"));
+//}
/*****************************************************************
Get one struct samu from the list (next in line)
*****************************************************************/
-static NTSTATUS pgsqlsam_getsampwent(struct pdb_methods *methods, struct samu *user)
-{
- struct pdb_pgsql_data *data;
- NTSTATUS retval;
-
- SET_DATA(data, methods);
-
- if (data->pwent == NULL) {
- DEBUG(0, ("invalid pwent\n"));
- return NT_STATUS_INVALID_PARAMETER;
- }
-
- retval = row_to_sam_account(data->pwent, data->currow, user);
- data->currow++;
-
- return retval;
-}
+//static NTSTATUS pgsqlsam_getsampwent(struct pdb_methods *methods, struct samu *user)
+//{
+// struct pdb_pgsql_data *data;
+// NTSTATUS retval;
+//
+// SET_DATA(data, methods);
+//
+// if (data->pwent == NULL) {
+// DEBUG(0, ("invalid pwent\n"));
+// return NT_STATUS_INVALID_PARAMETER;
+// }
+//
+// retval = row_to_sam_account(data->pwent, data->currow, user);
+// data->currow++;
+//
+// return retval;
+//}
static NTSTATUS pgsqlsam_select_by_field(struct pdb_methods *methods, struct samu *user, enum sql_search_field field, const char *sname)
{
@@ -544,11 +544,11 @@
return pgsqlsam_replace_sam_account(methods, newpwd, 1);
}
-static BOOL pgsqlsam_rid_algorithm(struct pdb_methods *pdb_methods)
+static bool pgsqlsam_rid_algorithm(struct pdb_methods *pdb_methods)
{
return True;
}
-static BOOL pgsqlsam_new_rid(struct pdb_methods *pdb_methods, uint32 *rid)
+static bool pgsqlsam_new_rid(struct pdb_methods *pdb_methods, uint32 *rid)
{
return False;
}
@@ -573,9 +573,9 @@
(*pdb_method)->name = "pgsqlsam";
- (*pdb_method)->setsampwent = pgsqlsam_setsampwent;
- (*pdb_method)->endsampwent = pgsqlsam_endsampwent;
- (*pdb_method)->getsampwent = pgsqlsam_getsampwent;
+// (*pdb_method)->setsampwent = pgsqlsam_setsampwent;
+// (*pdb_method)->endsampwent = pgsqlsam_endsampwent;
+// (*pdb_method)->getsampwent = pgsqlsam_getsampwent;
(*pdb_method)->getsampwnam = pgsqlsam_getsampwnam;
(*pdb_method)->getsampwsid = pgsqlsam_getsampwsid;
(*pdb_method)->add_sam_account = pgsqlsam_add_sam_account;
Modified: branches/pdbsql_3_2/pdb_sql.c
===================================================================
--- branches/pdbsql_3_2/pdb_sql.c 2008-06-26 10:45:37 UTC (rev 123)
+++ branches/pdbsql_3_2/pdb_sql.c 2008-06-26 12:58:35 UTC (rev 124)
@@ -189,7 +189,7 @@
return (const char *)v;
}
-char *sql_account_query_select(TALLOC_CTX *mem_ctx, const char *data, BOOL update, enum sql_search_field field, const char *value)
+char *sql_account_query_select(TALLOC_CTX *mem_ctx, const char *data, bool update, enum sql_search_field field, const char *value)
{
const char *field_string;
char *query;
@@ -590,7 +590,7 @@
return ret;
}
-BOOL sql_account_config_valid(const char *data)
+bool sql_account_config_valid(const char *data)
{
const char *sid_column, *username_column;
Modified: branches/pdbsql_3_2/pdb_sql.h
===================================================================
--- branches/pdbsql_3_2/pdb_sql.h 2008-06-26 10:45:37 UTC (rev 123)
+++ branches/pdbsql_3_2/pdb_sql.h 2008-06-26 12:58:35 UTC (rev 124)
@@ -32,7 +32,7 @@
char *sql_escape_string(TALLOC_CTX *mem_ctx, const char *unesc);
char *sql_account_query_select(TALLOC_CTX *mem_ctx, const char *data,
- BOOL update, enum sql_search_field field,
+ bool update, enum sql_search_field field,
const char *value);
char *sql_account_query_delete(TALLOC_CTX *mem_ctx, const char *data,
@@ -41,7 +41,7 @@
char *sql_account_query_update(TALLOC_CTX *mem_ctx, const char *location,
struct samu *newpwd, char isupdate);
-BOOL sql_account_config_valid(const char *data);
+bool sql_account_config_valid(const char *data);
#endif /* _PDB_SQL_H */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <co...@us...> - 2008-06-27 11:48:25
|
Revision: 125
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=125&view=rev
Author: collen
Date: 2008-06-27 04:48:33 -0700 (Fri, 27 Jun 2008)
Log Message:
-----------
Ok, compiles again...
sid_to_string
pstring->fstring
compile clean ups..
Modified Paths:
--------------
branches/pdbsql_3_2/pdb_multi.c
branches/pdbsql_3_2/pdb_mysql.c
branches/pdbsql_3_2/pdb_pgsql.c
branches/pdbsql_3_2/pdb_sql.c
Modified: branches/pdbsql_3_2/pdb_multi.c
===================================================================
--- branches/pdbsql_3_2/pdb_multi.c 2008-06-26 12:58:35 UTC (rev 124)
+++ branches/pdbsql_3_2/pdb_multi.c 2008-06-27 11:48:33 UTC (rev 125)
@@ -171,7 +171,7 @@
/* Tries sid_to_id on every backend until one succeeds, returns true on success */
static bool multisam_sid_to_id(struct pdb_methods *methods,
const DOM_SID *sid,
- union unid_t *id, enum SID_NAME_USE *type)
+ union unid_t *id, enum lsa_SidType *type)
{
short i;
struct multisam_data *data;
@@ -755,7 +755,7 @@
}
data->location = talloc_strdup(data, location);
- data->names = str_list_make_talloc(data, data->location, NULL);
+// data->names = str_list_make_talloc(data, data->location, NULL);
data->num_backends = str_list_count((const char **)data->names);
data->locations = talloc_array(data, char *, data->num_backends);
data->methods = talloc_array(data, struct pdb_methods *, data->num_backends);
Modified: branches/pdbsql_3_2/pdb_mysql.c
===================================================================
--- branches/pdbsql_3_2/pdb_mysql.c 2008-06-26 12:58:35 UTC (rev 124)
+++ branches/pdbsql_3_2/pdb_mysql.c 2008-06-27 11:48:33 UTC (rev 125)
@@ -559,6 +559,8 @@
(*pdb_method)->add_sam_account = mysqlsam_add_sam_account;
(*pdb_method)->update_sam_account = mysqlsam_update_sam_account;
(*pdb_method)->delete_sam_account = mysqlsam_delete_sam_account;
+ (*pdb_method)->rid_algorithm = mysqlsam_rid_algorithm;
+ (*pdb_method)->new_rid = mysqlsam_new_rid;
/* (*pdb_method)->rename_sam_account = mysqlsam_rename_sam_account; */
/* (*pdb_method)->getgrsid = mysqlsam_getgrsid; */
@@ -572,9 +574,6 @@
/* (*pdb_method)->set_account_policy = mysqlsam_set_account_policy; */
/* (*pdb_method)->get_seq_num = mysqlsam_get_seq_num; */
- (*pdb_method)->rid_algorithm = mysqlsam_rid_algorithm;
- (*pdb_method)->new_rid = mysqlsam_new_rid;
-
data = talloc(*pdb_method, struct pdb_mysql_data);
(*pdb_method)->private_data = data;
data->handle = NULL;
Modified: branches/pdbsql_3_2/pdb_pgsql.c
===================================================================
--- branches/pdbsql_3_2/pdb_pgsql.c 2008-06-26 12:58:35 UTC (rev 124)
+++ branches/pdbsql_3_2/pdb_pgsql.c 2008-06-27 11:48:33 UTC (rev 125)
@@ -415,7 +415,7 @@
SET_DATA(data, methods);
- sid_to_string(sid_str, sid);
+ sid_to_fstring(sid_str, sid);
return pgsqlsam_select_by_field(methods, user, SQL_SEARCH_USER_SID, sid_str);
}
@@ -596,6 +596,7 @@
/* (*pdb_method)->set_account_policy = pgsqlsam_set_account_policy; */
/* (*pdb_method)->get_seq_num = pgsqlsam_get_seq_num; */
+ data = talloc(*pdb_method, struct pdb_pgsql_data);
(*pdb_method)->private_data = data;
data->master_handle = NULL;
Modified: branches/pdbsql_3_2/pdb_sql.c
===================================================================
--- branches/pdbsql_3_2/pdb_sql.c 2008-06-26 12:58:35 UTC (rev 124)
+++ branches/pdbsql_3_2/pdb_sql.c 2008-06-27 11:48:33 UTC (rev 125)
@@ -20,6 +20,9 @@
#include "pdb_sql.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_PASSDB
+
#define CONFIG_TABLE_DEFAULT "user"
#define CONFIG_LOGON_TIME_DEFAULT "logon_time"
#define CONFIG_LOGOFF_TIME_DEFAULT "logoff_time"
@@ -298,7 +301,7 @@
char *sql_account_query_update(TALLOC_CTX *mem_ctx, const char *location, struct samu *newpwd, char isupdate)
{
char *ret;
- pstring temp;
+ fstring temp;
fstring sid_str;
pdb_sql_query *query;
int some_field_affected = 0;
@@ -408,8 +411,9 @@
pdb_sql_string_field(query,
config_value_write(location, "user sid column",
CONFIG_USER_SID_DEFAULT),
- sid_to_string(sid_str,
- pdb_get_user_sid(newpwd)));
+ sid_to_fstring(sid_str,
+// sid_string_dbg(sid,
+ pdb_get_user_sid(newpwd)));
}
if (!isupdate || IS_SAM_CHANGED(newpwd, PDB_GROUPSID)) {
@@ -417,7 +421,8 @@
pdb_sql_string_field(query,
config_value_write(location, "group sid column",
CONFIG_GROUP_SID_DEFAULT),
- sid_to_string(sid_str,
+ sid_to_fstring(sid_str,
+// sid_string_dbg(sid,
pdb_get_group_sid(newpwd)));
}
@@ -576,7 +581,8 @@
config_value_read(location,
"user sid column",
CONFIG_USER_SID_DEFAULT),
- sid_to_string(sid_str, pdb_get_user_sid (newpwd)));
+ sid_to_fstring(sid_str, pdb_get_user_sid (newpwd)));
+// sid_string_dbg(pdb_get_user_sid (newpwd)));
} else {
query->part2[strlen(query->part2) - 1] = ')';
query->part1[strlen(query->part1) - 1] = ')';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <co...@us...> - 2008-07-03 11:04:47
|
Revision: 126
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=126&view=rev
Author: collen
Date: 2008-07-03 04:04:54 -0700 (Thu, 03 Jul 2008)
Log Message:
-----------
New compat fixes for 3.2.0 samba
insert search_users
insert search_next
insert search_end
insert search_state
Modified Paths:
--------------
branches/pdbsql_3_2/pdb_multi.c
branches/pdbsql_3_2/pdb_mysql.c
branches/pdbsql_3_2/pdb_pgsql.c
Modified: branches/pdbsql_3_2/pdb_multi.c
===================================================================
--- branches/pdbsql_3_2/pdb_multi.c 2008-06-27 11:48:33 UTC (rev 125)
+++ branches/pdbsql_3_2/pdb_multi.c 2008-07-03 11:04:54 UTC (rev 126)
@@ -702,6 +702,7 @@
// (*pdb_method)->setsampwent = multisam_setsampwent;
// (*pdb_method)->endsampwent = multisam_endsampwent;
// (*pdb_method)->getsampwent = multisam_getsampwent;
+// (*pdb_method)->search_users = multisam_search_users;
(*pdb_method)->getsampwnam = multisam_getsampwnam;
(*pdb_method)->getsampwsid = multisam_getsampwsid;
(*pdb_method)->add_sam_account = multisam_add_sam_account;
@@ -744,7 +745,7 @@
(*pdb_method)->get_account_policy = multisam_get_account_policy;
(*pdb_method)->set_account_policy = multisam_set_account_policy;
(*pdb_method)->get_seq_num = multisam_get_seq_num;
- (*pdb_method)->search_users = multisam_search_users;
+// (*pdb_method)->search_users = multisam_search_users;
(*pdb_method)->search_groups = multisam_search_groups;
(*pdb_method)->search_aliases = multisam_search_aliases;
#endif
@@ -799,7 +800,7 @@
return NT_STATUS_OK;
}
-NTSTATUS init_module(void)
+NTSTATUS init_samba_module(void)
{
return smb_register_passdb(PASSDB_INTERFACE_VERSION, "multi", multisam_init);
}
Modified: branches/pdbsql_3_2/pdb_mysql.c
===================================================================
--- branches/pdbsql_3_2/pdb_mysql.c 2008-06-27 11:48:33 UTC (rev 125)
+++ branches/pdbsql_3_2/pdb_mysql.c 2008-07-03 11:04:54 UTC (rev 126)
@@ -533,6 +533,116 @@
return False;
}
+/****************************/
+struct mysqlsam_search_state {
+ uint32_t acct_flags;
+
+ struct samr_displayentry *entries;
+ uint32_t num_entries;
+ ssize_t array_size;
+ uint32_t current;
+};
+/****************************/
+static void mysqlsam_search_end(struct pdb_search *search)
+{
+ struct mysqlsam_search_state *state = talloc_get_type_abort(
+ search->private_data, struct mysqlsam_search_state);
+ TALLOC_FREE(state);
+}
+/****************************/
+static bool mysqlsam_search_next_entry(struct pdb_search *search,
+ struct samr_displayentry *entry)
+{
+ struct mysqlsam_search_state *state = talloc_get_type_abort(
+ search->private_data, struct mysqlsam_search_state);
+
+ if (state->current == state->num_entries) {
+ return false;
+ }
+
+ entry->idx = state->entries[state->current].idx;
+ entry->rid = state->entries[state->current].rid;
+ entry->acct_flags = state->entries[state->current].acct_flags;
+
+ entry->account_name = talloc_strdup(
+ search->mem_ctx, state->entries[state->current].account_name);
+ entry->fullname = talloc_strdup(
+ search->mem_ctx, state->entries[state->current].fullname);
+ entry->description = talloc_strdup(
+ search->mem_ctx, state->entries[state->current].description);
+
+ if ((entry->account_name == NULL) || (entry->fullname == NULL)
+ || (entry->description == NULL)) {
+ DEBUG(0, ("talloc_strdup failed\n"));
+ return false;
+ }
+
+ state->current += 1;
+ return true;
+}
+/****************************/
+static bool mysqlsam_search_users(struct pdb_methods *methods,
+ struct pdb_search *search,
+ uint32 acct_flags,
+ bool update)
+{
+ struct pdb_mysql_data *data =
+ (struct pdb_mysql_data *) methods->private_data;
+ char *query;
+ int mysql_ret;
+ struct mysqlsam_search_state *state;
+
+ state = TALLOC_ZERO_P(search->mem_ctx, struct mysqlsam_search_state);
+ if (state == NULL) {
+ DEBUG(0, ("talloc failed\n"));
+ return false;
+ }
+
+ state->acct_flags = acct_flags;
+//
+ query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
+
+ mysql_ret = mysql_query(data->handle, query);
+
+// /* [SYN] If the server has gone away, reconnect and retry */
+ if (mysql_ret && mysql_errno(data->handle) == CR_SERVER_GONE_ERROR) {
+ DEBUG(5, ("MySQL server has gone away, reconnecting and retrying.\n"));
+
+// /* [SYN] Reconnect */
+ if (!NT_STATUS_IS_OK(pdb_mysql_connect(data))) {
+ DEBUG(0, ("Error: Lost connection to MySQL server\n"));
+ talloc_free(query);
+ return false;
+ }
+// /* [SYN] Retry */
+ mysql_ret = mysql_query(data->handle, query);
+ }
+
+ talloc_free(query);
+
+ if (mysql_ret) {
+ DEBUG(0,
+ ("Error executing MySQL query %s\n", mysql_error(data->handle)));
+ return false;
+ }
+// klopt nie !
+ data->pwent = mysql_store_result(data->handle);
+
+ if (data->pwent == NULL) {
+ DEBUG(0,
+ ("Error storing results: %s\n", mysql_error(data->handle)));
+ return false;
+ }
+// state->methods = methods;
+// db_sam->traverse_read(db_sam, tdbsam_collect_rids, state);
+//
+ search->private_data = state;
+ search->next_entry = mysqlsam_search_next_entry;
+ search->search_end = mysqlsam_search_end;
+
+ return true;
+}
+
static NTSTATUS mysqlsam_init(struct pdb_methods **pdb_method, const char *location)
{
NTSTATUS nt_status;
@@ -541,19 +651,16 @@
mysqlsam_debug_level = debug_add_class("mysqlsam");
if (mysqlsam_debug_level == -1) {
mysqlsam_debug_level = DBGC_ALL;
- DEBUG(0,
- ("mysqlsam: Couldn't register custom debugging class!\n"));
+ DEBUG(0,("mysqlsam: Couldn't register custom debugging class!\n"));
}
- if ( !NT_STATUS_IS_OK(nt_status = make_pdb_method( pdb_method )) ) {
+ if (!NT_STATUS_IS_OK(nt_status = make_pdb_method( pdb_method ))) {
return nt_status;
}
(*pdb_method)->name = "mysqlsam";
-// (*pdb_method)->setsampwent = mysqlsam_setsampwent;
-// (*pdb_method)->endsampwent = mysqlsam_endsampwent;
-// (*pdb_method)->getsampwent = mysqlsam_getsampwent;
+ (*pdb_method)->search_users = mysqlsam_search_users;
(*pdb_method)->getsampwnam = mysqlsam_getsampwnam;
(*pdb_method)->getsampwsid = mysqlsam_getsampwsid;
(*pdb_method)->add_sam_account = mysqlsam_add_sam_account;
@@ -611,8 +718,7 @@
return NT_STATUS_OK;
}
-NTSTATUS init_module(void)
+NTSTATUS init_samba_module(void)
{
return smb_register_passdb(PASSDB_INTERFACE_VERSION, "mysql", mysqlsam_init);
}
-
Modified: branches/pdbsql_3_2/pdb_pgsql.c
===================================================================
--- branches/pdbsql_3_2/pdb_pgsql.c 2008-06-27 11:48:33 UTC (rev 125)
+++ branches/pdbsql_3_2/pdb_pgsql.c 2008-07-03 11:04:54 UTC (rev 126)
@@ -573,9 +573,7 @@
(*pdb_method)->name = "pgsqlsam";
-// (*pdb_method)->setsampwent = pgsqlsam_setsampwent;
-// (*pdb_method)->endsampwent = pgsqlsam_endsampwent;
-// (*pdb_method)->getsampwent = pgsqlsam_getsampwent;
+// (*pdb_method)->search_users = pgsqlsam_search_users;
(*pdb_method)->getsampwnam = pgsqlsam_getsampwnam;
(*pdb_method)->getsampwsid = pgsqlsam_getsampwsid;
(*pdb_method)->add_sam_account = pgsqlsam_add_sam_account;
@@ -631,7 +629,7 @@
return NT_STATUS_OK;
}
-NTSTATUS init_module(void)
+NTSTATUS init_samba_module(void)
{
return smb_register_passdb(PASSDB_INTERFACE_VERSION, "pgsql", pgsqlsam_init);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <co...@us...> - 2008-07-07 08:50:19
|
Revision: 129
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=129&view=rev
Author: collen
Date: 2008-07-07 01:50:28 -0700 (Mon, 07 Jul 2008)
Log Message:
-----------
Clean up
Modified Paths:
--------------
branches/pdbsql_3_2/AUTHORS
branches/pdbsql_3_2/pdb_mysql.c
branches/pdbsql_3_2/pdb_pgsql.c
branches/pdbsql_3_2/pdb_sql.c
Modified: branches/pdbsql_3_2/AUTHORS
===================================================================
--- branches/pdbsql_3_2/AUTHORS 2008-07-06 15:26:26 UTC (rev 128)
+++ branches/pdbsql_3_2/AUTHORS 2008-07-07 08:50:28 UTC (rev 129)
@@ -1,5 +1,6 @@
Current maintainer:
Collen Blijenberg
+Herwin Weststrate
original authors:
Jelmer Vernooij <je...@sa...> (pdbsql core / pdb_mysql / pdb_multi)
Modified: branches/pdbsql_3_2/pdb_mysql.c
===================================================================
--- branches/pdbsql_3_2/pdb_mysql.c 2008-07-06 15:26:26 UTC (rev 128)
+++ branches/pdbsql_3_2/pdb_mysql.c 2008-07-07 08:50:28 UTC (rev 129)
@@ -166,99 +166,6 @@
return NT_STATUS_OK;
}
-//static NTSTATUS mysqlsam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
-//{
-// struct pdb_mysql_data *data =
-// (struct pdb_mysql_data *) methods->private_data;
-// char *query;
-// int mysql_ret;
-//
-// if (!data || !(data->handle)) {
-// DEBUG(0, ("invalid handle!\n"));
-// return NT_STATUS_INVALID_HANDLE;
-// }
-//
-// query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
-//
-// mysql_ret = mysql_query(data->handle, query);
-//
-// /* [SYN] If the server has gone away, reconnect and retry */
-// if (mysql_ret && mysql_errno(data->handle) == CR_SERVER_GONE_ERROR) {
-// DEBUG(5, ("MySQL server has gone away, reconnecting and retrying.\n"));
-//
-// /* [SYN] Reconnect */
-// if (!NT_STATUS_IS_OK(pdb_mysql_connect(data))) {
-// DEBUG(0, ("Error: Lost connection to MySQL server\n"));
-// talloc_free(query);
-// return NT_STATUS_UNSUCCESSFUL;
-// }
-// /* [SYN] Retry */
-// mysql_ret = mysql_query(data->handle, query);
-// }
-//
-// talloc_free(query);
-//
-// if (mysql_ret) {
-// DEBUG(0,
-// ("Error executing MySQL query %s\n", mysql_error(data->handle)));
-// return NT_STATUS_UNSUCCESSFUL;
-// }
-//
-// data->pwent = mysql_store_result(data->handle);
-//
-// if (data->pwent == NULL) {
-// DEBUG(0,
-// ("Error storing results: %s\n", mysql_error(data->handle)));
-// return NT_STATUS_UNSUCCESSFUL;
-// }
-//
-// DEBUG(5,
-// ("mysqlsam_setsampwent succeeded(%llu results)!\n",
-// mysql_num_rows(data->pwent)));
-//
-// return NT_STATUS_OK;
-//}
-
-/***************************************************************
- End enumeration of the passwd list.
- ****************************************************************/
-
-//static void mysqlsam_endsampwent(struct pdb_methods *methods)
-//{
-// struct pdb_mysql_data *data =
-// (struct pdb_mysql_data *) methods->private_data;
-//
-// if (data == NULL) {
-// DEBUG(0, ("invalid handle!\n"));
-// return;
-// }
-//
-// if (data->pwent != NULL)
-// mysql_free_result(data->pwent);
-//
-// data->pwent = NULL;
-//
-// DEBUG(5, ("mysql_endsampwent called\n"));
-//}
-
-/*****************************************************************
- Get one struct samu from the list (next in line)
- *****************************************************************/
-
-//static NTSTATUS mysqlsam_getsampwent(struct pdb_methods *methods, struct samu * user)
-//{
-// struct pdb_mysql_data *data;
-//
-// SET_DATA(data, methods);
-//
-// if (data->pwent == NULL) {
-// DEBUG(0, ("invalid pwent\n"));
-// return NT_STATUS_INVALID_PARAMETER;
-// }
-//
-// return row_to_sam_account(data->pwent, user);
-//}
-
static NTSTATUS mysqlsam_select_by_field(struct pdb_methods * methods, struct samu * user,
enum sql_search_field field, const char *sname)
{
@@ -533,7 +440,6 @@
return False;
}
-/****************************/
struct mysqlsam_search_state {
uint32_t acct_flags;
@@ -541,6 +447,7 @@
uint32_t num_entries;
uint32_t current;
};
+
/****************************/
static void mysqlsam_search_end(struct pdb_search *search)
{
@@ -573,7 +480,7 @@
state->current += 1;
return true;
}
-/****************************/
+/* Enum user list*/
static bool mysqlsam_search_users(struct pdb_methods *methods,
struct pdb_search *search,
uint32 acct_flags)
@@ -625,8 +532,6 @@
("Error storing results: %s\n", mysql_error(data->handle)));
return false;
}
-// state->methods = methods;
-// db_sam->traverse_read(db_sam, tdbsam_collect_rids, state);
state->num_entries = mysql_num_rows(state->pwent);
DEBUG(5, ("Found %d results\n", state->num_entries));
@@ -663,18 +568,6 @@
(*pdb_method)->rid_algorithm = mysqlsam_rid_algorithm;
(*pdb_method)->new_rid = mysqlsam_new_rid;
-/* (*pdb_method)->rename_sam_account = mysqlsam_rename_sam_account; */
-/* (*pdb_method)->getgrsid = mysqlsam_getgrsid; */
-/* (*pdb_method)->getgrgid = mysqlsam_getgrgid; */
-/* (*pdb_method)->getgrnam = mysqlsam_getgrnam; */
-/* (*pdb_method)->add_group_mapping_entry = mysqlsam_add_group_mapping_entry; */
-/* (*pdb_method)->update_group_mapping_entry = mysqlsam_update_group_mapping_entry; */
-/* (*pdb_method)->delete_group_mapping_entry = mysqlsam_delete_group_mapping_entry; */
-/* (*pdb_method)->enum_group_mapping = mysqlsam_enum_group_mapping; */
-/* (*pdb_method)->get_account_policy = mysqlsam_get_account_policy; */
-/* (*pdb_method)->set_account_policy = mysqlsam_set_account_policy; */
-/* (*pdb_method)->get_seq_num = mysqlsam_get_seq_num; */
-
data = talloc(*pdb_method, struct pdb_mysql_data);
(*pdb_method)->private_data = data;
data->handle = NULL;
@@ -721,4 +614,3 @@
{
return init_samba_module();
}
-
Modified: branches/pdbsql_3_2/pdb_pgsql.c
===================================================================
--- branches/pdbsql_3_2/pdb_pgsql.c 2008-07-06 15:26:26 UTC (rev 128)
+++ branches/pdbsql_3_2/pdb_pgsql.c 2008-07-07 08:50:28 UTC (rev 129)
@@ -236,87 +236,6 @@
return NT_STATUS_OK;
}
-//static NTSTATUS pgsqlsam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
-//{
-// struct pdb_pgsql_data *data;
-// PGconn *handle;
-// char *query;
-// NTSTATUS retval;
-//
-// SET_DATA(data, methods);
-//
-// /* Connect to the DB. */
-// handle = choose_connection(data);
-// if (handle == NULL) {
-// return NT_STATUS_UNSUCCESSFUL;
-// }
-// DEBUG(5, ("CONNECTING pgsqlsam_setsampwent\n"));
-//
-// query = sql_account_query_select(NULL, data->location, update, SQL_SEARCH_NONE, NULL);
-//
-// /* Execute query */
-// DEBUG(5, ("Executing query %s\n", query));
-// data->pwent = PQexec(handle, query);
-// data->currow = 0;
-//
-// /* Result? */
-// if (data->pwent == NULL) {
-// DEBUG(0, ("Error executing %s, %s\n", query, PQerrorMessage(handle)));
-// retval = NT_STATUS_UNSUCCESSFUL;
-// } else if (PQresultStatus(data->pwent) != PGRES_TUPLES_OK) {
-// DEBUG(0, ("Error executing %s, %s\n", query, PQresultErrorMessage(data->pwent)));
-// retval = NT_STATUS_UNSUCCESSFUL;
-// } else {
-// DEBUG(5, ("pgsqlsam_setsampwent succeeded(%d results)!\n", PQntuples(data->pwent)));
-// retval = NT_STATUS_OK;
-// }
-//
-// talloc_free(query);
-// return retval;
-//}
-
-/***************************************************************
- End enumeration of the passwd list.
- ****************************************************************/
-
-//static void pgsqlsam_endsampwent(struct pdb_methods *methods)
-//{
-// struct pdb_pgsql_data *data;
-//
-// SET_DATA_QUIET(data, methods);
-//
-// if (data->pwent != NULL) {
-// PQclear(data->pwent);
-// }
-//
-// data->pwent = NULL;
-// data->currow = 0;
-//
-// DEBUG(5, ("pgsql_endsampwent called\n"));
-//}
-
-/*****************************************************************
- Get one struct samu from the list (next in line)
- *****************************************************************/
-
-//static NTSTATUS pgsqlsam_getsampwent(struct pdb_methods *methods, struct samu *user)
-//{
-// struct pdb_pgsql_data *data;
-// NTSTATUS retval;
-//
-// SET_DATA(data, methods);
-//
-// if (data->pwent == NULL) {
-// DEBUG(0, ("invalid pwent\n"));
-// return NT_STATUS_INVALID_PARAMETER;
-// }
-//
-// retval = row_to_sam_account(data->pwent, data->currow, user);
-// data->currow++;
-//
-// return retval;
-//}
-
static NTSTATUS pgsqlsam_select_by_field(struct pdb_methods *methods, struct samu *user, enum sql_search_field field, const char *sname)
{
struct pdb_pgsql_data *data;
@@ -700,18 +619,6 @@
(*pdb_method)->rid_algorithm = pgsqlsam_rid_algorithm;
(*pdb_method)->new_rid = pgsqlsam_new_rid;
-/* (*pdb_method)->rename_sam_account = pgsqlsam_rename_sam_account; */
-/* (*pdb_method)->getgrsid = pgsqlsam_getgrsid; */
-/* (*pdb_method)->getgrgid = pgsqlsam_getgrgid; */
-/* (*pdb_method)->getgrnam = pgsqlsam_getgrnam; */
-/* (*pdb_method)->add_group_mapping_entry = pgsqlsam_add_group_mapping_entry; */
-/* (*pdb_method)->update_group_mapping_entry = pgsqlsam_update_group_mapping_entry; */
-/* (*pdb_method)->delete_group_mapping_entry = pgsqlsam_delete_group_mapping_entry; */
-/* (*pdb_method)->enum_group_mapping = pgsqlsam_enum_group_mapping; */
-/* (*pdb_method)->get_account_policy = pgsqlsam_get_account_policy; */
-/* (*pdb_method)->set_account_policy = pgsqlsam_set_account_policy; */
-/* (*pdb_method)->get_seq_num = pgsqlsam_get_seq_num; */
-
data = talloc(*pdb_method, struct pdb_pgsql_data);
(*pdb_method)->private_data = data;
Modified: branches/pdbsql_3_2/pdb_sql.c
===================================================================
--- branches/pdbsql_3_2/pdb_sql.c 2008-07-06 15:26:26 UTC (rev 128)
+++ branches/pdbsql_3_2/pdb_sql.c 2008-07-07 08:50:28 UTC (rev 129)
@@ -422,7 +422,6 @@
config_value_write(location, "group sid column",
CONFIG_GROUP_SID_DEFAULT),
sid_to_fstring(sid_str,
-// sid_string_dbg(sid,
pdb_get_group_sid(newpwd)));
}
@@ -582,7 +581,6 @@
"user sid column",
CONFIG_USER_SID_DEFAULT),
sid_to_fstring(sid_str, pdb_get_user_sid (newpwd)));
-// sid_string_dbg(pdb_get_user_sid (newpwd)));
} else {
query->part2[strlen(query->part2) - 1] = ')';
query->part1[strlen(query->part1) - 1] = ')';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2008-07-12 12:50:09
|
Revision: 131
http://pdbsql.svn.sourceforge.net/pdbsql/?rev=131&view=rev
Author: herwinw
Date: 2008-07-12 05:49:32 -0700 (Sat, 12 Jul 2008)
Log Message:
-----------
* Ported r130 to postgresql
* Removed compilation warning from mysql (acct_flags was an int, not a string)
Modified Paths:
--------------
branches/pdbsql_3_2/pdb_mysql.c
branches/pdbsql_3_2/pdb_pgsql.c
Modified: branches/pdbsql_3_2/pdb_mysql.c
===================================================================
--- branches/pdbsql_3_2/pdb_mysql.c 2008-07-11 14:02:52 UTC (rev 130)
+++ branches/pdbsql_3_2/pdb_mysql.c 2008-07-12 12:49:32 UTC (rev 131)
@@ -456,7 +456,6 @@
search->private_data, struct mysqlsam_search_state);
MYSQL_ROW row;
DOM_SID sid;
- struct samu *user = NULL;
if (state->current >= state->num_entries) {
return false;
@@ -470,13 +469,12 @@
entry->rid = sid.sub_auths[4];
}
- entry->acct_flags = talloc_strdup(search->mem_ctx,row[23]);
- entry->account_name = talloc_strdup(search->mem_ctx,row[6]);
- entry->fullname = talloc_strdup(search->mem_ctx,row[9]);
- entry->description = talloc_strdup(search->mem_ctx,row[14]);
+ entry->acct_flags = atoi(row[23]);
+ entry->account_name = talloc_strdup(search->mem_ctx,row[6]);
+ entry->fullname = talloc_strdup(search->mem_ctx,row[9]);
+ entry->description = talloc_strdup(search->mem_ctx,row[14]);
state->current += 1;
- TALLOC_FREE(user);
if ((entry->account_name == NULL)) {
DEBUG(0, ("talloc_strdup failed\n"));
Modified: branches/pdbsql_3_2/pdb_pgsql.c
===================================================================
--- branches/pdbsql_3_2/pdb_pgsql.c 2008-07-11 14:02:52 UTC (rev 130)
+++ branches/pdbsql_3_2/pdb_pgsql.c 2008-07-12 12:49:32 UTC (rev 131)
@@ -514,8 +514,18 @@
entry->rid = sid.sub_auths[4];
}
+ entry->acct_flags = atoi(PQgetvalue(r, row, 23));
+ entry->account_name = talloc_strdup(search->mem_ctx, PQgetvalue(r, row, 6));
+ entry->fullname = talloc_strdup(search->mem_ctx, PQgetvalue(r, row, 9));
+ entry->description = talloc_strdup(search->mem_ctx, PQgetvalue(r, row, 14));
+
search_state->currow++;
+ if ((entry->account_name == NULL)) {
+ DEBUG(0, ("talloc_strdup failed\n"));
+ return False;
+ }
+
return True;
}
@@ -533,6 +543,8 @@
search_state->pwent = NULL;
search_state->currow = 0;
+ talloc_free(search);
+
DEBUG(5, ("pgsqlsam_search_end called\n"));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|