+2009-12-10 Markus Gutschke <markus@shellinabox.com>
+
+ * Add .note.GNU-stack to all object files so that the generated
+ binary doesn't erroneously request an executable stack.
+
2009-12-03 Markus Gutschke <markus@shellinabox.com>
* Allow retrieval of the user's default login shell from
clean-local:
-rm -rf shellinaboxd.1 \
- shellinaboxd.ps
+ shellinaboxd.ps
-rm -rf debian/shellinabox \
- debian/shellinabox*.debhelper* \
+ debian/shellinabox*.debhelper* \
debian/shellinabox.substvars \
- debian/tmp
+ debian/tmp
+ -rm -rf GNU-stack
.css.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
.gif.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
+
.html.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
+
.ico.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
+
shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
+
.wav.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
+
clean-local:
-rm -rf shellinaboxd.1 \
- shellinaboxd.ps
+ shellinaboxd.ps
-rm -rf debian/shellinabox \
- debian/shellinabox*.debhelper* \
+ debian/shellinabox*.debhelper* \
debian/shellinabox.substvars \
- debian/tmp
+ debian/tmp
+ -rm -rf GNU-stack
.css.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
.gif.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
.html.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
.ico.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
.wav.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
+ @-printf '\000' >GNU-stack && \
+ objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
+ rm -f GNU-stack
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
#define STDC_HEADERS 1
/* Most recent revision number in the version control system */
-#define VCS_REVISION "198"
+#define VCS_REVISION "200"
/* Version number of package */
#define VERSION "2.10"
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-VCS_REVISION=198
+VCS_REVISION=200
cat >>confdefs.h <<_ACEOF
dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
-VCS_REVISION=198
+VCS_REVISION=200
AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system])
};
VT100.prototype.about = function() {
- alert("VT100 Terminal Emulator " + "2.10 (revision 198)" +
+ alert("VT100 Terminal Emulator " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};
};
ShellInABox.prototype.about = function() {
- alert("Shell In A Box version " + "2.10 (revision 198)" +
+ alert("Shell In A Box version " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
};
VT100.prototype.about = function() {
- alert("VT100 Terminal Emulator " + "2.10 (revision 198)" +
+ alert("VT100 Terminal Emulator " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};