Changeset - 3725d1cf5bfc
[Not reviewed]
default
0 1 0
Ethan Zonca (ethanzonca) - 16 years ago 2010-02-21 22:47:04
e@ethanzonca.com
Updated auth function
1 file changed with 6 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/server/mysql.c
Show inline comments
 
@@ -303,77 +303,82 @@ void set_renderpower(distrend_mysql_conn
 
  mysqlQuery(conn, query, 0);
 
  free(query);
 
}
 

	
 
int change_job_priority(distrend_mysql_conn_t conn, int32_t jobkey, int32_t newpriority)
 
{
 
  char *query;
 

	
 
  _distren_asprintf(&query, "UPDATE `distren`.`Job` SET `Priority`=%d WHERE `Job_Key`=%d",
 
		    newpriority, jobkey);
 
  mysqlQuery(conn, query, 0);
 

	
 
  return 0;
 
}
 

	
 
int find_jobframe(distrend_mysql_conn_t conn, int32_t slavekey, jobnum_t *jobkey, int32_t *framenum)
 
{
 
  distrend_mysql_result_t result;
 
  char *query;
 
  MYSQL_ROW row;
 

	
 
  int rtn;
 

	
 
  _distren_asprintf(&query, "CALL `distren`.`Frame_Get`(%d);", slavekey);
 

	
 
  result = mysqlQuery(conn, query, 2);
 
  free(query);
 

	
 
  if(!result)
 
    return 1;
 

	
 
  row = mysql_fetch_row(result->mysqlresult);
 
  if(!row)
 
    {
 
      mysqlResultFree(conn, result);
 
      return 1;
 
    }
 

	
 
  rtn = distrend_mysql_getint(row, 0, (int32_t *)jobkey);
 
  rtn += distrend_mysql_getint(row, 1, framenum);
 
  
 
  mysqlResultFree(conn, result);
 

	
 
  return rtn;
 
}
 

	
 
int auth_slave(distrend_mysql_conn_t conn, int32_t slavekey, char *slavepass)
 
{
 
  // Return values:
 
  // -- 2-user doesn't exist
 
  // -- 1-pass is wrong
 
  // -- 0-parameters correct
 

	
 
  distrend_mysql_result_t result;
 
  char *query;
 
  MYSQL_ROW row;
 
  int32_t *isAuth = 0;
 

	
 
  int rtn;
 
  mysql_real_escape_string(conn->mysqlconn,slavepass,slavepass,(unsigned int)strlen(slavepass));
 

	
 
  _distren_asprintf(&query, "CALL `distren`.`Slave_Auth`(%d,'%s');", slavekey, slavepass);
 
  _distren_asprintf(&query, "CALL `distren`.`Slave_Check`(%d,'%s');", slavekey, slavepass);
 

	
 
  result = mysqlQuery(conn, query, 2);
 
  free(query);
 

	
 
  if(!result)
 
    return 1;
 

	
 
  row = mysql_fetch_row(result->mysqlresult);
 
  if(!row)
 
    {
 
      mysqlResultFree(conn, result);
 
      return 1;
 
    }
 

	
 
  rtn = distrend_mysql_getint(row, 0, (int32_t *)isAuth);
 
  
 
  mysqlResultFree(conn, result);
 

	
 
  return rtn;
 
}
0 comments (0 inline, 0 general)