1. Nov 30, 2018
  2. Nov 20, 2018
    • Rudolf Polzer's avatar
      Fix calls to XkbGetControls. · f17ddd1c
      Rudolf Polzer authored
      Although the field we need does not correspond to any field to query, we
      still must specify one or the call simply fails.
      
      Fixes #46: "xsecurelock: XkbGetControls failed." error on Ctrl-Tab.
      f17ddd1c
  3. Nov 17, 2018
  4. Nov 16, 2018
  5. Nov 14, 2018
  6. Nov 13, 2018
  7. Nov 12, 2018
  8. Nov 10, 2018
  9. Oct 30, 2018
  10. Oct 02, 2018
  11. Oct 01, 2018
  12. Sep 30, 2018
    • Rudolf Polzer's avatar
      b40ab932
    • Rudolf Polzer's avatar
      Fix minor issues found by Coverity Scan: · 1bb4a1db
      Rudolf Polzer authored
      - Missing check for dup() return value; possible impact would be
        hard to track down authentication failures due to lack of logging.
      - Uninitialized XSetWindowAttributes struct members (technically unused
        and thus a false positive, but cleaner this way nevertheless).
      1bb4a1db
    • Rudolf Polzer's avatar
      Update .gitignore. · 699c6d59
      Rudolf Polzer authored
      699c6d59
    • Rudolf Polzer's avatar
      Fix a potential vulnerability if authproto_pam is setuid root. · 5d98d900
      Rudolf Polzer authored
      There are many different PAM implementations out there, which I haven't
      all tested. The PAM service name is used to build a path name, typically
      inside /etc/pam.d, to find a service configuration file.
      
      There's a possibility that in some PAM implementations, the service name
      is not sanitized and could be used to traverse paths; as most PAM
      clients are _not_ setuid and do _not_ let the caller specify the service
      name (unlike xsecurelock), this alone wouldn't be a vulnerability per se.
      
      And successful path traversal could e.g. lead to attackers obtaining
      information about existence or nonexistence of files they can't see, or
      possibly even reading part of a file (e.g. a PAM implementation might
      spit out syntax error messages quoting parts of a file, either over
      [possibly sniffable] syslog or to stderr; the latter would then allow an
      attacker to run
      
      XSECURELOCK_PAM_SERVICE=../shadow ./authproto_pam
      
      to dump the root password hash.
      
      Again, I'm not aware of any system where this exploit would actually
      work - but as the PAM specs I have here do not describe what happens if
      a PAM service name contains a slash (Linux PAM appears to use the
      basename then), I've decided to just refuse any such names.
      5d98d900
  13. Sep 29, 2018
    • divVerent's avatar
      Add an authproto_pam helper that communicates with PAM. (#45) · 211f6324
      divVerent authored
      Add an authproto_pam helper that communicates with PAM.
      
      This is now used by auth_pam_x11 as sole backend. It can be made
      setuid/setgid where necessary to authenticate local users (e.g. on
      FreeBSD).
      
      Also renames auth_pam_x11 to auth_x11, and moves auth_htpasswd and
      auth_pamtester to authprotos that can be used with auth_x11.
      
      Will fix #43.
      211f6324
  14. Sep 27, 2018
  15. Sep 25, 2018
  16. Sep 18, 2018
  17. Sep 12, 2018
    • Rudolf Polzer's avatar
      Add a simple keyboard layout switcher. · 20cf4320
      Rudolf Polzer authored
      The keybind for it is Ctrl-Tab, which seems to be one of the few that:
      
      - Don't emit a keycode usable in a password.
      - Aren't selectable as Xkb modifier (as that would cause us to swich
        twice, which with 2 layouts would be a NOP).
      - Are available on all layouts and keyboards I know.
      
      Thanks to Soumya S. for an initial implementation of this, which I've
      ported into auth_pam_x11!
      20cf4320
  18. Sep 08, 2018