~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to lib/ssh/src/ssh_connection.erl

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
%%
2
2
%% %CopyrightBegin%
3
 
%% 
4
 
%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
5
 
%% 
 
3
%%
 
4
%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
 
5
%%
6
6
%% The contents of this file are subject to the Erlang Public License,
7
7
%% Version 1.1, (the "License"); you may not use this file except in
8
8
%% compliance with the License. You should have received a copy of the
9
9
%% Erlang Public License along with this software. If not, it can be
10
10
%% retrieved online at http://www.erlang.org/.
11
 
%% 
 
11
%%
12
12
%% Software distributed under the License is distributed on an "AS IS"
13
13
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
14
%% the License for the specific language governing rights and limitations
15
15
%% under the License.
16
 
%% 
 
16
%%
17
17
%% %CopyrightEnd%
18
18
%%
19
19
 
123
123
    send(ConnectionManager, ChannelId, 0, Data, infinity).
124
124
send(ConnectionManager, ChannelId, Data, TimeOut) when is_integer(TimeOut) ->
125
125
    send(ConnectionManager, ChannelId, 0, Data, TimeOut);
 
126
send(ConnectionManager, ChannelId, Data, infinity) ->
 
127
    send(ConnectionManager, ChannelId, 0, Data, infinity);
126
128
send(ConnectionManager, ChannelId, Type, Data) ->
127
129
    send(ConnectionManager, ChannelId, Type, Data, infinity).
128
130
send(ConnectionManager, ChannelId, Type, Data, TimeOut) ->
944
946
            end
945
947
    end.
946
948
 
947
 
start_channel(Address, Port, Cb, Id, Args) ->
948
 
    start_channel(Address, Port, Cb, Id, Args, undefined).
 
949
start_channel(Cb, Id, Args, SubSysSup) ->
 
950
    start_channel(Cb, Id, Args, SubSysSup, undefined).
949
951
 
950
 
start_channel(Address, Port, Cb, Id, Args, Exec) ->
 
952
start_channel(Cb, Id, Args, SubSysSup, Exec) ->
951
953
    ChildSpec = child_spec(Cb, Id, Args, Exec),
952
 
    SystemSup = ssh_system_sup:system_supervisor(Address, Port),
953
 
    ChannelSup = ssh_system_sup:channel_supervisor(SystemSup),
 
954
    ChannelSup =ssh_subsystem_sup:channel_supervisor(SubSysSup),
954
955
    ssh_channel_sup:start_child(ChannelSup, ChildSpec).
955
956
    
956
957
%%--------------------------------------------------------------------
1015
1016
            {ok, Pid}
1016
1017
    end;
1017
1018
 
1018
 
start_cli(#connection{address = Address, port = Port,
1019
 
                      cli_spec = {CbModule, Args}, exec = Exec}, ChannelId) ->
1020
 
    start_channel(Address, Port, CbModule, ChannelId, Args, Exec).
 
1019
start_cli(#connection{cli_spec = {CbModule, Args}, exec = Exec,
 
1020
                      sub_system_supervisor = SubSysSup}, ChannelId) ->
 
1021
    start_channel(CbModule, ChannelId, Args, SubSysSup, Exec).
1021
1022
 
1022
1023
start_subsytem(BinName, #connection{address = Address, port = Port, 
1023
 
                                    options = Options},
 
1024
                                    options = Options, 
 
1025
                                    sub_system_supervisor = SubSysSup},
1024
1026
               #channel{local_id = ChannelId, remote_id = RemoteChannelId},
1025
1027
               ReplyMsg) ->
1026
1028
    Name = binary_to_list(BinName),
1027
1029
    case check_subsystem(Name, Options) of
1028
1030
        {Callback, Opts} when is_atom(Callback), Callback =/= none ->
1029
 
            start_channel(Address, Port, Callback, ChannelId, Opts);
 
1031
            start_channel(Callback, ChannelId, Opts, SubSysSup);
1030
1032
        {Other, _} when Other =/= none ->
1031
1033
            handle_backwards_compatibility(Other, self(), 
1032
1034
                                           ChannelId, RemoteChannelId,