diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index 7cae16039d2e3511b7949b23def0a34a1f694dd5..f4384eaea74f410c31c4a93c25781a4af9b336f1 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -1,7 +1,4 @@ /* Synchronet "@code" functions */ -// vi: tabstop=4 - -/* $Id: atcodes.cpp,v 1.142 2020/05/10 20:12:35 rswindell Exp $ */ /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * @@ -16,21 +13,9 @@ * See the GNU General Public License for more details: gpl.txt or * * http://www.fsf.org/copyleft/gpl.html * * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * * For Synchronet coding style and modification guidelines, see * * http://www.synchro.net/source.html * * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * * Note: If this box doesn't appear square, then you need to fix your tabs. * ****************************************************************************/ @@ -39,6 +24,7 @@ #include "utf8.h" #include "unicode.h" #include "cp437defs.h" +#include "ver.h" #if defined(_WINSOCKAPI_) extern WSADATA WSAData; @@ -411,6 +397,12 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen, long* pmode, bool return(str); } + if(strcmp(sp, "GIT_HASH") == 0) + return git_hash; + + if(strcmp(sp, "GIT_BRANCH") == 0) + return git_branch; + if(!strcmp(sp,"UPTIME")) { extern volatile time_t uptime; time_t up=0; diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c index 4d5b17b5c9476ab3795202f419e8ef6d6d632e86..bd7039212ae503fa3b89a0a971a6b2a175b6785e 100644 --- a/src/sbbs3/js_system.c +++ b/src/sbbs3/js_system.c @@ -21,6 +21,7 @@ #include "sbbs.h" #include "js_request.h" +#include "ver.h" #ifdef JAVASCRIPT @@ -529,6 +530,8 @@ static char* sys_prop_desc[] = { ,"Synchronet version notice (includes version and platform)" ,"Synchronet version number in decimal (e.g. 31301 for v3.13b)" ,"Synchronet version number in hexadecimal (e.g. 0x31301 for v3.13b)" + ,"Synchronet Git repository branch name" + ,"Synchronet Git repository commit hash" ,"platform description (e.g. 'Win32', 'Linux', 'FreeBSD')" ,"architecture description (e.g. 'i386', 'i686', 'x86_64')" ,"message base library version information" @@ -2475,6 +2478,10 @@ static JSBool js_system_resolve(JSContext *cx, JSObject *obj, jsid id) LAZY_INTEGER("version_num", VERSION_NUM); LAZY_INTEGER("version_hex", VERSION_HEX); + /* Git repo details */ + LAZY_STRING("git_branch", git_branch); + LAZY_STRING("git_hash", git_hash); + LAZY_STRING("platform", PLATFORM_DESC); LAZY_STRING("architecture", ARCHITECTURE_DESC); LAZY_STRFUNC("msgbase_lib", sprintf(str,"SMBLIB %s",smb_lib_ver()), str); diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index c40c3492b3a789b5395fe2b679e8fde4fc40ac46..f12b8945a5999e4f2eb26f0d5ed7743e1b2af428 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1439,12 +1439,6 @@ extern char lastuseron[LEN_ALIAS+1]; /* Name of user last online */ } #endif -extern -#ifdef __cplusplus - "C" -#endif - const char* beta_version; - /* Global data */ /* ToDo: These should be hunted down and killed */ diff --git a/src/sbbs3/ver.cpp b/src/sbbs3/ver.cpp index 2d75a53c371c5ace5906a6e6b8f48cdc736509f1..ac196890851021b69e83f7836692e70310b1dc15 100644 --- a/src/sbbs3/ver.cpp +++ b/src/sbbs3/ver.cpp @@ -1,9 +1,4 @@ -/* ver.cpp */ -// vi: tabstop=4 - -/* Synchronet version display */ - -/* $Id: ver.cpp,v 1.31 2019/10/08 02:07:26 rswindell Exp $ */ +/* Synchronet version info */ /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * @@ -18,21 +13,9 @@ * See the GNU General Public License for more details: gpl.txt or * * http://www.fsf.org/copyleft/gpl.html * * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * * For Synchronet coding style and modification guidelines, see * * http://www.synchro.net/source.html * * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * * Note: If this box doesn't appear square, then you need to fix your tabs. * ****************************************************************************/ @@ -40,8 +23,11 @@ #include "ssl.h" #include "git_hash.h" #include "git_branch.h" +#include "ver.h" -const char* beta_version = " "; /* Space if non-beta, " beta" otherwise */ +extern "C" const char* git_hash = GIT_HASH; +extern "C" const char* git_branch = GIT_BRANCH; +extern "C" const char* beta_version = " "; /* Space if non-beta, " beta" otherwise */ #if defined(_WINSOCKAPI_) extern WSADATA WSAData; diff --git a/src/sbbs3/ver.h b/src/sbbs3/ver.h new file mode 100644 index 0000000000000000000000000000000000000000..288605929394d995049c524bd3b57766f985e89b --- /dev/null +++ b/src/sbbs3/ver.h @@ -0,0 +1,36 @@ +/* Synchronet version info */ + +/**************************************************************************** + * @format.tab-size 4 (Plain Text/Source Code File Header) * + * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * + * * + * Copyright Rob Swindell - http://www.synchro.net/copyright.html * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * See the GNU General Public License for more details: gpl.txt or * + * http://www.fsf.org/copyleft/gpl.html * + * * + * For Synchronet coding style and modification guidelines, see * + * http://www.synchro.net/source.html * + * * + * Note: If this box doesn't appear square, then you need to fix your tabs. * + ****************************************************************************/ + +#ifndef _VER_H_ +#define _VER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern const char* git_hash; +extern const char* git_branch; +extern const char* beta_version; + +#ifdef __cplusplus +} +#endif +#endif /* Don't add anything after this line */ \ No newline at end of file