Alexander Nasonov's shared items

Wednesday, May 30, 2007

Smashing The Kernel Stack For Fun And Profit

After reading the great Firewall Spotting with broken CRC I continued reading Phrack #60.
Surprisenly, there is another OpenBSD article Smashing The Kernel Stack For Fun And Profit.
I enjoyed it even more.

Interesting OpenBSD commits

http://www.undeadly.org/cgi?action=article&sid=20070528213858 Especially this comment:
> Check protocol (TCP/UDP/ICMP/ICMP6) checksums of all incoming packets,
> and drop packets with invalid checksums. Without such a check, pf would
> return RST/ICMP errors even for packets with invalid checksums, which
> could be used to detect the presence of the firewall, reported by
> "Ed White" in http://www.phrack.org/phrack/60/p60-0x0c.txt.
The link above is broken, please go to http://www.phrack.org/issues.html?issue=60&id=12#article, very intersting reading.

Wednesday, May 02, 2007

Switching to modular-xorg and xfce4

I changed X11_TYPE to "modular" and added the following packages to my pkgchk.conf file:

x11/modular-xorg-server
x11/xf86-input-keyboard
x11/xf86-input-mouse
x11/xf86-video-ati
x11/xinit
x11/xterm
x11/xauth
x11/iceauth
meta-pkgs/modular-xorg-fonts
wm/ratpoison

All packages builds fine under FreeBSD, OpenBSD and Linux with a simple command:

pkg_chk -u -a

meta-pkgs/xfce4 builds without problems on Linux and FreeBSD too.

OpenBSD is a bit tricky. You should apply pkg/36346 OpenBSD patches for sysutills/fam.

Please add LOCALPATCHES pointing to an empty directory to your mk.conf, create $LOCALPATCHES/sysutils/fam/ directory and add copy patches to $LOCALPATCHES/sysutils/fam/mntent_compat.c++.patch and $LOCALPATCHES/sysutils/fam/IMonKQueue.c++.patch files respectively.

Update:

also add the patch below to $LOCALPATCHES/devel/glib2/localcharset.c.patch file
--- glib/libcharset/localcharset.c.pkgsrc       Sat May 12 21:37:52 2007
+++ glib/libcharset/localcharset.c      Sat May 12 21:41:30 2007
@@ -256,6 +256,10 @@
 
   /* Most systems support nl_langinfo (CODESET) nowadays.  */
   codeset = nl_langinfo (CODESET);
+#if defined(__OpenBSD__)
+  if(strcmp(codeset, "646") == 0)
+      codeset = "ASCII";
+#endif
 
 # else