Error codes ​

DAT implementation মানুষের পড়ার message থেকে আলাদাভাবে স্থিতিশীল error codes দেয়। Programs-এর সিদ্ধান্ত message string তুলনা করে নয়, code ও retry classification থেকে নেওয়া উচিত।

Code format ​

text
DAT_<AREA>_<CAUSE>
Prefixক্ষেত্র
DAT_TOKEN_DAT strings ও expiration
DAT_CERT_Certificate strings ও state
DAT_SIG_Signatures ও verification
DAT_CRYPTO_Encryption ও decryption
DAT_KEY_Key formats ও authority
DAT_MANAGER_Certificate managers
DAT_CONFIG_Call arguments ও configuration
DAT_INTERNAL_Runtime internals
DAT_CMS_CMS client synchronization
DAT_AUTH_, DAT_REQ_, DAT_STORE_CMS server

_UNKNOWN শুধু তখন ব্যবহৃত হয় যখন error-কে তার ক্ষেত্রের অন্য code-এ classify করা যায় না। একই cause সব ক্ষেত্রে একই নাম ব্যবহার করে।

Retry classifications ​

শ্রেণিঅর্থব্যবস্থা
Transientবাহ্যিক অবস্থা ঠিক হলে সফল হতে পারেbackoff-সহ সীমিতবার retry করুন
Statecertificate synchronization বা সময় বদলালে সফল হতে পারেপ্রয়োজনীয় state refresh করে retry করুন
Permanentএকই input-এ আবার ব্যর্থ হবেinput, configuration বা code ঠিক করুন

Tokens ও certificates ​

DAT_TOKEN_MALFORMEDকোনো প্রভাব নেইস্থায়ী

DAT-এ অবৈধ field count, numeric value বা Base64Url representation আছে। input বাদ দিন।

DAT_TOKEN_EXPIREDকোনো প্রভাব নেইস্থায়ী

DAT-এর expiration time বর্তমান সময়ের সমান বা আগের। নতুন DAT নিন।

DAT_CERT_MALFORMEDকোনো প্রভাব নেইস্থায়ী

Certificate string-এর structure বা field representation অবৈধ।

DAT_CERT_NOT_FOUNDকোনো প্রভাব নেইState

DAT-এর `cid`-এর সঙ্গে কোনো certificate মেলে না। certificate synchronization state পরীক্ষা করুন।

DAT_CERT_NOT_SYNCEDকোনো প্রভাব নেইState

প্রয়োজনীয় certificate এখনও service-এ পৌঁছায়নি। এখনই synchronize করে আবার মূল্যায়ন করুন।

DAT_CERT_NOT_YET_VALIDকোনো প্রভাব নেইState

Certificate-এর start time এখনও আসেনি। system clock ও certificate distribution timing পরীক্ষা করুন।

DAT_CERT_EXPIREDকোনো প্রভাব নেইস্থায়ী

Certificate-এর verification period শেষ।

DAT_CERT_DUPLICATEআংশিকস্থায়ী

এক import list-এ একই `cid` একাধিকবার আছে। পুরো import প্রত্যাখ্যান করুন।

Signatures, encryption ও keys ​

DAT_SIG_MISMATCHকোনো প্রভাব নেইস্থায়ীshieldসন্দেহজনক

Signature body-এর সঙ্গে মেলে না। DAT বদলানো হয়েছে বা ভিন্ন key দিয়ে signed।

DAT_CRYPTO_TAG_MISMATCHকোনো প্রভাব নেইস্থায়ীshieldসন্দেহজনক

AES-GCM authentication tag মেলে না। ciphertext tampering বা certificate mismatch পরীক্ষা করুন।

DAT_KEY_INVALIDকোনো প্রভাব নেইস্থায়ী

Key length, format বা algorithm combination অবৈধ।

DAT_SIG_KEY_MISSINGকোনো প্রভাব নেইস্থায়ী

Verify-only certificate দিয়ে DAT ইস্যুর চেষ্টা হয়েছে। issuing service-এর full certificate দরকার।

DAT_SIG_MISMATCH ও DAT_CRYPTO_TAG_MISMATCH public security-event API-তে true classified error। একটি invalid input service outage নয়, তবে বারবার হলে security observation হিসেবে ধরুন।

Managers ও configuration ​

DAT_MANAGER_NO_CERTIFICATEআংশিকState

Manager-এর কোনো certificates নেই। certificates import করুন বা CMS synchronization সম্পন্ন করুন।

DAT_MANAGER_NO_ISSUABLE_CERTIFICATEআংশিকState

Manager-এর certificates আছে, তবে এখন কোনো full certificate issuable নয়। expiration, start time বা verify-only state-এর cause chain দেখুন।

DAT_CONFIG_ARGUMENT_INVALIDকোনো প্রভাব নেইস্থায়ী

Call argument বা configuration value অনুমোদিত range-এর বাইরে।

DAT_INTERNAL_UNAVAILABLEগুরুতরস্থায়ী

বর্তমান platform-এর প্রয়োজনীয় cryptographic বা network capability পাওয়া যায়নি।

CMS clients ​

Codeঅর্থসাধারণ ব্যবস্থা
DAT_CMS_URI_INVALIDঅবৈধ CMS URIconfiguration ঠিক করুন
DAT_CMS_UNAUTHORIZEDauthentication ব্যর্থtoken ঠিক করুন
DAT_CMS_FORBIDDENtoken role-এর permission নেইtoken role পরীক্ষা করুন
DAT_CMS_ENDPOINT_NOT_FOUNDpath নেই বা ভিন্নCMS URL ও path পরীক্ষা করুন
DAT_CMS_NETWORKconnection বা transfer ব্যর্থnetwork পরীক্ষা করে backoff করুন
DAT_CMS_TIMEOUTtime limit ছাড়িয়েছেnetwork ও timeout settings সামঞ্জস্য করুন
DAT_CMS_SERVER_ERRORCMS server errorserver state দেখে backoff করুন
DAT_CMS_RESPONSE_INVALIDসফল response format অবৈধserver-client contract পরীক্ষা করুন
DAT_CMS_VERSION_RESETserver version পেছনে গেছেCMS data ও deployment state পরীক্ষা করুন
DAT_CMS_IMPORT_FAILEDপাওয়া certificates প্রয়োগ হয়নিcause chain দেখুন
DAT_CMS_STOPPEDবন্ধ manager ব্যবহার করা হয়েছেনতুন manager তৈরি বা call order ঠিক করুন

Best-effort initial synchronization-যুক্ত libraries error last-error field-এ রাখে। startup ব্যর্থ করতে সরাসরি error return বা throw করা immediate synchronization API ব্যবহার করুন।

CMS server ​

CodeHTTPঅর্থ
DAT_AUTH_UNAUTHORIZED401token নেই বা অবৈধ
DAT_AUTH_FORBIDDEN403token role অনুরোধ অনুমোদন করে না
DAT_REQ_ALG_UNSUPPORTED400unsupported algorithm name
DAT_REQ_NOT_FOUND404·405path বা method mismatch
DAT_REQ_TOO_LARGE413oversized request body-এর reserved code
DAT_STORE_UNAVAILABLE503storage সাময়িক unavailable
DAT_STORE_UNKNOWN500unclassified storage-processing error

বর্তমান clients non-2xx JSON response-এর server code সরাসরি প্রকাশ না করে HTTP status-কে DAT_CMS_* code-এ বদলায়। তাই server logs ও client error codes ভিন্ন হতে পারে।

ভাষা অনুযায়ী access ​

পরিবেশError codeRetry classification
Rusterr.code()err.retry()
Godat.Code(err)dat.Retry(err)
JavaScript / TypeScripterror.codeerror.retry
Pythonerror.codeerror.retry
Rubyerror.codeerror.retry
Java / Kotlinerror.codeerror.retry
C#error.Codeerror.Retry
C / C++dat_error_code(error)dat_error_retry(error)

Lower-level cause-সহ error-এর ক্ষেত্রে ভাষার exception chain বা cause-access API দেখুন।