2021-04-23 20:00:00 +00:00
|
|
|
package license ;import (_ae "bytes";_f "compress/gzip";_e "crypto";_ab "crypto/aes";_bg "crypto/cipher";_ad "crypto/rand";_fc "crypto/rsa";_c "crypto/sha256";_ec "crypto/sha512";_cg "crypto/x509";_fd "encoding/base64";_fef "encoding/binary";_bc "encoding/hex";_age "encoding/json";_fge "encoding/pem";_bd "errors";_ef "fmt";_ge "github.com/unidoc/unioffice";_aeg "github.com/unidoc/unioffice/common";_af "io";_gc "io/ioutil";_fg "log";_b "net";_eb "net/http";_gg "os";_agf "path/filepath";_g "regexp";_fe "sort";_bbc "strings";_ag "sync";_bb "time";);const _fgc ="\u0033\u0030\u0035\u0063\u0033\u0030\u0030\u00640\u0036\u0030\u0039\u0032\u0061\u0038\u00364\u0038\u0038\u0036\u0066\u0037\u0030d\u0030\u0031\u0030\u0031\u0030\u00310\u0035\u0030\u0030\u0030\u0033\u0034\u0062\u0030\u0030\u0033\u0030\u00348\u0030\u0032\u0034\u0031\u0030\u0030\u0062\u0038\u0037\u0065\u0061\u0066\u0062\u0036\u0063\u0030\u0037\u0034\u0039\u0039\u0065\u0062\u00397\u0063\u0063\u0039\u0064\u0033\u0035\u0036\u0035\u0065\u0063\u00663\u0031\u0036\u0038\u0031\u0039\u0036\u0033\u0030\u0031\u0039\u0030\u0037c\u0038\u0034\u0031\u0061\u0064\u0064c6\u0036\u0035\u0030\u0038\u0036\u0062\u0062\u0033\u0065\u0064\u0038\u0065\u0062\u0031\u0032\u0064\u0039\u0064\u0061\u0032\u0036\u0063\u0061\u0066\u0061\u0039\u0036\u00345\u0030\u00314\u0036\u0064\u0061\u0038\u0062\u0064\u0030\u0063c\u0066\u0031\u0035\u0035\u0066\u0063a\u0063\u0063\u00368\u0036\u0039\u0035\u0035\u0065\u0066\u0030\u0033\u0030\u0032\u0066\u0061\u0034\u0034\u0061\u0061\u0033\u0065\u0063\u0038\u0039\u0034\u0031\u0037\u0062\u0030\u0032\u0030\u0033\u0030\u0031\u0030\u0030\u0030\u0031";func (_bdg *meteredClient )getStatus ()(meteredStatusResp ,error ){var _eeeg meteredStatusResp ;_cee :=_bdg ._cf +"\u002fm\u0065t\u0065\u0072\u0065\u0064\u002f\u0073\u0074\u0061\u0074\u0075\u0073";var _fec meteredStatusForm ;_feb ,_dcf :=_age .Marshal (_fec );if _dcf !=nil {return _eeeg ,_dcf ;};_ed ,_dcf :=_gdd (_feb );if _dcf !=nil {return _eeeg ,_dcf ;};_dg ,_dcf :=_eb .NewRequest ("\u0050\u004f\u0053\u0054",_cee ,_ed );if _dcf !=nil {return _eeeg ,_dcf ;};_dg .Header .Add ("\u0043\u006f\u006et\u0065\u006e\u0074\u002d\u0054\u0079\u0070\u0065","\u0061\u0070p\u006c\u0069\u0063a\u0074\u0069\u006f\u006e\u002f\u006a\u0073\u006f\u006e");_dg .Header .Add ("\u0043\u006fn\u0074\u0065\u006et\u002d\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067","\u0067\u007a\u0069\u0070");_dg .Header .Add ("\u0041c\u0063e\u0070\u0074\u002d\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067","\u0067\u007a\u0069\u0070");_dg .Header .Add ("\u0058-\u0041\u0050\u0049\u002d\u004b\u0045Y",_bdg ._cbd );_dbb ,_dcf :=_bdg ._dd .Do (_dg );if _dcf !=nil {return _eeeg ,_dcf ;};defer _dbb .Body .Close ();if _dbb .StatusCode !=200{return _eeeg ,_ef .Errorf ("\u0066\u0061i\u006c\u0065\u0064\u0020t\u006f\u0020c\u0068\u0065\u0063\u006b\u0069\u006e\u002c\u0020s\u0074\u0061\u0074\u0075\u0073\u0020\u0063\u006f\u0064\u0065\u0020\u0069s\u003a\u0020\u0025\u0064",_dbb .StatusCode );};_gfb ,_dcf :=_aae (_dbb );if _dcf !=nil {return _eeeg ,_dcf ;};_dcf =_age .Unmarshal (_gfb ,&_eeeg );if _dcf !=nil {return _eeeg ,_dcf ;};return _eeeg ,nil ;};const _egfg ="\u0055\u004e\u0049\u004fFF\u0049\u0043\u0045\u005f\u004c\u0049\u0043\u0045\u004e\u0053\u0045\u005f\u0050\u0041T\u0048";func TrackUse (useKey string ){if _dce ==nil {return ;};if !_dce ._bgd ||len (_dce ._bcf )==0{return ;};if len (useKey )==0{return ;};_debc .Lock ();defer _debc .Unlock ();if _gdg ==nil {_gdg =map[string ]int {};};_gdg [useKey ]++;};type meteredStatusForm struct{};type LegacyLicenseType byte ;func (_aca LegacyLicense )Verify (pubKey *_fc .PublicKey )error {_gbe :=_aca ;_gbe .Signature ="";_adcd :=_ae .Buffer {};_cda :=_age .NewEncoder (&_adcd );if _cbe :=_cda .Encode (_gbe );_cbe !=nil {return _cbe ;};_fb ,_gga :=_bc .DecodeString (_aca .Signature );if _gga !=nil {return _gga ;};_gbb :=_c .Sum256 (_adcd .Bytes ());_gga =_fc .VerifyPKCS1v15 (pubKey ,_e .SHA256 ,_gbb [:],_fb );return _gga ;};func _dca ()(_b .IP ,error ){_bdc ,_cea :=_b .Dial ("\u0075\u0064\u0070","\u0038\u002e\u0038\u002e\u0038\u002e\u0038\u003a\u0038
|