ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] getlogin broken in glibc-2.2.4-alt2
@ 2001-09-23 10:38 Alexey Voinov
  2001-09-23 17:04 ` Sergey Vlasov
  0 siblings, 1 reply; 6+ messages in thread
From: Alexey Voinov @ 2001-09-23 10:38 UTC (permalink / raw)
  To: devel


[-- Attachment #1.1: Type: text/plain, Size: 651 bytes --]

Наблюдаю бред.

$ rpm -q glibc glibc-devel
glibc-2.2.4-alt2
glibc-devel-2.2.4-alt2

a.out - это маленькая програмка, корая лежитт в аттаче,
печатает ответ от функции getlogin. Функция документированная,
никаких пометок относительно obsoleted или deprecated я не заметил.

$ ./a.out
getlogin returned: LOGIN

А вроде как должно сказать: voins.

Есть подозрение, что это буг в glibc.


-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
voins@online.ru
vns@altlinux.ru


[-- Attachment #1.2: getlogintest.c --]
[-- Type: text/plain, Size: 118 bytes --]

#include <unistd.h>
#include <stdio.h>

int main(void)
{
	printf("getlogin returned: %s\n", getlogin());
	return 0;
}

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [devel] getlogin broken in glibc-2.2.4-alt2
  2001-09-23 10:38 [devel] getlogin broken in glibc-2.2.4-alt2 Alexey Voinov
@ 2001-09-23 17:04 ` Sergey Vlasov
  2001-09-24  9:37   ` Dmitry V. Levin
  0 siblings, 1 reply; 6+ messages in thread
From: Sergey Vlasov @ 2001-09-23 17:04 UTC (permalink / raw)
  To: devel

On Sun, 23 Sep 2001 14:38:27 +0400
Alexey Voinov <voins@voins.program.ru> wrote:

> Наблюдаю бред.
> 
> $ rpm -q glibc glibc-devel
> glibc-2.2.4-alt2
> glibc-devel-2.2.4-alt2
> 
> a.out - это маленькая програмка, корая лежитт в аттаче,
> печатает ответ от функции getlogin. Функция документированная,
> никаких пометок относительно obsoleted или deprecated я не заметил.
> 
> $ ./a.out
> getlogin returned: LOGIN
> 
> А вроде как должно сказать: voins.
> 
> Есть подозрение, что это буг в glibc.

У меня вот так.

Из xterm:
$ ./a.out
getlogin returned: (null)
$ su -c ./a.out 
Password: 
getlogin returned: (null)

С консоли:
$ ./a.out
getlogin returned: (null)
$ su -c ./a.out 
Password: 
getlogin returned: vsu

С консоли при заходе рутом:
# ./a.out
getlogin returned: root


$ rpm -q glibc glibc-devel
glibc-2.2.4-alt2
glibc-devel-2.2.4-alt2
(бинарные пакеты у меня не из Сизифа, а результат rpm --rebuild)


Как я понял, getlogin работает через utmp, поэтому под X эта
функция в принципе бесполезна.  Хотя вот этот возврат LOGIN -
что-то подозрительное.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [devel] getlogin broken in glibc-2.2.4-alt2
  2001-09-23 17:04 ` Sergey Vlasov
@ 2001-09-24  9:37   ` Dmitry V. Levin
  2001-09-24 17:47     ` Alexey Voinov
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry V. Levin @ 2001-09-24  9:37 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1773 bytes --]

On Sun, Sep 23, 2001 at 09:04:06PM +0400, Sergey Vlasov wrote:
> > $ rpm -q glibc glibc-devel
> > glibc-2.2.4-alt2
> > glibc-devel-2.2.4-alt2
> > 
> > a.out - это маленькая програмка, корая лежитт в аттаче,
> > печатает ответ от функции getlogin. Функция документированная,
> > никаких пометок относительно obsoleted или deprecated я не заметил.
> > 
> > $ ./a.out
> > getlogin returned: LOGIN
> > 
> > А вроде как должно сказать: voins.
> > 
> > Есть подозрение, что это буг в glibc.

Это наименее вероятно.

> У меня вот так.
> 
> Из xterm:
> $ ./a.out
> getlogin returned: (null)
> $ su -c ./a.out 
> Password: 
> getlogin returned: (null)

А если запускать su с опцией "-l"?
> 
> С консоли:
> $ ./a.out
> getlogin returned: (null)
> $ su -c ./a.out 
> Password: 
> getlogin returned: vsu
> 
> С консоли при заходе рутом:
> # ./a.out
> getlogin returned: root
> 
> 
> $ rpm -q glibc glibc-devel
> glibc-2.2.4-alt2
> glibc-devel-2.2.4-alt2
> (бинарные пакеты у меня не из Сизифа, а результат rpm --rebuild)
> 
> 
> Как я понял, getlogin работает через utmp, поэтому под X эта
> функция в принципе бесполезна.  Хотя вот этот возврат LOGIN -
> что-то подозрительное.

Результат getlogin целиком и полностью зависит от содержимого utmp
(возвращаемого функцией getutline_r). Так что вопрос в том, кто и как туда
записывает.

Проверьте версии пакетов login, su, ..., и расскажите о результатах.


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [devel] getlogin broken in glibc-2.2.4-alt2
  2001-09-24  9:37   ` Dmitry V. Levin
@ 2001-09-24 17:47     ` Alexey Voinov
  2001-09-24 18:13       ` Ivan Zakharyaschev
  2001-09-24 18:17       ` Dmitry V. Levin
  0 siblings, 2 replies; 6+ messages in thread
From: Alexey Voinov @ 2001-09-24 17:47 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2527 bytes --]

Dmitry V. Levin wrote
> On Sun, Sep 23, 2001 at 09:04:06PM +0400, Sergey Vlasov wrote:
> > > $ rpm -q glibc glibc-devel
> > > glibc-2.2.4-alt2
> > > glibc-devel-2.2.4-alt2
> > > 
> > > a.out - это маленькая програмка, корая лежитт в аттаче,
> > > печатает ответ от функции getlogin. Функция документированная,
> > > никаких пометок относительно obsoleted или deprecated я не заметил.
> > > 
> > > $ ./a.out
> > > getlogin returned: LOGIN
> > > 
> > > А вроде как должно сказать: voins.
> > > 
> > > Есть подозрение, что это буг в glibc.
> Это наименее вероятно.
Даже спорить не буду :)

$ rpm -q login su pam
login-0.60-alt5
su-0.60-alt5
pam-0.75-alt10

В консоли

$ /home/voins/projects/a.out
getlogin returned: LOGIN

$ su -l voins -c /home/voins/projects/a.out 
getlogin returned: LOGIN

В xterm

$ /home/voins/projects/a.out
getlogin returned: (null)

$ su -l voins -c /home/voins/projects/a.out
getlogin returned: voins

Если у su не вводить пароль, то в /var/log/messages падает замечательная
строчка:
authentication failure; logname=LOGIN uid=500 euid=0 tty=tty2 ruser=LOGIN rhost=localhost  user=root

И так, подозрения теперь на пакеты: pam, su, login.
У кого-нибудь осталась система со старыми версиями этих пакетов? 
У меня на работе не сильно обновлённая система. Завтра попробую там.

> 
> > У меня вот так.
> > 
> > Из xterm:
> > $ ./a.out
> > getlogin returned: (null)
> > $ su -c ./a.out 
> > Password: 
> > getlogin returned: (null)
> 
> А если запускать su с опцией "-l"?
> > 
> > С консоли:
> > $ ./a.out
> > getlogin returned: (null)
> > $ su -c ./a.out 
> > Password: 
> > getlogin returned: vsu
> > 
> > С консоли при заходе рутом:
> > # ./a.out
> > getlogin returned: root
> > 
> > 
> > $ rpm -q glibc glibc-devel
> > glibc-2.2.4-alt2
> > glibc-devel-2.2.4-alt2
> > (бинарные пакеты у меня не из Сизифа, а результат rpm --rebuild)
> > 
> > 
> > Как я понял, getlogin работает через utmp, поэтому под X эта
> > функция в принципе бесполезна.  Хотя вот этот возврат LOGIN -
> > что-то подозрительное.
> 
> Результат getlogin целиком и полностью зависит от содержимого utmp
> (возвращаемого функцией getutline_r). Так что вопрос в том, кто и как туда
> записывает.
> 
> Проверьте версии пакетов login, su, ..., и расскажите о результатах.

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
voins@online.ru
vns@altlinux.ru


[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [devel] getlogin broken in glibc-2.2.4-alt2
  2001-09-24 17:47     ` Alexey Voinov
@ 2001-09-24 18:13       ` Ivan Zakharyaschev
  2001-09-24 18:17       ` Dmitry V. Levin
  1 sibling, 0 replies; 6+ messages in thread
From: Ivan Zakharyaschev @ 2001-09-24 18:13 UTC (permalink / raw)
  To: devel

On Mon, 24 Sep 2001, Alexey Voinov wrote:

> $ rpm -q login su pam
> login-0.60-alt5
> su-0.60-alt5
> pam-0.75-alt10

$ rpm -q login su pam glibc $(rpm -qf /bin/login /bin/su)
пакет login не установлен
пакет su не установлен
pam-0.75-alt7
glibc-2.2.4-alt2
util-linux-2.11h-alt2
sh-utils-2.0.11-alt1

> В консоли
>
> $ /home/voins/projects/a.out
> getlogin returned: LOGIN
>
> $ su -l voins -c /home/voins/projects/a.out
> getlogin returned: LOGIN

в консоли:

$ /home/ivan/DATA/my/tests/a.out
getlogin returned: ivan
$ su -c /home/ivan/DATA/my/tests/a.out
Password:
getlogin returned: ivan
$ su -l ivan -c /home/ivan/DATA/my/tests/a.out
Password:
getlogin returned: ivan

> В xterm
>
> $ /home/voins/projects/a.out
> getlogin returned: (null)
>
> $ su -l voins -c /home/voins/projects/a.out
> getlogin returned: voins

В Eterm:

$ /home/ivan/DATA/my/tests/a.out
getlogin returned: (null)
$ su -c /home/ivan/DATA/my/tests/a.out
Password:
getlogin returned: (null)
$ su -l ivan -c /home/ivan/DATA/my/tests/a.out
Password:
getlogin returned: (null)

> Если у su не вводить пароль, то в /var/log/messages падает
> замечательная
> строчка:
> authentication failure; logname=LOGIN uid=500 euid=0 tty=tty2
> ruser=LOGIN rhost=localhost  user=root

Если это происходит в Eterm:

на просто su реакция такая:
authentication failure; logname= uid=501 euid=0 tty= ruser= rhost=  user=root

на su -l ivan:
authentication failure; logname= uid=501 euid=0 tty= ruser= rhost=  user=ivan

В консоли, соответственно:

authentication failure; logname=ivan uid=501 euid=0 tty= ruser= rhost=  user=root

и

authentication failure; logname=ivan uid=501 euid=0 tty= ruser= rhost=  user=ivan

> И так, подозрения теперь на пакеты: pam, su, login.
> У кого-нибудь осталась система со старыми версиями этих пакетов?

По-моему, с этими пакетами (которые у меня) все работает, как и
ожидается.

-- 
Best regards,
	Ivan Z.

_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [devel] getlogin broken in glibc-2.2.4-alt2
  2001-09-24 17:47     ` Alexey Voinov
  2001-09-24 18:13       ` Ivan Zakharyaschev
@ 2001-09-24 18:17       ` Dmitry V. Levin
  1 sibling, 0 replies; 6+ messages in thread
From: Dmitry V. Levin @ 2001-09-24 18:17 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1903 bytes --]

On Mon, Sep 24, 2001 at 09:47:38PM +0400, Alexey Voinov wrote:
> > > > $ rpm -q glibc glibc-devel
> > > > glibc-2.2.4-alt2
> > > > glibc-devel-2.2.4-alt2
> > > > 
> > > > a.out - это маленькая програмка, корая лежитт в аттаче,
> > > > печатает ответ от функции getlogin. Функция документированная,
> > > > никаких пометок относительно obsoleted или deprecated я не заметил.
> > > > 
> > > > $ ./a.out
> > > > getlogin returned: LOGIN
> > > > 
> > > > А вроде как должно сказать: voins.
> > > > 
> > > > Есть подозрение, что это буг в glibc.
> > Это наименее вероятно.
> Даже спорить не буду :)
> 
> $ rpm -q login su pam
> login-0.60-alt5
> su-0.60-alt5
> pam-0.75-alt10

Из-за семинара запоздал с ответом.
Проблема была в login/su (один из моих патчей конфликтовал с utmp handling
в другой части кода), исправлено в SimplePamApps-0.60-alt6.

> В консоли
> 
> $ /home/voins/projects/a.out
> getlogin returned: LOGIN

правильно.

> $ su -l voins -c /home/voins/projects/a.out 
> getlogin returned: LOGIN

правильно.

> В xterm
> 
> $ /home/voins/projects/a.out
> getlogin returned: (null)

правильно.

> $ su -l voins -c /home/voins/projects/a.out
> getlogin returned: voins

правильно.

> Если у su не вводить пароль, то в /var/log/messages падает замечательная
> строчка:
> authentication failure; logname=LOGIN uid=500 euid=0 tty=tty2 ruser=LOGIN rhost=localhost  user=root

Понятно теперь, откуда взялся LOGIN.

> У меня на работе не сильно обновлённая система. Завтра попробую там.

Нет необходимости, уже исправлено.


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-09-24 18:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-23 10:38 [devel] getlogin broken in glibc-2.2.4-alt2 Alexey Voinov
2001-09-23 17:04 ` Sergey Vlasov
2001-09-24  9:37   ` Dmitry V. Levin
2001-09-24 17:47     ` Alexey Voinov
2001-09-24 18:13       ` Ivan Zakharyaschev
2001-09-24 18:17       ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git