Bonjour,
je dois rajouter une couche SSL sous une application existante :
TCP-> SSL -> MYapi -> application
J'ai une classe errorcode qui est définie comme suit :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
class errorcode {
int err;
public:
errorcode() : err(0) { }
errorcode(int e) : err(e) { }
#if defined(__APPLE__)
static int lasterror() { (int) pthread_getspecific(gMyErrCode); }
~errorcode() { pthread_setspecific(gMyErrCode, (void*) err); }
#elif !defined(_WIN32_WCE)
static int lasterror() { return gMyErrCode; }
~errorcode() { gMyErrCode = err; }
#else
~errorcode() { TlsSetValue(gMyErrCode, (LPVOID) err); }
static int lasterror() { return (int)TlsGetValue(gMyErrCode); }
#endif
operator int() const { return err; }
int operator-() const { return -err; }
errorcode& operator=(int e) { err = e; return *this; }
}; |
l'utilisation de la classe errorcode est comme suit :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
errorcode err;
...
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (!sock) {
err = sockerrno();
log(ERROR, "error %s creating sock socket", sockstrerror(err));
goto oserror;
}
...
if (!socki->u.rtcp.info) {
log(ERROR, "no memory for rtcp protocol info");
err = MY_ERROR_OUTOFMEMORY;
goto myerror;
} |
je dois traiter les erreurs générées éventuellement par ma couche SSL.
Mes questions :
Est ce que je dois rajouter des codes d'erreurs de type MY_ERROR_PUB_KEY_NOT_FOUND dans la liste (enum) des codes d'erreurs ou j'utilise le code d'erreurs offert par OpenSSL ? en gros :
err = MY_ERROR_PUB_KEY_NOT_FOUND
ou
1 2
|
err = ERR_SSL_PUB_KEY_NOT_FOUND |
Merci d'avance pour votre aide.
Partager