Ubuntu 12.04 升级到14.04之后,pidgin-sipe 出现的问题: Trouble with the pidgin and self-signed SSL certificate

Once again, I run into trouble when upgrading my LinuxMint.

In last few days, my Linux mint notifies me that lots of packages need to be upgraded. As I‘m using an LTS version, I agreed to download and upgrade all packages, which includes pidgin. Pidgin was upgraded to version 2.10.9

Unfortunately, afterward, I cannot use pidgin with Office Communicator plugin to log in my corporation‘s Lync server. Lync always tells me it cannot validate the certificate from the server.

It‘s normal, because my lync server uses a self-signed certificate. But in the past, pidgin allow me to connect with a warning only, but now it denies me.

Lots of googling does not help me. Tried to install a newer version 2.10.10 also does not help me to resolve problem. It‘s terrible for me, because most of communication in my company use Lync, and I dont want to get back to Windows world, just because of pidgin.

Fortunately, pidgin, like most of application in Linux world, is open source. So I tried to download the source code of pidgin, tried to compile it. The self-compile package for 2.10.10 also not help me to resolve the problem, so I perform some review on the
source. IT‘s not really easy for me, as I never wrote any C++ program on Linux before.  Finally after half days, I found that from pidgin 2.10.9, they re-designed the NSS-SSL plugin which used as the infrastructure for SSL connection , but they forget to add
the code to process unknown CA provider. They processed the untrusted issuer, but not unknown issuer (my case, for the self-signed certificate).

in /libpurple/plugins/ssl/ssl-nss.c

case SEC_ERROR_UNTRUSTED_ISSUER:

if (crt_dat->isRoot) {
*flags |= PURPLE_CERTIFICATE_SELF_SIGNED;
} else {
*flags |= PURPLE_CERTIFICATE_CA_UNKNOWN;
}

So my work is quite easy: Add the unknown issuer processing with the same process with untrusted issuer.

case SEC_ERROR_UNKNOWN_ISSUER:

case SEC_ERROR_UNTRUSTED_ISSUER:

if (crt_dat->isRoot) {

...

After review again the latest source code in pidgin ‘s SCM, I found that this change is already integrated in to latest source code 3 weeks ago. So it‘s hopeful that in next verison of pidgin, this problem is gone.

UPDATE 2015/04/11

As with latest version of pidgin, 2.10.11 I still have the same problem.

I just performed a small hack: remove all certifications check.

Of course, it‘s dangerous with the Man in middle attack. But, for me, it‘s enough.

I put it into my google site for anybody who doesnt want to build it.

Pidgin Download

Sipe plugin download

鉴于以上的问题,查看了一下12.04和14.04的pidgin的版本

12.04:Pidgin 2.10.3 (libpurple 2.10.3)

14.04: Pidgin 2.10.9 (libpurple 2.10.9)

果断上sourceforge上(http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.3/pidgin-2.10.3.tar.gz/download?use_mirror=colocrossing&r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpidgin%2Ffiles%2FPidgin%2F2.10.3%2F&use_mirror=tcpdiag)下载pidgin2.10.3版本的tar包,然后再编译,貌似在configure的时候依赖挺多,按照每次出错的提示,最后的configure命令如下:

./configure --disable-screensaver --disable-gtkspell --disable-gstreamer --disable-vv --disable-idn --disable-meanwhile --disable-avahi --disable-nm --disable-perl --disable-tcl; make; sudo make install

OK了。

Notice:

这个时候的pidgin都默认安装在/usr/loca/下,而不是在原先的/usr/下

时间: 2024-10-16 12:06:08

Ubuntu 12.04 升级到14.04之后,pidgin-sipe 出现的问题: Trouble with the pidgin and self-signed SSL certificate的相关文章

制作U盘启动盘将Ubuntu 12.04升级为14.04的方法

1 介绍 在周六的下午,我决定想快速浏览一下书籍[1],看看这个关于Ubuntu的圣经究竟在讲什么东东.感觉讲的不错,当我看到介绍文件标记语言-TeX和LaTeX的时候,该书作者推荐在Ubuntu上常用的teTeX软件包,可是我在软件中心(Software Center)通过查询(Searcch)对话框并没有找到该软件,于是进入作者推荐的关于teTeX的主页(www.tug.org/tetex)去了解.发现teTex自2006那年就停止维护,建议对TEX感兴趣的安装和关注TexLive.我当时就

ubuntu升级到14.04后网络不可用的解决

今天把ubuntu从13.10升级到14.04 LTS版本,期间一切顺利,大概花了2个小时,顺利进入14.04的桌面.期间碰到一个网络的不可用的问题,花了一些时间解决,以此记录一下解决方法,给遇到相同问题的朋友们节约一点时间. 症状是这样的:如下图 进入系统后,右上角的无线也没有了. 打开系统设置 > 网络,提示与该版本不适配,网上搜了一下,按照做了下就解决了,如下: 打开一个新的终端: cd /etc/NetworkManager ls 会发现有个system-connections 的文件夹

Ubuntu14.04升级到16.04遇到的问题

直接执行下面命令 [email protected]:/home/kuku# do-release-upgrade 若出现下面报错 The required dependency 'apt (>= 1.0.1ubuntu2.13)' is not installed. 则查看当前版本号 [email protected]:/home/kuku# uname -a Linux kuku-virtual-machine 4.2.0-27-generic #32~14.04.1-Ubuntu SMP 

Ubuntu升级到14.04

公司网络实在太翔了,搞了一天最终成功把ubuntu从13.10升级到了14.10,中间也越到了非常多问题,记录下来,以备參考. 13.10的时候想体验一把搜狗输入法,结果因为fcitx版本号太低,用了好多办法,愣是安装不了,结果人家好像仅仅支持LTS版本号的. 一升级OK,立即安装,本片博文便是用搜狗输入法写的. 13.10的时候用的是ubuntu.cn99.com提供的源.也没多想就用这个源进行升级了. 打开终端输入例如以下命令: $sudo apt-get update && sudo

ubuntu升级到14.04后终端显示重叠

系统升级后,发现这个问题很不爽,问题不大,但有时候找不到解决方法,让人纠结好久.解决方法如下: 编辑->配置文件首选项->常规-> monospace 改为ubuntu mono  即可.

Ubuntu开启ssh服务(14.04)

更新Ubuntu源 打开"终端窗口",输入"sudo apt-get update",终端窗口在图形界面下可以使用搜索文件terminal. 安装ssh服务端 Ubuntu默认安装了ssh客户端,但没有服务端 打开"终端窗口",输入"sudo apt-get install openssh-server" 查看ssh服务是否启动 打开"终端窗口",输入"sudo ps -e|grep ssh&qu

把腾讯云的ubuntu16.04升级到18.04

腾讯云买的服务器也没怎么弄,正好重装一下玩乐了. 1. 重装系统,在腾讯云里先停机,然后重装系统,目前最高是ubuntu16.04.为什么选择Ubuntu?因为,因为习惯吧,之前学习laravel就是用的Ubuntu,现在学习python,Ubuntu照样好使. 2. sudo su.首先切换到root用户.腾讯云和其他云服务器不一样,默认是Ubuntu用户,而阿里云等其他服务器安装好后默认用户就是root用户. 3. apt-get update.一般很快. 4. apt-get upgrad

Ubuntu 14.04根据系统,休眠后不能启动要解决的问题

简介: 提升Ubuntu制度14.04之后,当系统进入休眠,我们不能再次启动,直接崩溃,凡出了问题? 1.   问题纳入 Ubuntu升级系统14.04之后.通过系统的Power设置休眠时间,在系统进入休眠之后,系统无法启动. 仅仅能通过冷启动.方可又一次进入系统. 2.  问题分析 首先分析一下问题,系统在休眠之后.进入死机的状态.无法响应键盘和鼠标事件.可是键盘本身是能够进行状态切换的.比方能够开关网络.可是显示屏幕上的内容无法更新. 升级到最新版本号.问题依旧存在. 从网络上查询了一下,确

ubuntu 14.04离线安装docker compose

准备安装包 1.下载docker docker支持以下版本的ubuntu系统Artful 17.10 (Docker CE 17.11 Edge)Zesty 17.04Xenial 16.04 (LTS)Trusty 14.04 (LTS) 查看ubuntu系统版本:sudo lsb_release –a下载对应docker安装包:https://apt.dockerproject.org/repo/pool/main/d/docker-engine/ 2.下载docker-compose 从g