zed.0xff.me
radare2 0.8.x unnecessary memory zeroing fix
the bug only appears when debugging 32-bit binary on a 64-bit host
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
diff -r e96275c214b5 libr/io/p/io_ptrace.c --- a/libr/io/p/io_ptrace.c Mon Oct 24 04:35:42 2011 +0200 +++ b/libr/io/p/io_ptrace.c Mon Oct 24 16:48:31 2011 +0300 @@ -34,9 +34,11 @@ #if __OpenBSD__ || __KFBSD__ #define debug_read_raw(x,y) ptrace(PTRACE_PEEKTEXT, (pid_t)(x), (caddr_t)(y), 0) #define debug_write_raw(x,y,z) ptrace(PTRACE_POKEDATA, (pid_t)(x), (caddr_t)(y), (int)(size_t)(z)) +typedef int ptrace_word; // int ptrace(int request, pid_t pid, caddr_t addr, int data); #else #define debug_read_raw(x,y) ptrace(PTRACE_PEEKTEXT, x, y, 0) #define debug_write_raw(x,y,z) ptrace(PTRACE_POKEDATA, x, y, z) +typedef void* ptrace_word; // long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); #endif static int debug_os_read_at(int pid, ut32 *buf, int sz, ut64 addr) { @@ -63,10 +65,11 @@ } static int ptrace_write_at(int pid, const ut8 *pbuf, int sz, ut64 addr) { - ut32 *buf = (ut32*)pbuf; - ut32 words = sz / sizeof (ut32); - ut32 last = sz % sizeof (ut32); - ut32 x, lr, *at = (ut32*)(size_t)addr; + ptrace_word *buf = (ptrace_word*)pbuf; + ut32 words = sz / sizeof (ptrace_word); + ut32 last = sz % sizeof (ptrace_word); + ut32 x, *at = (ptrace_word*)(size_t)addr; + ptrace_word lr; if (sz<1 || addr==UT64_MAX) return -1; for (x=0; x<words; x++) |
лечим ConsoleKit и PowerDevil от Introspectable/Introspect
В настройках KDE power management появились такие сообщения:
There are some issues in your configuration. Please check the Capabilities page for more details.
ConsoleKit was not found active on your PC, or PowerDevil cannot contact it. ConsoleKit lets PowerDevil detect whether the current session is active, which is useful if you have more than one user logged into your system at any one time.
А также сообщения в логах вот такого вида:
Oct 26 11:36:30 localhost dbus-daemon: Rejected send message, 1 matched rules; type="method_call", sender=":1.32" (uid=1000 pid=6311 comm="/usr/bin/systemsettings) interface="org.freedesktop.DBus.Introspectable" member="Introspect" error name="(unset)" requested_reply=0 destination="org.freedesktop.ConsoleKit" (uid=0 pid=4771 comm="/usr/sbin/console-kit-daemon))
Лекарство:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
[PATCH] ng_netflow: ifIndex from vlan
Во время оптимизации ng_netflow и выносом его на отдельную машину возникла такая проблема, что вместе с логами трафика из ng_netflow нужно сохранять и номер vlan’а, в котором пришел этот трафик.
Самое очевидное – использовать для этого netflow-поле ifIndex, благо трафик собирается с единственного (пока) роутера, и физических интерфейсов на нём негусто, так что ifIndex фактически не используется.
Самое неочевидное – заставить ng_netflow прописывать в потоках в ifIndex номер vlan’а..
Я пошел недеструктивным путём, и постарался при добавлении нового функционала ничего не сломать :)
В результате в команду NGM_NETFLOW_SETCONFIG добавлено новое значение: NG_NETFLOW_CONF_VLAN = 16, и включается новый режим на интерфейсе так:
(вместо iface=0 и conf=19 пропишите соответственно номер интерфейса и флаги, которые вам нужны, обращая внимание на +16 к значению conf если нужен новый режим установки ifIndex по vlan’у)
1 2 3 |
ngctl msg netflow: setconfig \{ iface=0 conf=19 \} # 16 = NG_NETFLOW_CONF_VLAN
# 2 = NG_NETFLOW_CONF_EGRESS
# 1 = NG_NETFLOW_CONF_INGRESS
|
а вот, собственно, и патч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
|
proftpd utf8
Патчим proftpd на тему отображения в ftptop нормальных русских (ну, или японских, в общем utf8 :) букв
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
после применения патча также нужно прогнать (в смысле запустить) ./autoconf, чтобы он перегенерил configure.
баг и обсуждение на багтрекере proftpd
в данный момент девелоперы proftpd активно фиксят поддержку utf8. так что скоро ждем в релизе :)
еще у него была проблемка с мусклом при включенном NLS. вылечил так:
1 2 3 4 5 6 7 8 9 10 11 |
|
FreeBSD & more than 32 arpd's
0. Предыстория
- Есть фрибсд-сервер.
- На сервере есть куча интерфейсов (~200).
- На некоторых интерфейсах надо пускать arpd.
1. Bug
- 16 arpd-ей запустились нормально.
- На запуске 17-го получаем “arpd: bad interface configuration: not IP or Ethernet”
- Копание в исходниках показало что проблема в libdnet, в коем гвоздями прибито не юзать /dev/bpf’ы с номером более 32
3. Patch for /usr/ports/net/libdnet
1 2 3 4 5 6 7 8 9 10 11 |
|