g_type_init();
setenv("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/spotlight.ipc", 1);
+ become_root();
client = tracker_connect(FALSE);
+ unbecome_root();
if (!client) {
LOG(log_error, logtype_sl, "Failed connecting to Tracker");
if (slq->slq_state == SLQ_STATE_RUNNING) {
/* Run the query */
LOG(log_debug, logtype_sl, "sl_mod_fetch_result: calling tracker");
+ become_root();
array = tracker_search_query(client,
time(NULL),
slq->slq_service,
NULL,
FALSE,
&error);
+ unbecome_root();
if (error) {
slq->slq_state = SLQ_STATE_DONE;
dup2(type_configs[logtype_sl].fd, 2);
#endif
+ become_root();
connection = tracker_sparql_connection_get(NULL, &error);
#if 0
/*
*/
manager = tracker_miner_manager_new_full(FALSE, &error);
#endif
+ unbecome_root();
if (!connection) {
LOG(log_error, logtype_sl, "Couldn't obtain a direct connection to the Tracker store: %s",
tracker_sparql_connection_query_async(connection, sparql_query, NULL, tracker_cb, slq);
#endif
+ become_root();
slq->slq_tracker_cursor = tracker_sparql_connection_query(connection, sparql_query, NULL, &error);
+ unbecome_root();
if (error) {
LOG(log_error, logtype_sl, "Couldn't query the Tracker Store: '%s'",
LOG(log_debug, logtype_sl, "sl_mod_fetch_result: now interating Tracker results cursor");
while ((slq->slq_state == SLQ_STATE_RUNNING) && (i <= MAX_SL_RESULTS)) {
+ become_root();
qres = tracker_sparql_cursor_next(slq->slq_tracker_cursor, NULL, &error);
+ unbecome_root();
+
if (!qres)
break;
firstmatch = false;
}
+ become_root();
uri = tracker_sparql_cursor_get_string(slq->slq_tracker_cursor, 0, NULL);
+ unbecome_root();
+
EC_NULL_LOG( path = tracker_to_unix_path(uri) );
if ((id = cnid_for_path(slq->slq_vol->v_cdb, slq->slq_vol->v_path, path, &did)) == CNID_INVALID) {
GFile *file = NULL;
file = g_file_new_for_commandline_arg(f);
+
+ become_root();
tracker_miner_manager_index_file(manager, file, &error);
+ unbecome_root();
+
if (error)
LOG(log_error, logtype_sl, "sl_mod_index_file(\"%s\"): indexing failed", f);
else