Skip to content

Commit

Permalink
Add update checker
Browse files Browse the repository at this point in the history
  • Loading branch information
lassir committed Jul 29, 2014
1 parent 552e51f commit 41f16ca
Showing 1 changed file with 86 additions and 0 deletions.
86 changes: 86 additions & 0 deletions bcrypt.inc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
#endif
#define bcrypt_included

#if !defined HTTP_GET
#include <a_http>
#endif

#define BCRYPT_HASH_LENGTH 61
#define BCRYPT_PLUGIN_VERSION "2.2.2"

Expand All @@ -35,3 +39,85 @@ native bool:bcrypt_is_equal();
native bool:bcrypt_needs_rehash(hash[], cost);
native bcrypt_find_cost(time_target = 250);
native bcrypt_set_thread_limit(value);

// Version check
forward OnBcryptVersionCheck(index, response_code, data[]);

#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
HTTP(0, HTTP_GET, "api.ls-rcr.com/bcrypt/?version_check&version=" #BCRYPT_PLUGIN_VERSION, "", "OnBcryptVersionCheck");
return CallLocalFunction("BCRYPT_OnFilterScriptInit", "");
}

forward BCRYPT_OnFilterScriptInit();

#if defined _ALS_OnFilterScriptInit
#undef OnFilterScriptInit
#else
#define _ALS_OnFilterScriptInit
#endif
#define OnFilterScriptInit BCRYPT_OnFilterScriptInit
#else
public OnGameModeInit()
{
HTTP(0, HTTP_GET, "api.ls-rcr.com/bcrypt/?version_check&version=" #BCRYPT_PLUGIN_VERSION, "", "OnBcryptVersionCheck");
return CallLocalFunction("BCRYPT_OnGameModeInit", "");
}

forward BCRYPT_OnGameModeInit();

#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit BCRYPT_OnGameModeInit
#endif

public OnBcryptVersionCheck(index, response_code, data[])
{
if(response_code == 200)
{
if(!strcmp("OK", data, false, 2))
{
print("plugin.bcrypt: The plugin is up-to-date.");
}
else if(!strcmp("UPDATE_AVAILABLE_MAJOR", data, false, 22))
{
print(" ");
printf(" * plugin.bcrypt: A MAJOR UPDATE IS AVAILABLE:");
printf(" * plugin.bcrypt: Current version: %s", BCRYPT_PLUGIN_VERSION);
printf(" * plugin.bcrypt: Latest version: %s", data[23]);
printf(" * plugin.bcrypt: Download: http://api.ls-rcr.com/bcrypt/?upgrade");
printf(" * plugin.bcrypt: Upgrading is highly recommended.");
print(" ");
}
else if(!strcmp("UPDATE_AVAILABLE_MINOR", data, false, 22))
{
print(" ");
printf("plugin.bcrypt: A minor update is available:");
printf("plugin.bcrypt: Current version: %s", BCRYPT_PLUGIN_VERSION);
printf("plugin.bcrypt: Latest version: %s", data[23]);
printf("plugin.bcrypt: Download: http://api.ls-rcr.com/bcrypt/?upgrade");
printf("plugin.bcrypt: Upgrading is recommended.");
print(" ");
}
else if(!strcmp("UPDATE_AVAILABLE_REVISION", data, false, 25))
{
print(" ");
printf("plugin.bcrypt: A new revision is available:");
printf("plugin.bcrypt: Current version: %s", BCRYPT_PLUGIN_VERSION);
printf("plugin.bcrypt: Latest version: %s", data[26]);
printf("plugin.bcrypt: Download: http://api.ls-rcr.com/bcrypt/?upgrade");
printf("plugin.bcrypt: Upgrading is recommended.");
print(" ");
}
}
else
{
print("plugin.bcrypt: Version check failed.");
}

return 1;
}

0 comments on commit 41f16ca

Please sign in to comment.