controls/__init__.py
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 13 Mar 2019 15:43:45 +0300
changeset 2543 2befed4d6ca8
parent 2492 7dd551ac2fa0
child 3750 f62625418bff
permissions -rw-r--r--
Fix Pyro work with SSL wrapper (sslpsk)

Following error was shown in Beremiz console:
PYRO connecting to URI : PYROS://127.0.0.1:3001#beremiz
Exception while connecting to 'PYROS://127.0.0.1:3001#beremiz': non-zero flags not allowed in calls to recv() on <class 'ssl.SSLSocket'>
Connection failed to PYROS://127.0.0.1:3001#beremiz!

Reason is that Pyro calls socket recv() with MSGWAITALL flag, that causes ValueError exception.

https://docs.python.org/2/library/ssl.html
recv(), recv_into() (but passing a non-zero flags argument is not allowed)
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# This file is part of Beremiz, a Integrated Development Environment for
# programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
#
# Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD
#
# See COPYING file for copyrights details.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

# Package initialization

from __future__ import absolute_import

from controls.CustomEditableListBox import CustomEditableListBox
from controls.CustomGrid import CustomGrid
from controls.CustomTable import CustomTable
from controls.CustomTree import CustomTree
from controls.CustomIntCtrl import CustomIntCtrl
from controls.DebugVariablePanel import DebugVariablePanel
from controls.DurationCellEditor import DurationCellEditor
from controls.LibraryPanel import LibraryPanel
from controls.LocationCellEditor import LocationCellEditor
from controls.PouInstanceVariablesPanel import PouInstanceVariablesPanel
from controls.ProjectPropertiesPanel import ProjectPropertiesPanel
from controls.VariablePanel import VariablePanel
from controls.SearchResultPanel import SearchResultPanel
from controls.TextCtrlAutoComplete import TextCtrlAutoComplete
from controls.FolderTree import FolderTree
from controls.LogViewer import LogViewer
from controls.CustomStyledTextCtrl import CustomStyledTextCtrl
from controls.CustomToolTip import CustomToolTip