getpass(3)

الاسم
getpass - الحصول على كلمة السر

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <unistd.h>

[[deprecated]] char *getpass(const char *prompt);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

getpass():
    منذ glibc 2.2.2:
        _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
            || /* glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 2.19: */ _BSD_SOURCE
    قبل glibc 2.2.2:
        none

الوصف
هذه الدالة مهملة. لا تستخدمها. انظر الملاحظات. إذا أردت قراءة الإدخال دون تمكين صدى الطرفية، انظر وصف العلم ECHO في termios(3).

تفتح الدالة getpass() الملف /dev/tty (الطرفية المسيطرة على العملية)، وتخرج السلسلة موجه، وتطفئ الصدى، وتقرأ سطرًا واحدًا ("كلمة السر")، وتستعيد حالة الطرفية وتغلق /dev/tty مرة أخرى.

قيمة الإرجاع
ترجع الدالة getpass() مؤشرًا إلى مخبأ ثابت يحتوي (أول PASS_MAX بايت من) كلمة السر دون السطر الجديد الزائد، منتهيًا ببايت فارغ ('\0'). قد يُستبدل هذا المخبأ باستدعاء لاحق. عند الخطأ، تُستعاد حالة الطرفية، ويُضبط errno للإشارة إلى الخطأ، ويُعاد NULL.

الأخطاء

ENXIO
    لا تملك العملية طرفية مسيطرة.

الملفات
/dev/tty

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
getpass() | سلامة الخيوط | MT-Unsafe term

المعايير
لا شيء.

التاريخ
الإصدار 7 من AT&T UNIX. موجود في SUSv2، لكنه موسوم بـ LEGACY. أُزيل في POSIX.1-2001.

ملاحظات
يجب أن تستخدم بدلاً من ذلك readpassphrase(3bsd)، المقدم من libbsd.

في تنفيذ مكتبة GNU C، إذا تعذر فتح /dev/tty، يُكتب الموجه إلى stderr وتُقرأ كلمة السر من stdin. لا يوجد حد لطول كلمة السر. تحرير السطر غير معطل.

وفقًا لـ SUSv2، يجب تعريف قيمة PASS_MAX في <limits.h> في حال كانت أصغر من 8، ويمكن الحصول عليها في أي حال باستخدام sysconf(_SC_PASS_MAX). ومع ذلك، يسحب POSIX.2 الثوابت PASS_MAX و _SC_PASS_MAX، والدالة getpass(). تقبل نسخة glibc _SC_PASS_MAX وتعيد BUFSIZ (مثل 8192).

العلل
يجب على العملية المستدعية تصفير كلمة السر في أقرب وقت ممكن لتجنب ترك كلمة السر النصية الصريحة مرئية في مساحة عنوان العملية.

انظر أيضًا
crypt(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.