[program-nazi] segfault ports/security/termlog FreeBSD 8.1

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

[program-nazi] segfault ports/security/termlog FreeBSD 8.1

Непрочитанное сообщение Alex Keda » 2010-07-28 12:31:52

имеем ports/security/termlog и FreeBSD 8.1 i386
не работает

Код: Выделить всё

srv6# truss /usr/local/bin/termlog -C /var/log/termlog/2010/07/28 -f -n 30
__sysctl(0xbfbfe4e4,0x2,0xbfbfe4ec,0xbfbfe4f0,0x0,0x0) = 0 (0x0)
mmap(0x0,328,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 671645696 (0x28088000)
munmap(0x28088000,328)                           = 0 (0x0)
__sysctl(0xbfbfe548,0x2,0x2807ee3c,0xbfbfe550,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 671645696 (0x28088000)
issetugid(0x280778cb,0xbfbfea0c,0x104,0x0,0x0,0x0) = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,00)     = 2 (0x2)
read(2,"Ehnt\^A\0\0\0\M^@\0\0\0\M-s\0\0"...,128) = 128 (0x80)
lseek(2,0x80,SEEK_SET)                           = 128 (0x80)
read(2,"/lib:/usr/lib:/usr/lib/compat:/u"...,243) = 243 (0xf3)
close(2)                                         = 0 (0x0)
access("/lib/libmd.so.5",0)                      = 0 (0x0)
open("/lib/libmd.so.5",O_RDONLY,00)              = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483841,size=61600,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,65536,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671678464 (0x28090000)
mmap(0x28090000,61440,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671678464 (0x28090000)
mmap(0x2809f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xe000) = 671739904 (0x2809f000)
close(2)                                         = 0 (0x0)
access("/lib/libthr.so.3",0)                     = 0 (0x0)
open("/lib/libthr.so.3",O_RDONLY,027757762474)   = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483846,size=76540,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,86016,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671744000 (0x280a0000)
mmap(0x280a0000,73728,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671744000 (0x280a0000)
mmap(0x280b2000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0x11000) = 671817728 (0x280b2000)
mprotect(0x280b3000,8192,PROT_READ|PROT_WRITE)   = 0 (0x0)
close(2)                                         = 0 (0x0)
access("/lib/libc.so.7",0)                       = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY,027757762474)     = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483837,size=1142616,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x2000)      = 4096 (0x1000)
mmap(0x0,1150976,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671830016 (0x280b5000)
mmap(0x280b5000,1028096,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671830016 (0x280b5000)
mmap(0x281b0000,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xfb000) = 672858112 (0x281b0000)
mprotect(0x281b6000,98304,PROT_READ|PROT_WRITE)  = 0 (0x0)
close(2)                                         = 0 (0x0)
sysarch(0xa,0xbfbfe5b0,0x2804e37b,0x2807d2f8,0x28060dd9,0x2807d2f8) = 0 (0x0)
mmap(0x0,592,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,592)                           = 0 (0x0)
mmap(0x0,824,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,824)                           = 0 (0x0)
mmap(0x0,4064,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,4064)                          = 0 (0x0)
mmap(0x0,21896,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,21896)                         = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
__sysctl(0xbfbfe564,0x2,0x281b76a0,0xbfbfe56c,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
getpid()                                         = 72055 (0x11977)
__sysctl(0xbfbfe54c,0x2,0x280b4cd0,0xbfbfe558,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4e4,0x2,0xbfbfe47c,0xbfbfe4ec,0x280b1503,0xd) = 0 (0x0)
__sysctl(0xbfbfe47c,0x3,0x280b3fc8,0xbfbfe558,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4e8,0x2,0x281bc7c0,0xbfbfe4f0,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe024,0x2,0x281bc360,0xbfbfe02c,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfdf44,0x2,0xbfbfdedc,0xbfbfdf4c,0x281a7cf4,0xc) = 0 (0x0)
__sysctl(0xbfbfdedc,0x2,0x281bc458,0xbfbfdf88,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0xbfbfe033,1024)     ERR#2 'No such file or directory'
issetugid(0x281a6a09,0xbfbfe033,0x400,0xbfbfe02c,0x0,0x0) = 0 (0x0)
break(0x8100000)                                 = 0 (0x0)
__sysctl(0xbfbfe2b4,0x2,0xbfbfe2bc,0xbfbfe2c0,0x0,0x0) = 0 (0x0)
mmap(0x0,1048576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
mmap(0x282ce000,204800,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674029568 (0x282ce000)
munmap(0x281ce000,204800)                        = 0 (0x0)
thr_self(0x28201140,0x280b3fc8,0xbfbfe558,0x0,0x0,0x0) = 0 (0x0)
mmap(0xbf9ff000,4096,PROT_NONE,MAP_ANON,-1,0x0)  = -1080037376 (0xbf9ff000)
thr_set_name(0x1880c,0x280b154b,0x0,0x1000,0xffffffff,0x0) = 0 (0x0)
rtprio_thread(0x0,0x1880c,0xbfbfe4ec,0x2808a400,0x328,0x2808c28c) = 0 (0x0)
sysarch(0xa,0xbfbfe500,0xbfbfe554,0x2808c28c,0x280fff49,0x280b2c34) = 0 (0x0)
sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigaction(32,{ 0x280aa620 SA_RESTART|SA_SIGINFO ss_t },0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
chdir("/var/log/termlog/2010/07/28")             = 0 (0x0)
modfind(0x804b3cb,0xbfbfeb94,0x804b3b6,0xbfbfeb3c,0xbfbfeb94,0xbfbfeb94) = 470 (0x1d6)
ioctl(0,TIOCGETA,0xbfbfea90)                     = 0 (0x0)
ioctl(0,FIODGNAME,0xbfbfeab8)                    = 0 (0x0)
socket(PF_LOCAL,SOCK_DGRAM,0)                    = 2 (0x2)
fcntl(2,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
connect(2,{ AF_UNIX "/var/run/logpriv" },106)    = 0 (0x0)
sigaction(SIGUSR1,{ 0x8049840 SA_RESTART ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0)
_umtx_op(0xbfbfea2c,0x3,0x1,0x0,0x0,0x2807d6a0)  = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
mmap(0xbf8fe000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1081090048 (0xbf8fe000)
mprotect(0xbf8fe000,4096,PROT_NONE)              = 0 (0x0)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
_umtx_op(0x280b3900,0xd,0x0,0x0,0x0,0x280b3900)  = 0 (0x0)
_umtx_op(0x280b3900,0xc,0x0,0x0,0x0,0x2808e0a0)  = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 3 (0x3)
mmap(0xbf7fd000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1082142720 (0xbf7fd000)
fstat(3,{ mode=-rw-r--r-- ,inode=23596,size=12144,blksize=16384 }) = 0 (0x0)
mprotect(0xbf7fd000,4096,PROT_NONE)              = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 4 (0x4)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
mmap(0x0,12144,PROT_READ,MAP_SHARED,4,0x0)       = 672980992 (0x281ce000)
sigprocmask(SIG_BLOCK,0x0,0x0)                   = 0 (0x0)
stat("//dev/pts/0",{ mode=crw--w---- ,inode=113,size=0,blksize=4096 }) = 0 (0x0)
mmap(0x0,1048576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674234368 (0x28300000)
stat("//dev/pts/0",{ mode=crw--w---- ,inode=113,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 5 (0x5)
open("//dev/pts/0",O_NONBLOCK,00)                = 6 (0x6)
ioctl(5,SNPSTTY,0xbf9fe694)                      = 0 (0x0)
close(6)                                         = 0 (0x0)
clock_gettime(13,{1280309256.000000000 })        = 0 (0x0)
open("h10282_pts/0_1280309256.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
stat("//dev/pts/2",{ mode=crw--w---- ,inode=115,size=0,blksize=4096 }) = 0 (0x0)
stat("//dev/pts/2",{ mode=crw--w---- ,inode=115,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 6 (0x6)
open("//dev/pts/2",O_NONBLOCK,00)                = 7 (0x7)
ioctl(6,SNPSTTY,0xbf9fe694)                      = 0 (0x0)
close(7)                                         = 0 (0x0)
clock_gettime(13,{1280309256.000000000 })        = 0 (0x0)
open("lissyara_pts/2_1280309256.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
stat("//dev/pts/3",{ mode=crw--w---- ,inode=117,size=0,blksize=4096 }) = 0 (0x0)
stat("//dev/pts/3",{ mode=crw--w---- ,inode=117,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 7 (0x7)
open("//dev/pts/3",O_NONBLOCK,00)                = 8 (0x8)
ioctl(7,SNPSTTY,0xbf9fe694)                      = 0 (0x0)
close(8)                                         = 0 (0x0)
clock_gettime(13,{1280309256.000000000 })        = 0 (0x0)
open("lissyara_pts/3_1280309256.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
nanosleep({0.500000000 })                        = 0 (0x0)
fstat(3,{ mode=-rw-r--r-- ,inode=23596,size=12144,blksize=16384 }) = 0 (0x0)
nanosleep({0.500000000 })                        = 0 (0x0)
select(8,{5 6 7},0x0,0x0,{1.000000 })            = 1 (0x1)
ioctl(6,FIONREAD,0xbf8fbf4c)                     = 0 (0x0)
read(6,"ioctl(6,SNPSTTY,0xbf9fe694)\t\t"...,992) = 992 (0x3e0)
SIGNAL 11 (SIGSEGV)
process exit, rval = 0
если создать директорию

Код: Выделить всё

/var/log/termlog/2010/07/28/lissyara_pts
то работает. но не могу же для каждого юзера субдиректорию создавать =(((

если я правильно понимаю, сменилось местоположение консолей, по сравнению с 7, но почему оно префикс стало прилепалять - непонимаю...
Последний раз редактировалось hizel 2010-07-28 14:58:12, всего редактировалось 1 раз.
Причина: :!
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 12:39:00

отписать автору
сказать что он урод и пусть фиксит
за одно обновить порты
а вдруг уже пофиксили


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 12:49:51

не пофиксили.
последние правки в этот порт я вносил, пару лет назад =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 12:52:34

f_andrey писал(а):Кстати не оно? http://lists.freebsd.org/pipermail/free ... 18757.html
нет. не оно.
он пытается открыть на запись файл в несуществующей директории.
откуда она берётся - понятно, лезет в utmp, а там такое:
srv6# w

Код: Выделить всё

13:50  up 11 days, 22:32, 3 users, load averages: 1,12 1,25 1,29
USER             TTY      FROM              LOGIN@  IDLE WHAT
h10282           pts/0    85.236.17.194    12:10      47 mc
lissyara         pts/2    195.93.240.106   13:14       - w
lissyara         pts/3    195.93.240.106   13:25      24 _su (csh)
srv6#    
вот из сложения певой и второй колонки и получается тот самый путь с несуществующей директорией.
надо сделать чё-то типа

Код: Выделить всё

str_replace("/","_",$string)
над результатом конкатенации столбцов USER и TTY до того как добавлять полученное значение в путь
тока я на сях не умею...
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 13:00:09

файл termlog.c

ищешь

Код: Выделить всё

thistty = rindex(thistty, '/');
if(thistty)
+{
     thistty++;
+   thistty++;
+}

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 13:11:34

не не то

надо подумать

это еще кстати фигня
привыкай к тому что на 9 и выше этот термлог вообще не будет работать

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:13:37

до 9 в продакшен ещё годик...
может больше.
к тому времени либо пофиксят либо буду искать когонить чтоб за денежку пофиксили - чую там правки будет немеряно - проще переписать будет
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:14:44

Гость писал(а):не не то

надо подумать
а помоему именно то. надо tty который в путь добавляется обработать на предмет исключения/замены прямых слешей в нём и всё.
вот тока найти не могу где это в сорцах
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:16:45

хм... действительно а чё эта херь делает -

Код: Выделить всё

        thistty = ttyname(0);
        if (thistty) {
                thistty = rindex(thistty, '/');
                if (thistty)
                        thistty++;
        }
всё что справа от слэша же берёт? а почему не работает
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 13:30:27

отменяй то исправление
и

termlog.c

в функции processutmp

Код: Выделить всё

-   struct utmp *utmp, *up;
+   struct utmp *utmp, *up, utmp_rw;
ниже в этой же функции

Код: Выделить всё

for(i = 0; i < n; i++) {
-           up = &utmp[i];
+          memcpy(utmp_rw, utmp[i], sizeof(utmp_rw));
+          up = &utmp_rw;
+          rindex(up->ut_line,'/') ++;

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:40:35

не компилиццо

Код: Выделить всё

===>  Building for termlog-2.5_1
cc -O2 -pipe -fno-strict-aliasing  -I. -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -g -DNDEBUG -c termlog.c
termlog.c:68: warning: initialization discards qualifiers from pointer target type
termlog.c: In function 'processutmp':
termlog.c:527: error: incompatible type for argument 1 of 'memcpy'
termlog.c:527: error: incompatible type for argument 2 of 'memcpy'
termlog.c:529: error: lvalue required as increment operand
*** Error code 1

Stop in /tmp/home/usr_moved/ports/security/termlog/work/termlog-2.5.
*** Error code 1

Stop in /home/usr_moved/ports/security/termlog.
srv6#    
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:42:00

Код: Выделить всё

srv6# cat ~lissyara/termlog.c.diff
--- termlog-2.5/termlog.c.orig  2010-07-28 14:37:17.000000000 +0400
+++ termlog-2.5/termlog.c       2010-07-28 14:38:57.000000000 +0400
@@ -497,7 +497,7 @@
 {
        static int fd, n, usize;
        static caddr_t memmap;
-       struct utmp *utmp, *up;
+       struct utmp *utmp, *up, utmp_rw;
        int i;
        char path[MAXPATHLEN];

@@ -524,7 +524,9 @@
        }
        utmp = (struct utmp *)memmap;
        for (i = 0; i < n; i++) {
-               up = &utmp[i];
+               memcpy(utmp_rw, utmp[i], sizeof(utmp_rw));
+               up = &utmp_rw;
+               rindex(up->ut_line,'/') ++;
                if (*up->ut_name == '\0' || skipcrtltty(up) ||
                    !ttystat(up->ut_line, UT_LINESIZE) ||
                    !checkttylist(up) || !checkuserlist(up) || ttyislinked(up))
srv6#      
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 13:45:51

Код: Выделить всё

-               memcpy(utmp_rw, utmp[i], sizeof(utmp_rw));
+               memcpy(&utmp_rw, &utmp[i], sizeof(utmp_rw));

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:48:22

Код: Выделить всё

srv6# make
===>  Configuring for termlog-2.5_1
===>  Building for termlog-2.5_1
cc -O2 -pipe -fno-strict-aliasing  -I. -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -g -DNDEBUG -c termlog.c
termlog.c:68: warning: initialization discards qualifiers from pointer target type
termlog.c: In function 'processutmp':
termlog.c:529: error: lvalue required as increment operand
*** Error code 1

Stop in /tmp/home/usr_moved/ports/security/termlog/work/termlog-2.5.
*** Error code 1

Stop in /home/usr_moved/ports/security/termlog.
srv6#   
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 13:49:27

529 это строка

Код: Выделить всё

rindex(up->ut_line,'/') ++;
Убей их всех! Бог потом рассортирует...


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 14:02:54

скомпилилось, но не фурычит =))

Код: Выделить всё

srv6# truss /usr/local/bin/termlog -C /var/log/termlog/2010/07/28 -f -n 30
__sysctl(0xbfbfe4d4,0x2,0xbfbfe4dc,0xbfbfe4e0,0x0,0x0) = 0 (0x0)
mmap(0x0,328,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 671645696 (0x28088000)
munmap(0x28088000,328)                           = 0 (0x0)
__sysctl(0xbfbfe538,0x2,0x2807ee3c,0xbfbfe540,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 671645696 (0x28088000)
issetugid(0x280778cb,0xbfbfe9fc,0x104,0x0,0x0,0x0) = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,00)     = 2 (0x2)
read(2,"Ehnt\^A\0\0\0\M^@\0\0\0\M-s\0\0"...,128) = 128 (0x80)
lseek(2,0x80,SEEK_SET)                           = 128 (0x80)
read(2,"/lib:/usr/lib:/usr/lib/compat:/u"...,243) = 243 (0xf3)
close(2)                                         = 0 (0x0)
access("/lib/libmd.so.5",0)                      = 0 (0x0)
open("/lib/libmd.so.5",O_RDONLY,00)              = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483841,size=61600,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,65536,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671678464 (0x28090000)
mmap(0x28090000,61440,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671678464 (0x28090000)
mmap(0x2809f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xe000) = 671739904 (0x2809f000)
close(2)                                         = 0 (0x0)
access("/lib/libthr.so.3",0)                     = 0 (0x0)
open("/lib/libthr.so.3",O_RDONLY,027757762454)   = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483846,size=76540,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,86016,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671744000 (0x280a0000)
mmap(0x280a0000,73728,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671744000 (0x280a0000)
mmap(0x280b2000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0x11000) = 671817728 (0x280b2000)
mprotect(0x280b3000,8192,PROT_READ|PROT_WRITE)   = 0 (0x0)
close(2)                                         = 0 (0x0)
access("/lib/libc.so.7",0)                       = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY,027757762454)     = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483837,size=1142616,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x2000)      = 4096 (0x1000)
mmap(0x0,1150976,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671830016 (0x280b5000)
mmap(0x280b5000,1028096,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671830016 (0x280b5000)
mmap(0x281b0000,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xfb000) = 672858112 (0x281b0000)
mprotect(0x281b6000,98304,PROT_READ|PROT_WRITE)  = 0 (0x0)
close(2)                                         = 0 (0x0)
sysarch(0xa,0xbfbfe5a0,0x2804e37b,0x2807d2f8,0x28060dd9,0x2807d2f8) = 0 (0x0)
mmap(0x0,592,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,592)                           = 0 (0x0)
mmap(0x0,824,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,824)                           = 0 (0x0)
mmap(0x0,4064,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,4064)                          = 0 (0x0)
mmap(0x0,21896,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,21896)                         = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
__sysctl(0xbfbfe554,0x2,0x281b76a0,0xbfbfe55c,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
getpid()                                         = 85174 (0x14cb6)
__sysctl(0xbfbfe53c,0x2,0x280b4cd0,0xbfbfe548,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4d4,0x2,0xbfbfe46c,0xbfbfe4dc,0x280b1503,0xd) = 0 (0x0)
__sysctl(0xbfbfe46c,0x3,0x280b3fc8,0xbfbfe548,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4d8,0x2,0x281bc7c0,0xbfbfe4e0,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe014,0x2,0x281bc360,0xbfbfe01c,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfdf34,0x2,0xbfbfdecc,0xbfbfdf3c,0x281a7cf4,0xc) = 0 (0x0)
__sysctl(0xbfbfdecc,0x2,0x281bc458,0xbfbfdf78,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0xbfbfe023,1024)     ERR#2 'No such file or directory'
issetugid(0x281a6a09,0xbfbfe023,0x400,0xbfbfe01c,0x0,0x0) = 0 (0x0)
break(0x8100000)                                 = 0 (0x0)
__sysctl(0xbfbfe2a4,0x2,0xbfbfe2ac,0xbfbfe2b0,0x0,0x0) = 0 (0x0)
mmap(0x0,1048576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
mmap(0x282ce000,204800,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674029568 (0x282ce000)
munmap(0x281ce000,204800)                        = 0 (0x0)
thr_self(0x28201140,0x280b3fc8,0xbfbfe548,0x0,0x0,0x0) = 0 (0x0)
mmap(0xbf9ff000,4096,PROT_NONE,MAP_ANON,-1,0x0)  = -1080037376 (0xbf9ff000)
thr_set_name(0x18a42,0x280b154b,0x0,0x1000,0xffffffff,0x0) = 0 (0x0)
rtprio_thread(0x0,0x18a42,0xbfbfe4dc,0x2808a400,0x328,0x2808c28c) = 0 (0x0)
sysarch(0xa,0xbfbfe4f0,0xbfbfe544,0x2808c28c,0x280fff49,0x280b2c34) = 0 (0x0)
sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigaction(32,{ 0x280aa620 SA_RESTART|SA_SIGINFO ss_t },0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
chdir("/var/log/termlog/2010/07/28")             = 0 (0x0)
modfind(0x804b43b,0xbfbfeb88,0x804b426,0xbfbfeb3c,0xbfbfeb88,0xbfbfeb88) = 470 (0x1d6)
ioctl(0,TIOCGETA,0xbfbfea90)                     = 0 (0x0)
ioctl(0,FIODGNAME,0xbfbfeab8)                    = 0 (0x0)
socket(PF_LOCAL,SOCK_DGRAM,0)                    = 2 (0x2)
fcntl(2,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
connect(2,{ AF_UNIX "/var/run/logpriv" },106)    = 0 (0x0)
sigaction(SIGUSR1,{ 0x8049840 SA_RESTART ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0)
_umtx_op(0xbfbfea2c,0x3,0x1,0x0,0x0,0x2807d6a0)  = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
mmap(0xbf8fe000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1081090048 (0xbf8fe000)
mprotect(0xbf8fe000,4096,PROT_NONE)              = 0 (0x0)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
_umtx_op(0x280b3900,0xe,0x0,0x0,0x0,0x2808e0a0)  = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
mmap(0xbf7fd000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1082142720 (0xbf7fd000)
mprotect(0xbf7fd000,4096,PROT_NONE)              = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 3 (0x3)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
fstat(3,{ mode=-rw-r--r-- ,inode=23596,size=12144,blksize=16384 }) = 0 (0x0)
sigprocmask(SIG_BLOCK,0x0,0x0)                   = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 4 (0x4)
mmap(0x0,12144,PROT_READ,MAP_SHARED,4,0x0)       = 672980992 (0x281ce000)
SIGNAL 11 (SIGSEGV)
process exit, rval = 0
srv6#  
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: объясните дураку где что подправить =(

Непрочитанное сообщение hizel » 2010-07-28 14:03:08

1. я таки не понял решили вы или нет
2. код ужасен
3. откройте для себя http://gist.github.com/
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 14:05:22

bt в gdb на последней строке пишет

Код: Выделить всё

#596 0x00000000 in ?? ()
Cannot access memory at address 0xbf9ff000
до этого - ничего
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 14:06:07

нет. до патча оно работало если создать субдиректорию
теперь даже не пытается файл создать =)
чё-то отломалось )))
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 14:10:55

+ up->ut_line[rindex(up->ut_line,'/')-up->ut_line] = '_';
закомментируй ее

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: объясните дураку где что подправить =(

Непрочитанное сообщение hizel » 2010-07-28 14:15:33

Лис теперь просмотри всю ветку и подумай как человек со стороны допетрит в каком состоянии твои исходники на текущий момент или сколько на это уме понадобится времени :evil:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Alex Keda » 2010-07-28 14:15:43

Код: Выделить всё

srv6# truss /usr/local/bin/termlog -C /var/log/termlog/2010/07/28 -f -n 30
__sysctl(0xbfbfe4d4,0x2,0xbfbfe4dc,0xbfbfe4e0,0x0,0x0) = 0 (0x0)
mmap(0x0,328,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 671645696 (0x28088000)
munmap(0x28088000,328)                           = 0 (0x0)
__sysctl(0xbfbfe538,0x2,0x2807ee3c,0xbfbfe540,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 671645696 (0x28088000)
issetugid(0x280778cb,0xbfbfe9fc,0x104,0x0,0x0,0x0) = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,00)     = 2 (0x2)
read(2,"Ehnt\^A\0\0\0\M^@\0\0\0\M-s\0\0"...,128) = 128 (0x80)
lseek(2,0x80,SEEK_SET)                           = 128 (0x80)
read(2,"/lib:/usr/lib:/usr/lib/compat:/u"...,243) = 243 (0xf3)
close(2)                                         = 0 (0x0)
access("/lib/libmd.so.5",0)                      = 0 (0x0)
open("/lib/libmd.so.5",O_RDONLY,00)              = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483841,size=61600,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,65536,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671678464 (0x28090000)
mmap(0x28090000,61440,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671678464 (0x28090000)
mmap(0x2809f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xe000) = 671739904 (0x2809f000)
close(2)                                         = 0 (0x0)
access("/lib/libthr.so.3",0)                     = 0 (0x0)
open("/lib/libthr.so.3",O_RDONLY,027757762454)   = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483846,size=76540,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x0)         = 4096 (0x1000)
mmap(0x0,86016,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671744000 (0x280a0000)
mmap(0x280a0000,73728,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671744000 (0x280a0000)
mmap(0x280b2000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0x11000) = 671817728 (0x280b2000)
mprotect(0x280b3000,8192,PROT_READ|PROT_WRITE)   = 0 (0x0)
close(2)                                         = 0 (0x0)
access("/lib/libc.so.7",0)                       = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY,027757762454)     = 2 (0x2)
fstat(2,{ mode=-r--r--r-- ,inode=1483837,size=1142616,blksize=16384 }) = 0 (0x0)
pread(0x2,0x2807dd80,0x1000,0x0,0x0,0x2000)      = 4096 (0x1000)
mmap(0x0,1150976,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 671830016 (0x280b5000)
mmap(0x280b5000,1028096,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,2,0x0) = 671830016 (0x280b5000)
mmap(0x281b0000,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,2,0xfb000) = 672858112 (0x281b0000)
mprotect(0x281b6000,98304,PROT_READ|PROT_WRITE)  = 0 (0x0)
close(2)                                         = 0 (0x0)
sysarch(0xa,0xbfbfe5a0,0x2804e37b,0x2807d2f8,0x28060dd9,0x2807d2f8) = 0 (0x0)
mmap(0x0,592,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,592)                           = 0 (0x0)
mmap(0x0,824,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,824)                           = 0 (0x0)
mmap(0x0,4064,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,4064)                          = 0 (0x0)
mmap(0x0,21896,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
munmap(0x281ce000,21896)                         = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
__sysctl(0xbfbfe554,0x2,0x281b76a0,0xbfbfe55c,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
getpid()                                         = 87229 (0x154bd)
__sysctl(0xbfbfe53c,0x2,0x280b4cd0,0xbfbfe548,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4d4,0x2,0xbfbfe46c,0xbfbfe4dc,0x280b1503,0xd) = 0 (0x0)
__sysctl(0xbfbfe46c,0x3,0x280b3fc8,0xbfbfe548,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe4d8,0x2,0x281bc7c0,0xbfbfe4e0,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfe014,0x2,0x281bc360,0xbfbfe01c,0x0,0x0) = 0 (0x0)
__sysctl(0xbfbfdf34,0x2,0xbfbfdecc,0xbfbfdf3c,0x281a7cf4,0xc) = 0 (0x0)
__sysctl(0xbfbfdecc,0x2,0x281bc458,0xbfbfdf78,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0xbfbfe023,1024)     ERR#2 'No such file or directory'
issetugid(0x281a6a09,0xbfbfe023,0x400,0xbfbfe01c,0x0,0x0) = 0 (0x0)
break(0x8100000)                                 = 0 (0x0)
__sysctl(0xbfbfe2a4,0x2,0xbfbfe2ac,0xbfbfe2b0,0x0,0x0) = 0 (0x0)
mmap(0x0,1048576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 672980992 (0x281ce000)
mmap(0x282ce000,204800,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674029568 (0x282ce000)
munmap(0x281ce000,204800)                        = 0 (0x0)
thr_self(0x28201140,0x280b3fc8,0xbfbfe548,0x0,0x0,0x0) = 0 (0x0)
mmap(0xbf9ff000,4096,PROT_NONE,MAP_ANON,-1,0x0)  = -1080037376 (0xbf9ff000)
thr_set_name(0x18a64,0x280b154b,0x0,0x1000,0xffffffff,0x0) = 0 (0x0)
rtprio_thread(0x0,0x18a64,0xbfbfe4dc,0x2808a400,0x328,0x2808c28c) = 0 (0x0)
sysarch(0xa,0xbfbfe4f0,0xbfbfe544,0x2808c28c,0x280fff49,0x280b2c34) = 0 (0x0)
sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigaction(32,{ 0x280aa620 SA_RESTART|SA_SIGINFO ss_t },0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
chdir("/var/log/termlog/2010/07/28")             = 0 (0x0)
modfind(0x804b41b,0xbfbfeb88,0x804b406,0xbfbfeb3c,0xbfbfeb88,0xbfbfeb88) = 470 (0x1d6)
ioctl(0,TIOCGETA,0xbfbfea90)                     = 0 (0x0)
ioctl(0,FIODGNAME,0xbfbfeab8)                    = 0 (0x0)
socket(PF_LOCAL,SOCK_DGRAM,0)                    = 2 (0x2)
fcntl(2,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
connect(2,{ AF_UNIX "/var/run/logpriv" },106)    = 0 (0x0)
sigaction(SIGUSR1,{ 0x8049840 SA_RESTART ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0)
_umtx_op(0xbfbfea2c,0x3,0x1,0x0,0x0,0x2807d6a0)  = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
mmap(0xbf8fe000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1081090048 (0xbf8fe000)
mprotect(0xbf8fe000,4096,PROT_NONE)              = 0 (0x0)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGABRT|SIGEMT|SIGKILL|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 3 (0x3)
mmap(0xbf7fd000,1052672,PROT_READ|PROT_WRITE,MAP_STACK,-1,0x0) = -1082142720 (0xbf7fd000)
fstat(3,{ mode=-rw-r--r-- ,inode=23596,size=12144,blksize=16384 }) = 0 (0x0)
mprotect(0xbf7fd000,4096,PROT_NONE)              = 0 (0x0)
thr_new(0xbfbfeaa0,0x34,0x2807d2f8,0x2808e030,0x2808a000,0xbfbfeaa4) = 0 (0x0)
open("//var/run/utmp",O_RDONLY,00)               = 4 (0x4)
mmap(0x0,12144,PROT_READ,MAP_SHARED,4,0x0)       = 672980992 (0x281ce000)
sigprocmask(SIG_BLOCK,0x0,0x0)                   = 0 (0x0)
stat("//dev/pts/0",{ mode=crw--w---- ,inode=113,size=0,blksize=4096 }) = 0 (0x0)
mmap(0x0,1048576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 674234368 (0x28300000)
stat("//dev/pts/0",{ mode=crw--w---- ,inode=113,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 5 (0x5)
open("//dev/pts/0",O_NONBLOCK,00)                = 6 (0x6)
ioctl(5,SNPSTTY,0xbf9fe664)                      = 0 (0x0)
close(6)                                         = 0 (0x0)
clock_gettime(13,{1280315721.000000000 })        = 0 (0x0)
open("h10282_pts/0_1280315721.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
stat("//dev/pts/2",{ mode=crw--w---- ,inode=115,size=0,blksize=4096 }) = 0 (0x0)
stat("//dev/pts/2",{ mode=crw--w---- ,inode=115,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 6 (0x6)
open("//dev/pts/2",O_NONBLOCK,00)                = 7 (0x7)
ioctl(6,SNPSTTY,0xbf9fe664)                      = 0 (0x0)
close(7)                                         = 0 (0x0)
clock_gettime(13,{1280315721.000000000 })        = 0 (0x0)
open("lissyara_pts/2_1280315721.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
stat("//dev/pts/3",{ mode=crw--w---- ,inode=117,size=0,blksize=4096 }) = 0 (0x0)
stat("//dev/pts/3",{ mode=crw--w---- ,inode=117,size=0,blksize=4096 }) = 0 (0x0)
stat("/dev/snp0",{ mode=crw------- ,inode=107,size=0,blksize=4096 }) = 0 (0x0)
open("/dev/snp0",O_RDONLY,00)                    = 7 (0x7)
open("//dev/pts/3",O_NONBLOCK,00)                = 8 (0x8)
ioctl(7,SNPSTTY,0xbf9fe664)                      = 0 (0x0)
close(8)                                         = 0 (0x0)
clock_gettime(13,{1280315721.000000000 })        = 0 (0x0)
open("lissyara_pts/3_1280315721.log",O_WRONLY|O_CREAT|O_TRUNC,0666) ERR#2 'No such file or directory'
nanosleep({0.500000000 })                        = 0 (0x0)
fstat(3,{ mode=-rw-r--r-- ,inode=23596,size=12144,blksize=16384 }) = 0 (0x0)
nanosleep({0.500000000 })                        = 0 (0x0)
select(8,{5 6 7},0x0,0x0,{1.000000 })            = 1 (0x1)
ioctl(6,FIONREAD,0xbf8fbf4c)                     = 0 (0x0)
read(6,"ioctl(6,SNPSTTY,0xbf9fe664)\t\t"...,992) = 992 (0x3e0)
SIGNAL 11 (SIGSEGV)
process exit, rval = 0
srv6#     
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: объясните дураку где что подправить =(

Непрочитанное сообщение Гость » 2010-07-28 14:21:37

что то я туплю
удаляй все изменения
не в том месте копаем

fileops.c
функция snp_setup

Код: Выделить всё

+       logname[rindex(logname,'/')-logname] = 'D';
         sm->fp= fopen(logname, "w");
вместо D можешь поставить любой удобный тебе символ который будет менять '/'