View | Details | Raw Unified | Return to bug 15720
Collapse All | Expand All

(-)a/misc/bin/connexion_import_daemon.pl (-3 / +21 lines)
Lines 60-65 Config file format: Link Here
60
                      add_only_for_matches, add_only_for_new or ignore
60
                      add_only_for_matches, add_only_for_new or ignore
61
  import_mode    - stage or direct
61
  import_mode    - stage or direct
62
  framework      - to be used if import_mode is direct
62
  framework      - to be used if import_mode is direct
63
  connexion_user      - User sent from connexion client
64
  connexion_password  - Password sent from connexion client
65
66
  Note: If connexion parameters are not defined request authentication will not be checked
67
  You should specify a different user for connexion to protect the Koha credentials
63
68
64
  All process related parameters (all but ip and port) have default values as
69
  All process related parameters (all but ip and port) have default values as
65
  per Koha import process.
70
  per Koha import process.
Lines 141-146 sub parse_config { Link Here
141
    $self->{password} = delete( $param{password} )
146
    $self->{password} = delete( $param{password} )
142
      or die "No koha user password in config file";
147
      or die "No koha user password in config file";
143
148
149
    if( defined $param{connexion_user} || defined $param{connexion_password}){
150
        # If either is defined we expect both
151
        $self->{connexion_user} = delete( $param{connexion_user} )
152
          or die "No koha connexion_user in config file";
153
        $self->{connexion_password} = delete( $param{connexion_password} )
154
          or die "No koha user connexion_password in config file";
155
    }
156
144
    $self->{host} = delete( $param{host} );
157
    $self->{host} = delete( $param{host} );
145
    $self->{port} = delete( $param{port} )
158
    $self->{port} = delete( $param{port} )
146
      or die "Port not specified";
159
      or die "Port not specified";
Lines 247-253 sub read_request { Link Here
247
    }
260
    }
248
261
249
    $in = join '', @in_arr;
262
    $in = join '', @in_arr;
250
251
    $in =~ m/(.)$/;
263
    $in =~ m/(.)$/;
252
    my $lastchar = $1;
264
    my $lastchar = $1;
253
    my ($xml, $user, $password, $local_user);
265
    my ($xml, $user, $password, $local_user);
Lines 300-305 sub read_request { Link Here
300
        $self->log("Invalid request", $in, @details);
312
        $self->log("Invalid request", $in, @details);
301
        return;
313
        return;
302
    }
314
    }
315
    $user = $local_user if !$user && $local_user;
303
316
304
    $self->log("Request", @details);
317
    $self->log("Request", @details);
305
    $self->log($in) if $self->{debug};
318
    $self->log($in) if $self->{debug};
Lines 319-328 sub _trim_identifier { Link Here
319
332
320
sub handle_request {
333
sub handle_request {
321
    my ( $self, $io ) = @_;
334
    my ( $self, $io ) = @_;
322
323
    my ($data, $user, $password) = $self->read_request($io)
335
    my ($data, $user, $password) = $self->read_request($io)
324
      or return $self->error_response("Bad request");
336
      or return $self->error_response("Bad request");
325
337
338
    unless(
339
        !(defined $self->{connexion_user}) ||
340
        ($user eq $self->{connexion_user} && $password eq $self->{connexion_password})
341
    ){
342
       return $self->error_response("Unauthorized request");
343
    }
344
326
    my $ua;
345
    my $ua;
327
    if ($self->{user}) {
346
    if ($self->{user}) {
328
        $user = $self->{user};
347
        $user = $self->{user};
329
- 

Return to bug 15720