tiens je pense avoir trouvé ... dis moi tu as gardé samba 3 ? tu as viré la version 2 ?
regarde dans samba 3 ( version mdk 9.2, nécessaire pour faire cohabiter les 2 versions en même temps ), la commande pour parcourir le réseau s'apelle nmblookup3 or la routine de recherche de mdk utilise nmblookup
tiré de /usr/lib/libDrakX/network/smb.pm
Code :
- sub find_servers {
- my (undef, @l) = `nmblookup "*"`;
- s/\s.*\n// foreach @l;
- my @servers = grep { network::network::is_ip($_) } @l;
- my %servers;
- $servers{$_}{ip} = $_ foreach @servers;
- my ($ip, $browse);
- foreach (`nmblookup -A @servers`) {
- my $nb = /^Looking up status of (\S+)/ .. /^$/ or next;
- if ($nb == 1) {
- $ip = $1;
- } elsif (/<00>/) {
- $servers{$ip}{/<GROUP>/ ? 'group' : 'name'} ||= lc first(/(\S+)/);
- } elsif (/__MSBROWSE__/) {
- $browse ||= $servers{$ip};
- }
- }
- if ($browse) {
- my %l;
- foreach (smbclient($browse)) {
- my $nb = /^\s*Workgroup/ .. /^$/;
- $nb > 2 or next;
- my ($group, $name) = split(' ', lc($_));
- # already done
- next if any { $group eq $_->{group} } values %servers;
- $l{$name} = $group;
- }
- if (my @l = keys %l) {
- foreach (`nmblookup @l`) {
- $servers{$1} = { name => $2, group => $l{$2} } if /(\S+)\s+([^<]+)<00>/;
- }
- }
- }
- values %servers;
- }
|
la solution consiste à renommer dedans tous les nmblookup en nmblookup3 ou alors d'installer samba-client ( i.e pour avoir les outils de la version 2 ) pour faire la détection.
la 2e solution est plus simple, la 1ere plus marrante et longue car il faut réécrire pas mal de trucs ( ajouter des 3 aux outils samba utilisé comme smbclient, nmblookup )
Message édité par Dark_Schneider le 03-01-2004 à 18:27:19
---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php