clausecker / freefare

Go bindings for the libfreefare
GNU Lesser General Public License v3.0
18 stars 3 forks source link

This is a Go wrapper for the libfreefare.

You need the following libfreefare version to use this code:

As the libfreefare is going to incorporate some breaking changes in the upcoming version 1.0.0, breaking changes are likely to occur. Furthermore note that the code is largely unmaintained and should not be used in production code without further testing.

Please notice that this release contains a possibly memory corrupting issue in freefare.DESFireTag.ReadData() and freefare.DESFireTag.ReadRecords(). This issue is caused by a bug in the libfreefare that is likely to be fixed in a future version of libfreefare.

This package uses Go modules. To import it, use the import path

import "github.com/clausecker/freefare"

Pkg-config is used to find libfreefare automatically. If this does not work, you can compile with tag nopkgconfig or no_pkgconfig to instruct the package to instead simply link with -lfreefare. You'll then have to manually set things up for suitable -I... and -L... options to be supplied so the header files and library are found.

Compatibility with existing code based on the old 0.3 branch is going to be maintained with no changes on your part required. I do recommend that any user switches to the Go module based structure if possible though.

Copyright (c) 2014, 2020, 2024 Robert Clausecker fuzxxl@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.