Version leap to libisoburn-0.4.3
This commit is contained in:
parent
c57e1dfbdf
commit
41efdc08e4
@ -4,7 +4,7 @@
|
||||
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
||||
and Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org.
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.4.0.pl00.tar.gz
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl00.tar.gz
|
||||
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
|
||||
Provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
@ -29,17 +29,17 @@ By using this software you agree to the disclaimer at the end of this text:
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
|
||||
- libburn.so.4 , version libburn-0.6.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.20 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.2 :
|
||||
- libburn.so.4 , version libburn-0.7.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.22 or higher
|
||||
libisoburn and xorriso will not start with libraries which are older than their
|
||||
headers seen at compile time.
|
||||
|
||||
Obtain libisoburn-0.4.0.pl00.tar.gz, take it to a directory of your choice
|
||||
Obtain libisoburn-0.4.2.pl00.tar.gz, take it to a directory of your choice
|
||||
and do:
|
||||
|
||||
tar xzf libisoburn-0.4.0.pl00.tar.gz
|
||||
cd libisoburn-0.4.0
|
||||
tar xzf libisoburn-0.4.2.pl00.tar.gz
|
||||
cd libisoburn-0.4.2
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -94,8 +94,8 @@ user id differ. This ban can be lifted by
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD burner
|
||||
devices which shall be used.
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
|
||||
drives which shall be used, even if only reading is intended.
|
||||
A list of rw-accessible drives can be obtained by
|
||||
xorriso -devices
|
||||
resp. by libburn API call
|
||||
|
@ -1,4 +1,4 @@
|
||||
AC_INIT([libisoburn], [0.4.1], [http://libburnia-project.org])
|
||||
AC_INIT([libisoburn], [0.4.3], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -21,7 +21,7 @@ dnl
|
||||
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||||
ISOBURN_MAJOR_VERSION=0
|
||||
ISOBURN_MINOR_VERSION=4
|
||||
ISOBURN_MICRO_VERSION=1
|
||||
ISOBURN_MICRO_VERSION=3
|
||||
|
||||
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||||
|
||||
@ -34,16 +34,16 @@ dnl Libtool versioning
|
||||
dnl Generate libisoburn.so.1.x.y
|
||||
dnl SONAME will become LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl ts A90628
|
||||
dnl ### This is the release version 0.4.0 = libisoburn.so.1.29.0
|
||||
dnl ts A90829
|
||||
dnl ### This is the release version 0.4.2 = libisoburn.so.1.31.0
|
||||
dnl This is the development version after above stable release
|
||||
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
|
||||
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||||
dnl
|
||||
dnl SONAME = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
|
||||
dnl SONAME = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
|
||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||
LT_CURRENT=30
|
||||
LT_AGE=29
|
||||
LT_CURRENT=32
|
||||
LT_AGE=31
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
|
@ -260,7 +260,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_header_version_major 0
|
||||
#define isoburn_header_version_minor 4
|
||||
#define isoburn_header_version_micro 1
|
||||
#define isoburn_header_version_micro 3
|
||||
/** Note:
|
||||
Above version numbers are also recorded in configure.ac because libtool
|
||||
wants them as parameters at build time.
|
||||
|
@ -4,12 +4,12 @@
|
||||
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org but also published via:
|
||||
http://scdbackup.sourceforge.net/xorriso_eng.html
|
||||
http://scdbackup.sourceforge.net/xorriso-0.4.1.tar.gz
|
||||
http://scdbackup.sourceforge.net/xorriso-0.4.3.tar.gz
|
||||
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
xorriso is a program which maps file objects from POSIX compliant
|
||||
xorriso is a program which copies file objects from POSIX compliant
|
||||
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
|
||||
session-wise manipulation of such filesystems. It can load the management
|
||||
information of existing ISO images and it writes the session results to
|
||||
@ -46,10 +46,10 @@ Optional at compile time are:
|
||||
If they were present at compile time, then the optional libraries have to
|
||||
be present at runtime, too.
|
||||
|
||||
Obtain xorriso-0.4.1.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain xorriso-0.4.3.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf xorriso-0.4.1.tar.gz
|
||||
cd xorriso-0.4.1
|
||||
tar xzf xorriso-0.4.3.tar.gz
|
||||
cd xorriso-0.4.3
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -108,7 +108,8 @@ If you want xorriso to report a "Build timestamp" with its option -version:
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
The user of xorriso needs rw-permission for the CD burner device.
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
|
||||
drives which shall be used, even if only reading is intended.
|
||||
A list of rw-accessible drives can be obtained by
|
||||
|
||||
xorriso -devices
|
||||
@ -185,8 +186,9 @@ and vice versa:
|
||||
|
||||
File Formats
|
||||
|
||||
Currently there is only one file format peculiar to xorriso : sector maps
|
||||
which describe the valid and invalid blocks on a media or a disk copy of
|
||||
Sector Maps
|
||||
|
||||
Sector maps describe the valid and invalid blocks on a media or a disk copy of
|
||||
a media. xorriso creates and reads these file with its option -check_media.
|
||||
|
||||
The file begins with 32 bytes of cleartext of which the last one is a
|
||||
@ -202,6 +204,45 @@ bit in the map. Then come the bits in form of 8-bit bytes.
|
||||
Data block M is covered by bit B=M/S in the map, bit number B is stored in
|
||||
byte B/8 as bit B%8. A valid readable data block has its bit set to 1.
|
||||
|
||||
Checksum Tags
|
||||
|
||||
Checksum tags are data blocks inside an ISO 9660 image which do not belong to
|
||||
any file but rather tell the MD5 of a certain range of data blocks.
|
||||
|
||||
The superblock checksum tag is written after the ECMA-119 volume descriptors.
|
||||
The tree checksum tag is written after the ECMA-119 directory entries.
|
||||
The session checksum tag is written after all payload including the checksum
|
||||
array. (Then follows eventual padding.)
|
||||
|
||||
The tags are single lines of printable text, padded by 0 bytes. They have
|
||||
the following format:
|
||||
|
||||
Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n
|
||||
|
||||
Parameters md5= and self= are 32 digit hex, the others are decimal numbers.
|
||||
|
||||
Tag_id distinguishes the following tag types
|
||||
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag
|
||||
"libisofs_sb_checksum_tag_v1" Superblock tag
|
||||
"libisofs_tree_checksum_tag_v1" Directory tree tag
|
||||
"libisofs_checksum_tag_v1" Session tag
|
||||
|
||||
A relocated superblock may appear at LBA 0 of an image which was produced for
|
||||
being stored in a disk file or on overwriteable media (e.g. DVD+R, BD-RE).
|
||||
xorriso records a first session recorded with its superblock at LBA 32 and
|
||||
the may follow at the next block address after the session tag which is
|
||||
divisible by 32. Normally no session starts after the address given by
|
||||
relocated superblock parameter session_start=.
|
||||
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated
|
||||
superblock but rather bear a table-of-content on media level.
|
||||
|
||||
A tag is valid if pos= tells its own block address and self= tells its own MD5
|
||||
up to the last hex digit of md5=. range_start= tells the first block that is
|
||||
covered by md5=, range_size= tells the number of blocks covered by md5=.
|
||||
Relocated superblocks tell the block address of their session by session_start=.
|
||||
Superblock and tree tag tell the block address of the next tag by next=.
|
||||
The newline character at the end is mandatory.
|
||||
|
||||
|
||||
libisoburn
|
||||
|
||||
@ -223,8 +264,8 @@ This binary is leaner but depends on properly installed libraries of suitable
|
||||
revision.
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
|
||||
- libburn.so.4 , version libburn-0.6.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.20 or higher
|
||||
- libburn.so.4 , version libburn-0.7.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.22 or higher
|
||||
libisoburn and xorriso will not start with libraries which are older than their
|
||||
headers seen at compile time. So compile in the oldest possible installation
|
||||
setup unless you have reason to enforce a newer bug fix level.
|
||||
|
@ -1,4 +1,4 @@
|
||||
AC_INIT([xorriso], [0.4.1], [http://libburnia-project.org])
|
||||
AC_INIT([xorriso], [0.4.3], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
current_dir=$(pwd)
|
||||
lone_dir="$current_dir"/"xorriso-standalone"
|
||||
|
||||
xorriso_rev=0.4.1
|
||||
xorriso_rev=0.4.3
|
||||
# For unstable uploads:
|
||||
xorriso_pl=""
|
||||
# For stable releases:
|
||||
|
@ -20005,7 +20005,7 @@ char *Xorriso__get_version_text(int flag)
|
||||
/* xorriso consists only of a main() stub which has an own version to match
|
||||
the version of libxorriso header and runtime code.
|
||||
*/
|
||||
#define Xorriso_main_program_versioN "0.4.1"
|
||||
#define Xorriso_main_program_versioN "0.4.3"
|
||||
|
||||
#else /* Xorriso_without_subS */
|
||||
|
||||
|
@ -16,13 +16,13 @@
|
||||
struct XorrisO;
|
||||
|
||||
|
||||
#define Xorriso_program_versioN "0.4.1"
|
||||
#define Xorriso_program_versioN "0.4.3"
|
||||
|
||||
|
||||
/* --------------------- Fundamental Management ------------------- */
|
||||
|
||||
|
||||
/* Get the version text (e.g. "0.4.1") of the program code.
|
||||
/* Get the version text (e.g. "0.4.2") of the program code.
|
||||
@param flag unused yet, submit 0
|
||||
@return readonly character string
|
||||
*/
|
||||
|
@ -35,10 +35,12 @@ Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
|
||||
|
||||
<P>
|
||||
<H2>Hardware requirements:</H2>
|
||||
A CD/DVD/BD recorder suitable for
|
||||
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
|
||||
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
|
||||
and to MMC-5 for DVD or BD).
|
||||
About any CD, DVD, or BD recorder produced in the recent ten years.
|
||||
<BR>
|
||||
<A HREF="http://libburnia-project.org">libburn</A>
|
||||
supports recorders which are compliant to standards MMC-1 for CD and
|
||||
MMC-5 for DVD or BD. Linux and FreeBSD allow to access drives connected
|
||||
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
|
||||
<BR>
|
||||
</P>
|
||||
|
||||
@ -103,6 +105,9 @@ Updates ISO subtrees incrementally to match given disk subtrees.
|
||||
Can record and restore hard link relations, ACL, and xattr.
|
||||
</LI>
|
||||
<LI>
|
||||
Can attach MD5 checksums to each data file and the whole session.
|
||||
</LI>
|
||||
<LI>
|
||||
File content may get zisofs or gzip compressed or filtered by external
|
||||
processes.
|
||||
</LI>
|
||||
@ -274,23 +279,27 @@ to match the new disk trees.
|
||||
Older states can be retrieved by help of mount options like "sbsector="
|
||||
or by help of xorriso option -mount.
|
||||
<BR>
|
||||
Eventual ACL or xattr will be recorded. Data reading will be avoided by
|
||||
accelerator option -disk_dev_ino.
|
||||
Eventual ACL, xattr and hardlink relations will be recorded. MD5 checksums
|
||||
will be computed and recorded. Data reading will be avoided by accelerator
|
||||
option -disk_dev_ino. After writing, the new session will be checked
|
||||
by its recorded MD5.
|
||||
<BR>
|
||||
Only blank media or media with volume id "PROJECTS_MAIL_..." will be accepted.
|
||||
Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
|
||||
</DT>
|
||||
<DD>$<KBD> xorriso -acl on -xattr on -disk_dev_ino on \</KBD></DD>
|
||||
<DD>$<KBD> xorriso -for_backup -disk_dev_ino on \</KBD></DD>
|
||||
<DD><KBD> -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
|
||||
<DD><KBD> -dev /dev/sr0 \</KBD></DD>
|
||||
<DD><KBD> -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
|
||||
<DD><KBD> -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
|
||||
<DD><KBD> -update_r /home/thomas/open_source_projects /open_source_projects \</KBD></DD>
|
||||
<DD><KBD> -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
|
||||
<DD><KBD> -commit -toc -eject all</KBD></DD>
|
||||
<DD><KBD> -commit -toc -check_md5 FAILURE -- -eject all</KBD></DD>
|
||||
|
||||
<DT>
|
||||
To apply zisofs compression to those data files which get newly copied from
|
||||
the local filesystem, perform immediately before -commit :
|
||||
<DD><KBD> -hardlinks perform_update \</KBD></DD>
|
||||
<DD>
|
||||
<KBD> -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
|
||||
</DD>
|
||||
@ -420,10 +429,10 @@ files or trees to disk:
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Download as source code (see README):</H3></DT>
|
||||
<DD><A HREF="xorriso-0.4.0.pl01.tar.gz">xorriso-0.4.0.pl01.tar.gz</A>
|
||||
(1270 KB).
|
||||
<DD><A HREF="xorriso-0.4.2.pl00.tar.gz">xorriso-0.4.2.pl00.tar.gz</A>
|
||||
(1295 KB).
|
||||
</DD>
|
||||
<DD>(Released 20 Jul 2009)</DD>
|
||||
<DD>(Released 29 Aug 2009)</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
</DL>
|
||||
@ -448,40 +457,27 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.3.8.pl00:
|
||||
Bug fixes towards xorriso-0.4.0.pl00:
|
||||
<UL>
|
||||
<LI>SIGSEGV by dereferencing NULL with option -status and no search string</LI>
|
||||
<LI>-load volid did not perform pattern search</LI>
|
||||
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
<LI>Option -devices stalled if a U3 enhanced memory stick was present</LI>
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
|
||||
</UL>
|
||||
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Bug fix towards xorriso-0.4.0.pl00:
|
||||
Enhancements towards previous stable version xorriso-0.4.0.pl00:
|
||||
<UL>
|
||||
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version xorriso-0.3.8.pl00:
|
||||
<UL>
|
||||
<LI>New option -hardlinks for recording and restoring of hard link relations
|
||||
</LI>
|
||||
<LI>New option -for_backup as shortcut for -acl -xattr -hardlinks
|
||||
</LI>
|
||||
<LI>Improved read performance with -update_r
|
||||
</LI>
|
||||
<LI>Improved read performance with -extract by -osirrox sort_lba
|
||||
</LI>
|
||||
<LI>Operators with option -find : -not, -or, -and, (, ), -if, -then, -else</LI>
|
||||
<LI>New -find tests -wholename, -prune, -sort_lba</LI>
|
||||
<LI>New option -md5, new -as mkisofs option --md5</LI>
|
||||
<LI>New options -check_md5, -check_md5_r</LI>
|
||||
<LI>New find actions check_md5 get_md5, get_any_xattr, make_md5</LI>
|
||||
<LI>New find tests -has_md5, -has_any_xattr</LI>
|
||||
<LI>New option -list_profiles</LI>
|
||||
<LI>New option -calm_drive</LI>
|
||||
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
|
||||
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
@ -496,16 +492,16 @@ Enhancements towards previous stable version xorriso-0.3.8.pl00:
|
||||
Library copies included in xorriso tarballs:
|
||||
</H3>
|
||||
<DL>
|
||||
<DT>libburn-0.6.7</DT>
|
||||
<DT>libburn-0.7.1</DT>
|
||||
<DD>reads and writes data from and to CD, DVD, BD.</DD>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)</DD>
|
||||
<DT>libisofs-0.6.21</DT>
|
||||
<DT>libisofs-0.6.23</DT>
|
||||
<DD>operates on ISO 9660 filesystem images.</DD>
|
||||
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
<DT>libisoburn-0.4.0</DT>
|
||||
<DT>libisoburn-0.4.2</DT>
|
||||
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
|
||||
<DD>(By Vreixo Formoso and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
@ -519,34 +515,27 @@ cdrecord and mkisofs.</DT>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.4.1 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.4.0.pl00:
|
||||
<DT><H3>Development snapshot, version 0.4.3 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.4.2.pl00:
|
||||
<UL>
|
||||
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
</LI>
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD>Enhancements towards stable version 0.4.0.pl01:
|
||||
<DD>Enhancements towards stable version 0.4.2.pl00:
|
||||
<UL>
|
||||
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
|
||||
</LI>
|
||||
<LI>New option -md5, new -as mkisofs option --md5</LI>
|
||||
<LI>New options -check_md5, -check_md5_r</LI>
|
||||
<LI>New find actions check_md5 get_md5, get_any_xattr</LI>
|
||||
<LI>New find tests -has_md5, -has_any_xattr</LI>
|
||||
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.4.1</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.4.1 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.1)</A></DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.4.3</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.4.3 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.3)</A></DD>
|
||||
<DD> </DD>
|
||||
<DT>If you want to distribute development versions of xorriso, then use
|
||||
this tarball which produces static linking between xorriso and the
|
||||
@ -556,8 +545,8 @@ libburnia libraries.
|
||||
installation see README)
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="xorriso-0.4.1.tar.gz">xorriso-0.4.1.tar.gz</A>
|
||||
(1280 KB).
|
||||
<A HREF="xorriso-0.4.3.tar.gz">xorriso-0.4.3.tar.gz</A>
|
||||
(1295 KB).
|
||||
</DD>
|
||||
<DT>A dynamically linked development version of xorriso can be obtained
|
||||
from repositories of
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2009.08.28.112825"
|
||||
#define Xorriso_timestamP "2009.08.29.180146"
|
||||
|
@ -19,7 +19,7 @@
|
||||
*/
|
||||
#define xorriso_libisoburn_req_major 0
|
||||
#define xorriso_libisoburn_req_minor 4
|
||||
#define xorriso_libisoburn_req_micro 1
|
||||
#define xorriso_libisoburn_req_micro 3
|
||||
|
||||
|
||||
struct SpotlisT; /* List of intervals with different read qualities */
|
||||
|
Loading…
Reference in New Issue
Block a user