I am building a CLI APP using PHP in which I need to send notifications using notify-send
as a root
user.
Now I know I need to set DBUS_SESSION_BUS_ADDRESS
before I try to send notification. otherwise it would not work.
Now this below code:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=".$DBUS_SESSION." /usr/bin/notify-send \"TITLE\" \"MESSAGE\"");
system($c);
Throws an error
system(): NULL byte detected. Possible attack in /filepath.php on line 186
from my extensive debugging I have found $DBUS_SESSION
is causing the issue. However If I hard code the $DBUS_SESSION
value then the command works without a problem!.
like this:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=5ded8923178f8ea19642e36a5a37eb76 /usr/bin/notify-send \"sdfTITLE\" \"MESSAGE\"");
system($c);
What is going on here? How can I solve this?