|   |   |   |   | 
| Offset 9, 21 lines modified | Offset 9, 21 lines modified | 
|   |   | 
| 9  | EMI·Component·Version: | 9  | EMI·Component·Version: | 
|   |   | 
| 10  | 2.x | 10  | 2.x | 
|   |   | 
| 11  | Date: | 11  | Date: | 
|   |   | 
| 12  | January·1,·2023 | 12  | November·29,·2021 | 
|   |   | 
| 13  | 1/14 | 13  | 1/14 | 
|   |   | 
| 14  | \xcT·ITLE: | 14  | \xcT·ITLE: | 
| 15  | Common·Authentication·Library·–·Developer’s·Guide | 15  | Common·Authentication·Library·–·Developer’s·Guide | 
| 16  | Date:·January·1,·2023 | 16  | Date:·November·29,·2021 | 
|   |   | 
| 17  | This·work·is·co-funded·by·the·European·Commission·as·part·of·the·EMI·project·under·Grant·Agreement | 17  | This·work·is·co-funded·by·the·European·Commission·as·part·of·the·EMI·project·under·Grant·Agreement | 
| 18  | INFSO-RI-261611. | 18  | INFSO-RI-261611. | 
|   |   | 
| 19  | Copyright·c·EMI.·2010-2013. | 19  | Copyright·c·EMI.·2010-2013. | 
| 20  | Licensed·under·the·Apache·License,·Version·2.0·(the·"License");·you·may·not·use·this·file·except | 20  | Licensed·under·the·Apache·License,·Version·2.0·(the·"License");·you·may·not·use·this·file·except | 
| 21  | in·compliance·with·the·License.·You·may·obtain·a·copy·of·the·License·at | 21  | in·compliance·with·the·License.·You·may·obtain·a·copy·of·the·License·at | 
| Offset 32, 15 lines modified | Offset 32, 15 lines modified | 
| 32  | is·distributed·on·an·"AS·IS"·BASIS,·WITHOUT·WARRANTIES·OR·CONDITIONS·OF·ANY·KIND,·either·express·or·implied.·See·the·License·for·the·specific·language·governing·permissions·and | 32  | is·distributed·on·an·"AS·IS"·BASIS,·WITHOUT·WARRANTIES·OR·CONDITIONS·OF·ANY·KIND,·either·express·or·implied.·See·the·License·for·the·specific·language·governing·permissions·and | 
| 33  | limitations·under·the·License. | 33  | limitations·under·the·License. | 
|   |   | 
| 34  | 2/14 | 34  | 2/14 | 
|   |   | 
| 35  | \xcT·ITLE: | 35  | \xcT·ITLE: | 
| 36  | Common·Authentication·Library·–·Developer’s·Guide | 36  | Common·Authentication·Library·–·Developer’s·Guide | 
| 37  | Date:·January·1,·2023 | 37  | Date:·November·29,·2021 | 
|   |   | 
| 38  | C·ONTENTS | 38  | C·ONTENTS | 
| 39  | 1·INTRODUCTION | 39  | 1·INTRODUCTION | 
|   |   | 
| 40  | 4 | 40  | 4 | 
|   |   | 
| 41  | 1.1·LANGUAGE·BINDINGS·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·. | 41  | 1.1·LANGUAGE·BINDINGS·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·. | 
| Offset 107, 15 lines modified | Offset 107, 15 lines modified | 
|   |   | 
| 107  | 14 | 107  | 14 | 
|   |   | 
| 108  | 3/14 | 108  | 3/14 | 
|   |   | 
| 109  | \xcT·ITLE: | 109  | \xcT·ITLE: | 
| 110  | Common·Authentication·Library·–·Developer’s·Guide | 110  | Common·Authentication·Library·–·Developer’s·Guide | 
| 111  | Date:·January·1,·2023 | 111  | Date:·November·29,·2021 | 
|   |   | 
| 112  | 1 | 112  | 1 | 
|   |   | 
| 113  | I·NTRODUCTION | 113  | I·NTRODUCTION | 
|   |   | 
| 114  | This·document·serves·as·a·developer’s·guide·and·could·be·seen·as·an·API·reference·too,·even·though | 114  | This·document·serves·as·a·developer’s·guide·and·could·be·seen·as·an·API·reference·too,·even·though | 
| 115  | comments·in·the·header·files·may·give·the·reader·better·insights·into·that·matter. | 115  | comments·in·the·header·files·may·give·the·reader·better·insights·into·that·matter. | 
| Offset 172, 15 lines modified | Offset 172, 15 lines modified | 
| 172  | codes·from·errno.h·are·used·as·much·as·possible. | 172  | codes·from·errno.h·are·used·as·much·as·possible. | 
| 173  | Few·API·functions·return·char·*.·In·such·a·case·NULL·indicates·an·error,·non-null·value·means·success. | 173  | Few·API·functions·return·char·*.·In·such·a·case·NULL·indicates·an·error,·non-null·value·means·success. | 
|   |   | 
| 174  | 4/14 | 174  | 4/14 | 
|   |   | 
| 175  | \xcT·ITLE: | 175  | \xcT·ITLE: | 
| 176  | Common·Authentication·Library·–·Developer’s·Guide | 176  | Common·Authentication·Library·–·Developer’s·Guide | 
| 177  | Date:·January·1,·2023 | 177  | Date:·November·29,·2021 | 
|   |   | 
| 178  | 1.4 | 178  | 1.4 | 
|   |   | 
| 179  | C·ONTEXT·AND·PARAMETER·S·ETTINGS | 179  | C·ONTEXT·AND·PARAMETER·S·ETTINGS | 
|   |   | 
| 180  | All·the·API·functions·use·a·context·parameter·of·type·canl_ctx·to·maintain·state·information·like·error | 180  | All·the·API·functions·use·a·context·parameter·of·type·canl_ctx·to·maintain·state·information·like·error | 
| 181  | message·and·code.·Some·API·functions·also·use·an·io·context·of·type·canl_io_handler·which·keeps | 181  | message·and·code.·Some·API·functions·also·use·an·io·context·of·type·canl_io_handler·which·keeps | 
| Offset 237, 15 lines modified | Offset 237, 15 lines modified | 
| 237  | There·is·one·opaque·data·structure·representing·caNl·Certificate·API·context:·canl_cred.·It·must·only | 237  | There·is·one·opaque·data·structure·representing·caNl·Certificate·API·context:·canl_cred.·It·must·only | 
| 238  | be·initialized·before·function·calls·that·use·this·context·as·a·parameter. | 238  | be·initialized·before·function·calls·that·use·this·context·as·a·parameter. | 
|   |   | 
| 239  | 5/14 | 239  | 5/14 | 
|   |   | 
| 240  | \xcT·ITLE: | 240  | \xcT·ITLE: | 
| 241  | Common·Authentication·Library·–·Developer’s·Guide | 241  | Common·Authentication·Library·–·Developer’s·Guide | 
| 242  | Date:·January·1,·2023 | 242  | Date:·November·29,·2021 | 
|   |   | 
| 243  | #·include·<·c·a·n·l·.·h> | 243  | #·include·<·c·a·n·l·.·h> | 
| 244  | #·include·<·c·a·n·l·_·c·r·e·d·.·h> | 244  | #·include·<·c·a·n·l·_·c·r·e·d·.·h> | 
| 245  | canl_ctx·ctx·; | 245  | canl_ctx·ctx·; | 
| 246  | c·a·n·l·_·c·r·e·d·c_cred·; | 246  | c·a·n·l·_·c·r·e·d·c_cred·; | 
| 247  | ctx·=·canl_create_ctx·(·)·; | 247  | ctx·=·canl_create_ctx·(·)·; | 
| 248  | canl_cred_new·(·c·t·x·,·&c_cred·)·; | 248  | canl_cred_new·(·c·t·x·,·&c_cred·)·; | 
| Offset 268, 15 lines modified | Offset 268, 15 lines modified | 
| 268  | as·for·the·Certificate·API: | 268  | as·for·the·Certificate·API: | 
| 269  | c·a·n·l·_·c·r·e·d·_·f·r·e·e·(·c·t·x·,·c_cred·)·; | 269  | c·a·n·l·_·c·r·e·d·_·f·r·e·e·(·c·t·x·,·c_cred·)·; | 
|   |   | 
| 270  | 6/14 | 270  | 6/14 | 
|   |   | 
| 271  | \xcT·ITLE: | 271  | \xcT·ITLE: | 
| 272  | Common·Authentication·Library·–·Developer’s·Guide | 272  | Common·Authentication·Library·–·Developer’s·Guide | 
| 273  | Date:·January·1,·2023 | 273  | Date:·November·29,·2021 | 
|   |   | 
| 274  | 3 | 274  | 3 | 
|   |   | 
| 275  | C·LIENT-S·ERVER·AUTHENTICATED·C·ONNECTION | 275  | C·LIENT-S·ERVER·AUTHENTICATED·C·ONNECTION | 
|   |   | 
| 276  | For·client-server·authenticated·connection·we·just·use·caNl·Main·API·calls.·In·time·of·writing·this·paper | 276  | For·client-server·authenticated·connection·we·just·use·caNl·Main·API·calls.·In·time·of·writing·this·paper | 
| 277  | caNl·use·openssl·–·SSL/TLS·and·cryptography·toolkit.·However,·core·of·the·caNl·has·been·developed·to | 277  | caNl·use·openssl·–·SSL/TLS·and·cryptography·toolkit.·However,·core·of·the·caNl·has·been·developed·to | 
| Offset 321, 15 lines modified | Offset 321, 15 lines modified | 
| 321  | –·param·service·–·the·service·on·the·server·-·usually·NULL | 321  | –·param·service·–·the·service·on·the·server·-·usually·NULL | 
| 322  | –·param·port·–·the·port·on·which·the·server·is·listening | 322  | –·param·port·–·the·port·on·which·the·server·is·listening | 
|   |   | 
| 323  | 7/14 | 323  | 7/14 | 
|   |   | 
| 324  | \xcT·ITLE: | 324  | \xcT·ITLE: | 
| 325  | Common·Authentication·Library·–·Developer’s·Guide | 325  | Common·Authentication·Library·–·Developer’s·Guide | 
| 326  | Date:·January·1,·2023 | 326  | Date:·November·29,·2021 | 
|   |   | 
| 327  | –·param·auth_mechs·–·authentication·mechanism·to·use | 327  | –·param·auth_mechs·–·authentication·mechanism·to·use | 
| 328  | –·param·flags·–·for·future·usage | 328  | –·param·flags·–·for·future·usage | 
| 329  | –·param·peer·–·if·not·NULL·the·canl_principal·will·be·filled·with·peer’s·principal·info.·Approppriate | 329  | –·param·peer·–·if·not·NULL·the·canl_principal·will·be·filled·with·peer’s·principal·info.·Approppriate | 
| 330  | free·funcion·should·be·called·if·canl_princ·is·no·longer·to·be·used | 330  | free·funcion·should·be·called·if·canl_princ·is·no·longer·to·be·used | 
| 331  | –·param·timeout·–·the·timeout·after·which·to·drop·the·connect·attempt | 331  | –·param·timeout·–·the·timeout·after·which·to·drop·the·connect·attempt | 
| 332  | –·return·–·canl·error·code | 332  | –·return·–·canl·error·code | 
| Offset 364, 15 lines modified | Offset 364, 15 lines modified | 
| 364  | –·param·cp·–·canl·peer’s·principal·structure | 364  | –·param·cp·–·canl·peer’s·principal·structure | 
| 365  | –·return·–·void | 365  | –·return·–·void | 
|   |   | 
| 366  | 8/14 | 366  | 8/14 | 
|   |   | 
| 367  | \xcT·ITLE: | 367  | \xcT·ITLE: | 
| 368  | Common·Authentication·Library·–·Developer’s·Guide | 368  | Common·Authentication·Library·–·Developer’s·Guide | 
| 369  | Date:·January·1,·2023 | 369  | Date:·November·29,·2021 | 
|   |   | 
| 
Max diff block lines reached; 2739/6459 bytes (42.41%) of diff not shown.
 |