XMPP (Jabber) merilis server Prosody 0.11.0

Rilis pertama dari cabang XMPP stabil 0.11 dari server Prosody dengan koreksi lebih dari 2000 kesalahan telah diperkenalkan.


Perubahan besar


Perbaikan paling signifikan adalah dalam modul MUC dan pubsub.


Bersama-sama, komponen-komponen ini menerapkan dua ekstensi XEP paling luas dengan standar XMPP yang saat ini disediakan oleh protokol. Meskipun versi sebelumnya telah mendukung MUC dan pubsub untuk beberapa waktu, keduanya agak rumit, dan setelah implementasi awal menjadi jelas bahwa perlu memperbarui dan memperbaiki kode untuk meningkatkan jangkauan fungsionalitas XEP yang diperlukan, memperbaiki struktur kode dan skalabilitas solusi.


Juga, banyak perubahan lain, perbaikan, perbaikan bug, dan pekerjaan kinerja yang termasuk dalam rilis ini dibuat.


Peningkatan Obrolan


Sebagian besar perubahan dalam rilis ini adalah tentang menulis ulang hampir semua kode untuk MUC (Konferensi Multi-Pengguna). Proyek ambisius ini diluncurkan beberapa tahun yang lalu oleh daurnimator pengguna, yang mengembangkan sebagian besar kode baru.


Meskipun perubahan yang paling signifikan adalah internal, ini memungkinkan proyek untuk lebih mudah menambahkan fitur baru dan meningkatkan skalabilitas layanan MUC (versi modul MUC ini memungkinkan banyak layanan bekerja dengan ratusan ribu percakapan umum, seperti Jitsi Meet ).


Konfigurasi yang Ditingkatkan


Formulir konfigurasi server telah diperbarui untuk memberikan tata letak yang lebih rapi dan nama parameter yang lebih nyaman.
Kotak Dialog Percakapan Percakapan.


Pengarsipan Pesan


Dukungan ditambahkan untuk pengarsipan dan pemuatan pesan yang ditulis sebelumnya di MUC (Obrolan Multi Pengguna) menggunakan protokol XEP-0313 (MAM). Ini memungkinkan klien untuk menampilkan pesan, misalnya, yang ditulis dalam percakapan umum ketika pengguna tidak ada online.


Reservasi Nama Pengguna


Untuk mencegah kebingungan, Prosody sekarang dapat menerapkan reservasi nama pengguna. Ini mencegah penggunaan nama orang lain ketika pemilik sebenarnya tidak dalam percakapan umum. Secara default, hanya pemilik / administrator obrolan bersama yang dapat menetapkan ulang nama (saat menambahkan pengguna ke percakapan bersama), tetapi modul ini juga dapat dikonfigurasi sehingga pengguna dapat mendaftarkan alias mereka sendiri dan menjadi peserta.


Protokol Pubsub


Implementasi Pubsub meningkat secara signifikan dalam rilis ini. Tautan Mauve menambahkan kode yang bertanggung jawab untuk keamanan node dan elemen, sekarang data dapat disimpan dalam disk, bukan dalam RAM, dan tidak hilang ketika server dihidupkan ulang.


Dukungan juga diperkenalkan untuk konfigurasi, node, dan manajemen kepemilikan yang diperlukan untuk kontrol akses lanjutan, dan akhirnya dukungan untuk opsi publikasi yang terkenal, yang memungkinkan pelanggan untuk mempublikasikan item dengan aman dengan kontrol akses yang tepat.


Pep


Kode PEP lama adalah implementasi pubsub terbatas terpisah yang mengimplementasikan semua yang dibutuhkan pengguna pada tahun 2009. Namun, selama bertahun-tahun, semakin banyak fitur pubsub telah diminati di PEP, karena relevansinya yang besar. Oleh karena itu, menjadi jelas bahwa PEP perlu menambahkan semua fungsi pubsub dan menggunakan kode yang ada.


Florian Zeitz memulai pekerjaan ini dengan membuat modul baru "mod_pep_plus". Modul ini sekarang telah menggantikan "mod_pep" asli dan sudah menjadi implementasi PEP default.


Ini memberikan dukungan OMEMO ketika berkomunikasi dengan pengguna yang tidak ada di buku alamat, dalam percakapan, dan klien lain. Ini juga memungkinkan pengguna untuk menggunakan PEP untuk menyimpan bookmark dan data lainnya.


Format vCard baru


Rilis ini memberikan dukungan untuk versi baru dalam spesifikasi vCard yang dijelaskan dalam XEP-0292, yang mencakup dukungan untuk berbagai fitur baru.


Format baru juga disimpan dalam PEP, memberikan akses kontrol akses penuh (misalnya, Anda dapat memilih apakah vCard Anda terbuka atau hanya tersedia untuk kontak).


Beberapa (jika ada) klien saat ini mendukung vCard4, tetapi protokol vcard-temp lama masih didukung menggunakan mod_vcard_legacy, yang secara transparan mengkonversi ke format baru sampai klien diperbarui.


Optimalisasi baterai ponsel


Rilis ini memperkenalkan beberapa modul komunitas yang dirancang untuk meningkatkan masa pakai baterai klien messenger mobile. Lalu lintas yang terus-menerus mentransmisikan melalui jaringan, seperti perubahan status kontak dan pesan obrolan, dapat mencegah ponsel beralih ke mode daya rendah. Namun, data ini biasanya tidak penting, terutama ketika layar ponsel mati atau aplikasi di latar belakang.


Klien yang mendukung XEP-0352, seperti Percakapan, dapat memberi tahu server ketika aplikasi di latar belakang, dan Prosody mengoptimalkan lalu lintas koneksi yang sesuai.


Fungsi ini diimplementasikan dalam modul mod_csi_simple.


Perubahan internal


API Asinkron


Banyak pekerjaan telah dilakukan pada API asinkron internal, meningkatkan keandalannya berkat tes tambahan. Pada akhirnya, API ini akan digunakan untuk meningkatkan kinerja server obrolan publik yang besar.


Dengan perubahan ini, rilis saat ini memiliki dukungan eksperimental untuk otentikasi asinkron dan modul penyimpanan data. Namun, dalam rilis ini, API baru tidak didukung secara resmi, karena perubahan besar direncanakan untuk versi mendatang.


Tes Otomatis


Salah satu peningkatan terbesar dalam proyek ini dalam beberapa tahun terakhir adalah peningkatan jumlah tes otomatis. Rilis sebelumnya hampir sepenuhnya diuji secara manual, dengan sangat sedikit tes otomatis yang tersedia. Sekarang ada satu set besar tes yang berjalan setelah setiap perubahan.


Dukungan epoll asli


Server jaringan eksperimental baru ini menyediakan alternatif untuk libevent. Keuntungan utama adalah ukuran implementasi yang kecil dan kemudahan penggunaan, sementara fitur ini merupakan dukungan luar biasa dalam sistem Linux.


Sumber

Source: https://habr.com/ru/post/id430998/


All Articles