1 diff -urN samba-3.0.8pre1/source/passdb/pdb_mysql.c samba-ziew/source/passdb/pdb_mysql.c
2 --- samba-3.0.8pre1/source/passdb/pdb_mysql.c Wed Sep 8 22:49:59 2004
3 +++ samba-ziew/source/passdb/pdb_mysql.c Mon Nov 1 15:55:13 2004
5 return NT_STATUS_INVALID_HANDLE;
8 - query = sql_account_query_select(data->location, update, SQL_SEARCH_NONE, NULL);
9 + query = sql_account_query_select(data->location, update, SQL_SEARCH_NONE, NULL, "=");
11 ret = mysql_query(data->handle, query);
14 return NT_STATUS_INVALID_PARAMETER;
17 - query = sql_account_query_select(data->location, True, field, esc_sname);
18 + query = sql_account_query_select(data->location, True, field, esc_sname, "=");
26 - query = sql_account_query_delete(data->location, esc);
27 + query = sql_account_query_delete(data->location, esc, "=");
31 diff -urN samba-3.0.8pre1/source/passdb/pdb_pgsql.c samba-ziew/source/passdb/pdb_pgsql.c
32 --- samba-3.0.8pre1/source/passdb/pdb_pgsql.c Wed Sep 8 22:49:59 2004
33 +++ samba-ziew/source/passdb/pdb_pgsql.c Mon Nov 1 15:55:13 2004
36 SET_DATA( data, methods ) ;
38 - query = sql_account_query_select(data->location, update, SQL_SEARCH_NONE, NULL);
39 + query = sql_account_query_select(data->location, update, SQL_SEARCH_NONE, NULL, "ILIKE");
42 DEBUG( 5, ("Executing query %s\n", query) ) ;
44 //tmp_sname = smb_xstrdup(sname);
45 PQescapeString( esc, sname, strlen(sname) ) ;
47 - query = sql_account_query_select(data->location, True, field, esc);
48 + query = sql_account_query_select(data->location, True, field, esc, "ILIKE" );
51 DEBUG( 5, ("Executing query %s\n", query) ) ;
54 PQescapeString( esc, sname, strlen(sname) ) ;
56 - query = sql_account_query_delete(data->location, esc);
57 + query = sql_account_query_delete(data->location, esc, "ILIKE");
60 result = PQexec( data->handle, query ) ;
61 diff -urN samba-3.0.8pre1/source/passdb/pdb_sql.c samba-ziew/source/passdb/pdb_sql.c
62 --- samba-3.0.8pre1/source/passdb/pdb_sql.c Wed Sep 8 22:49:59 2004
63 +++ samba-ziew/source/passdb/pdb_sql.c Mon Nov 1 15:55:13 2004
65 return (const char *)v;
68 -char *sql_account_query_select(const char *data, BOOL update, enum sql_search_field field, const char *value)
69 +char *sql_account_query_select(const char *data, BOOL update, enum sql_search_field field, const char *value, const char * eq_op)
71 const char *field_string;
77 - "SELECT %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s FROM %s WHERE %s = '%s'",
78 + "SELECT %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s FROM %s WHERE %s %s '%s'",
79 config_value_read(data, "logon time column",
80 CONFIG_LOGON_TIME_DEFAULT),
81 config_value_read(data, "logoff time column",
83 config_value_read(data, "unknown 6 column",
84 CONFIG_UNKNOWN_6_DEFAULT),
85 config_value(data, "table", CONFIG_TABLE_DEFAULT),
87 + field_string, eq_op, value
92 -char *sql_account_query_delete(const char *data, const char *esc)
93 +char *sql_account_query_delete(const char *data, const char *esc, const char *eq_op)
97 - asprintf(&query, "DELETE FROM %s WHERE %s = '%s'",
98 + asprintf(&query, "DELETE FROM %s WHERE %s %s '%s'",
99 config_value(data, "table", CONFIG_TABLE_DEFAULT),
100 config_value_read(data, "username column",
101 - CONFIG_USERNAME_DEFAULT), esc);
102 + CONFIG_USERNAME_DEFAULT), eq_op, esc);