e66545b
This disables actions -- they're mostly useless anyways, and possess a security
e66545b
hazard (in past, configuation file with broken escaping was created, and we
e66545b
have to ignore it).
e66545b
e66545b
Lubomir Kundrak <lkundrak@redhat.com>
e66545b
e66545b
diff -urp centerim-4.22.3.orig/src/centerim.cc centerim-4.22.3/src/centerim.cc
e66545b
--- centerim-4.22.3.orig/src/centerim.cc	2008-03-11 21:40:28.000000000 +0100
e66545b
+++ centerim-4.22.3/src/centerim.cc	2008-03-25 22:23:35.000000000 +0100
e66545b
@@ -755,7 +755,7 @@ void centerim::checkmail() {
e66545b
 
e66545b
 void centerim::checkconfigs() {
e66545b
     static const char *configs[] = {
e66545b
-	"sounds", "colorscheme", "actions", "external", "keybindings", 0
e66545b
+	"sounds", "colorscheme", "external", "keybindings", 0
e66545b
     };
e66545b
 
e66545b
     struct stat st;
e66545b
@@ -778,12 +778,9 @@ void centerim::checkconfigs() {
e66545b
 			face.redraw();
e66545b
 			break;
e66545b
 		    case 2:
e66545b
-			conf.loadactions();
e66545b
-			break;
e66545b
-		    case 3:
e66545b
 			external.load();
e66545b
 			break;
e66545b
-		    case 4:
e66545b
+		    case 3:
e66545b
 			conf.loadkeys();
e66545b
 			break;
e66545b
 		}
e66545b
@@ -1147,8 +1144,13 @@ icqface::eventviewresult centerim::reade
e66545b
 	    break;
e66545b
 
e66545b
 	case icqface::open:
e66545b
-	    if(const imurl *m = static_cast<const imurl *>(&ev))
e66545b
-		conf.execaction("openurl", m->geturl());
e66545b
+	    if(const imurl *m = static_cast<const imurl *>(&ev)) {
e66545b
+	        if (fork () == 0) {
e66545b
+	            face.log (m->geturl());
e66545b
+	            execlp("xdg-open", "xdg-open", m->geturl().c_str(), NULL);
e66545b
+	            exit (-1);
e66545b
+	        }
e66545b
+	    }
e66545b
 	    break;
e66545b
 
e66545b
 	case icqface::accept:
e66545b
diff -urp centerim-4.22.3.orig/src/icqconf.cc centerim-4.22.3/src/icqconf.cc
e66545b
--- centerim-4.22.3.orig/src/icqconf.cc	2008-03-11 21:40:28.000000000 +0100
e66545b
+++ centerim-4.22.3/src/icqconf.cc	2008-03-25 22:21:50.000000000 +0100
e66545b
@@ -212,7 +212,6 @@ void icqconf::load() {
e66545b
     loadmainconfig();
e66545b
     loadkeys();
e66545b
     loadcolors();
e66545b
-    loadactions();
e66545b
     loadcaptcha();
e66545b
     external.load();
e66545b
 }
e66545b
diff -urp centerim-4.22.3.orig/src/icqdialogs.cc centerim-4.22.3/src/icqdialogs.cc
e66545b
--- centerim-4.22.3.orig/src/icqdialogs.cc	2008-03-11 21:40:28.000000000 +0100
e66545b
+++ centerim-4.22.3/src/icqdialogs.cc	2008-03-25 22:21:50.000000000 +0100
e66545b
@@ -1270,7 +1270,6 @@ bool icqface::updateconf(icqconf::regsou
e66545b
 
e66545b
 	i = t.addnode(_(" Communications "));
e66545b
 	t.addleaff(i, 0, 19, _(" SMTP server : %s "), smtp.c_str());
e66545b
-	t.addleaff(i, 0, 31, _(" HTTP browser : %s "), browser.c_str());
e66545b
 	t.addleaff(i, 0, 24, _(" HTTP proxy server : %s "), httpproxy.c_str());
e66545b
 
e66545b
 	if(!httpproxy.empty())
e66545b
@@ -1424,10 +1423,6 @@ bool icqface::updateconf(icqconf::regsou
e66545b
 		    case 30:
e66545b
 			cm = (cm == icqconf::cmproto ? icqconf::cmstatus : icqconf::cmproto );
e66545b
 			break;
e66545b
-		    case 31:
e66545b
-		        tmp = inputstr(_("HTTP browser to use: "), browser);
e66545b
-			if(!tmp.empty()) browser = tmp;
e66545b
-		        break;
e66545b
 		    case 32:    
e66545b
 		        conf.setleftpanelwidth(atol(inputstr(_("Left panel width: "), 
e66545b
 		            strint(conf.getleftpanelwidth())).c_str()));
e66545b
@@ -2060,7 +2055,6 @@ bool icqface::setljparams(imxmlevent *ev
e66545b
 			break;
e66545b
 
e66545b
 		    case 20: LJP_LIST("mood", moods, _("(none/custom)")); break;
e66545b
-		    case 21: LJP_STR("music", _("Currently playing: ")); break;
e66545b
 		    case 22: LJP_LIST("picture", pictures, _("(default)")); break;
e66545b
 		    case 23: LJP_STR("mood", _("Current mood: ")); break;
e66545b
 		    case 25: LJP_STR("taglist", _("Tags for the entry: ")); break;
e66545b
@@ -2070,9 +2064,6 @@ bool icqface::setljparams(imxmlevent *ev
e66545b
 		    case 33: LJP_BOOL("backdated"); break;
e66545b
 		}
e66545b
 
e66545b
-	    } else if(b == 1) {
e66545b
-		ev->setfield("music", conf.execaction("detectmusic"));
e66545b
-
e66545b
 	    } else if(b == 2) {
e66545b
 		r = true;
e66545b
 
e66545b
diff -urp centerim-4.22.3.orig/src/icqface.cc centerim-4.22.3/src/icqface.cc
e66545b
--- centerim-4.22.3.orig/src/icqface.cc	2008-03-11 21:40:28.000000000 +0100
e66545b
+++ centerim-4.22.3/src/icqface.cc	2008-03-25 22:21:50.000000000 +0100
e66545b
@@ -2246,7 +2246,11 @@ void icqface::showextractedurls() {
e66545b
 	    m.additem(" " + *i);
e66545b
 
e66545b
 	if(n = m.open())
e66545b
-	    conf.execaction("openurl", extractedurls[n-1]);
e66545b
+	    if (fork () == 0) {
e66545b
+	        log (extractedurls[n-1]);
e66545b
+	        execlp("xdg-open", "xdg-open", extractedurls[n-1].c_str(), NULL);
e66545b
+		exit (-1);
e66545b
+	    }
e66545b
 
e66545b
 	restoreworkarea();
e66545b
     }