Bug 814883 - pan 136 asks for password for keyring, unlike 135
Summary: pan 136 asks for password for keyring, unlike 135
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pan
Version: 17
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Kovar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-20 23:40 UTC by stan
Modified: 2012-06-22 14:14 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-06-22 08:31:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description stan 2012-04-20 23:40:44 UTC
Description of problem:  
The update to pan asks for the password to the keyring for Default when trying to access news server.  I look in the event log and it says no password, but it was just working with 0.135.  So I try to set it, and it asks for the keyring password again.


Version-Release number of selected component (if applicable):
0.136


How reproducible:
every time


Steps to Reproduce:
1. Be running pan 0.135 for news provider requiring user/password authentication
2. Update to 0.136
3. Next start of program asks for password for keyring for Default
  
Actual results:
Can't log on to news server


Expected results:
Transparent log on to server.


Additional info:  
Not sure why pan suddenly is asking for this.  It has worked with this news server for years.

Comment 1 stan 2012-04-21 18:55:36 UTC
A little digging shows that a keyring is supposed to be generated automatically, and opened using users password, when starting X via a greeter.  However, I'm starting LXDE using OpenBox as a window manager with startx from a console.  I tried modifying the /etc/pam.d/login and /etc/pam.d/lxdm files into a new file called /etc/pam.d/startx that would start gnome keyring.  Since I don't really understand pam functionality, and didn't experiment a lot in fear of breaking security, it isn't surprising that it didn't work.  I've read the gnome keyring documentation and it isn't clear to me how I can manually generate the keyring and populate it with the proper passwords, and set an environment variable to let applications know it is available.

As you can tell, I don't use gnome keyring; I have scripts to encode things I want encrypted.  It's a great idea to have applications store their passwords encrypted, transparently to the user.  How can I get this to work in my use case.

Comment 2 Petr Kovar 2012-05-30 17:28:15 UTC
This bug will be fixed in the next package release.

Comment 3 Fedora Update System 2012-06-18 18:32:02 UTC
pan-0.138-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/pan-0.138-1.fc17

Comment 4 Fedora Update System 2012-06-20 00:23:57 UTC
Package pan-0.138-1.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing pan-0.138-1.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-9655/pan-0.138-1.fc17
then log in and leave karma (feedback).

Comment 5 stan 2012-06-22 05:38:28 UTC
This doesn't work for me.  When I try to start it from the command line I see the error:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files

When I try to access newsgroups on the password protected server, nothing happens.  There are no error messages that I can find.

When I close this version of pan, I get
Segmentation fault (core dumped)

I thank you for your efforts, but I think the new development has left me behind.  I'm running lxde and openbox, using startx from a console in multiuser to start them.  This probably isn't supported with the new way of doing things.

So I downloaded the 0.135 source and was able, with some minor but tedious changes, to get it to compile.  It's been a while, but I think it was just that some api names changed slightly.

Comment 6 Fedora Update System 2012-06-22 08:31:59 UTC
pan-0.138-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 stan 2012-06-22 14:14:33 UTC
Just for completeness, and in case anyone else has the problem, I am including a patch to allow pan-0.135.tar.bz2 to be compiled under F17.  The actual change was to an include path for the gnome lib, and the patch changes every code file that needs it.  To use the patch,
unpack the tar file, tar -jxvf pan-0.135.tar.bz2
cp the patch to pan-0.135 as pan-0.135.patch
cd to pan-0.135
run patch -p1 < pan-0.135.patch 
./configure
make
cd pan/gui
./pan to run the pan-0.135 executable instead of the system version.
make install will put it in /usr/local/bin, and if you have that early in your path you should just be able to type pan in an xterm to run it.

patch follows, cut and paste to file pan-0.135.patch to use it:

diff -U5 -p -r pan-0.135/pan/data/article-cache.h pan-0.135-altered/pan/data/article-cache.h
--- pan-0.135/pan/data/article-cache.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/data/article-cache.h	2012-04-21 14:55:07.895036978 -0700
@@ -21,11 +21,11 @@
 #define _ArticleCache_h_
 
 #include <map>
 #include <vector>
 extern "C" {
-  #include <glib/gtypes.h> // for guint64
+  #include <glib.h> // for guint64
 }
 #include <pan/general/string-view.h>
 #include <pan/general/quark.h>
 
 extern "C"
diff -U5 -p -r pan-0.135/pan/data-impl/article-filter.cc pan-0.135-altered/pan/data-impl/article-filter.cc
--- pan-0.135/pan/data-impl/article-filter.cc	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/data-impl/article-filter.cc	2012-04-21 14:30:01.514097446 -0700
@@ -21,11 +21,12 @@
 #include <cassert>
 #include <pan/general/debug.h>
 #include <pan/general/macros.h>
 #include <pan/data/data.h>
 #include <gmime/gmime.h>
-#include <glib/gprintf.h>
+#include <glib.h>
+//#include <glib/gprintf.h>
 #include "article-filter.h"
 
 using namespace pan;
 
 const StringView
diff -U5 -p -r pan-0.135/pan/data-impl/data-impl.cc pan-0.135-altered/pan/data-impl/data-impl.cc
--- pan-0.135/pan/data-impl/data-impl.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/data-impl/data-impl.cc	2012-04-21 14:31:13.361094561 -0700
@@ -22,11 +22,11 @@
 **************/
 
 #include <config.h>
 extern "C" {
   #include <glib/gi18n.h>
-  #include <glib/gfileutils.h> // for g_build_filename
+  #include <glib.h> // for g_build_filename
 }
 #include <pan/general/debug.h>
 #include <pan/general/file-util.h>
 #include <pan/general/log.h>
 #include <pan/general/macros.h>
diff -U5 -p -r pan-0.135/pan/data-impl/groups.cc pan-0.135-altered/pan/data-impl/groups.cc
--- pan-0.135/pan/data-impl/groups.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/data-impl/groups.cc	2012-04-21 14:35:21.466084604 -0700
@@ -26,13 +26,13 @@
 #include <iostream>
 #include <map>
 #include <set>
 #include <vector>
 
-#include <glib.h>
 extern "C" {
   #include <unistd.h>
+  #include <glib.h>
   #include <glib/gi18n.h>
 }
 
 #include <pan/general/debug.h>
 #include <pan/general/file-util.h>
diff -U5 -p -r pan-0.135/pan/data-impl/headers.cc pan-0.135-altered/pan/data-impl/headers.cc
--- pan-0.135/pan/data-impl/headers.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/data-impl/headers.cc	2012-04-21 14:36:24.802082058 -0700
@@ -22,14 +22,14 @@
 #include <fstream>
 #include <map>
 #include <vector>
 #include <string>
 #include <cmath>
-#include <glib.h>
 extern "C" {
   #include <sys/types.h> // for chmod
   #include <sys/stat.h> // for chmod
+  #include <glib.h>
   #include <glib/gi18n.h>
 }
 #include <pan/general/debug.h>
 #include <pan/general/log.h>
 #include <pan/general/macros.h>
diff -U5 -p -r pan-0.135/pan/general/file-util.h pan-0.135-altered/pan/general/file-util.h
--- pan-0.135/pan/general/file-util.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/file-util.h	2012-04-21 15:03:44.221016249 -0700
@@ -23,11 +23,11 @@
 
 #include <string>
 extern "C" {
   #include <stddef.h>
   #include <stdio.h>
-  #include <glib/gtypes.h>
+  #include <glib.h>
   #include <glib/gstdio.h>
 }
 #include <pan/general/string-view.h>
 
 #define g_freopen freopen
diff -U5 -p -r pan-0.135/pan/general/locking.h pan-0.135-altered/pan/general/locking.h
--- pan-0.135/pan/general/locking.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/locking.h	2012-04-21 15:06:09.281010427 -0700
@@ -20,11 +20,14 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 #ifndef _Mutex_h_
 #define _Mutex_h_
 
-#include <glib/gthread.h>
+extern "C"
+{
+  #include <glib.h>
+}
 
 namespace pan
 {
   /***
    * A C++ wrapper for GMutex.
diff -U5 -p -r pan-0.135/pan/general/macros.h pan-0.135-altered/pan/general/macros.h
--- pan-0.135/pan/general/macros.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/macros.h	2012-04-21 15:31:14.057950023 -0700
@@ -60,17 +60,9 @@
 ***  g_assert
 **/
 
 extern "C"
 {
-  #include <glibconfig.h> // get the version
-  #include <glib/gutils.h> // get GLIB_CHECK_VERSION
-
-  // pick up g_assert()
-  #if GLIB_CHECK_VERSION(2,16,0)
-    #include <glib/gtestutils.h>
-  #else
-    #include <glib/gmessages.h>
-  #endif
+  #include <glib.h> // get GLIB_CHECK_VERSION
 }
 
 #endif
diff -U5 -p -r pan-0.135/pan/general/time-elapsed.h pan-0.135-altered/pan/general/time-elapsed.h
--- pan-0.135/pan/general/time-elapsed.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/time-elapsed.h	2012-04-21 15:09:29.770002380 -0700
@@ -1,11 +1,9 @@
 #ifndef __Time_Elapsed_h__
 #define __Time_Elapsed_h__
 
-#include <glib/gtypes.h> // for GTimeVal
-#include <glib/gmain.h> // for g_get_current_time
-#include <glib/gtimer.h> // for GUSEC_PER_SEC
+#include <glib.h> // for GTimeVal for g_get_current_time for GUSEC_PER_SEC
 
 namespace pan
 {
   /**
    * Simple object used for logging how long a piece of code takes to execute.
diff -U5 -p -r pan-0.135/pan/general/worker-pool.cc pan-0.135-altered/pan/general/worker-pool.cc
--- pan-0.135/pan/general/worker-pool.cc	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/worker-pool.cc	2012-04-21 15:10:54.179998992 -0700
@@ -19,11 +19,14 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 #include <cassert>
-#include <glib/gmain.h> // for g_idle_add
+extern "C"
+{
+  #include <glib.h> // for g_idle_add
+}
 #include <pan/general/debug.h>
 #include <pan/general/macros.h>
 #include "worker-pool.h"
 
 using namespace pan;
diff -U5 -p -r pan-0.135/pan/general/worker-pool.h pan-0.135-altered/pan/general/worker-pool.h
--- pan-0.135/pan/general/worker-pool.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/general/worker-pool.h	2012-04-21 15:11:58.874996395 -0700
@@ -22,12 +22,14 @@
  */
 #ifndef _Worker_Pool_H_
 #define _Worker_Pool_H_
 
 #include <set>
-#include <glib/gtypes.h>
-#include <glib/gthreadpool.h>
+extern "C"
+{
+  #include <glib.h>
+}
 
 namespace pan
 {
   /**
    * A C++ wrapper for GThreadPool.
diff -U5 -p -r pan-0.135/pan/gui/group-prefs-dialog.cc pan-0.135-altered/pan/gui/group-prefs-dialog.cc
--- pan-0.135/pan/gui/group-prefs-dialog.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/gui/group-prefs-dialog.cc	2012-04-21 15:15:16.211988473 -0700
@@ -16,11 +16,13 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 #include <config.h>
-extern "C" {
+extern "C" 
+{
+  #include <glib.h>
   #include <glib/gi18n.h>
   #include <gtk/gtk.h>
 }
 #include <pan/general/debug.h>
 #include <pan/general/macros.h>
diff -U5 -p -r pan-0.135/pan/gui/prefs-ui.cc pan-0.135-altered/pan/gui/prefs-ui.cc
--- pan-0.135/pan/gui/prefs-ui.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/gui/prefs-ui.cc	2012-04-21 15:16:20.728985880 -0700
@@ -17,10 +17,11 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 #include <config.h>
 extern "C" {
+  #include <glib.h>
   #include <glib/gi18n.h>
   #include <gtk/gtk.h>
 }
 #include <pan/general/debug.h>
 #include <pan/general/macros.h>
diff -U5 -p -r pan-0.135/pan/gui/render-bytes.cc pan-0.135-altered/pan/gui/render-bytes.cc
--- pan-0.135/pan/gui/render-bytes.cc	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/gui/render-bytes.cc	2012-04-21 15:18:09.272981526 -0700
@@ -1,6 +1,9 @@
-#include <glib/gutils.h> // g_snprintf
+extern "C"
+{
+  #include <glib.h> // g_snprintf
+}
 #include "render-bytes.h"
 
 namespace pan
 {
   char*
diff -U5 -p -r pan-0.135/pan/gui/render-bytes.h pan-0.135-altered/pan/gui/render-bytes.h
--- pan-0.135/pan/gui/render-bytes.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/gui/render-bytes.h	2012-04-21 15:19:00.260979476 -0700
@@ -1,7 +1,10 @@
 #ifndef RENDER_BYTES_H
 #define RENDER_BYTES_H
-#include <glib/gtypes.h>
+extern "C"
+{
+  #include <glib.h>
+}
 namespace pan {
   extern char* render_bytes (guint64);
 }
 #endif
diff -U5 -p -r pan-0.135/pan/tasks/socket-impl-gio.h pan-0.135-altered/pan/tasks/socket-impl-gio.h
--- pan-0.135/pan/tasks/socket-impl-gio.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/tasks/socket-impl-gio.h	2012-04-21 15:22:29.656971074 -0700
@@ -19,12 +19,14 @@
 
 #ifndef __SocketGIO_h__
 #define __SocketGIO_h__
 
 #include <string>
-#include <glib/giochannel.h>
-#include <glib/gstring.h>
+extern "C"
+{
+  #include <glib.h>
+}
 #include <pan/tasks/socket.h>
 
 namespace pan
 {
   /**
diff -U5 -p -r pan-0.135/pan/usenet-utils/message-check.cc pan-0.135-altered/pan/usenet-utils/message-check.cc
--- pan-0.135/pan/usenet-utils/message-check.cc	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/usenet-utils/message-check.cc	2012-04-21 15:24:35.568966019 -0700
@@ -18,13 +18,13 @@
  */
 
 #include <config.h>
 #include <ctype.h>
 #include <string.h>
-#include <glib.h>
 extern "C" {
-#include <glib/gi18n.h>
+  #include <glib.h>
+  #include <glib/gi18n.h>
 }
 #include <pan/general/debug.h>
 #include <pan/general/macros.h>
 #include <pan/general/string-view.h>
 #include "gnksa.h"
diff -U5 -p -r pan-0.135/pan/usenet-utils/mime-utils.h pan-0.135-altered/pan/usenet-utils/mime-utils.h
--- pan-0.135/pan/usenet-utils/mime-utils.h	2011-02-15 03:46:29.000000000 -0700
+++ pan-0.135-altered/pan/usenet-utils/mime-utils.h	2012-04-21 15:25:14.086964473 -0700
@@ -19,11 +19,14 @@
 
 #ifndef _UtilMime_h_
 #define _UtilMime_h_
 
 #include <vector>
-#include <glib/gtypes.h>
+extern "C"
+{
+  #include <glib.h>
+}
 #include <gmime/gmime-filter.h>
 #include <gmime/gmime-stream.h>
 #include <gmime/gmime-message.h>
 #include <pan/general/string-view.h>
 
diff -U5 -p -r pan-0.135/pan/usenet-utils/text-massager.cc pan-0.135-altered/pan/usenet-utils/text-massager.cc
--- pan-0.135/pan/usenet-utils/text-massager.cc	2011-05-29 06:19:51.000000000 -0700
+++ pan-0.135-altered/pan/usenet-utils/text-massager.cc	2012-04-21 15:27:17.904959502 -0700
@@ -19,15 +19,14 @@
 
 #include <config.h>
 #include <vector>
 #include <map>
 #include <cstring>
-#include <glib.h>
 extern "C" {
-#include <glib/gi18n.h>
+  #include <glib.h>
+  #include <glib/gi18n.h>
 }
-#include <glib/gunicode.h>
 #include "text-massager.h"
 #include <pan/general/log.h>
 using namespace pan;
 
 TextMassager :: TextMassager ():


Note You need to log in before you can comment on or make changes to this bug.