Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 277879 - gnome-extra/nm-applet-0.7.1-r3: prevents me from running programs in Gnome when hostname is changed by dhcp
Summary: gnome-extra/nm-applet-0.7.1-r3: prevents me from running programs in Gnome wh...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-15 01:06 UTC by David Krider
Modified: 2013-11-11 19:42 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Krider 2009-07-15 01:06:12 UTC
I can't run any programs while logged into Gnome, but only while I'm on wireless. If I let nm-applet connect me to a wireless access point, I can no longer launch applications. I get the following messages in /var/log/Xorg.0.log:

AUDIT: Tue Jul 14 20:57:25 2009: 15075 X: client 20 rejected from local host ( uid=1000 gid=1011 pid=15307 )

I have to log out and back in, and NOT connect to wireless for this to start working again. If I am connecting to the network with a CAT-5 cable (and don't need a password), everything is fine. I've tried deleting my gnome-keyring managed keyring, and DENYING it's use with nm-applet, but that doesn't change anything.

discovery ~ # emerge --info
Portage 2.1.6.13 (default/linux/x86/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r1-i686-Intel-R-_Atom-TM-_CPU_N270_@_1.60GHz-with-glibc2.0
Timestamp of tree: Tue, 14 Jul 2009 08:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages/eee"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X acl alsa bash-completion berkdb bluetooth branding bzip2 cairo cleartype cli consolekit cracklib crypt cups dbus divx4linux dri eds esd evo evolution fam ffmpeg firefox foomaticdb fortran freetype gd gdbm gif gmail gnome gnutls gpm gtk gtk2 hal iconv imap ipv6 isdnlog java jpeg kdeenablefinal ldap libnotify mad matroska midi mmx mmxext mozilla mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg oggvorbis openal opengl openmp pam pcre pdf perl png policykit ppds pppd python quicktime readline reflection samba sdl session spell spl sse sse2 ssl stream svg sysfs tcpd theora tiff truetype unicode usb vim-syntax vorbis webkit wxwindows x86 xml xorg xscreensaver xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="intel vga vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Reproducible: Always

Steps to Reproduce:
1. Log into Gnome.
2. Connect to wireless network.
3. Try to start a graphical program.
Comment 1 David Krider 2009-07-15 01:14:45 UTC
If I subsequently use nm-applet to turn off wireless, I can again launch programs.
Comment 2 David Krider 2009-07-15 01:38:17 UTC
Apparently, this has just become a problem. I downgraded to 0.7.1-r1, and it works fine.
Comment 3 Florian Streibelt 2009-07-16 08:54:12 UTC
(In reply to comment #2)
> Apparently, this has just become a problem. I downgraded to 0.7.1-r1, and it
> works fine.
> 

Hi - the problem is your hostname is changed via dhcp.

If you type hostname -f before and after connecting (open a terminal in advance) you should notice a difference.

Since the X-Server stores authentication information per hostname, the magic cookie gets invalid with the new hostname.

I am using net-misc/dhcp as a dhcp server and have  the file /etc/dhcp/dhclient.conf with these informations:

send host-name "localhost";
supersede host-name "_my_real_hostname";

This tells the client to send 'localhost' as preferred name but in any case ignore the name returned by the dhcp server.
Comment 4 David Krider 2009-07-16 13:07:50 UTC
Hrm... I recall, about 11 years ago or so, that HP-UX (specifically) used to tie the machine name to the X server somehow. If you didn't have the networking all setup perfectly, it would take about a half-hour to timeout and finally boot. Not long after, all the major Unix vendors finally exorcised that nonsense from their systems, and there was much rejoicing. Is it a good idea to let a name change hose up our session?  What are we gaining by doing this? Is there a workaround for those who can't preserve a hostname in this situation, some xauth frobbing that work re-enable launching programs?

More to the point, I didn't change anything on naming or DHCP between trying -r1 and -r3, so this behavior change apparently got stuck in on a release candidate patch. That seems... excessive.
Comment 5 Robert Piasek (RETIRED) gentoo-dev 2009-07-17 07:19:55 UTC
There are few "fixes" to your problem:

1) define system-wide settings. That will update your hostname to correct value before X starts.
2) force hostname parameter in /etc/NetworkManager/nm-system-settings.conf
3) disable hostname change in dhcpcd/dhclient

Any of these three will "fix" your problem.

Rob
Comment 6 David Krider 2009-07-17 12:19:17 UTC
It _seems_ as though you are suggesting in (1) that I set a hostname in /etc/conf.d/hostname. If so, then I will point out that this was what got me in trouble to begin with. On boot, NetworkManager won't try a wireless connection, the wired port times out, and I get whatever I set in that file. After I log in, nm-applet kicks off, finds a wireless LAN, and resets my machine's name, and then I can't launch new programs. If I had left /etc/conf.d/hostname alone, the hostname would not have actually changed when the DHCP server told my host to rename to "localhost", and I wouldn't have had a problem. Do you mean something other than this for (1)?

I've done (3) as a workaround.
Comment 7 Robert Piasek (RETIRED) gentoo-dev 2009-07-20 22:44:24 UTC
(In reply to comment #6)
> It _seems_ as though you are suggesting in (1) that I set a hostname in
> /etc/conf.d/hostname. If so, then I will point out that this was what got me in
> trouble to begin with. On boot, NetworkManager won't try a wireless connection,
> the wired port times out, and I get whatever I set in that file. After I log
> in, nm-applet kicks off, finds a wireless LAN, and resets my machine's name,
> and then I can't launch new programs. If I had left /etc/conf.d/hostname alone,
> the hostname would not have actually changed when the DHCP server told my host
> to rename to "localhost", and I wouldn't have had a problem. Do you mean
> something other than this for (1)?
> 
> I've done (3) as a workaround.
> 

By (1) I mean define system-wide connection. In order to do so, you need to run nm-applet, select your default connection (wire or wireless) and select checkbox at the bottom (I don't have it in front of my eyes right now, so I can't remember the name - it says along the lines: "system wide" or "available to all users"). You will need policykit right before though.
That way you're wireless will be started at boot, and dhcp supplied hostname will be assigned before X starts.
Comment 8 Pacho Ramos gentoo-dev 2012-04-06 14:55:04 UTC
Is this still valid with latest versions?
Comment 9 David Krider 2012-04-06 16:20:37 UTC
Oh wow. I switched distros on the desktop not long after this bug. I still use some Gentoo on the server side, but I have no idea if this is still relevant after almost 4 years. Sorry I can't help, but thanks for asking.
Comment 10 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-04-06 18:08:00 UTC
(In reply to comment #8)
> Is this still valid with latest versions?

Yes.
Comment 11 Pacho Ramos gentoo-dev 2013-11-11 19:42:57 UTC
This should be handled directly on upstream side if still valid with 0.9.8.8