Glibc 2.35 ಸಿಸ್ಟಮ್ ಲೈಬ್ರರಿ ಬಿಡುಗಡೆ

ಆರು ತಿಂಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, GNU C ಲೈಬ್ರರಿ (glibc) 2.35 ಸಿಸ್ಟಮ್ ಲೈಬ್ರರಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ, ಇದು ISO C11 ಮತ್ತು POSIX.1-2017 ಮಾನದಂಡಗಳ ಅವಶ್ಯಕತೆಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅನುಸರಿಸುತ್ತದೆ. ಹೊಸ ಬಿಡುಗಡೆಯು 66 ಡೆವಲಪರ್‌ಗಳಿಂದ ಪರಿಹಾರಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

Glibc 2.35 ನಲ್ಲಿ ಅಳವಡಿಸಲಾದ ಕೆಲವು ಸುಧಾರಣೆಗಳು ಸೇರಿವೆ:

  • "C.UTF-8" ಲೊಕೇಲ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಎಲ್ಲಾ ಯೂನಿಕೋಡ್ ಕೋಡ್‌ಗಳಿಗೆ ಸಂಯೋಜನೆ ನಿಯಮಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಆದರೆ ಜಾಗವನ್ನು ಉಳಿಸಲು fnmatch, regexec ಮತ್ತು regcomp ಕಾರ್ಯಗಳಲ್ಲಿ ASCII ಶ್ರೇಣಿಗಳ ಬಳಕೆಗೆ ಸೀಮಿತವಾಗಿದೆ. ಲೊಕೇಲ್ ಸುಮಾರು 400 KB ಆಗಿದೆ, ಅದರಲ್ಲಿ 346 KB ಯುನಿಕೋಡ್‌ಗಾಗಿ LC_CTYPE ಡೇಟಾ, ಮತ್ತು ಪ್ರತ್ಯೇಕ ಸ್ಥಾಪನೆಯ ಅಗತ್ಯವಿದೆ (Glibc ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿಲ್ಲ).
  • ಯೂನಿಕೋಡ್ 14.0.0 ವಿವರಣೆಯನ್ನು ಬೆಂಬಲಿಸಲು ಎನ್‌ಕೋಡಿಂಗ್ ಡೇಟಾ, ಅಕ್ಷರ ಪ್ರಕಾರದ ಮಾಹಿತಿ ಮತ್ತು ಲಿಪ್ಯಂತರಣ ಕೋಷ್ಟಕಗಳನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ.
  • IN ಮತ್ತು ಫಂಕ್ಷನ್‌ಗಳು ಮತ್ತು ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಅದು ಫಲಿತಾಂಶವನ್ನು ಕಿರಿದಾದ ಪ್ರಕಾರಕ್ಕೆ ಸುತ್ತುತ್ತದೆ: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafNx, fMfmfx, fNfmafx, fMfmafx ಕಾರ್ಯಗಳನ್ನು TS 18661-1:2014, TS 18661-3:2015 ವಿಶೇಷಣಗಳಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದ ISO C2X C ಮಾನದಂಡದ ಕರಡುಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ.
  • IN ಮತ್ತು ಫ್ಲೋಟ್, ಲಾಂಗ್ ಡಬಲ್, _FloatN ಮತ್ತು _FloatNx ಪ್ರಕಾರಗಳೊಂದಿಗೆ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆಗಳ ಕನಿಷ್ಠ ಮತ್ತು ಗರಿಷ್ಠವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಕಾರ್ಯಗಳು ಮತ್ತು ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ, ಇದನ್ನು IEEE 754-2019 ವಿವರಣೆಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದ ISO C2X C ಮಾನದಂಡದ ಕರಡುಗೆ ಸೇರಿಸಲಾಗಿದೆ: fmaximum, fmaximum_num , fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • IN ಏಕ ನಿಖರವಾದ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆಗಳಿಗೆ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTSQ2f ಮತ್ತು M_1_SQRTPIf,
  • ಹೆಡರ್ ಫೈಲ್‌ನಲ್ಲಿ ಎಕ್ಸ್ 10 ಕಾರ್ಯಗಳಿಗಾಗಿ ನಿರ್ದಿಷ್ಟ ಪ್ರಕಾರಗಳಿಗೆ ಸಂಬಂಧಿಸದ ಅನುಗುಣವಾದ ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • IN ಡ್ರಾಫ್ಟ್ ISO C2X ಮಾನದಂಡದಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾದ _PRINTF_NAN_LEN_MAX ಮ್ಯಾಕ್ರೋವನ್ನು ಸೇರಿಸಿದೆ.
  • ಬೈನರಿ ಪ್ರಾತಿನಿಧ್ಯದಲ್ಲಿ ಪೂರ್ಣಾಂಕಗಳನ್ನು ಮುದ್ರಿಸಲು ಫಂಕ್ಷನ್‌ಗಳ printf ಕುಟುಂಬಕ್ಕೆ "%b" ಮತ್ತು "%B" ಫಾರ್ಮ್ಯಾಟ್ ಸ್ಪೆಸಿಫೈಯರ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಡೈನಾಮಿಕ್ ಲಿಂಕ್ ಮಾಡುವ ವ್ಯವಸ್ಥೆಯು ಹೊಸ DSO ವಿಂಗಡಣೆ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಇದು ಲೂಪ್ಡ್ ಅವಲಂಬನೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಆಳ-ಮೊದಲ ಹುಡುಕಾಟ (DFS) ಅನ್ನು ಬಳಸುತ್ತದೆ. DSO ವಿಂಗಡಣೆ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು, glibc.rtld.dynamic_sort ನಿಯತಾಂಕವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಅದನ್ನು ಹಳೆಯ ಅಲ್ಗಾರಿದಮ್‌ಗೆ ಹಿಂತಿರುಗಿಸಲು "1" ಗೆ ಹೊಂದಿಸಬಹುದು.
  • ABI ಹೊಸ ಫಂಕ್ಷನ್ '__memcmpeq' ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ, ಈ ಫಂಕ್ಷನ್‌ನಿಂದ ಹಿಂತಿರುಗಿಸಿದ ಮೌಲ್ಯವನ್ನು ಕಾರ್ಯಾಚರಣೆಯ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಮಾತ್ರ ಬಳಸಿದರೆ 'memcmp' ನ ಬಳಕೆಯನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲು ಕಂಪೈಲರ್‌ಗಳು ಬಳಸುತ್ತಾರೆ.
  • Linux ಕರ್ನಲ್ 4.18 ರಿಂದ ಒದಗಿಸಲಾದ rseq (ಮರುಪ್ರಾರಂಭಿಸಬಹುದಾದ ಅನುಕ್ರಮಗಳು) ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಥ್ರೆಡ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನೋಂದಾಯಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. rseq ಸಿಸ್ಟಮ್ ಕರೆಯು ನಿಮಗೆ ಅಡ್ಡಿಪಡಿಸದ ಸೂಚನೆಗಳ ಗುಂಪಿನ ನಿರಂತರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಂಘಟಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಗುಂಪಿನಲ್ಲಿನ ಕೊನೆಯ ಸೂಚನೆಯ ಮೂಲಕ ಫಲಿತಾಂಶವನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಮೂಲಭೂತವಾಗಿ, ಇದು ಕಾರ್ಯಾಚರಣೆಗಳ ಅತ್ಯಂತ ವೇಗವಾಗಿ ಪರಮಾಣು ಮರಣದಂಡನೆಗೆ ಸಾಧನವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದು ಮತ್ತೊಂದು ಥ್ರೆಡ್ನಿಂದ ಅಡ್ಡಿಪಡಿಸಿದರೆ, ಸ್ವಚ್ಛಗೊಳಿಸಬಹುದು ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ.
  • ಸಿಮ್ಲಿಂಕ್ /usr/bin/ld.so ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಎಂಬೆಡೆಡ್ ಪ್ರೋಗ್ರಾಂಗಳ ಎಲ್ಲಾ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳ ಡೀಫಾಲ್ಟ್ ಅಸೆಂಬ್ಲಿ ಮತ್ತು ಪರೀಕ್ಷೆಯನ್ನು PIE (ಸ್ಥಾನ ಸ್ವತಂತ್ರ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ) ಮೋಡ್‌ನಲ್ಲಿ ಒದಗಿಸಲಾಗಿದೆ. ಈ ನಡವಳಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು, "--disable-default-pie" ಆಯ್ಕೆಯನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
  • Linux ಗಾಗಿ, mmap ಮತ್ತು sbrk ಗಾಗಿ MADV_HUGEPAGE ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ madvise ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಬಳಸಲು ಅಥವಾ MAP_HUGETLB ಫ್ಲ್ಯಾಗ್ ಅನ್ನು mmap ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ನೇರವಾಗಿ ದೊಡ್ಡ ಮೆಮೊರಿ ಪುಟಗಳನ್ನು ಬಳಸಲು malloc ಅನುಷ್ಠಾನವನ್ನು ಬದಲಾಯಿಸಲು ಅನುಮತಿಸಲು glibc.malloc.hugetlb ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಕರೆಗಳು. ಮೊದಲ ಪ್ರಕರಣದಲ್ಲಿ, ಮ್ಯಾಡ್ವೈಸ್ ಮೋಡ್‌ನಲ್ಲಿ ಪಾರದರ್ಶಕ ಬೃಹತ್ ಪುಟಗಳನ್ನು ಬಳಸಿದರೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಾಭಗಳನ್ನು ಸಾಧಿಸಬಹುದು ಮತ್ತು ಎರಡನೆಯ ಸಂದರ್ಭದಲ್ಲಿ, ಸಿಸ್ಟಮ್-ರಿಸರ್ವ್ಡ್ ಬೃಹತ್ ಪುಟಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ.
  • ಕರೆ ಸ್ಟಾಕ್ ಬಿಚ್ಚುವ ಮಾಹಿತಿಯನ್ನು ಸೇರಿಸಲು ಬಳಸಬಹುದಾದ _dl_find_object ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಸಾಫ್ಟ್-ಫ್ಲೋಟ್ ಮೋಡ್‌ನಲ್ಲಿ OpenRISC ಆರ್ಕಿಟೆಕ್ಚರ್ (or1k-linux-gnu) ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಪೋರ್ಟ್‌ಗೆ binutils 2.35, GCC 11 ಮತ್ತು Linux ಕರ್ನಲ್ 5.4 ಅಗತ್ಯವಿದೆ.
  • "--with-rtld-early-cflags" ಅನ್ನು ನಿರ್ಮಿಸುವ ಧ್ವಜವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಡೈನಾಮಿಕ್ ಲಿಂಕ್‌ಗಾಗಿ ಆರಂಭಿಕ ಕೋಡ್ ಅನ್ನು ನಿರ್ಮಿಸುವಾಗ ಬಳಸಲಾಗುವ ಹೆಚ್ಚುವರಿ ಸಂಕಲನ ಫ್ಲ್ಯಾಗ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು.
  • Linux ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ, epoll_pwait2 ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ನ್ಯಾನೊಸೆಕೆಂಡ್ ನಿಖರತೆಯೊಂದಿಗೆ ಸಮಯ ಮೀರುವಿಕೆಯನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ epoll_wait ನಿಂದ ಭಿನ್ನವಾಗಿರುತ್ತದೆ.
  • ಹೊಸ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ನಿಯಂತ್ರಣ ಟರ್ಮಿನಲ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ಓಟದ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ತೊಡೆದುಹಾಕಲು posix_spawn_file_actions_addtcsetpgrp_np ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • Glibc ಮತ್ತು GCC 12+ ನೊಂದಿಗೆ ಕಂಪೈಲ್ ಮಾಡಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ, "_FORTIFY_SOURCE=3" ರಕ್ಷಣೆ ಮೋಡ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ, ಇದು string.h ಹೆಡರ್ ಫೈಲ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಸ್ಟ್ರಿಂಗ್ ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ಸಂಭವನೀಯ ಬಫರ್ ಓವರ್‌ಫ್ಲೋಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ. “_FORTIFY_SOURCE=2” ಮೋಡ್‌ನಿಂದ ವ್ಯತ್ಯಾಸವು ಹೆಚ್ಚುವರಿ ಪರಿಶೀಲನೆಗಳಿಗೆ ಬರುತ್ತದೆ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆ ಕಡಿಮೆಯಾಗಲು ಕಾರಣವಾಗಬಹುದು.
  • ಇಂಟೆಲ್ ಎಮ್‌ಪಿಎಕ್ಸ್ (ಮೆಮೊರಿ ಪ್ರೊಟೆಕ್ಷನ್ ಎಕ್ಸ್‌ಟೆನ್ಶನ್ಸ್) ಬೆಂಬಲವನ್ನು ಮೆಮೊರಿ ಬೌಂಡ್‌ಗಳಿಗಾಗಿ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಬಳಸುವುದನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ (ಈ ತಂತ್ರಜ್ಞಾನವು ವ್ಯಾಪಕವಾಗಿ ಹರಡಿಲ್ಲ ಮತ್ತು ಈಗಾಗಲೇ ಜಿಸಿಸಿ ಮತ್ತು ಎಲ್‌ಎಲ್‌ವಿಎಂನಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ).
  • ಪ್ರಿಲಿಂಕ್ ಕಾರ್ಯವಿಧಾನ ಮತ್ತು ಅದರ ಸಂಬಂಧಿತ ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳಾದ LD_TRACE_PRELINKING ಮತ್ತು LD_USE_LOAD_BIAS ಅನ್ನು ಅಸಮ್ಮತಿಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯಲ್ಲಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

    ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ:

    • CVE-2022-23218, CVE-2022-23219 - svcunix_create ಮತ್ತು clnt_create ಫಂಕ್ಷನ್‌ಗಳಲ್ಲಿ ಬಫರ್ ಓವರ್‌ಫ್ಲೋ, ನಕಲು ಮಾಡಿದ ಡೇಟಾದ ಗಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸದೆಯೇ ಫೈಲ್‌ಹೆಸರಿನ ಪ್ಯಾರಾಮೀಟರ್‌ನ ವಿಷಯಗಳನ್ನು ಸ್ಟಾಕ್‌ಗೆ ನಕಲಿಸುವುದರಿಂದ ಉಂಟಾಗುತ್ತದೆ. ಸ್ಟಾಕ್ ರಕ್ಷಣೆಯಿಲ್ಲದೆ ಮತ್ತು "ಯುನಿಕ್ಸ್" ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ಮಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ, ಬಹಳ ದೀರ್ಘವಾದ ಫೈಲ್ ಹೆಸರುಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದುರ್ಬಲತೆಯು ಆಕ್ರಮಣಕಾರರ ಕೋಡ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಗೆ ಕಾರಣವಾಗಬಹುದು.
    • CVE-2021-3998 ಎನ್ನುವುದು ಸ್ಟಾಕ್‌ನಿಂದ ಅಶುದ್ಧವಾದ ಉಳಿದ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ತಪ್ಪಾದ ಮೌಲ್ಯದ ಕೆಲವು ಷರತ್ತುಗಳ ಅಡಿಯಲ್ಲಿ ಹಿಂತಿರುಗಿಸುವಿಕೆಯಿಂದಾಗಿ ರಿಯಲ್‌ಪಾತ್() ಕಾರ್ಯದಲ್ಲಿನ ದುರ್ಬಲತೆಯಾಗಿದೆ. SUID-ರೂಟ್ ಫ್ಯೂಸರ್‌ಮೌಂಟ್ ಪ್ರೋಗ್ರಾಂಗಾಗಿ, ಪ್ರಕ್ರಿಯೆ ಮೆಮೊರಿಯಿಂದ ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಪಾಯಿಂಟರ್‌ಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು.
    • CVE-2021-3999 - getcwd() ಕಾರ್ಯದಲ್ಲಿ ಏಕ-ಬೈಟ್ ಬಫರ್ ಓವರ್‌ಫ್ಲೋ. 1995 ರಿಂದಲೂ ಇರುವ ದೋಷದಿಂದ ಸಮಸ್ಯೆ ಉಂಟಾಗಿದೆ. ಓವರ್‌ಫ್ಲೋ ಅನ್ನು ಉಂಟುಮಾಡಲು, ಪ್ರತ್ಯೇಕ ಮೌಂಟ್ ಪಾಯಿಂಟ್ ನೇಮ್‌ಸ್ಪೇಸ್‌ನಲ್ಲಿ "/" ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ chdir() ಅನ್ನು ಕರೆ ಮಾಡಿ.

    ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ