Emacs 31.1 ରେ URL ପ୍ରକ୍ସି ଲଗଇନ: auth-source ଏବଂ CONNECT ସୀମା
Emacs ର URL ଲାଇବ୍ରେରୀ ପାଇଁ ପ୍ରମାଣିତ HTTP ପ୍ରକ୍ସି ବିନ୍ୟାସ କରନ୍ତୁ, ଏହାର Basic ପ୍ରମାଣପତ୍ର ଖୋଜ ବୁଝନ୍ତୁ, ଏବଂ Emacs 31.1 ରେ HTTPS CONNECT ପଥକୁ ବିଚାର କରନ୍ତୁ।
ପ୍ରକ୍ସିର ଠିକଣା Emacs କୁ କୁହେ କେଉଁଠି ସଂଯୋଗ କରିବ। ଏହାର ଲଗଇନ କଥାବାର୍ତ୍ତାର ଅନ୍ୟ ଏକ ଅଂଶ। ସାଧାରଣ HTTP ଅନୁରୋଧ ପାଇଁ, Emacs ର URL ଲାଇବ୍ରେରୀ ପ୍ରକ୍ସିର ପ୍ରମାଣୀକରଣ ଆହ୍ୱାନର ଉତ୍ତର ଦେଇପାରେ, auth-source ରୁ ପ୍ରମାଣପତ୍ର ନେଇପାରେ କିମ୍ବା ଅନ୍ତର୍କ୍ରିୟାତ୍ମକ ଭାବରେ ପଚାରିପାରେ, ଏବଂ ସେସନରେ ରଖାଯାଇଥିବା ପ୍ରମାଣପତ୍ର ପୁନର୍ବାର ବ୍ୟବହାର କରିପାରେ।
ତଳର ବିବରଣୀ Emacs 31.1 ଅନୁସରଣ କରେ। ସେଗୁଡ଼ିକ URL ଲାଇବ୍ରେରୀ ବ୍ୟବହାର କରୁଥିବା କାର୍ଯ୍ୟ ସହ ଜଡ଼ିତ; Emacs ପ୍ୟାକେଜ ଦ୍ୱାରା ଆରମ୍ଭ ହେଉଥିବା ବାହ୍ୟ ଡାଉନଲୋଡରର ନିଜସ୍ୱ ପ୍ରମାଣୀକରଣ ପଥ ଅଛି।
ପଥ ନିର୍ଧାରଣ କରନ୍ତୁ, ତାପରେ HTTP କୁ ଲଗଇନ ମାଗିବାକୁ ଦିଅନ୍ତୁ
ଏକ ସ୍ଥିର ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ଡକ୍ୟୁମେଣ୍ଟ ହୋଇଥିବା ବିକଳ୍ପ ସହ ବଛାଯାଇପାରେ:
(setq url-proxy-services
'(("http" . "proxy.example:8080")
("https" . "proxy.example:8080")))
ପ୍ଲେସହୋଲଡରକୁ ଦିଆଯାଇଥିବା ଏଣ୍ଡପଏଣ୍ଟ ସହ ବଦଳାନ୍ତୁ। ଚାବିଗୁଡ଼ିକ ଲକ୍ଷ୍ୟ URL ସ୍କିମ ବର୍ଣ୍ଣନା କରେ। HTTPS ଏଣ୍ଟ୍ରି ଯୋଡ଼ିବା HTTPS ଲକ୍ଷ୍ୟ ପାଇଁ ପଥ ବାଛେ; ଏହା ନିଜେ ପ୍ରମାଣପତ୍ର ପ୍ରଦାନ କରେ ନାହିଁ।
ସାଧାରଣ HTTP ଅନୁରୋଧ ସମୟରେ ପ୍ରକ୍ସି 407 Proxy Authentication Required ଏବଂ Proxy-Authenticate ଆହ୍ୱାନ ସହ ଉତ୍ତର ଦେଇପାରେ। URL ଲାଇବ୍ରେରୀ ସମର୍ଥିତ ପ୍ରମାଣୀକରଣ ସ୍କିମ ବାଛେ ଏବଂ ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ପାଇଁ ପ୍ରମାଣପତ୍ର ପାଏ। ତାପରେ ଏହା Proxy-Authorization ସହ ପୁନର୍ବାର ଚେଷ୍ଟା କରେ।
Basic ପ୍ରମାଣୀକରଣ ପାଇଁ, ଉପଯୁକ୍ତ ପ୍ରମାଣପତ୍ର ଉପଲବ୍ଧ ନଥିଲେ ଅନ୍ତର୍କ୍ରିୟାତ୍ମକ ଅନୁରୋଧ ବ୍ୟବହାରକାରୀ ନାମ ଓ ପାସୱାର୍ଡ ପଚାରିପାରେ। ଅଣ-ଅନ୍ତର୍କ୍ରିୟ ଭାବରେ ଚିହ୍ନିତ ଅନୁରୋଧ ସେହି ପ୍ରଶ୍ନ ଉପରେ ନିର୍ଭର କରିପାରିବ ନାହିଁ। ପ୍ରକ୍ସି ଲଗଇନ ଲକ୍ଷ୍ୟ ୱେବସାଇଟର ଲଗଇନ ଠାରୁ ମଧ୍ୟ ଅଲଗା: ୱେବସାଇଟର 401 ଆହ୍ୱାନ ଅନ୍ୟ ପଥ ଅନୁସରଣ କରେ।
ସ୍ଥାୟୀ ପ୍ରମାଣପତ୍ର auth-source ରେ ରଖନ୍ତୁ
ଯଦି auth-source ପୂର୍ବରୁ ~/.authinfo.gpg ପରି ଏନକ୍ରିପ୍ଟେଡ ପ୍ରମାଣପତ୍ର ଫାଇଲ ପଢ଼େ, ଏହି ଉଦାହରଣ ପାଇଁ Basic ଏଣ୍ଟ୍ରିର ରୂପ ଏହିପରି:
machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD
ଆପଣଙ୍କ ପ୍ରକୃତ ଖାତା ଓ ଗୁପ୍ତ ତଥ୍ୟ ବ୍ୟବହାର କରନ୍ତୁ, ଏବଂ ଫାଇଲଟି ଆପଣ ବିନ୍ୟାସ କରିଥିବା auth-sources ମଧ୍ୟରେ ଅଛି ନିଶ୍ଚିତ କରନ୍ତୁ। ଧାଡ଼ିଟି ମେଳ ଖାଉଥିବା କ୍ଷେତ୍ର ଦେଖାଏ; ଏହା ଆପଣଙ୍କ Lisp ଆରମ୍ଭ ଫାଇଲରେ ପାସୱାର୍ଡ ରଖିବା ନିର୍ଦ୍ଦେଶ ନୁହେଁ।
Emacs 31.1 ର Basic କାର୍ଯ୍ୟକାରିତାରେ ଦୁଇଟି ବିବରଣୀ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ। ଏହା ସଂଖ୍ୟାତ୍ମକ TCP ପୋର୍ଟ ବିନା ପ୍ରକ୍ସିର ହୋଷ୍ଟନାମ ଖୋଜେ, ଏବଂ ପ୍ରକ୍ସି URL ର ସ୍କିମକୁ auth-source ର ପୋର୍ଟ ମୂଲ୍ୟ ଭାବରେ ପଠାଏ। ଏହି HTTP ପ୍ରକ୍ସି ପାଇଁ, TCP ସଂଯୋଗ ପୋର୍ଟ 8080 ବ୍ୟବହାର କଲେ ମଧ୍ୟ, ସେହି ମୂଲ୍ୟ http।
ଏହି ଖୋଜରେ ଆହ୍ୱାନର realm କିମ୍ବା ସଂଖ୍ୟାତ୍ମକ ପ୍ରକ୍ସି ପୋର୍ଟ ସମ୍ମିଳିତ ନାହିଁ। ଏକ ସମାନ ହୋଷ୍ଟନାମରେ ଅନେକ realm କିମ୍ବା ପ୍ରକ୍ସି ପୋର୍ଟ ପାଇଁ ଏହା ଅଲଗା Basic ପାସୱାର୍ଡ ବାଛିବ ବୋଲି ଆଶା କରନ୍ତୁ ନାହିଁ। Digest ଅନ୍ୟ ହୋଷ୍ଟ ଖୋଜ ବ୍ୟବହାର କରେ, ତେଣୁ ଉପରର ଉଦାହରଣ Basic ପାଇଁ ବିଶେଷ।
URL ଲାଇବ୍ରେରୀ ନିଜର ପ୍ରମାଣୀକରଣ କ୍ୟାସ ମଧ୍ୟ ରଖେ। ଏହାର Basic ଏଣ୍ଟ୍ରିଗୁଡ଼ିକ ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ଅଲଗା କରେ ଏବଂ ଏଣ୍ଡପଏଣ୍ଟ ଭିତରେ realm କିମ୍ବା ଡିରେକ୍ଟୋରୀ ମେଳ ବ୍ୟବହାର କରେ; ସେହି କ୍ୟାସ auth-source ଖୋଜରୁ ଅଲଗା। ପ୍ରମ୍ପ୍ଟରେ ପାସୱାର୍ଡ ଟାଇପ କଲେ ଆପଣଙ୍କ ସ୍ଥାୟୀ ପ୍ରମାଣପତ୍ର ଫାଇଲରେ ନୂଆ ଏଣ୍ଟ୍ରି ସଞ୍ଚୟ ନକରି ସେସନ କ୍ୟାସ ଭରିପାରେ।
HTTPS ର ପୂର୍ବ ପ୍ରମାଣୀକରଣ ପଦକ୍ଷେପ ଅଛି
HTTP ପ୍ରକ୍ସି ମାଧ୍ୟମରେ HTTPS ଲକ୍ଷ୍ୟ ପାଇଁ, Emacs ପ୍ରଥମେ CONNECT ପଠାଏ। ତେଣୁ ୱେବସାଇଟ ସହ ଏନକ୍ରିପ୍ଟେଡ ସଂଯୋଗରେ ପହଞ୍ଚିବା ପୂର୍ବରୁ ପ୍ରମାଣୀକରଣ ଆବଶ୍ୟକ ହୋଇପାରେ।
Emacs 31.1 ରେ, CONNECT ଅନୁରୋଧ ନିର୍ମାତା ଏହାର ପ୍ରମାଣୀକରଣ ଯନ୍ତ୍ର ମାଧ୍ୟମରେ ପୂର୍ବରୁ ଉପଲବ୍ଧ ପ୍ରମାଣୀକରଣ ଯାଞ୍ଚ କରେ, କ୍ୟାସ ହୋଇଥିବା Basic ପ୍ରମାଣପତ୍ର ସହିତ। ଏହାର Basic ପଥ ସେହି ସମୟରେ ନୂଆ auth-source ଏଣ୍ଟ୍ରି ମାଗେ ନାହିଁ କିମ୍ବା ଆଣେ ନାହିଁ। 200 ନଥିବା CONNECT ପ୍ରତିକ୍ରିୟା ମଧ୍ୟ ଉପରେ ବର୍ଣ୍ଣିତ ସାଧାରଣ HTTP 407 ଆହ୍ୱାନ ହ୍ୟାଣ୍ଡଲରରେ ପ୍ରବେଶ କରେ ନାହିଁ।
ତେଣୁ, ସାଧାରଣ HTTP Basic ଆହ୍ୱାନର ଉତ୍ତର ଦେଇପାରୁଥିବା auth-source ଏଣ୍ଟ୍ରି ନୂଆ ସେସନର ପ୍ରଥମ HTTPS ଅନୁରୋଧ ସଫଳତାର ସହ ପ୍ରମାଣିତ ହେବ ବୋଲି ଗ୍ୟାରେଣ୍ଟି ଦିଏ ନାହିଁ। ଉପଯୁକ୍ତ କ୍ୟାସ ପ୍ରମାଣପତ୍ର ଥିବା ସେସନର ଆରମ୍ଭ ସ୍ଥିତି ଅଲଗା। ସେହି ପାସୱାର୍ଡ ଏଣ୍ଟ୍ରିକୁ ବାରମ୍ବାର ସମ୍ପାଦନା କଲେ ଦୁଇ ପଥ ମଧ୍ୟର ଏହି ପାର୍ଥକ୍ୟ ନିଜେ ଦୂର ହୁଏ ନାହିଁ।
ଯଦି HTTPS କାର୍ଯ୍ୟ ପ୍ରକ୍ସିରେ ଅଟକିଯାଏ, CONNECT 407 ପାଇଛି କି ନାହିଁ ଏବଂ ଆପଣ ଏହି ସଂସ୍କରଣର ଆଚରଣ ବ୍ୟବହାର କରୁଛନ୍ତି କି ନାହିଁ ନିର୍ଣ୍ଣୟ କରନ୍ତୁ। ପ୍ରକ୍ସି ପ୍ରଦାନ କରୁଥିବା ପ୍ରମାଣୀକରଣ ସ୍କିମ ମଧ୍ୟ ନିଶ୍ଚିତ କରନ୍ତୁ। Basic ପ୍ରମାଣପତ୍ର ଏଣ୍ଟ୍ରି ପ୍ରତ୍ୟେକ ଏଣ୍ଟରପ୍ରାଇଜ ପ୍ରମାଣୀକରଣ ପ୍ରଣାଳୀ ପାଇଁ ସାର୍ବଜନୀନ ଆଡାପ୍ଟର ନୁହେଁ।
ସ୍ଥାୟୀ ବିନ୍ୟାସ ସାର୍ବଜନୀନ ପ୍ରକ୍ସି ବିକଳ୍ପରେ ଏବଂ ଆପଣ ବାଛିଥିବା ପ୍ରମାଣପତ୍ର ବ୍ୟାକଏଣ୍ଡରେ ରଖନ୍ତୁ। URL ଲାଇବ୍ରେରୀର ଆଭ୍ୟନ୍ତରୀଣ Basic ଭଣ୍ଡାର ଏହି ଆଚରଣ ବୁଝିବା ପାଇଁ ଉପଯୋଗୀ, କିନ୍ତୁ ସେହି ବ୍ୟକ୍ତିଗତ ତଥ୍ୟ ସଂରଚନା ହାତରେ ଭରିଲେ ବିନ୍ୟାସ କାର୍ଯ୍ୟକାରିତା ବିବରଣୀ ସହ ବନ୍ଧା ହେବ।