Software /
code /
prosody
Annotate
util/mercurial.lua @ 12482:b193f8a2737e
mod_tls: Do not offer TLS if the connection is considered secure
This may be necessary if the session.conn object is not exchanged by the
network backend when establishing TLS. In that case, the starttls method
will always exist and thus that is not a good indicator for offering
TLS.
However, the secure bit already tells us that TLS has been established
or is not to be established on the connection, so we use that instead.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Fri, 17 Sep 2021 21:18:30 +0200 |
parent | 10533:a6cc5b844d7b |
rev | line source |
---|---|
6585
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local lfs = require"lfs"; |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local hg = { }; |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 function hg.check_id(path) |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 if lfs.attributes(path, 'mode') ~= "directory" then |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 return nil, "not a directory"; |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 end |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 local hg_dirstate = io.open(path.."/.hg/dirstate"); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 local hgid, hgrepo |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 if hg_dirstate then |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 hgid = ("%02x%02x%02x%02x%02x%02x"):format(hg_dirstate:read(6):byte(1, 6)); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 hg_dirstate:close(); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 local hg_changelog = io.open(path.."/.hg/store/00changelog.i"); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 if hg_changelog then |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 hg_changelog:seek("set", 0x20); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 hgrepo = ("%02x%02x%02x%02x%02x%02x"):format(hg_changelog:read(6):byte(1, 6)); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 hg_changelog:close(); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 end |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 else |
10533
a6cc5b844d7b
util.mercurial: Ignore an unused error variable [luacheck]
Kim Alvefur <zash@zash.se>
parents:
6585
diff
changeset
|
22 local hg_archival,e = io.open(path.."/.hg_archival.txt"); -- luacheck: ignore 211/e |
6585
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 if hg_archival then |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 local repo = hg_archival:read("*l"); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 local node = hg_archival:read("*l"); |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 hg_archival:close() |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 hgid = node and node:match("^node: (%x%x%x%x%x%x%x%x%x%x%x%x)") |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 hgrepo = repo and repo:match("^repo: (%x%x%x%x%x%x%x%x%x%x%x%x)") |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 end |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 end |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 return hgid, hgrepo; |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 end |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 |
ec94dc502113
util.mercurial: Utility functions for Mercurial repositories
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 return hg; |