Hi, Peter:
    Thank you for your information.
    I searched this information in Chinese, and it's comes this:
https://blog.lyz810.com/article/2016/09/shadowsocks-with-openssl-greater-than-110/
(don't open it, the CA is wosign. I don't trust it, so I opened in a VM)
    According to this article, that's because openssl 1.1 removed
EVP_CIPHER_CTX_cleanup. That made it incompatible with shadowsocks. The
same article suggest to substitute this function with EVP_CIPHER_CTX_reset.
Unfortunately, according to my test, simply replacement will make
shadowsocks not compatible with openssl1.0.2. So I had to write some extra
code to fix it. This might be prepared in one or two days.
    Thank you again.
        Sincerely
               Shell.Xu

On Sat, Nov 19, 2016 at 10:29 PM, Peter Gervai <g...@grin.hu> wrote:

> Package: shadowsocks
> Version: 2.9.0-1
> Severity: grave
> Justification: renders package unusable
>
> (If you believe this is libssl1.1 bug feel free to reassign.)
>
> The program simply won't start in sid:
>
> INFO: loading config from /etc/shadowsocks/config.json
> 2016-11-19 15:20:09 INFO     loading libcrypto from libcrypto.so.1.1
> Traceback (most recent call last):
>   File "/usr/bin/ssserver", line 11, in <module>
>     load_entry_point('shadowsocks==2.9.0', 'console_scripts',
> 'ssserver')()
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/server.py", line 34,
> in main
>     config = shell.get_config(False)
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/shell.py", line 270,
> in get_config
>     check_config(config, is_local)
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/shell.py", line 125,
> in check_config
>     encrypt.try_cipher(config['password'], config['method'])
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line
> 44, in try_cipher
>     Encryptor(key, method)
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line
> 84, in __init__
>     random_string(self._method_info[1]))
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line
> 110, in get_cipher
>     return m[2](method, key, iv, op)
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py",
> line 76, in __init__
>     load_openssl()
>   File "/usr/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py",
> line 52, in load_openssl
>     libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
>   File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
>     func = self.__getitem__(name)
>   File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
>     func = self._FuncPtr((name_or_ordinal, self))
> AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined
> symbol: EVP_CIPHER_CTX_cleanup
>
> Seems to have a closed (unreasolved) upstream issue about it, closed
> inconsistently:
> https://github.com/shadowsocks/shadowsocks/issues/646
>
>
> -- System Information:
> Debian Release: stretch/sid
>   APT prefers unstable
>   APT policy: (500, 'unstable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores)
> Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
> Shell: /bin/sh linked to /bin/bash
> Init: sysvinit (via /sbin/init)
>
> Versions of packages shadowsocks depends on:
> ii  lsb-base              9.20161101
> ii  python                2.7.11-2
> ii  python-m2crypto       0.24.0-1
> ii  python-pkg-resources  28.7.1-1
> pn  python:any            <none>
>
> shadowsocks recommends no packages.
>
> shadowsocks suggests no packages.
>
> -- Configuration Files:
> /etc/shadowsocks/config.json changed [not included]
>
> -- no debconf information
>



-- 
彼節者有間,而刀刃者無厚;以無厚入有間,恢恢乎其於游刃必有餘地矣。
blog: http://shell909090.org/
twitter: @shell909090 <https://twitter.com/shell909090>
about.me: http://about.me/shell909090

Reply via email to