On Tue, 29 Oct 2002, Konstantin Nikonenko wrote:
Hello Sergey,
Tuesday, October 29, 2002, 3:33:53 PM, you wrote:
SS> Нет. Совершенно стандартный писюк с FreeBSD 4.7-STABLE. Poptop из портов.
SS> Старт из inetd. Единственная работа руками - написать махонькие программки
SS> для работы с utmp и wtmp, потому как при работе на девайсах tun ppp не
SS> хочет пользователя в utmp и wtmp заносить. Приходится из ppp.link{up|down}
а можно на них взглянуть?
Да смотреть нечего особенно ...
Писалось в спешке )) Возможно можно было сделать и лучше.
# cat ppp-login.c
#include
#include
#include
#include
#include
#include
#include
#include
void login( struct utmp *ut, int tty) {
register int fd;
if ((fd = open(_PATH_UTMP, O_WRONLY|O_CREAT, 0644)) >= 0) {
(void)lseek(fd, (off_t)(tty * sizeof(struct utmp)),
L_SET);
(void)write(fd, ut, sizeof(struct utmp));
(void)close(fd);
}
if ((fd = open(_PATH_WTMP, O_WRONLY|O_APPEND, 0)) >= 0) {
(void)write(fd, ut, sizeof(struct utmp));
(void)close(fd);
}
}
int main( int ac , char ** av) {
struct utmp ut;
int tty;
char * s;
strcpy(ut.ut_line, av[1]);
strcpy(ut.ut_name, av[2]);
strcpy(ut.ut_host, av[3]);
ut.ut_time=time(0);
tty = 128 + strtol(&av[1][3], &s, 10);
login(&ut, tty);
}
# cat ppp-logout.c
#include
#include
#include
int main( int ac , char ** av) {
logout(av[1]);
logwtmp(av[1],"","");
}
#cat ppp-linkup
...
shell /etc/ppp/ppp-login INTERFACE USER point02
...
#cat ppp-linkdown
...
bg /etc/ppp/ppp-logout INTERFACE
...
--
WBR, Sergey Saley
SA-RIPE
===================================================================
uanog mailing list.
To Unsubscribe: send mail to majordomo@uanog.kiev.ua
with "unsubscribe uanog" in the body of the message