summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/commands.sh2
-rw-r--r--tests/helpers/Makemodule.am3
-rw-r--r--tests/helpers/test_tiocsti.c27
3 files changed, 32 insertions, 0 deletions
diff --git a/tests/commands.sh b/tests/commands.sh
index b20e6f587..e0a9b0d13 100644
--- a/tests/commands.sh
+++ b/tests/commands.sh
@@ -32,6 +32,7 @@ TS_HELPER_SCRIPT="$top_builddir/test_script"
TS_HELPER_SIGRECEIVE="$top_builddir/test_sigreceive"
TS_HELPER_STRUTILS="$top_builddir/test_strutils"
TS_HELPER_SYSINFO="$top_builddir/test_sysinfo"
+TS_HELPER_TIOCSTI="$top_builddir/test_tiocsti"
TS_HELPER_UUID_PARSER="$top_builddir/test_uuid_parser"
# paths to commands
@@ -75,6 +76,7 @@ TS_CMD_MOUNTPOINT=${TS_CMD_MOUNTPOINT:-"$top_builddir/mountpoint"}
TS_CMD_NAMEI=${TS_CMD_NAMEI-"$top_builddir/namei"}
TS_CMD_PARTX=${TS_CMD_PARTX-"$top_builddir/partx"}
TS_CMD_RENAME=${TS_CMD_RENAME-"$top_builddir/rename"}
+TS_CMD_RUNUSER=${TS_CMD_RUNUSER-"$top_builddir/runuser"}
TS_CMD_REV=${TS_CMD_REV:-"$top_builddir/rev"}
TS_CMD_SCRIPT=${TS_CMD_SCRIPT-"$top_builddir/script"}
TS_CMD_SCRIPTREPLAY=${TS_CMD_SCRIPTREPLAY-"$top_builddir/scriptreplay"}
diff --git a/tests/helpers/Makemodule.am b/tests/helpers/Makemodule.am
index 0618e7578..3070a8bbc 100644
--- a/tests/helpers/Makemodule.am
+++ b/tests/helpers/Makemodule.am
@@ -15,3 +15,6 @@ check_PROGRAMS += test_sigreceive
test_sigreceive_SOURCES = tests/helpers/test_sigreceive.c
test_sigreceive_LDADD = $(LDADD) libcommon.la
+check_PROGRAMS += test_tiocsti
+test_tiocsti_SOURCES = tests/helpers/test_tiocsti.c
+
diff --git a/tests/helpers/test_tiocsti.c b/tests/helpers/test_tiocsti.c
new file mode 100644
index 000000000..c269dc037
--- /dev/null
+++ b/tests/helpers/test_tiocsti.c
@@ -0,0 +1,27 @@
+/*
+ * test_tiocsti - test security of TIOCSTI
+ *
+ * Written by Federico Bento <up201407890@alunos.dcc.fc.up.pt>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <sys/ioctl.h>
+
+int main(void)
+{
+ char *cmd = "id -u -n\n";
+ while(*cmd)
+ ioctl(0, TIOCSTI, cmd++);
+}