ActiveSambaLdap is a library and a management tool for Samba + LDAP
environment.
ActiveSambaLdap provides object-oriented API to manipulate LDAP entry
for Samba. ActiveSambaLdap also provides command-line tools to
replace smbldap-tools written by Perl.
Locale::Currency::Format is a light-weight Perl module that enables
Perl code to display monetary values in the formats recognized
internationally and/or locally.
This is a lightweight module to do currency conversion using the
Currency Converter web service at http://www.webservicex.net/.
The motivation for this module was many fold. First,
Finance::Currency::Convert with Finance::Quote was a little too
bulky for my needs, esp the need to download or maintain conversion
tables. Finance::Currency::Convert::Yahoo seemed to be based on
screen scraping. Way to fragile for my taste.
Finance::Currency::Convert::XE has usage restrictions from XE.com.
[No offense intended to any of the authors above]
The Data::Currency module provides basic currency formatting and
conversion:
my $price = 1.23;
my $currency = Data::Currency->new($price);
print $currency->convert('CAD')->as_string;
Each Data::Currency object will stringify to the original value
except in string context, where it stringifies to the format
specified in format.
Ruby/ActiveLdap provides an object oriented interface to LDAP. It maps
LDAP entries to Ruby objects with LDAP attribute accessors exposed as
methods dynamically assigned based on your LDAP server's schema and
each object's objectClasses.
the full requirement rather than just the package name. This message
should never be seen (after all, the package we need is supposed to
*get* installed) but sometimes if things are screwed up in one way or
another it does show up. Since often what's wrong is that the package
that's installed is the wrong version, not that it's missing entirely,
this way the error message makes a lot more sense.
E.g. http://mail-index.netbsd.org/tech-pkg/2008/06/12/msg001126.html et seq.
ok dillo@
Add missing dep on libxml2.
Also merge some stuff from wip/wine:
- more options (esound, ldap, dbus, ssl, x11)
- split PLIST to accomodate extra files on Linux and FreeBSD (PR pkg/36320)
This also fixes the broken build against current openldap. (PR pkg/38025)
2008-06-16 Gisle Aas <gisle@ActiveState.com>
Release 1.37
Gisle Aas (1):
Support ";" delimiter in $u->query_form
Jan Dubois (1):
We get different test result when www.perl.com doesn't resolve.
Kenichi Ishigaki (1):
URI::Heuristic didn't work for generic country code [RT#35156]
Pkgsrc changes:
- p5-DB_File is now required on all systems, even those where Perl
already detects the native db-functions (dbopen,...) and thus
provides DB_File.
This should prevent subtle errors like the one in PR pkg/37751 at
the price of installing an additional package.
- Added explanation to patch-ay.
- patch-bc was adapted to the changes for the path of compiled rulesets.
- patch-bd is no longer necessary, the public key is now cross-verified.
- shut up some warnings from pkglint regarding "set -e" and quoted
variables.
Changes since version 3.2.4:
============================
3.2.5 is a minor bug-fix release. Summary of changes:
- bug 5775: newer gpg versions require keys to be cross-certified (backsig).
Did a cross-verify on our sa-update public key and re-exported. (If you
are already seeing "GPG validation failed" errors from sa-update, see
http://wiki.apache.org/spamassassin/SaUpdateKeyNotCrossCertified .)
- bug 5899: add perl version string to the storage area for compiled
rulesets, to avoid crashes when perl is upgraded between major versions
(e.g perl 5.8.x to 5.10.0) and the ABI breaks
- bug 5496, bug 5910: clear some FORGED_MUA_OUTLOOK false positives,
particularly on the new-format Message-ID generated by the Outlook
Express version used in Windows XP service pack 3
- bug 5730: when using Postgres >= 8.1.0 with Bayes, this error occurs:
'WARNING: nonstandard use of \ in a string literal at character'. fix,
thanks to Tomasz Ostrowski
- bug 5769: fix 'sa-compile: eval failed: Can't find label NO' error,
caused in rare circumstances when sa-compile attempted to deal with
rules written using 'replace_rules' features
- bug 5858: fix circular reference memory leak caused by some messages
- bug 5815: update 2TLD list to include .rs CCTLD
- bug 4706: remove HG_HORMOME rules due to poor performance
- bug 5835: typo in POD docs for SPF plugin; thanks to Benny Pedersen for fix
- bug 5839: a missing or failed eval rule function could mistakenly count
as a rule hit, fixed
- trivial bugfix for the VBounce ruleset: __BOUNCE_FROM_DAEMON incorrectly
used + instead of *, so some From addresses were not being recognised as
bounce senders
from 2.3.6 to 2.3.7
- fixed bug in dar_manager about the localization of the archive in which to fin
d the latest EA
- fixed bug in configure script to properly report full blowfish encryption supp
ort
- fixed a bug in the statistics calculus of dar_manager for most recent files pe
r archive
- removed inappropriate internal error check
- added --disable-libdl-linking option
- fixed mistake in API tutorial
- updated Swedish translation by Peter Landgren
- fixed bug in the file filtering based on listing file ( -[ option )
- fixed typo and spelling errors in documentation
- updated code for clean compilation with gcc-4.2.3
- updated code for clean compilation with gcc-4.3 20080208 (experimental gcc)
from 2.3.7 to 2.3.8
- fixed bug in libdar met when user supply an empty file as a list of file to
include or exclude ( -[ and -] options )
- fixed bug concerning elastic buffers used beside strong encryption. No
security issue here, just in some almost rare situations the generated archive
was not readable (testing your archive prevents you loosing data in this
situation)
- added some speed optimizations
- avoided warning to appear without -v option set, when an error is met while
fetching value of nodump flag (flag not supported on filesystem for example).
copy from there.
Update the Sieve plugin accordingly to 1.1.5.
Major changes since 1.0:
* After Dovecot v1.1 has modified index or dovecot-uidlist files,
they can't be opened anymore with Dovecot versions earlier than
v1.0.2.
* See doc/wiki/Upgrading.1.1.txt (or for latest changes,
http://wiki.dovecot.org/Upgrading/1.1) for list of changes since
v1.0 that you should be aware of when upgrading.
+ IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions.
+ IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
+ When saving messages, update cache file immediately with the data
that we expect client to fetch later.
+ NFS caches are are flushed whenever needed. See mail_nfs_storage and
mail_nfs_index settings.
+ Out of order command execution (SEARCH, FETCH, LIST), nonstandard
command cancellation (X-CANCEL <tag>)
+ IMAP: STATUS-IN-LIST draft implementation
+ Expire plugin can be used to keep track of oldest messages in
specific mailboxes. A nightly run can then quickly expunge old
messages from the mailboxes that have them. The tracking is done
using lib-dict, so you can use either Berkeley DB or SQL database.
+ Namespaces are supported everywhere now.
+ Namespaces have new list and subscriptions settings.
+ Full text search indexing support with Lucene and Squat backends.
+ OTP and S/KEY authentication mechanisms (by Andrey Panin).
+ mbox and Maildir works with both Maildir++ and FS layouts. You can
change these by appending :LAYOUT=3Dmaildir++ or :LAYOUT=3Dfs to
mail_location.
+ LDAP: Support templates in pass_attrs and user_attrs
+ Support for listening in multiple IPs/ports.
+ Quota plugin rewrite: Support for multiple quota roots, warnings,
allow giving storage size in bytes or kilo/mega/giga/terabytes,
per-mailbox quota rules.
+ Filesystem quota backend supports inode limits, group quota and
RPC quota for NFS.
+ SEARCH and SORT finally compare non-ASCII characters
case-insensitively. We use i;unicode-casemap algorithm.
+ Config files support splitting values to multiple lines with \
1.33 - June 8, 2008
- Allowed the end-user to customise the _encode() routine in
XML::RSS::Private::Output::Base from XML::RSS using the
encode_cb key.
2.21 March 9 2008 - Major
! Fixed bug where UTF-8 strings in formulas weren't handled.
Thanks Sergey Zhuravlev.
http://rt.cpan.org/Public/Bug/Display.html?id=30368
! Fixed collapse outlines compatibility with Gnumeric
and OpenOffice.org.
Reported by Barrie Slaymaker.
http://rt.cpan.org/Public/Bug/Display.html?id=33662
+ Added outline_collapsed.pl example.
+ Added document section about rewriting Excel files.
+ Minor security fix to Format to avoid eval and
additional fix for RT 24218.
Thanks to Bram.
+ Added increased compatibility with third party
Excel reading applications such as POI.
+ Added optional compatibility_mode() to fix problems
that can occur with Office SP3.
+ Fixed compatibility problem with Google Docs.
+ Added set_start_page() method for setting the start page
number when printing.
2.20 October 6 2007 - Major
+ Added autofilter() and filter_column() method and
autofilter.pl example.
+ Added embed_chart() method to allow extracted chart
templates to be embedded in a worksheet.
Added demo4.pl and demo5.pl examples.
+ Added the insert_image() method and proper Excel 97
style image handling for PNG and BMP.
Images now work with Gnumeric and OpenOffice.
insert_bitmap() is now deprecated.
! Made pane split optional when calling freeze_panes().
Also renamed thaw_panes() as split_panes(). The old
method name is still available, but deprecated.
! Renamed write_unicode() and write_unicode_le() methods
to the more explicit write_utf16be_string() and
write_utf16le_string(). The old method names are
still available, but deprecated.
2.19 June 14 2007 - Major
+ Beta testing only. Not released to CPAN.
0.33 Tue 27 May 2008
- Upgrading to Module::Install 0.74
- Bumping Scalar::Util version to 1.18 to get a fixed better
looks_like_number
- Moved B driver test class to My_B to prevent collision with the
B modules
0.32_01 Sat 23 Feb 2008
- Moving 01_compile.t minimum version to 5.005 to match Makefile.PL
(Resolves rt.cpan.org #26674)
- Removing the deprecated _CALLABLE function
0.51 Mon May 8 11:55:19 BST 2006
- Deprecation in favour of ZOOM-Perl.
- Fix some compiler warnings.
- Fix typo in documentation (thanks to Kimmo Valtonen).
0.50 Wed Jul 27 13:28:03 BST 2005
- Correct the ResultSet::present() fix that was supposed to be
in the previous release: that code inadvertently always
returned undef in asynchronous mode.
- "ywpriv.h" now #undefines "list", which the Perl development
header files inexplicably and inexcusably #define to
"Perl_list".
- "ywpriv.h" now #undefines "open", which Solaris 9 #defines
(I really can't believe this) to "open64". Maybe Sun would
like me to go round their place and dump a load of _my_ crap
in _their_ workspace?
- New querytype "cql" can be used to pass CQL queries,
untranslated, straight through to the server. Use like:
$conn->search(cql => "au=(kernighan and richie)")
0.49 Thu Apr 21 11:06:02 BST 2005
- Change to the ResultSet::present() API in asynchronous mode:
returns 1 if new requests were queued, 0 if all of the
requested records had already been queued. (No changes to
its usage in synchronous mode.)
- yazwrap/send.c no longer includes <yaz/log.h> (not needed,
generates warning)
0.48 Tue Apr 19 22:36:45 2005
- Patches supplied by Jan Bauer Nielsen <jbn@dtv.dk> to
interpret otherInformation packets, in search responses,
containing a search-info report of subquery counts.
- Patches supplied by Myron Turner <mturner@Ms.UManitoba.CA>
to protect the Net::Z3950 module against certain classes of
badly-behaved server.
- Bring "samples/multiplex.pl" up to date, illustrating the
use of this module to run sequences of queries against
multiple servers in parallel.
0.47 Tue Jan 4 22:15:07 2005
- The "connection refused" condition is now handled more
gracefully, so that there is no error message emitted by
Event.pm, just an undefined value returned and $! set to
ECONNREFUSED.
- Improve many of the comments on this subject.
0.46 Mon Nov 22 23:42:40 2004
- Use the MARC::Record module for rendering MARC records
instead of the older, unsupported and possibly buggy
MARC.pm.
WARNING: This change is backwards incompatible, but that
incompatibility will only affect you if you're relying on
the precise formatting of $rec->render() on MARC records.
0.45 Mon Nov 1 09:13:51 2004
- Support for "charset" and "language" options added by Adam
Dickmeiss.
0.44 Fri May 7 18:00:54 2004
Note that this release consists entirely of
backwards-incompatible changes to new functionality introduced
in 0.43, the previous release. If you use Scan, then all your
Scan code must change; if you do not use Scan, then this
release will not affect you at all.
- Change scan-option names to be ZOOM-compliant.
- Introduce a new enumeration, Net::Z3950::ScanStatus
- Add a new class, Net::Z3950::ScanSet, representing the
results of a Scan operation. This is compliant with the
ZOOM Abstract API, and supports much nicer client code than
the previous release:
$ss = $conn->scan('@attr 1=1003 kern');
$status = $ss->status();
print $ss->errmsg()
if $status == Net::Z3950::ScanSet::Failure;
$count = $ss->size();
($term, $hits) = $ss->term(0);
The scanResponse APDU, which used to be returned from the
scan() method, is still available via the scanResponse()
method, but there is no reason for new code to call this.
- Complete rewrite of the sample client "scan.pl" to use the
new API.
0.43 Thu May 6 14:19:56 2004
- Add support for Scan, using code contributed by Jan Bauer
Nielsen <jbn@dtv.dk>, somewhat tidied up. Use it like this:
$apdu = $conn->scan('@attr 1=1003 kern');
$status = $apdu->scanStatus();
if ($status == 6) print Dumper($apdu->diag());
$count = $apdu->numberOfEntriesReturned();
$term = $apdu->entries()->[0]->termInfo()->term()->general();
$hits = $apdu->entries()->[0]->termInfo()->globalOccurrences();
Subsequent releases will support more corners of the Scan
specification (e.g. displayTerm and friends), and present a
much nicer API with a ZOOM-like ScanSet object. See
http://zoom.z3950.org/api/zoom-1.4.html#3.6
- Included in the "samples" directory is a simple scanning
client program, "scan.pl".
0.42 Wed Mar 31 13:06:09 2004
- Add support for Unix-domain sockets: use "unix" as the
hostname, and the path to the socket file as the port, in
the connection constructor. Like this:
$conn = new Net::Z3950::Connection("unix", "/tmp/socket");
0.41 Wed Mar 17 13:33:43 2004
- When Net::Z3950::Manager::wait() times out, it now returns
an undefined value rather than, as in v0.40, the timeout
value. This code is now tested, thanks to Rick Jansen.
- Minor changes to some of the logic in ResultSet.pm
0.40 Tue Mar 16 13:57:33 2004
- A timeout may be set for a Net::Z3950::Manager's wait() by
setting that manager's "timeout" option to the maximum
number of seconds to wait. Donald Knuth once wrote,
"Beware: this code has not been tested, only proved
correct." _This_ code improves on Knuth in that it has been
neither tested _nor_ proved correct. However, I give you my
solemn promise that I think it probably works, as likely as
not.
0.39 Fri Dec 19 16:08:35 2003
- Recognise record-syntax names such as "USMARC" as well as
enumerators such as Net::Z3950::RecordSyntax::USMARC, in
accordance with what's specified in v1.4 of the ZOOM AAPI.
Such names are recgonised case- and hyphen-insensitively, so
"GRS-1" and "grs1" are equivalent.
- Add "XML" as an alias for the "TEXT_XML" record-syntax.
- Handle the ZOOM AAPI's standard options "pass" and "group"
in preference to the old options "password" and "groupid"
(although these are still also recognised, for the benefit
of old applications.)
- Handle the ZOOM AAPI's standard option "async" in preference
to the old "type" with _value_ "async" (although that's
still also recognised, for the benefit of old applications.)
- Makefile.PL includes support for and instructions about
building against a YAZ in a non-standard place ("non-root
install").
- Another slight refinement to samples/simple.pl's
diagnostics.
- Documentation for diagnostic methods now includes a link to
the BIB-1 diagnostics web-page.
0.38 Fri Oct 24 13:28:42 2003
- Fix a silly bug in Net::Z3950::Record::OPAC::rawdata(),
spotted by Kristina Long. It was trying to return $$this,
like the opaque-array-of-bytes record-types such as USMARC,
whereas in fact $this is itself a Perl structure
representing the record.
- Add a kludge to patch over anti-social behaviour from
servers that sometimes return USMARC records when asked for
OPAC records: the returned record is wrapped in an otherwise
empty OPAC record structure.
0.37 Tue Sep 16 15:14:40 2003
- Remove a pair of extraneous declarations (copied from
"yaz/include/yaz/z-opac.h" for reference) at the end of
translateHoldingsAndCirc(). On recent GCC versions, such as
mine, they were pointless but harmless; but older versions,
such as the one in Debian/stable, croak if you mix
statements and declarations.
- Improve behaviour when a server unilaterally closes the
connection while we're waiting for a Init response.
Previously, this would cause a segmentation fault; now you
get errno set to 104 (ECONNRESET) which is pretty close.
- Improve the OPAC record renderer in Z3950/Record.pm so that
it walks more of the OPAC-record structure. As well as
being prettier, this is better documentation-by-example of
how to use the record structure.
0.36 Fri Sep 12 23:47:00 2003
- Add support for the OPAC record syntax: OPAC records are now
translated into self-describing Perl data-structures,
blessed into the class Net::Z3950::Record::OPAC. There is a
rudimentary renderer included in that class, but
sophisticated applications will want to deal with the data
structure itself. To see it in action, use something like:
$ perl samples/simple.pl alpha.calarts.edu 210 \
MARION fruit preferredRecordSyntax 35
WARNING: for some servers, e.g. troy.lib.sfu.ca:210/innopac,
you MUST request elementSetName "F", otherwise you'll just
be fed USMARC records whatever your preferredRecordSyntax.
- Deal better with unrecognised or malformed APDUs from the
server, e.g. library.ucfv.bc.ca:2200/unicorn when asked
for the USMARC record found by "@attr 1=4 time". Now, the
operation fails with diagnostic code 1001 (Malformed APDU).
- Change all <mike@tecc.co.uk> addresses to
<mike@indexdata.com>. (This change is well overdue, since I
changed jobs seven months ago!)
- Fix reference for PQF in the YAZ manual.
0.35 Fri Jun 27 10:48:03 2003
- Fix all non-US MARC record-types to return raw data from the
rawdata() method rather than, as before, the render()
method.
- Add a new delete() method to Net::Z3950::ResultSet
0.34 Mon May 12 10:17:07 2003
- Slightly more robust cleanup in Manager::forget()
- Make samples/simple.pl a little less simple(!) by making a
manager so that pre-connection options such as
authentication parameters can be set.
- In Makefile.PL, LIBS and INC are now both set via yaz-config,
so you don't need to mess with that file before building.
(Adam Dickmeiss)
- The INC is now inherited by yazwrap/Makefile.PL, so that
this file also does not need to be edited. (Adam Dickmeiss)
- CCFLAGS is no longer set in the yazwrap directory. I only
did that in order to add "-Wall", which is pleasant luxury
but not really necessary; and doing so caused problems as
other, default, components of that setting were discarded on
some platforms. (Adam Dickmeiss)
- Add support for the MAB record syntax, thanks to Heiko
Jansen <JANSEN@hbz-nrw.de>
0.33 Thu Apr 3 09:10:16 2003
- Add explicit statement of GPL licence.
No code changes at all.
hangelog since 2.3.1:
Alan Coopersmith (1):
Define DEFFILEMODE for OS'es that don't have it
Bryce Harrington (1):
Two more Dell quirks
Eric Anholt (10):
Disable a bunch of clock gating disables on IGD_GM, which doesn't need them.
Just remove the mprotect kludge.
Replace a couple of wait-for-ring-idles with a single function to do so.
Remove duplicated i830_stop_ring()/SetHWOperatingState() in EnterVT().
Remove gratuitous wait_ring_idle after I830Sync. Syncing implies that.
Move BIOS scratch register setup to EnterVT instead of PreInit.
Initialize clock gating from EnterVT and save/restore it appropriately.
Remove SVG_WORK_CONTROL init.
Move debug clock printout from ErrorF to X_INFO.
Set up/restore PWRCTXA from enter/leavevt not server start/exit.
Hong Liu (1):
Set SDVO sync polarity to default on 965
Jesse Barnes (3):
Panel fitting: fix letterbox modes
Fixup power saving registers
Fix TV programming: add vblank wait after TV_CTL writes
Keith Packard (2):
Skip copying on FOURCC_XVMC surfaces
Only use FOURCC_XVMC when INTEL_XVMC is defined
Lukas Hejtmanek (1):
Fix maximum backlight issue
Robert Lowery (1):
Fix TV out connection type detection
Rmi Cardona (1):
Add glproto to DRI dependencies
Shuang He (1):
Fix typo in xvmc block destroy
Zhenyu Wang (6):
Revert "Add FIFO watermark regs to register dumper"
xvmc: remove unused dri drawable
xvmc: a little cleanup
Fix compiler warning when disable xvmc config
Fix compiling with server master in LVDS backlight patch
Bump version 2.3.2
Changelog since 2.3.0:
Bryce Harrington (2):
More quirks from ubuntu/dell
More Pipe A force quirks
Eric Anholt (1):
Bug #15807: Fix use of the ring while VT-switched, hit by fast user switching.
Jesse Barnes (3):
Add a new quirk for BIOSes that reprogram regs at lid close/open time
Add FIFO watermark regs to register dumper
Save/restore cursor registers
Keith Packard (2):
Overlay video doesn't require that the target pixmap be in video memory.
Use new xf86RotateFreeShadow function to clean up shadow buffers.
Mike Isely (1):
Implement option to ignore external fixed mode settings
Zhenyu Wang (4):
Only check xvmc lib when xvmc is enabled.
Use I830FALLBACK when check pitch for debug
Revert last HP 965GM pipe A quirk
Bump version 2.3.1
1.0 Fri Dec 02, 2005
- The "Nothing Special" release. It's just been almost
three years. I think we can call it 1.0, don't you?
- Added 'queries_exhausted' methods to indicate whether
Google API query limit has been reached (RT ticket
12001)
- Fixed POD errors in Net::Google::Response (RT ticket
8735)
- Updated t/002-spelling.t (RT ticket 11386/11458)
- Updated POD
- Replace ExtUtils::MakeMaker with Module::Build
- Pass maintainership to Bill Stillwell
0.62 Wed Jun 02, 2004
- Fixed POD in N:G:Response (RT bug #5351)
- Updated spel(l)ings in t/002-spelling.t
(RT bug #6183)
- Updated N:G:Search to account to weirdness
in the way SOAP::Lite handles booleans. Not
clear that this is necessarily a problem in
SOAP::Lite but the patch fixes a reported bug
and doesn't seem to break anything else so...
(RT bug #6167)
- Added explicit call to $search->filter(1)
in t/001-search.t (RT bug #6167)
Update:
databases/ruby-DBI to 0.2.0
databases/ruby-DBD-mysql to 0.2.0
databases/ruby-DBD-postgresql to 0.2.0
databases/ruby-DBD-sqlite to 0.2.0
databases/ruby-datamapper to 0.3.2
databases/ruby-mysql to 2.7.6
databases/ruby-sqlite3 to 1.2.2
devel/ZenTest to 3.10.0
devel/hoe to 1.6.0
devel/ruby-debug-ide to 0.2.0
devel/ruby-flexmock to 0.8.2
devel/ruby-inline to 3.7.0
devel/ruby-linecache to 0.4.3
devel/ruby-parsetree to 2.2.0
devel/ruby-rspec to 1.1.4
devel/ruby2ruby to 1.1.9
devel/rubyforge to 1.0.0
mail/ruby-mailfactory to 1.3.5
mail/ruby-tmail to 1.2.3.1
misc/ruby-launchy to 0.3.2
Addition:
databases/ruby-DBD-sqlite3 version 0.2.0
Release 0.17 -- Wed Jul 18 06:30:05 CDT 2007
Enhancements
* Added support for IPv6 (patch from John Jason Brzozowski)
Change 746 on 2002/09/23 by <gbarr@pobox.com> (Graham Barr)
Fix return logic for get and put (patch from Bruce Gray)
Change 726 on 2002/05/27 by <gbarr@pobox.com> (Graham Barr)
Release 0.15
Change 725 on 2002/05/27 by <gbarr@pobox.com> (Graham Barr)
Fix 'Use of uninitialized' warning
Change 693 on 2002/01/11 by <gbarr@pobox.com> (Graham Barr)
Add O_TRUNC to open in get() so an existing file is truncated instead
of unlinked and recreated
Change 646 on 2001/09/17 by <gbarr@pobox.com> (Graham Barr)
Ensure local files are in binmode when transfer is octet mode
Avoid spurious Buffer underflow warning
Change 633 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)
Release 0.12
Change 614 on 2001/05/29 by <gbarr@pobox.com> (Graham Barr)
Move TFTP out of libnet