Mercurial > gftp.yaz
view docs/parse-netrc.pl @ 84:7ef60ce2bdb2
2002-12-29 Brian Masney <masneyb@gftp.org>
* lib/ssh.c lib/config_file.c lib/Makefile.am lib/gftp.h lib/options.h - removed old legacy SSH protocol and option to enable this protocol
* lib/gftp.h - added GFTP_ERETRYABLE and GFTP_EFATAL error codes
* lib/bookmark.c lib/local.c lib/protocols.c lib/rfc959.c lib/rfc2068.c
lib/sshv2.c - return new error codes instead of -1 or -2
* lib/misc.c (gftp_*_sort_function_ds) - changed return values
* src/gtk/transfer.c (connect_thread) - if return value of
gftp_connect() is GFTP_EFATAL, don't attempt to retry the connection
author | masneyb |
---|---|
date | Sun, 29 Dec 2002 15:16:27 +0000 |
parents | 8b1883341c6f |
children |
line wrap: on
line source
#!/usr/bin/perl -w # Brian Masney <masneyb@gftp.org> my ($host, $user, $pass, $account, $descr, %bmhash); use strict; open NRC, "<.netrc" or die "Can't open .netrc: $!\n"; open BM, "+>>.gftp/bookmarks" or die "Can't open .gftp/bookmarks: $!\nTry running gFTP once to create a default bookmarks file\n"; seek (BM, 0, 0); while (<BM>) { ($descr) = /\[(.*?)\]/; next if !defined ($descr); $bmhash{$descr} = 1; } seek (BM, 0, 2); while (<NRC>) { if (/machine /) { print_bookmark (); ($host) = /machine (.*?)\s+/; } if (/login /) { ($user) = /login (.*?)\s+/; } if (/password /) { ($pass) = /password (.*?)\s+/; } if (/account /) { ($account) = /account (.*?)\s+/; } } print_bookmark (); close NRC; close BM; print "The contents of your .netrc file should now be stored in .gftp/bookmarks\n"; sub print_bookmark { my $i; return if !defined ($host); if (!defined ($bmhash{$host})) { $descr = $host; } else { for ($i=0; ; $i++) { $descr = "$host ($i)"; last if !defined ($bmhash{$descr}); } } print BM "[$descr]\n"; print BM "hostname=$host\n"; print BM "port=21\n"; print BM "protocol=FTP\n"; print BM "remote directory=\n"; print BM "local directory=\n"; if (!defined ($user)) { $user = "anonymous"; } print BM "username=$user\n"; if ($user eq "anonymous" || !defined ($pass)) { $pass = "\@EMAIL\@"; } print BM "password=$pass\n"; if (!defined ($account)) { $account = ""; } print BM "account=$account\n\n"; print "Added $descr = $user\@$host\n"; undef ($host); undef ($user); undef ($pass); undef ($account); }