SYNOPSIS

  use Net::Google::SafeBrowsing2::MySQL;

  my $storage = Net::Google::SafeBrowsing2::MySQL->new(host => '127.0.0.1', database => 'GoogleSafeBrowsingv2');
  ...
  $storage->close();

DESCRIPTION

This is a base implementation of Net::Google::SafeBrowsing2::Storage using \s-1DBI\s0.

CONSTRUCTOR

\fInew()\fP

This method should be overwritten.

Arguments

keep_all

Optional. Set to 1 to keep old information (such as expiring full hashes) in the database. 0 (delete) by default.

PUBLIC FUNCTIONS

See Net::Google::SafeBrowsing2::Storage for a complete list of public functions.

\fIclose()\fP

Cleanup old full hashes, and close the connection to the database.

$storage->close();

\fIexport()\fP

Export add chunks and sub chunks to a file. The file content looks like what Google sends in redirections. The file can be used with the \*(C`import_chunks\*(C' function from \*(C`Net::Google::SafeBrowsing2\*(C'. This is useful when moving from one back-end storage to another

$storage->export(list => MALWARE);

Arguments

list

Required. The Google Safe Browsing list to export.

file

Optional. Filename to export to. Uses \*(L"$list.dat\*(R" by default.

CHANGELOG

0.7

New \*(C`export()\*(C' function. Keep empty sub chunks. Fix index for sub chunks.

0.6

Add option keep_all to keep expired full hashes. Useful for debugging.

0.5

Return the hostkey in get_add_chunks.

0.4

Fix duplicate insert of add chunks and sub chunks.

0.3

Add reset function to reset all tables for a given list

0.2

Replace \*(L"\s-1INSERT\s0 \s-1OR\s0 \s-1REPLACE\s0\*(R" statements by \s-1DELETE\s0 + \s-1INSERT\s0 to work with all databases

RELATED TO Net::Google::SafeBrowsing2::DBI…

See Net::Google::SafeBrowsing2 for handling Google Safe Browsing v2.

See Net::Google::SafeBrowsing2::Storage for the list of public functions.

See Net::Google::SafeBrowsing2::Sqlite for a back-end using Sqlite.

Google Safe Browsing v2 \s-1API:\s0 <http://code.google.com/apis/safebrowsing/developers_guide_v2.html>

AUTHOR

Julien Sobrier, <[email protected]> or <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Julien Sobrier

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.