… | |
… | |
180 | . (join "", map ";$_=$greeting_kv->{$_}", keys %$greeting_kv); |
180 | . (join "", map ";$_=$greeting_kv->{$_}", keys %$greeting_kv); |
181 | |
181 | |
182 | my $lgreeting2 = MIME::Base64::encode_base64 AnyEvent::MP::Kernel::nonce (66), ""; |
182 | my $lgreeting2 = MIME::Base64::encode_base64 AnyEvent::MP::Kernel::nonce (66), ""; |
183 | |
183 | |
184 | $self->{hdl}->push_write ("$lgreeting1\012$lgreeting2\012"); |
184 | $self->{hdl}->push_write ("$lgreeting1\012$lgreeting2\012"); |
|
|
185 | return unless $self; |
185 | |
186 | |
186 | # expect greeting |
187 | # expect greeting |
187 | $self->{hdl}->rbuf_max (4 * 1024); |
188 | $self->{hdl}->rbuf_max (4 * 1024); |
188 | $self->{hdl}->push_read (line => sub { |
189 | $self->{hdl}->push_read (line => sub { |
189 | my $rgreeting1 = $_[1]; |
190 | my $rgreeting1 = $_[1]; |
… | |
… | |
272 | } else { |
273 | } else { |
273 | return $self->error ("unable to handshake TLS and no shared secret configured"); |
274 | return $self->error ("unable to handshake TLS and no shared secret configured"); |
274 | } |
275 | } |
275 | |
276 | |
276 | $self->{hdl}->push_write ("$s_auth;$lauth;$s_framing\012"); |
277 | $self->{hdl}->push_write ("$s_auth;$lauth;$s_framing\012"); |
|
|
278 | return unless $self; |
277 | |
279 | |
278 | # read the authentication response |
280 | # read the authentication response |
279 | $self->{hdl}->push_read (line => sub { |
281 | $self->{hdl}->push_read (line => sub { |
280 | my ($hdl, $rline) = @_; |
282 | my ($hdl, $rline) = @_; |
281 | |
283 | |