%PDF- %PDF-
Direktori : /usr/local/share/perl5/5.32/URI/ |
Current File : //usr/local/share/perl5/5.32/URI/smb.pm |
package URI::smb; use strict; use warnings; use parent 'URI::_login'; our $VERSION = '5.32'; sub default_port { 445 } sub user { my $self = shift; my $new = shift; my ($user, $authdomain) = _parse_user($self->SUPER::user()); if ($new) { $self->SUPER::user($authdomain ? "$authdomain;$new" : $new); $user = $new; } return $user; } sub authdomain { my $self = shift; my $new = shift; my ($user, $authdomain) = _parse_user($self->SUPER::user()); # it must not be possible to set authdomain without user if ($user && $new) { $self->SUPER::user("$new;$user"); $authdomain = $new; } return $authdomain; } sub sharename { return (shift->path_segments)[1]; } sub _parse_user { my $input = shift or return; my ($authdomain, $user) = split ';', $input, 2; return $user ? ($user, $authdomain) : $authdomain; } 1; __END__ =head1 NAME URI::smb - Samba/CIFS URI scheme =head1 SYNOPSIS my $uri = URI->new('smb://authdomain;user:password@server/share/path'); =head1 DESCRIPTION This module implements the (unofficial) C<smb:> URI scheme described in L<http://www.ubiqx.org/cifs/Appendix-D.html>. =head1 SUBROUTINES/METHODS =head2 default_port The default port for accessing Samba/Windows File Servers is 445 =head2 user Get or set the user part of the URI (without the authdomain) =head2 authdomain Get or set the authentication authdomain part of the URI. This value is only available if the user is already set. =head2 sharename Helper method to get the share name from path =head1 DEPENDENCIES None =head1 BUGS AND LIMITATIONS See L<URI|URI#BUGS> =head1 SEE ALSO L<http://www.ubiqx.org/cifs/Appendix-D.html> =head1 AUTHOR I. M. Bur <github@lty.cz> =head1 LICENSE AND COPYRIGHT This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See L<http://dev.perl.org/licenses/> for more information.