Bug 250399 - konsole fails to correctly parse profile files with an additional period e.g. "hostname.somedomain.org"
Summary: konsole fails to correctly parse profile files with an additional period e.g....
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 2.5
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2010-09-06 23:13 UTC by fred
Modified: 2011-04-24 06:22 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.6.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fred 2010-09-06 23:13:50 UTC
Version:           2.5 (using KDE 4.5.0) 
OS:                Linux

Let's say you create a valid profile file like "hostname.somedomain.org" through some method.  You can start a new tab using the profile if you're already in konsole.

But if you now try to start up konsole via the command:

konsole --profile hostname.somedomain.org

it will fail.  Rename the same profile file to just "hostname" and

konsole --profile hostname

will work.  OR specify the full path to the file with the original name:

konsole --profile ~/.kde4/apps/konsole/hostname.somedomain.org

That works too, but to re-iterate:

konsole --profile hostname.somedomain.org

fails to start the desired profile and falls back to the default profile.  Note that this command:

konsole --list-profiles 

will list your profile files truncated at the first peroid so if I've got both the original "hostname.somedomain.org.profile" and "hostname.profile" files then the result is:

konsole --list-profiles 

hostname
hostname

Note that this bug has implications for the interaction between konsole and the konsoleprofiles widgit and perhaps other kde applications as well.  If you keep trying to start a profile from the widgit like "hostname.somedomain.org" you will get the default profile instead.

While I haven't played around with it, konsole might suffer from other file name parsing problems, the most important ones to check would be probably be "@" and space, but honestly, any file-name ending in ".profile" SHOULD be valid and work the same way as any other profile file-name.

Reproducible: Always

Steps to Reproduce:
execute, from your favorite terminal emulator in X11:

konsole --profile hostname.somedomain.org

Actual Results:  
start konsole with the default profile (or if you have have a profile file named "hostname.profile" I'll bet you'll start THAT profile)

Expected Results:  
start konsole with the profile "hostname.profile".

OS: Linux (x86_64) release 2.6.35-ARCH
Compiler: gcc

I think this bug should be easy to fix, because it's almost certainly a very basic implementation error of how konsole parses profile file-names.  It's annoying  because it causes mysterious behavior in konsole profiles, and it's also annoying because I want o name konsole profiles designed explicitly to initiate ssh sessions something like "hostname.somedomain.org" and have the file-name and profile-name agree.
Comment 1 Kurt Hindenburg 2011-04-24 04:44:40 UTC
Konsole profiles have to end in ".profile".  However, "hostname.somedomain.org.profile" should work.  Should be easy to fix.
Comment 2 Kurt Hindenburg 2011-04-24 06:04:14 UTC
Git commit 23062bcc0d8ce2b4d7ebfd52c650c9ef0ecacde3 by Kurt Hindenburg.
Committed on 24/04/2011 at 06:06.
Pushed by hindenburg into branch 'master'.

Allow profile filenames to have multiple '.'s.

After this hostname.local.profile will work with --profile and
--list-profiles.  Also, the profile path file is checked if it is a
directory.
BUG: 250399
FIXED-IN: 4.6.3

M  +1    -1    src/Application.cpp     
M  +5    -1    src/SessionManager.cpp     

http://commits.kde.org/konsole/23062bcc0d8ce2b4d7ebfd52c650c9ef0ecacde3
Comment 3 Kurt Hindenburg 2011-04-24 06:22:34 UTC
Git commit 74c3ea27cc00b9469375c5bc3f800298cc3db254 by Kurt Hindenburg.
Committed on 24/04/2011 at 06:06.
Pushed by hindenburg into branch 'KDE/4.6'.

Allow profile filenames to have multiple '.'s.

After this hostname.local.profile will work with --profile and
--list-profiles.  Also, the profile path file is checked if it is a
directory.
CCBUG: 250399
(cherry picked from commit 23062bcc0d8ce2b4d7ebfd52c650c9ef0ecacde3)

M  +1    -1    src/Application.cpp     
M  +5    -1    src/SessionManager.cpp     

http://commits.kde.org/konsole/74c3ea27cc00b9469375c5bc3f800298cc3db254