diff options
| author | Anton <anton@picapica> | 2015-04-11 23:34:46 +0400 |
|---|---|---|
| committer | Anton <anton@picapica> | 2015-04-11 23:34:46 +0400 |
| commit | ec751f3f1260b72ade3a9fcb2dae5b55a6854fa9 (patch) | |
| tree | 1c4eed885b00e0079173972ea3613d5c952071a6 | |
| parent | 0672d6c3a65dc6246a5e17caa92c1bf2fdf7136b (diff) | |
| download | pica-pica-ec751f3f1260b72ade3a9fcb2dae5b55a6854fa9.tar.gz pica-pica-ec751f3f1260b72ade3a9fcb2dae5b55a6854fa9.zip | |
more consistent naming, renamed conn -> c2n, channel -> c2c in function names and enumerations
| -rwxr-xr-x | PICA_client.c | 95 | ||||
| -rwxr-xr-x | PICA_client.h | 30 | ||||
| -rwxr-xr-x | PICA_node.c | 4 | ||||
| -rwxr-xr-x | doc/bugtraq.txt | 21 | ||||
| -rwxr-xr-x | doc/concepts.txt | 1 | ||||
| -rwxr-xr-x | doc/glossary.txt | 1 | ||||
| -rw-r--r-- | pica-client/nodethread.cpp | 4 | ||||
| -rw-r--r-- | pica-client/skynet.cpp | 36 | ||||
| -rw-r--r-- | pica-client/skynet.h | 10 | ||||
| -rwxr-xr-x | tests/test_client.c | 36 |
10 files changed, 110 insertions, 128 deletions
diff --git a/PICA_client.c b/PICA_client.c index c7eeabf..5433a4e 100755 --- a/PICA_client.c +++ b/PICA_client.c @@ -388,7 +388,7 @@ if (callbacks.peer_cert_verify_cb(chnl->peer_id, (const char*)cert_pem, cert_pem BIO_free(mem); } -chnl->state=PICA_CHANSTATE_ACTIVE; +chnl->state=PICA_C2C_STATE_ACTIVE; { unsigned long arg = 1; @@ -400,8 +400,8 @@ return PICA_OK; error_ret_: error_ret: -callbacks.channel_failed(chnl->peer_id); -PICA_close_channel(chnl); +callbacks.c2c_failed(chnl->peer_id); +PICA_close_c2c(chnl); return err_ret; } @@ -471,7 +471,7 @@ unsigned char *peer_id = buf + 2; if (ret!=PICA_OK) return 1; - callbacks.channel_established_cb(_chnl->peer_id);//*nchn=_chnl; + callbacks.c2c_established_cb(_chnl->peer_id);//*nchn=_chnl; return 1; } @@ -512,7 +512,7 @@ if (!rq) return 0;// ERR_CHECK -левое сообщение, такой запрос не посылался //puts("procmsg_NOTFOUND_chkp0");//debug -PICA_close_channel(rq); +PICA_close_c2c(rq); //puts("procmsg_NOTFOUND_chkp1");//debug @@ -546,7 +546,7 @@ ret=establish_data_connection(rq); if (ret!=PICA_OK) return 0; -callbacks.channel_established_cb(rq->peer_id);//*nchn=_chnl; +callbacks.c2c_established_cb(rq->peer_id);//*nchn=_chnl; return 1; } @@ -1239,7 +1239,7 @@ return ret_err; //PICA_OK - успешное завершение функции //.... -int PICA_new_connection(const struct PICA_acc *acc, const char *nodeaddr, +int PICA_new_c2n(const struct PICA_acc *acc, const char *nodeaddr, unsigned int port, struct PICA_c2n **ci) { @@ -1315,7 +1315,7 @@ if (cid->sck_comm==SOCKET_ERROR) goto error_ret_3; } -cid->state = PICA_CONNSTATE_CONNECTING; +cid->state = PICA_C2N_STATE_CONNECTING; ret=connect(cid->sck_comm,(struct sockaddr*)&a,sizeof(struct sockaddr_in)); /////////////////state_ @@ -1344,7 +1344,7 @@ else } } -//cid->state = PICA_CONNSTATE_WAITINGREP; +//cid->state = PICA_C2N_STATE_WAITINGREP; do { @@ -1385,7 +1385,7 @@ ret=SSL_set_fd(cid->ssl_comm,cid->sck_comm); ret=SSL_accept(cid->ssl_comm); /////////////////state_ -cid->state = PICA_CONNSTATE_WAITINGTLS; +cid->state = PICA_C2N_STATE_WAITINGTLS; if (ret!=1) { //printf("SSL_accept ret=%i\n SSL_get_error=%i\n",ret,SSL_get_error(cid->ssl_comm,ret));//debug @@ -1393,7 +1393,7 @@ if (ret!=1) ret_err=PICA_ERRSSL; goto error_ret_4; } -cid->state = PICA_CONNSTATE_CONNECTED;//<<<!!! +cid->state = PICA_C2N_STATE_CONNECTED;//<<<!!! { struct PICA_proto_msg *mp; @@ -1436,7 +1436,7 @@ return ret_err; //создает ИСХОДЯЩИЙ логический зашифрованный канал связи с указанным собеседником, если тот доступен // в данный момент. -int PICA_create_channel(struct PICA_c2n *ci,const unsigned char *peer_id, struct PICA_listener *l,struct PICA_c2c **chn) +int PICA_new_c2c(struct PICA_c2n *ci,const unsigned char *peer_id, struct PICA_listener *l,struct PICA_c2c **chn) { struct PICA_proto_msg *mp; struct PICA_c2c *chnl; @@ -1444,7 +1444,7 @@ struct PICA_c2c *chnl; if (!(ci && chn)) return PICA_ERRINVARG; -if (!add_chaninfo(ci, chn, peer_id, PICA_CHANNEL_OUTGOING)) +if (!add_chaninfo(ci, chn, peer_id, PICA_c2c_OUTGOING)) return PICA_ERRNOMEM; chnl=*chn; @@ -1464,21 +1464,26 @@ return PICA_OK; static int process_c2n(struct PICA_c2n *c2n, fd_set *rfds, fd_set *wfds) { +//switch(c2n->state) +// { +// case PICA_C2N_STATE_CONNECTED: +// } +return PICA_OK; } static int process_c2c(struct PICA_c2c *c2c, fd_set *rfds, fd_set *wfds) { -//if (ic2c->state == PICA_CHANSTATE_ACTIVE) +//if (ic2c->state == PICA_C2C_STATE_ACTIVE) // { // // } - +return PICA_OK; } static int process_listener(struct PICA_listener *lst, fd_set *rfds) { - +return PICA_OK; } static void fdset_add(fd_set *fds, int fd, int *max) @@ -1526,7 +1531,7 @@ while(ic2n && *ic2n) while(ic2c) { - if (ic2c->state == PICA_CHANSTATE_ACTIVE) + if (ic2c->state == PICA_C2C_STATE_ACTIVE) { fdset_add(&rfds, ic2c->sck_data, &nfds); @@ -1616,7 +1621,7 @@ ipt=ci->chan_list_head; while(ipt) { - if (ipt->state==PICA_CHANSTATE_ACTIVE) + if (ipt->state==PICA_C2C_STATE_ACTIVE) { FD_SET(ipt->sck_data,&fds); @@ -1624,7 +1629,7 @@ while(ipt) nfds=ipt->sck_data; } - if (ipt->state != PICA_CHANSTATE_ACTIVE && (time(0) - ipt->timestamp) > PICA_CHAN_ACTIVATE_TIMEOUT) + if (ipt->state != PICA_C2C_STATE_ACTIVE && (time(0) - ipt->timestamp) > PICA_CHAN_ACTIVATE_TIMEOUT) { kill_ptr = ipt; } @@ -1633,7 +1638,7 @@ while(ipt) if (kill_ptr) { - PICA_close_channel(kill_ptr); + PICA_close_c2c(kill_ptr); kill_ptr = 0; } } @@ -1655,12 +1660,12 @@ if (ret>0) ipt=ci->chan_list_head; while(ipt) { - if (ipt->state==PICA_CHANSTATE_ACTIVE && FD_ISSET(ipt->sck_data, &fds)) + if (ipt->state==PICA_C2C_STATE_ACTIVE && FD_ISSET(ipt->sck_data, &fds)) { if (PICA_OK != (ret = PICA_read_c2c(ipt)) ) { puts("PICA_read_c2c() failed");//debug - callbacks.channel_closed_cb(ipt->peer_id, ret); + callbacks.c2c_closed_cb(ipt->peer_id, ret); kill_ptr = ipt; } @@ -1670,7 +1675,7 @@ if (ret>0) if (kill_ptr) { - PICA_close_channel(kill_ptr); + PICA_close_c2c(kill_ptr); kill_ptr = 0; } } @@ -1703,7 +1708,7 @@ while(ipt) if (PICA_OK != (ret = PICA_write_c2c(ipt))) { fprintf(stderr,"PICA_write_c2c() failed, ret = %i\n", ret);//debug - callbacks.channel_closed_cb(ipt->peer_id, ret); + callbacks.c2c_closed_cb(ipt->peer_id, ret); kill_ptr = ipt; } } @@ -1711,7 +1716,7 @@ while(ipt) { if (PICA_OK != (ret = PICA_send_file_fragment(ipt))) { - callbacks.channel_closed_cb(ipt->peer_id, ret); + callbacks.c2c_closed_cb(ipt->peer_id, ret); kill_ptr = ipt; } } @@ -1719,7 +1724,7 @@ while(ipt) if (kill_ptr) { - PICA_close_channel(kill_ptr); + PICA_close_c2c(kill_ptr); kill_ptr = 0; } } @@ -1800,9 +1805,9 @@ int PICA_write_c2n(struct PICA_c2n *ci) { int ret = PICA_ERRINVARG; -if (PICA_CONNSTATE_CONNECTING == ci->state) +if (PICA_C2N_STATE_CONNECTING == ci->state) ret = PICA_write_socket( ci->sck_comm, ci->write_buf, &ci->write_pos); -else if (PICA_CONNSTATE_CONNECTED == ci->state) +else if (PICA_C2N_STATE_CONNECTED == ci->state) ret = PICA_write_ssl( ci->ssl_comm, ci->write_buf, &ci->write_pos, &ci->write_sslbytestowrite); return ret; @@ -1812,7 +1817,7 @@ int PICA_write_c2c(struct PICA_c2c *chn) { int ret = PICA_ERRINVARG; -if (PICA_CHANSTATE_ACTIVE != chn->state) +if (PICA_C2C_STATE_ACTIVE != chn->state) ret = PICA_write_socket( chn->sck_data, chn->write_buf, &chn->write_pos); else ret = PICA_write_ssl( chn->ssl, chn->write_buf, &chn->write_pos, &chn->write_sslbytestowrite); @@ -1896,7 +1901,7 @@ int PICA_read_c2c(struct PICA_c2c *chn) { int ret; -if (chn->state != PICA_CHANSTATE_ACTIVE) +if (chn->state != PICA_C2C_STATE_ACTIVE) return PICA_OK;// ??? //ret = SSL_read(chn->ssl , chn->read_buf + chn->read_pos, PICA_CHANREADBUFSIZE - chn->read_pos); @@ -1918,20 +1923,20 @@ int ret; //ret=SSL_read(ci->ssl_comm, ci->read_buf + ci->read_pos, PICA_CONNREADBUFSIZE - ci->read_pos); -if (PICA_CONNSTATE_CONNECTING == ci->state) +if (PICA_C2N_STATE_CONNECTING == ci->state) ret = PICA_read_socket(ci->sck_comm, ci->read_buf, &ci->read_pos, PICA_CONNREADBUFSIZE); -else if (PICA_CONNSTATE_CONNECTED == ci->state) +else if (PICA_C2N_STATE_CONNECTED == ci->state) ret = PICA_read_ssl(ci->ssl_comm, ci->read_buf, &ci->read_pos, PICA_CONNREADBUFSIZE); if (ret == PICA_OK) { - if (PICA_CONNSTATE_CONNECTING == ci->state) + if (PICA_C2N_STATE_CONNECTING == ci->state) if(!PICA_processdatastream( ci->read_buf, &(ci->read_pos), ci, c2n_init_messages, MSGINFO_MSGSNUM(c2n_init_messages))) return PICA_ERRSERV; - if (PICA_CONNSTATE_CONNECTED == ci->state) + if (PICA_C2N_STATE_CONNECTED == ci->state) if(!PICA_processdatastream( ci->read_buf, &(ci->read_pos), ci, c2n_messages, MSGINFO_MSGSNUM(c2n_messages))) return PICA_ERRSERV; } @@ -2232,14 +2237,14 @@ if (chn->sendfile_pos > chn->sendfile_size) return PICA_OK; } -void PICA_close_channel(struct PICA_c2c *chn) +void PICA_close_c2c(struct PICA_c2c *chn) { struct PICA_c2c *ipt; -fprintf(stderr, "PICA_close_channel(%p)\n", chn);//debug +fprintf(stderr, "PICA_close_c2c(%p)\n", chn);//debug ipt=chn->conn->chan_list_head; -//puts("PICA_close_channel_chkp0");//debug +//puts("PICA_close_c2c_chkp0");//debug while(ipt) { if (ipt==chn) @@ -2259,7 +2264,7 @@ while(ipt) ipt=ipt->next; } -//puts("PICA_close_channel_chkp1");//debug +//puts("PICA_close_c2c_chkp1");//debug if (chn -> sendfile_stream) fclose(chn -> sendfile_stream); @@ -2276,11 +2281,11 @@ if (chn -> write_buf) if (chn->peer_cert) X509_free(chn->peer_cert); -//puts("PICA_close_channel_chkp2");//debug +//puts("PICA_close_c2c_chkp2");//debug if (chn->ssl) SSL_shutdown(chn->ssl); - //puts("PICA_close_channel_chkp3");//debug + //puts("PICA_close_c2c_chkp3");//debug if (chn->ssl) { @@ -2288,13 +2293,13 @@ if (chn->ssl) SSL_free(chn->ssl); } -//puts("PICA_close_channel_chkp4");//debug +//puts("PICA_close_c2c_chkp4");//debug SHUTDOWN(chn->sck_data); -//puts("PICA_close_channel_chkp5");//debug +//puts("PICA_close_c2c_chkp5");//debug CLOSE(chn->sck_data); -//puts("PICA_close_channel_chkp6");//debug +//puts("PICA_close_c2c_chkp6");//debug free(chn); -//puts("PICA_close_channel_chkp7");//debug +//puts("PICA_close_c2c_chkp7");//debug } void PICA_close_connection(struct PICA_c2n *cid) @@ -2302,7 +2307,7 @@ void PICA_close_connection(struct PICA_c2n *cid) struct PICA_c2c *ipt; while((ipt = cid->chan_list_head)) - PICA_close_channel(ipt); + PICA_close_c2c(ipt); SSL_shutdown(cid->ssl_comm); //printf("4 SSL_free(%X)\n",cid->ssl_comm);//debug diff --git a/PICA_client.h b/PICA_client.h index 8e1778f..6f2d6d5 100755 --- a/PICA_client.h +++ b/PICA_client.h @@ -111,8 +111,8 @@ typedef unsigned __int64 uint64_t; #define PICA_CHAN_ACTIVATE_TIMEOUT 30 -#define PICA_CHANNEL_INCOMING 0 -#define PICA_CHANNEL_OUTGOING 1 +#define PICA_c2c_INCOMING 0 +#define PICA_c2c_OUTGOING 1 struct PICA_c2n; struct PICA_c2c; @@ -125,11 +125,11 @@ SSL_CTX* ctx; enum PICA_c2n_state { -PICA_CONNSTATE_NONE = 0, -PICA_CONNSTATE_CONNECTING, -PICA_CONNSTATE_WAITINGREP, -PICA_CONNSTATE_WAITINGTLS, -PICA_CONNSTATE_CONNECTED +PICA_C2N_STATE_NEW = 0, +PICA_C2N_STATE_CONNECTING, +PICA_C2N_STATE_WAITINGREP, +PICA_C2N_STATE_WAITINGTLS, +PICA_C2N_STATE_CONNECTED }; struct PICA_c2n @@ -161,8 +161,8 @@ unsigned char node_ver_major, node_ver_minor; enum PICA_c2c_state { -PICA_CHANSTATE_NONE = 0, -PICA_CHANSTATE_ACTIVE +PICA_C2C_STATE_NEW = 0, +PICA_C2C_STATE_ACTIVE }; struct PICA_c2c @@ -218,16 +218,16 @@ void (*newmsg_cb)(const unsigned char *peer_id,const char* msgbuf,unsigned int n //получение подтверждения о доставке сообщения void (*msgok_cb)(const unsigned char *peer_id); //создание канала с собеседником -void (*channel_established_cb)(const unsigned char *peer_id); +void (*c2c_established_cb)(const unsigned char *peer_id); //создать канал не удалось -void (*channel_failed)(const unsigned char *peer_id); +void (*c2c_failed)(const unsigned char *peer_id); //входящий запрос на создание канала от пользователя с номером caller_id //возвращаемое значение: 0 - отклонить запрос, ненулевое значение - принять запрос int (*accept_cb)(const unsigned char *caller_id); //запрошенный пользователь не найден, в оффлайне или отказался от общения void (*notfound_cb)(const unsigned char *callee_id); // -void (*channel_closed_cb)(const unsigned char *peer_id, int reason); +void (*c2c_closed_cb)(const unsigned char *peer_id, int reason); void (*nodelist_cb)(int type, void *addr_bin, const char *addr_str, unsigned int port); //сертификат собеседника в формате PEM. Функция должна сравнить предъявленный сертификат с сохранённым (если есть) и вернуть 1 при успешной проверке, 0 - при неуспешной @@ -258,7 +258,7 @@ int PICA_get_id_from_cert_file(const char *cert_file, unsigned char *id); int PICA_get_id_from_cert_string(const char *cert_pem, unsigned char *id); int PICA_client_init(struct PICA_client_callbacks *clcbs); -int PICA_new_connection +int PICA_new_c2n (const struct PICA_acc *acc, const char *nodeaddr, unsigned int port, @@ -269,7 +269,7 @@ int PICA_new_connection int (*password_cb)(char *buf, int size, int rwflag, void *userdata), //move callback to PICA_client_callbacks? */ struct PICA_c2n **ci); -int PICA_create_channel(struct PICA_c2n *ci,const unsigned char *peer_id, struct PICA_listener *l,struct PICA_c2c **chn); +int PICA_new_c2c(struct PICA_c2n *ci,const unsigned char *peer_id, struct PICA_listener *l,struct PICA_c2c **chn); int PICA_new_listener(const struct PICA_acc *acc, const char *public_addr, int public_port, int local_port, struct PICA_listener **l); @@ -303,7 +303,7 @@ int PICA_pause_file(struct PICA_c2c *chan, int sending); int PICA_resume_file(struct PICA_c2c *chan, int sending); int PICA_cancel_file(struct PICA_c2c *chan, int sending); -void PICA_close_channel(struct PICA_c2c *chn); +void PICA_close_c2c(struct PICA_c2c *chn); void PICA_close_connection(struct PICA_c2n *cid); void PICA_close_listener(struct PICA_listener *l); void PICA_close_acc(struct PICA_acc *a); diff --git a/PICA_node.c b/PICA_node.c index 62dde61..c3b1d3e 100755 --- a/PICA_node.c +++ b/PICA_node.c @@ -389,13 +389,13 @@ if ((o = client_tree_search(callee_id))) { if (cclink_list_search(i->id, callee_id)) { - PICA_info("duplicate request for existing channel is ignored"); + PICA_info("duplicate request for existing c2c connection is ignored"); return 1; } if (memcmp(i->id, callee_id, PICA_ID_SIZE) == 0) { - PICA_info("request to create channel to self is ignored"); + PICA_info("request to create c2c connection to self is ignored"); return 1; } diff --git a/doc/bugtraq.txt b/doc/bugtraq.txt deleted file mode 100755 index bf312f7..0000000 --- a/doc/bugtraq.txt +++ /dev/null @@ -1,21 +0,0 @@ -1. [V] Падение test_client при вызове SSL_free: - -puts("CACA_close_channel_chkp3");//debug - -if (chn->ssl) -SSL_free(chn->ssl);<<<< - -после -verify result:10 // просроченный корневой сертификат -//////////// -причина - повторный вызов SSL_free -(сначала в функции establish_data_connection, затем в CACA_close_channel) - -Баг исправлен путем помещения вызова CACA_close_channel в establish_data_connection в случае ошибки при создании канала. Также добавлена новая callback функция channel_failed, вызываемая в случае ошибки при создании канала - -========================================================== -2. Авторизация клиента узлом без сертификата - -Клиент возможно может установить TLS соединение с узлом используя ADH схему. Узел -может выпасть с ошибкой, если не удается получить сертификат клиента. Надо явно задавать -набор разрешенных схем шифрования в клиенте и сервере diff --git a/doc/concepts.txt b/doc/concepts.txt deleted file mode 100755 index 2383e28..0000000 --- a/doc/concepts.txt +++ /dev/null @@ -1 +0,0 @@ -[Ïîèñê ñîáåñåäíèêà.Íåêîòîðûå ñîîáðàæåíèÿ ïî îáëåã÷åíèþ ïîèñêà] diff --git a/doc/glossary.txt b/doc/glossary.txt deleted file mode 100755 index 8d1c8b6..0000000 --- a/doc/glossary.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pica-client/nodethread.cpp b/pica-client/nodethread.cpp index 579b84b..5969781 100644 --- a/pica-client/nodethread.cpp +++ b/pica-client/nodethread.cpp @@ -23,7 +23,7 @@ void NodeThread::run() int ret; exit = 0; - /*ret = PICA_new_connection(node_addr.address.toUtf8().constData(), + /*ret = PICA_new_c2n(node_addr.address.toUtf8().constData(), node_addr.port, user_account.CA_file.toUtf8().constData(), user_account.cert_file.toUtf8().constData(), @@ -31,7 +31,7 @@ void NodeThread::run() DHParam::GetDHParamFilename().toUtf8().constData(), AskPassword::ask_password_cb, &ci);*/ - ret = PICA_new_connection(user_account, node_addr.address.toUtf8().constData(), node_addr.port, &ci); + ret = PICA_new_c2n(user_account, node_addr.address.toUtf8().constData(), node_addr.port, &ci); switch(ret) { diff --git a/pica-client/skynet.cpp b/pica-client/skynet.cpp index 9d66377..55a4120 100644 --- a/pica-client/skynet.cpp +++ b/pica-client/skynet.cpp @@ -19,11 +19,11 @@ SkyNet::SkyNet() PICA_client_callbacks cbs = { newmsg_cb, msgok_cb, - channel_established_cb, - channel_failed, + c2c_established_cb, + c2c_failed, accept_cb, notfound_cb, - channel_closed_cb, + c2c_closed_cb, nodelist_cb, peer_cert_verify_cb, accept_file_cb, @@ -94,9 +94,9 @@ void SkyNet::nodethread_connected(QString addr, quint16 port, NodeThread *thread write_mutex.lock(); struct PICA_c2c *chan = NULL; - ret = PICA_create_channel(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), NULL, &chan); + ret = PICA_new_c2c(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), NULL, &chan); - qDebug()<<"restoring channel to "<<c2c_peer_ids[i]<<" ret ="<<ret<<"\n"; + qDebug()<<"restoring c2c to "<<c2c_peer_ids[i]<<" ret ="<<ret<<"\n"; write_mutex.unlock(); } @@ -186,9 +186,9 @@ void SkyNet::timerEvent(QTimerEvent *e) struct PICA_c2c *chan = NULL; - ret = PICA_create_channel(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), NULL, &chan); + ret = PICA_new_c2c(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), NULL, &chan); - qDebug()<<"restoring channel to "<<c2c_peer_ids[i]<<" ret ="<<ret<<" in timer event\n"; + qDebug()<<"restoring c2c to "<<c2c_peer_ids[i]<<" ret ="<<ret<<" in timer event\n"; } write_mutex.unlock(); @@ -299,7 +299,7 @@ if ( (iptr = find_active_chan(to)) ) { struct PICA_c2c *chan = NULL; - ret = PICA_create_channel(nodelink, (const unsigned char*)to.constData(), NULL, &chan); + ret = PICA_new_c2c(nodelink, (const unsigned char*)to.constData(), NULL, &chan); QList<QString> l; l.append(filepath); @@ -435,7 +435,7 @@ if ( (iptr = find_active_chan(to)) ) { struct PICA_c2c *chan = NULL; - ret = PICA_create_channel(nodelink, (const unsigned char*)to.constData(), NULL, &chan); + ret = PICA_new_c2c(nodelink, (const unsigned char*)to.constData(), NULL, &chan); QList<QString> l; l.append(msg); @@ -509,7 +509,7 @@ struct PICA_c2c *iptr = nodelink->chan_list_head; while(iptr) { - if (iptr->state == PICA_CHANSTATE_ACTIVE && QByteArray((const char*)iptr->peer_id, PICA_ID_SIZE) == peer_id) + if (iptr->state == PICA_C2C_STATE_ACTIVE && QByteArray((const char*)iptr->peer_id, PICA_ID_SIZE) == peer_id) break; iptr = iptr->next; @@ -628,9 +628,9 @@ void SkyNet::emit_IncomingFileFinished(QByteArray peer_id) emit IncomingFileFinished(peer_id); } -void SkyNet::emit_ChannelClosed(QByteArray peer_id) +void SkyNet::emit_c2cClosed(QByteArray peer_id) { - emit ChannelClosed(peer_id); + emit c2cClosed(peer_id); } @@ -651,14 +651,14 @@ void SkyNet::msgok_cb(const unsigned char *peer_id) skynet->emit_Delivered(QByteArray((const char*)peer_id, PICA_ID_SIZE)); } -void SkyNet::channel_established_cb(const unsigned char *peer_id) +void SkyNet::c2c_established_cb(const unsigned char *peer_id) { skynet->flush_queues(QByteArray((const char*)peer_id, PICA_ID_SIZE)); } -void SkyNet::channel_failed(const unsigned char *peer_id) +void SkyNet::c2c_failed(const unsigned char *peer_id) { - qDebug()<<"channel failed ("<<QByteArray((const char*)peer_id, PICA_ID_SIZE).toBase64()<<")\n"; + qDebug()<<"c2c failed ("<<QByteArray((const char*)peer_id, PICA_ID_SIZE).toBase64()<<")\n"; } int SkyNet::accept_cb(const unsigned char *caller_id) @@ -683,12 +683,12 @@ void SkyNet::notfound_cb(const unsigned char *callee_id) */ } -void SkyNet::channel_closed_cb(const unsigned char *peer_id, int reason) +void SkyNet::c2c_closed_cb(const unsigned char *peer_id, int reason) { - qDebug()<<"channel closed ("<<QByteArray((const char*)peer_id, PICA_ID_SIZE).toBase64() + qDebug()<<"c2c closed ("<<QByteArray((const char*)peer_id, PICA_ID_SIZE).toBase64() <<", error_code =" << reason << ")\n"; - skynet->emit_ChannelClosed(QByteArray((const char*)peer_id, PICA_ID_SIZE)); + skynet->emit_c2cClosed(QByteArray((const char*)peer_id, PICA_ID_SIZE)); } void SkyNet::nodelist_cb(int type, void *addr_bin, const char *addr_str, unsigned int port) diff --git a/pica-client/skynet.h b/pica-client/skynet.h index 4df41db..0b2c84b 100644 --- a/pica-client/skynet.h +++ b/pica-client/skynet.h @@ -55,7 +55,7 @@ signals: void OutgoingFileFinished(QByteArray peer_id); void IncomingFileFinished(QByteArray peer_id); - void ChannelClosed(QByteArray peer_id); + void c2cClosed(QByteArray peer_id); private: Nodes nodes; @@ -98,22 +98,22 @@ private: void emit_OutgoingFileFinished(QByteArray peer_id); void emit_IncomingFileFinished(QByteArray peer_id); - void emit_ChannelClosed(QByteArray peer_id); + void emit_c2cClosed(QByteArray peer_id); //получение сообщения. static void newmsg_cb(const unsigned char *peer_id,const char* msgbuf,unsigned int nb,int type); //получение подтверждения о доставке сообщения static void msgok_cb(const unsigned char *peer_id); //создание канала с собеседником - static void channel_established_cb(const unsigned char *peer_id); + static void c2c_established_cb(const unsigned char *peer_id); //создать канал не удалось - static void channel_failed(const unsigned char *peer_id); + static void c2c_failed(const unsigned char *peer_id); //входящий запрос на создание канала от пользователя с номером caller_id static int accept_cb(const unsigned char *caller_id); //запрошенный пользователь не найден, в оффлайне или отказался от общения static void notfound_cb(const unsigned char *callee_id); - static void channel_closed_cb(const unsigned char *peer_id, int reason); + static void c2c_closed_cb(const unsigned char *peer_id, int reason); static void nodelist_cb(int type, void *addr_bin, const char *addr_str, unsigned int port); diff --git a/tests/test_client.c b/tests/test_client.c index a94951c..491154d 100755 --- a/tests/test_client.c +++ b/tests/test_client.c @@ -34,14 +34,14 @@ void msgok_cb(const unsigned char *peer_id) puts("[V]"); } //создание канала с собеседником -void channel_established_cb(const unsigned char *peer_id) +void c2c_established_cb(const unsigned char *peer_id) { -puts("channel_established_cb"); +puts("c2c_established_cb"); } -void channel_failed_cb(const unsigned char *peer_id) +void c2c_failed_cb(const unsigned char *peer_id) { -printf("Failed to create channel to %s\n",PICA_id_to_base64(peer_id, NULL)); +printf("Failed to create c2c to %s\n",PICA_id_to_base64(peer_id, NULL)); chn=0; } @@ -53,9 +53,9 @@ void notfound_cb(const unsigned char *callee_id) puts("notfound_cb"); } -void channel_closed_cb(const unsigned char *peer_id, int reason) +void c2c_closed_cb(const unsigned char *peer_id, int reason) { -printf("channel_closed_cb( peer_id = %s, reason = %i)\n", PICA_id_to_base64(peer_id, NULL), reason); +printf("c2c_closed_cb( peer_id = %s, reason = %i)\n", PICA_id_to_base64(peer_id, NULL), reason); } void nodelist_cb(int type, void *addr_bin, const char *addr_str, unsigned int port) @@ -89,11 +89,11 @@ int peer_cert_verify_cb(const unsigned char *peer_id, const char *cert_pem, unsi struct PICA_client_callbacks cbs = { newmsg_cb, msgok_cb, - channel_established_cb, - channel_failed_cb, + c2c_established_cb, + c2c_failed_cb, accept_cb, notfound_cb, - channel_closed_cb, + c2c_closed_cb, nodelist_cb, peer_cert_verify_cb }; @@ -133,8 +133,8 @@ if (ret != PICA_OK) printf("making connection...\n"); -//PICA_new_connection(const char *nodeaddr, unsigned int port, const char *CA_file, const char *cert_file, const char *pkey_file, const char* password, struct PICA_c2n **ci) -ret=PICA_new_connection(acc, argv[1], atoi(argv[2]), /*"trusted_CA.pem"*/ &c); +//PICA_new_c2n(const char *nodeaddr, unsigned int port, const char *CA_file, const char *cert_file, const char *pkey_file, const char* password, struct PICA_c2n **ci) +ret=PICA_new_c2n(acc, argv[1], atoi(argv[2]), /*"trusted_CA.pem"*/ &c); ERR_print_errors_fp(stdout); @@ -142,7 +142,7 @@ if (ret==PICA_OK) printf("PICA_OK Connected to server...\n"); else { -printf("PICA_new_connection: ret=%i\n",ret); +printf("PICA_new_c2n: ret=%i\n",ret); return 1; } @@ -154,9 +154,9 @@ if (argc==5) return 1; } - printf("Creating channel to %s...\n",PICA_id_to_base64(peer_id, NULL)); + printf("Creating c2c to %s...\n",PICA_id_to_base64(peer_id, NULL)); - ret=PICA_create_channel(c,peer_id,NULL,&chn); + ret=PICA_new_c2c(c,peer_id,NULL,&chn); //sleep(17);//timeout test if (ret!=PICA_OK) { @@ -214,14 +214,14 @@ if (buf[0]=='.') else { peer_id=atoi(buf); - printf("Creating channel to %u...\n",peer_id); + printf("Creating c2c to %u...\n",peer_id); - ret=PICA_create_channel(c,peer_id,&chn,1); + ret=PICA_new_c2c(c,peer_id,&chn,1); if (ret==PICA_OK) { unsigned int msglen; - puts("Channel established..."); + puts("c2c established..."); gets(buf); msglen=strlen(buf); @@ -239,7 +239,7 @@ sleep(10); if (chn) { puts("--------"); - PICA_close_channel(chn); + PICA_close_c2c(chn); } PICA_close_connection(c); |
