Added wrapped libkrb5 and libgss_krb5 (for Wiee64)

This commit is contained in:
ptitSeb 2021-07-27 13:52:21 +02:00
parent e00d35f5bf
commit fc4f0e3bae
10 changed files with 1003 additions and 2 deletions

View File

@ -207,6 +207,8 @@ set(WRAPPEDS
"${BOX64_ROOT}/src/wrapped/wrappedfontconfig.c"
"${BOX64_ROOT}/src/wrapped/wrappedfreetype.c"
"${BOX64_ROOT}/src/wrapped/wrappedgnutls.c"
"${BOX64_ROOT}/src/wrapped/wrappedgssapikrb5.c"
"${BOX64_ROOT}/src/wrapped/wrappedkrb5.c"
"${BOX64_ROOT}/src/wrapped/wrappedldlinux.c"
"${BOX64_ROOT}/src/wrapped/wrappedlibasound.c"
"${BOX64_ROOT}/src/wrapped/wrappedlibc.c"

View File

@ -157,8 +157,8 @@ GO("libxml2.so.2", xml2)
//GO("liblber-2.4.so.2", lber)
//GO("libnsl.so.1", nsl)
//GO("liblcms2.so.2", lcms2)
//GO("libkrb5.so.3", krb5)
//GO("libgssapi_krb5.so.2", gssapikrb5)
GO("libkrb5.so.3", krb5)
GO("libgssapi_krb5.so.2", gssapikrb5)
//GO("libtiff.so.5", libtiff)
GO("ld-linux-x86-64.so.2", ldlinux)

View File

@ -849,7 +849,9 @@
#() uFpuuuu
#() uFppiip
#() uFppipp
#() uFppupp
#() uFpplip
#() uFppppu
#() uFppppp
#() UFuiiii
#() lFipLli
@ -1035,6 +1037,8 @@
#() iFpppppL
#() iFpppppp
#() uFpippup
#() uFpuippp
#() uFpppppi
#() uFpppppp
#() UFpippup
#() lFipipLu
@ -1153,6 +1157,7 @@
#() iFppiiuui
#() iFppiipii
#() iFppiipiL
#() iFppiuppi
#() iFppipiip
#() iFppipipi
#() iFppippip
@ -1172,6 +1177,7 @@
#() iFpppppip
#() iFppppppp
#() uFuippppp
#() uFppiuppp
#() pFEpLiiii
#() pFEpLiiiI
#() pFEppppip
@ -1243,6 +1249,7 @@
#() iFppppppii
#() iFpppppppp
#() uFuipppppp
#() uFppuppppp
#() pFEppppppp
#() pFuiiiuuuu
#() pFuupupipp
@ -1329,6 +1336,7 @@
#() vFppdddddddd
#() vFpppppppppp
#() iFEpupppLppL
#() iFEppppppipp
#() iFEppppppppp
#() iFiiiiiiiiip
#() iFpuupiuiipp
@ -1361,6 +1369,7 @@
#() iFEppppiiiiuu
#() iFiiiiiiiiiip
#() iFppppiiuuiiL
#() uFppppppppppp
#() pFEppiiLpppip
#() pFEppuiipuuii
#() vFuiiiillliilp
@ -1389,6 +1398,7 @@
#() iFddddpppddpppp
#() iFpippuuuiipppp
#() iFpupiiiipppppp
#() uFppppuuupppppp
#() pFpCuuwwWWWWuup
#() pFpuupppwwwwWWC
#() pFppppppppppppp
@ -1504,6 +1514,9 @@ wrappedgnutls:
- vFpp:
- gnutls_transport_set_pull_function
- gnutls_transport_set_push_function
wrappedkrb5:
- iFppppppipp:
- krb5_get_init_creds_password
wrappedldlinux:
- pFp:
- __tls_get_addr

View File

@ -0,0 +1,19 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.0.1.14) *
*******************************************************************/
#ifndef __wrappedkrb5TYPES_H_
#define __wrappedkrb5TYPES_H_
#ifndef LIBNAME
#error You should only #include this file inside a wrapped*.c file
#endif
#ifndef ADDED_FUNCTIONS
#define ADDED_FUNCTIONS()
#endif
typedef int64_t (*iFppppppipp_t)(void*, void*, void*, void*, void*, void*, int64_t, void*, void*);
#define SUPER() ADDED_FUNCTIONS() \
GO(krb5_get_init_creds_password, iFppppppipp_t)
#endif // __wrappedkrb5TYPES_H_

View File

@ -883,7 +883,9 @@ typedef uint64_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
typedef uint64_t (*uFpuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
typedef uint64_t (*uFppiip_t)(void*, void*, int64_t, int64_t, void*);
typedef uint64_t (*uFppipp_t)(void*, void*, int64_t, void*, void*);
typedef uint64_t (*uFppupp_t)(void*, void*, uint64_t, void*, void*);
typedef uint64_t (*uFpplip_t)(void*, void*, intptr_t, int64_t, void*);
typedef uint64_t (*uFppppu_t)(void*, void*, void*, void*, uint64_t);
typedef uint64_t (*uFppppp_t)(void*, void*, void*, void*, void*);
typedef uint64_t (*UFuiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t);
typedef intptr_t (*lFipLli_t)(int64_t, void*, uintptr_t, intptr_t, int64_t);
@ -1069,6 +1071,8 @@ typedef int64_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
typedef int64_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
typedef int64_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
typedef uint64_t (*uFpuippp_t)(void*, uint64_t, int64_t, void*, void*, void*);
typedef uint64_t (*uFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
typedef uint64_t (*uFpppppp_t)(void*, void*, void*, void*, void*, void*);
typedef uint64_t (*UFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
typedef intptr_t (*lFipipLu_t)(int64_t, void*, int64_t, void*, uintptr_t, uint64_t);
@ -1187,6 +1191,7 @@ typedef int64_t (*iFppiiiip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t,
typedef int64_t (*iFppiiuui_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t);
typedef int64_t (*iFppiipii_t)(void*, void*, int64_t, int64_t, void*, int64_t, int64_t);
typedef int64_t (*iFppiipiL_t)(void*, void*, int64_t, int64_t, void*, int64_t, uintptr_t);
typedef int64_t (*iFppiuppi_t)(void*, void*, int64_t, uint64_t, void*, void*, int64_t);
typedef int64_t (*iFppipiip_t)(void*, void*, int64_t, void*, int64_t, int64_t, void*);
typedef int64_t (*iFppipipi_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t);
typedef int64_t (*iFppippip_t)(void*, void*, int64_t, void*, void*, int64_t, void*);
@ -1206,6 +1211,7 @@ typedef int64_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int64_
typedef int64_t (*iFpppppip_t)(void*, void*, void*, void*, void*, int64_t, void*);
typedef int64_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFuippppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*);
typedef uint64_t (*uFppiuppp_t)(void*, void*, int64_t, uint64_t, void*, void*, void*);
typedef void* (*pFEpLiiii_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, int64_t);
typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, int64_t);
typedef void* (*pFEppppip_t)(x64emu_t*, void*, void*, void*, void*, int64_t, void*);
@ -1277,6 +1283,7 @@ typedef int64_t (*iFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, vo
typedef int64_t (*iFppppppii_t)(void*, void*, void*, void*, void*, void*, int64_t, int64_t);
typedef int64_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFuipppppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFppuppppp_t)(void*, void*, uint64_t, void*, void*, void*, void*, void*);
typedef void* (*pFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
typedef void* (*pFuiiiuuuu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
typedef void* (*pFuupupipp_t)(uint64_t, uint64_t, void*, uint64_t, void*, int64_t, void*, void*);
@ -1363,6 +1370,7 @@ typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float,
typedef void (*vFppdddddddd_t)(void*, void*, double, double, double, double, double, double, double, double);
typedef void (*vFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFEpupppLppL_t)(x64emu_t*, void*, uint64_t, void*, void*, void*, uintptr_t, void*, void*, uintptr_t);
typedef int64_t (*iFEppppppipp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, int64_t, void*, void*);
typedef int64_t (*iFEppppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef int64_t (*iFiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
typedef int64_t (*iFpuupiuiipp_t)(void*, uint64_t, uint64_t, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
@ -1395,6 +1403,7 @@ typedef void (*vFpipppiiiipi_t)(void*, int64_t, void*, void*, void*, int64_t, in
typedef int64_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
typedef int64_t (*iFiiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
typedef int64_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, uintptr_t);
typedef uint64_t (*uFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void* (*pFEppiiLpppip_t)(x64emu_t*, void*, void*, int64_t, int64_t, uintptr_t, void*, void*, void*, int64_t, void*);
typedef void* (*pFEppuiipuuii_t)(x64emu_t*, void*, void*, uint64_t, int64_t, int64_t, void*, uint64_t, uint64_t, int64_t, int64_t);
typedef void (*vFuiiiillliilp_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t, int64_t, intptr_t, void*);
@ -1423,6 +1432,7 @@ typedef void (*vFuffffffffffff_t)(uint64_t, float, float, float, float, float, f
typedef int64_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*);
typedef int64_t (*iFpippuuuiipppp_t)(void*, int64_t, void*, void*, uint64_t, uint64_t, uint64_t, int64_t, int64_t, void*, void*, void*, void*);
typedef int64_t (*iFpupiiiipppppp_t)(void*, uint64_t, void*, int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*);
typedef uint64_t (*uFppppuuupppppp_t)(void*, void*, void*, void*, uint64_t, uint64_t, uint64_t, void*, void*, void*, void*, void*, void*);
typedef void* (*pFpCuuwwWWWWuup_t)(void*, uint8_t, uint64_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint64_t, uint64_t, void*);
typedef void* (*pFpuupppwwwwWWC_t)(void*, uint64_t, uint64_t, void*, void*, void*, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t, uint8_t);
typedef void* (*pFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@ -2313,7 +2323,9 @@ void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RA
void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
void uFppiip(x64emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
void uFppupp(x64emu_t *emu, uintptr_t fcn) { uFppupp_t fn = (uFppupp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
void uFpplip(x64emu_t *emu, uintptr_t fcn) { uFpplip_t fn = (uFpplip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
void uFppppu(x64emu_t *emu, uintptr_t fcn) { uFppppu_t fn = (uFppppu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); }
void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
void UFuiiii(x64emu_t *emu, uintptr_t fcn) { UFuiiii_t fn = (UFuiiii_t)fcn; R_RAX=fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
void lFipLli(x64emu_t *emu, uintptr_t fcn) { lFipLli_t fn = (lFipLli_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8); }
@ -2499,6 +2511,8 @@ void iFpppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppi_t fn = (iFpppppi_t)fcn; R
void iFpppppL(x64emu_t *emu, uintptr_t fcn) { iFpppppL_t fn = (iFpppppL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
void iFpppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppp_t fn = (iFpppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
void uFpippup(x64emu_t *emu, uintptr_t fcn) { uFpippup_t fn = (uFpippup_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
void uFpuippp(x64emu_t *emu, uintptr_t fcn) { uFpuippp_t fn = (uFpuippp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
void uFpppppi(x64emu_t *emu, uintptr_t fcn) { uFpppppi_t fn = (uFpppppi_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
void uFpppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppp_t fn = (uFpppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
void UFpippup(x64emu_t *emu, uintptr_t fcn) { UFpippup_t fn = (UFpippup_t)fcn; R_RAX=fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
void lFipipLu(x64emu_t *emu, uintptr_t fcn) { lFipipLu_t fn = (lFipipLu_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uint64_t)R_R9); }
@ -2617,6 +2631,7 @@ void iFppiiiip(x64emu_t *emu, uintptr_t fcn) { iFppiiiip_t fn = (iFppiiiip_t)fcn
void iFppiiuui(x64emu_t *emu, uintptr_t fcn) { iFppiiuui_t fn = (iFppiiuui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppiipii(x64emu_t *emu, uintptr_t fcn) { iFppiipii_t fn = (iFppiipii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppiipiL(x64emu_t *emu, uintptr_t fcn) { iFppiipiL_t fn = (iFppiipiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(uintptr_t*)(R_RSP + 8)); }
void iFppiuppi(x64emu_t *emu, uintptr_t fcn) { iFppiuppi_t fn = (iFppiuppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppipiip(x64emu_t *emu, uintptr_t fcn) { iFppipiip_t fn = (iFppipiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
void iFppipipi(x64emu_t *emu, uintptr_t fcn) { iFppipipi_t fn = (iFppipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
void iFppippip(x64emu_t *emu, uintptr_t fcn) { iFppippip_t fn = (iFppippip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
@ -2636,6 +2651,7 @@ void iFppppdpi(x64emu_t *emu, uintptr_t fcn) { iFppppdpi_t fn = (iFppppdpi_t)fcn
void iFpppppip(x64emu_t *emu, uintptr_t fcn) { iFpppppip_t fn = (iFpppppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
void iFppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppp_t fn = (iFppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void uFuippppp(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void uFppiuppp(x64emu_t *emu, uintptr_t fcn) { uFppiuppp_t fn = (uFppiuppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void pFEpLiiii(x64emu_t *emu, uintptr_t fcn) { pFEpLiiii_t fn = (pFEpLiiii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
void pFEpLiiiI(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
void pFEppppip(x64emu_t *emu, uintptr_t fcn) { pFEppppip_t fn = (pFEppppip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); }
@ -2707,6 +2723,7 @@ void iFppppiipi(x64emu_t *emu, uintptr_t fcn) { iFppppiipi_t fn = (iFppppiipi_t)
void iFppppppii(x64emu_t *emu, uintptr_t fcn) { iFppppppii_t fn = (iFppppppii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
void iFpppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppp_t fn = (iFpppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void uFppuppppp(x64emu_t *emu, uintptr_t fcn) { uFppuppppp_t fn = (uFppuppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
void pFEppppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppppp_t fn = (pFEppppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void pFuiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFuiiiuuuu_t fn = (pFuiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
void pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@ -2793,6 +2810,7 @@ void vFffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFfffffff
void vFppdddddddd(x64emu_t *emu, uintptr_t fcn) { vFppdddddddd_t fn = (vFppdddddddd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0], emu->xmm[6].d[0], emu->xmm[7].d[0]); }
void vFpppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppppp_t fn = (vFpppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
void iFEpupppLppL(x64emu_t *emu, uintptr_t fcn) { iFEpupppLppL_t fn = (iFEpupppLppL_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
void iFEppppppipp(x64emu_t *emu, uintptr_t fcn) { iFEppppppipp_t fn = (iFEppppppipp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
void iFEppppppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppppppp_t fn = (iFEppppppppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiip_t fn = (iFiiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
void iFpuupiuiipp(x64emu_t *emu, uintptr_t fcn) { iFpuupiuiipp_t fn = (iFpuupiuiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
@ -2825,6 +2843,7 @@ void vFpipppiiiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiiiipi_t fn = (vFpippp
void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuu_t fn = (iFEppppiiiiuu_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiiip_t fn = (iFiiiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuiiL_t fn = (iFppppiiuuiiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40)); }
void uFppppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppppp_t fn = (uFppppppppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
void pFEppiiLpppip(x64emu_t *emu, uintptr_t fcn) { pFEppiiLpppip_t fn = (pFEppiiLpppip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
void pFEppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFEppuiipuuii_t fn = (pFEppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
void vFuiiiillliilp(x64emu_t *emu, uintptr_t fcn) { vFuiiiillliilp_t fn = (vFuiiiillliilp_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(intptr_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
@ -2853,6 +2872,7 @@ void vFuffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFu
void iFddddpppddpppp(x64emu_t *emu, uintptr_t fcn) { iFddddpppddpppp_t fn = (iFddddpppddpppp_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[4].d[0], emu->xmm[5].d[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fcn) { iFpippuuuiipppp_t fn = (iFpippuuuiipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void iFpupiiiipppppp(x64emu_t *emu, uintptr_t fcn) { iFpupiiiipppppp_t fn = (iFpupiiiipppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void uFppppuuupppppp(x64emu_t *emu, uintptr_t fcn) { uFppppuuupppppp_t fn = (uFppppuuupppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void pFpCuuwwWWWWuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuwwWWWWuup_t fn = (pFpCuuwwWWWWuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fcn) { pFpuupppwwwwWWC_t fn = (pFpuupppwwwwWWC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(int16_t*)(R_RSP + 24), *(int16_t*)(R_RSP + 32), *(uint16_t*)(R_RSP + 40), *(uint16_t*)(R_RSP + 48), *(uint8_t*)(R_RSP + 56)); }
void pFppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppp_t fn = (pFppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
@ -3639,7 +3659,9 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &uFpuuuu) return 1;
if (fun == &uFppiip) return 1;
if (fun == &uFppipp) return 1;
if (fun == &uFppupp) return 1;
if (fun == &uFpplip) return 1;
if (fun == &uFppppu) return 1;
if (fun == &uFppppp) return 1;
if (fun == &UFuiiii) return 1;
if (fun == &lFipLli) return 1;
@ -3802,6 +3824,8 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &iFpppppL) return 1;
if (fun == &iFpppppp) return 1;
if (fun == &uFpippup) return 1;
if (fun == &uFpuippp) return 1;
if (fun == &uFpppppi) return 1;
if (fun == &uFpppppp) return 1;
if (fun == &UFpippup) return 1;
if (fun == &lFipipLu) return 1;

View File

@ -879,7 +879,9 @@ void uFpCCCC(x64emu_t *emu, uintptr_t fnc);
void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
void uFppiip(x64emu_t *emu, uintptr_t fnc);
void uFppipp(x64emu_t *emu, uintptr_t fnc);
void uFppupp(x64emu_t *emu, uintptr_t fnc);
void uFpplip(x64emu_t *emu, uintptr_t fnc);
void uFppppu(x64emu_t *emu, uintptr_t fnc);
void uFppppp(x64emu_t *emu, uintptr_t fnc);
void UFuiiii(x64emu_t *emu, uintptr_t fnc);
void lFipLli(x64emu_t *emu, uintptr_t fnc);
@ -1065,6 +1067,8 @@ void iFpppppi(x64emu_t *emu, uintptr_t fnc);
void iFpppppL(x64emu_t *emu, uintptr_t fnc);
void iFpppppp(x64emu_t *emu, uintptr_t fnc);
void uFpippup(x64emu_t *emu, uintptr_t fnc);
void uFpuippp(x64emu_t *emu, uintptr_t fnc);
void uFpppppi(x64emu_t *emu, uintptr_t fnc);
void uFpppppp(x64emu_t *emu, uintptr_t fnc);
void UFpippup(x64emu_t *emu, uintptr_t fnc);
void lFipipLu(x64emu_t *emu, uintptr_t fnc);
@ -1183,6 +1187,7 @@ void iFppiiiip(x64emu_t *emu, uintptr_t fnc);
void iFppiiuui(x64emu_t *emu, uintptr_t fnc);
void iFppiipii(x64emu_t *emu, uintptr_t fnc);
void iFppiipiL(x64emu_t *emu, uintptr_t fnc);
void iFppiuppi(x64emu_t *emu, uintptr_t fnc);
void iFppipiip(x64emu_t *emu, uintptr_t fnc);
void iFppipipi(x64emu_t *emu, uintptr_t fnc);
void iFppippip(x64emu_t *emu, uintptr_t fnc);
@ -1202,6 +1207,7 @@ void iFppppdpi(x64emu_t *emu, uintptr_t fnc);
void iFpppppip(x64emu_t *emu, uintptr_t fnc);
void iFppppppp(x64emu_t *emu, uintptr_t fnc);
void uFuippppp(x64emu_t *emu, uintptr_t fnc);
void uFppiuppp(x64emu_t *emu, uintptr_t fnc);
void pFEpLiiii(x64emu_t *emu, uintptr_t fnc);
void pFEpLiiiI(x64emu_t *emu, uintptr_t fnc);
void pFEppppip(x64emu_t *emu, uintptr_t fnc);
@ -1273,6 +1279,7 @@ void iFppppiipi(x64emu_t *emu, uintptr_t fnc);
void iFppppppii(x64emu_t *emu, uintptr_t fnc);
void iFpppppppp(x64emu_t *emu, uintptr_t fnc);
void uFuipppppp(x64emu_t *emu, uintptr_t fnc);
void uFppuppppp(x64emu_t *emu, uintptr_t fnc);
void pFEppppppp(x64emu_t *emu, uintptr_t fnc);
void pFuiiiuuuu(x64emu_t *emu, uintptr_t fnc);
void pFuupupipp(x64emu_t *emu, uintptr_t fnc);
@ -1359,6 +1366,7 @@ void vFffffffffff(x64emu_t *emu, uintptr_t fnc);
void vFppdddddddd(x64emu_t *emu, uintptr_t fnc);
void vFpppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFEpupppLppL(x64emu_t *emu, uintptr_t fnc);
void iFEppppppipp(x64emu_t *emu, uintptr_t fnc);
void iFEppppppppp(x64emu_t *emu, uintptr_t fnc);
void iFiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
void iFpuupiuiipp(x64emu_t *emu, uintptr_t fnc);
@ -1391,6 +1399,7 @@ void vFpipppiiiipi(x64emu_t *emu, uintptr_t fnc);
void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fnc);
void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fnc);
void uFppppppppppp(x64emu_t *emu, uintptr_t fnc);
void pFEppiiLpppip(x64emu_t *emu, uintptr_t fnc);
void pFEppuiipuuii(x64emu_t *emu, uintptr_t fnc);
void vFuiiiillliilp(x64emu_t *emu, uintptr_t fnc);
@ -1419,6 +1428,7 @@ void vFuffffffffffff(x64emu_t *emu, uintptr_t fnc);
void iFddddpppddpppp(x64emu_t *emu, uintptr_t fnc);
void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fnc);
void iFpupiiiipppppp(x64emu_t *emu, uintptr_t fnc);
void uFppppuuupppppp(x64emu_t *emu, uintptr_t fnc);
void pFpCuuwwWWWWuup(x64emu_t *emu, uintptr_t fnc);
void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fnc);
void pFppppppppppppp(x64emu_t *emu, uintptr_t fnc);

18
src/wrapped/wrappedgssapikrb5.c Executable file
View File

@ -0,0 +1,18 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x64emu.h"
const char* gssapikrb5Name = "libgssapi_krb5.so.2";
#define LIBNAME gssapikrb5
#include "wrappedlib_init.h"

View File

@ -0,0 +1,165 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh....
#endif
GO(gss_accept_sec_context, uFppppppppppp)
GO(gss_acquire_cred, uFppuppppp)
//GO(gss_acquire_cred_from,
//GO(gss_acquire_cred_impersonate_name,
//GO(gss_acquire_cred_with_password,
//GO(gss_add_buffer_set_member,
//GO(gss_add_cred,
//GO(gss_add_cred_from,
//GO(gss_add_cred_impersonate_name,
//GO(gss_add_cred_with_password,
//GO(gss_add_oid_set_member,
//GO(gss_authorize_localname,
//GO(gss_canonicalize_name,
//DATA(GSS_C_ATTR_LOCAL_LOGIN_USER,
//DATA(GSS_C_INQ_SSPI_SESSION_KEY,
//DATA(GSS_C_MA_AUTH_INIT,
//DATA(GSS_C_MA_AUTH_INIT_ANON,
//DATA(GSS_C_MA_AUTH_INIT_INIT,
//DATA(GSS_C_MA_AUTH_TARG,
//DATA(GSS_C_MA_AUTH_TARG_ANON,
//DATA(GSS_C_MA_AUTH_TARG_INIT,
//DATA(GSS_C_MA_CBINDINGS,
//DATA(GSS_C_MA_COMPRESS,
//DATA(GSS_C_MA_CONF_PROT,
//DATA(GSS_C_MA_CTX_TRANS,
//DATA(GSS_C_MA_DELEG_CRED,
//DATA(GSS_C_MA_DEPRECATED,
//DATA(GSS_C_MA_INTEG_PROT,
//DATA(GSS_C_MA_ITOK_FRAMED,
//DATA(GSS_C_MA_MECH_COMPOSITE,
//DATA(GSS_C_MA_MECH_CONCRETE,
//DATA(GSS_C_MA_MECH_GLUE,
//DATA(GSS_C_MA_MECH_NEGO,
//DATA(GSS_C_MA_MECH_PSEUDO,
//DATA(GSS_C_MA_MIC,
//DATA(GSS_C_MA_NOT_DFLT_MECH,
//DATA(GSS_C_MA_NOT_MECH,
//DATA(GSS_C_MA_OOS_DET,
//DATA(GSS_C_MA_PFS,
//DATA(GSS_C_MA_PROT_READY,
//DATA(GSS_C_MA_REPLAY_DET,
//DATA(GSS_C_MA_WRAP,
//DATA(GSS_C_NT_ANONYMOUS,
//DATA(GSS_C_NT_COMPOSITE_EXPORT,
//DATA(GSS_C_NT_EXPORT_NAME,
//DATA(GSS_C_NT_HOSTBASED_SERVICE,
//DATA(GSS_C_NT_HOSTBASED_SERVICE_X,
//DATA(GSS_C_NT_MACHINE_UID_NAME,
//DATA(GSS_C_NT_STRING_UID_NAME,
//DATA(GSS_C_NT_USER_NAME,
//GO(gss_compare_name,
//GO(gss_complete_auth_token,
//GO(gss_context_time,
//GO(gss_create_empty_buffer_set,
//GO(gss_create_empty_oid_set,
//GO(gss_decapsulate_token,
//GO(gss_delete_name_attribute,
GO(gss_delete_sec_context, uFppp)
//GO(gss_display_mech_attr,
//GO(gss_display_name,
//GO(gss_display_name_ext,
GO(gss_display_status, uFpuippp)
//GO(gss_duplicate_name,
//GO(gss_encapsulate_token,
//GO(gss_export_cred,
//GO(gss_export_name,
//GO(gss_export_name_composite,
//GO(gss_export_sec_context,
GO(gss_get_mic, uFppupp)
//GO(gss_get_mic_iov,
//GO(gss_get_mic_iov_length,
//GO(gss_get_name_attribute,
//GO(gss_import_cred,
GO(gss_import_name, uFpppp)
//GO(gss_import_sec_context,
//GO(gss_indicate_mechs,
//GO(gss_indicate_mechs_by_attrs,
GO(gss_init_sec_context, uFppppuuupppppp)
//GO(gss_inquire_attrs_for_mech,
GO(gss_inquire_context, uFppppppppp)
//GO(gss_inquire_cred,
//GO(gss_inquire_cred_by_mech,
//GO(gss_inquire_cred_by_oid,
//GO(gss_inquire_mech_for_saslname,
//GO(gss_inquire_mechs_for_name,
//GO(gss_inquire_name,
//GO(gss_inquire_names_for_mech,
//GO(gss_inquire_saslname_for_mech,
//GO(gss_inquire_sec_context_by_oid,
//GO(gssint_g_seqstate_init,
//GO(gss_krb5_ccache_name,
//GO(gss_krb5_copy_ccache,
//GO(gss_krb5_export_lucid_sec_context,
//GO(gsskrb5_extract_authtime_from_sec_context,
//GO(gsskrb5_extract_authz_data_from_sec_context,
//GO(gss_krb5_free_lucid_sec_context,
//GO(gss_krb5_get_tkt_flags,
//GO(gss_krb5_import_cred,
//GO(gss_krb5int_make_seal_token_v3,
//GO(gss_krb5int_unseal_token_v3,
//DATA(GSS_KRB5_NT_PRINCIPAL_NAME,
//GO(gss_krb5_set_allowable_enctypes,
//GO(gss_krb5_set_cred_rcache,
//GO(gss_localname,
//GO(gss_map_name_to_any,
//DATA(gss_mech_iakerb,
//DATA(gss_mech_krb5,
//DATA(gss_mech_krb5_old,
//DATA(gss_mech_krb5_wrong,
//DATA(gss_mech_set_krb5,
//DATA(gss_mech_set_krb5_both,
//DATA(gss_mech_set_krb5_old,
//DATA(gss_nt_exported_name,
//DATA(gss_nt_krb5_name,
//DATA(gss_nt_krb5_principal,
//DATA(gss_nt_machine_uid_name,
//DATA(gss_nt_service_name,
//DATA(gss_nt_service_name_v2,
//DATA(gss_nt_string_uid_name,
//DATA(gss_nt_user_name,
//GO(gss_oid_equal,
//GO(gss_oid_to_str,
//GO(gss_pname_to_uid,
//GO(gss_process_context_token,
//GO(gss_pseudo_random,
//GO(gss_release_any_name_mapping,
GO(gss_release_buffer, uFpp)
//GO(gss_release_buffer_set,
GO(gss_release_cred, uFpp)
GO(gss_release_iov_buffer, uFppi)
GO(gss_release_name, uFpp)
//GO(gss_release_oid,
//GO(gss_release_oid_set,
//GO(gss_seal,
//GO(gss_set_cred_option,
//GO(gss_set_name_attribute,
//GO(gss_set_neg_mechs,
//GO(gss_set_sec_context_option,
//GO(gss_sign,
//GO(gssspi_mech_invoke,
//GO(gssspi_set_cred_option,
//GO(gss_store_cred,
//GO(gss_store_cred_into,
//GO(gss_str_to_oid,
//GO(gss_test_oid_set_member,
//GO(gss_unseal,
GO(gss_unwrap, uFpppppp)
//GO(gss_unwrap_aead,
GO(gss_unwrap_iov, uFpppppi)
//GO(gss_userok,
//GO(gss_verify,
GO(gss_verify_mic, uFppppu)
//GO(gss_verify_mic_iov,
GO(gss_wrap, uFppiuppp)
//GO(gss_wrap_aead,
GO(gss_wrap_iov, iFppiuppi)
//GO(gss_wrap_iov_length,
//GO(gss_wrap_size_limit,
//DATAB(krb5_gss_dbg_client_expcreds,
//GO(krb5_gss_register_acceptor_identity,
//GO(krb5_gss_use_kdc_context,

98
src/wrapped/wrappedkrb5.c Executable file
View File

@ -0,0 +1,98 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "debug.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x64emu.h"
#include "emu/x64emu_private.h"
#include "box64context.h"
#include "librarian.h"
#include "callback.h"
const char* krb5Name = "libkrb5.so.3";
#define LIBNAME krb5
static library_t *my_lib = NULL;
typedef int (*iFppppppipp_t) (void*, void*, void*, void*, void*, void*, int, void*, void*);
#define SUPER() \
GO(krb5_get_init_creds_password, iFppppppipp_t) \
typedef struct krb5_my_s {
// functions
#define GO(A, B) B A;
SUPER()
#undef GO
} krb5_my_t;
void* getKrb5My(library_t* lib)
{
krb5_my_t* my = (krb5_my_t*)calloc(1, sizeof(krb5_my_t));
#define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
SUPER()
#undef GO
return my;
}
#undef SUPER
void freeKrb5My(void* lib)
{
//krb5_my_t *my = (krb5_my_t *)lib;
}
#define SUPER() \
GO(0) \
GO(1) \
GO(2) \
GO(3) \
GO(4)
// krb5_prompter ...
#define GO(A) \
static uintptr_t my_krb5_prompter_fct_##A = 0; \
static int my_krb5_prompter_##A(void* a, void* b, void* c, void* d, int e, void* f) \
{ \
return RunFunction(my_context, my_krb5_prompter_fct_##A, 6, a, b, c, d, e, f); \
}
SUPER()
#undef GO
static void* find_krb5_prompter_Fct(void* fct)
{
if(!fct) return fct;
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
#define GO(A) if(my_krb5_prompter_fct_##A == (uintptr_t)fct) return my_krb5_prompter_##A;
SUPER()
#undef GO
#define GO(A) if(my_krb5_prompter_fct_##A == 0) {my_krb5_prompter_fct_##A = (uintptr_t)fct; return my_krb5_prompter_##A; }
SUPER()
#undef GO
printf_log(LOG_NONE, "Warning, no more slot for libkrb5 krb5_prompter callback\n");
return NULL;
}
#undef SUPER
EXPORT int my_krb5_get_init_creds_password(x64emu_t* emu, void* context, void* creds, void* client, void* password, void* f, void* data, int delta, void* service, void* options)
{
krb5_my_t* my = (krb5_my_t*)my_lib->priv.w.p2;
return my->krb5_get_init_creds_password(context, creds, client, password, find_krb5_prompter_Fct(f), data, delta, service, options);
}
#define CUSTOM_INIT \
lib->priv.w.p2 = getKrb5My(lib); \
my_lib = lib;
#define CUSTOM_FINI \
freeKrb5My(lib->priv.w.p2); \
free(lib->priv.w.p2); \
my_lib = NULL;
#include "wrappedlib_init.h"

652
src/wrapped/wrappedkrb5_private.h Executable file
View File

@ -0,0 +1,652 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh....
#endif
//GO(decode_krb5_ad_kdcissued,
//GO(decode_krb5_ad_signedpath,
//GO(decode_krb5_ap_rep,
//GO(decode_krb5_ap_rep_enc_part,
//GO(decode_krb5_ap_req,
//GO(decode_krb5_as_rep,
//GO(decode_krb5_as_req,
//GO(decode_krb5_authdata,
//GO(decode_krb5_authenticator,
//GO(decode_krb5_cred,
//GO(decode_krb5_enc_cred_part,
//GO(decode_krb5_enc_data,
//GO(decode_krb5_enc_kdc_rep_part,
//GO(decode_krb5_enc_priv_part,
//GO(decode_krb5_encryption_key,
//GO(decode_krb5_enc_sam_response_enc_2,
//GO(decode_krb5_enc_tkt_part,
//GO(decode_krb5_error,
//GO(decode_krb5_etype_info,
//GO(decode_krb5_etype_info2,
//GO(decode_krb5_fast_req,
//GO(decode_krb5_fast_response,
//GO(decode_krb5_iakerb_finished,
//GO(decode_krb5_iakerb_header,
//GO(decode_krb5_kdc_req_body,
//GO(decode_krb5_kkdcp_message,
//GO(decode_krb5_otp_tokeninfo,
//GO(decode_krb5_padata_sequence,
//GO(decode_krb5_pa_enc_ts,
//GO(decode_krb5_pa_for_user,
//GO(decode_krb5_pa_fx_fast_reply,
//GO(decode_krb5_pa_fx_fast_request,
//GO(decode_krb5_pa_otp_challenge,
//GO(decode_krb5_pa_otp_enc_req,
//GO(decode_krb5_pa_otp_req,
//GO(decode_krb5_pa_pac_req,
//GO(decode_krb5_pa_s4u_x509_user,
//GO(decode_krb5_priv,
//GO(decode_krb5_safe,
//GO(decode_krb5_sam_challenge_2,
//GO(decode_krb5_sam_challenge_2_body,
//GO(decode_krb5_sam_response_2,
//GO(decode_krb5_setpw_req,
//GO(decode_krb5_tgs_rep,
//GO(decode_krb5_tgs_req,
//GO(decode_krb5_ticket,
//GO(decode_krb5_typed_data,
//GO(encode_krb5_ad_kdcissued,
//GO(encode_krb5_ad_signedpath,
//GO(encode_krb5_ad_signedpath_data,
//GO(encode_krb5_ap_rep,
//GO(encode_krb5_ap_rep_enc_part,
//GO(encode_krb5_ap_req,
//GO(encode_krb5_as_rep,
//GO(encode_krb5_as_req,
//GO(encode_krb5_authdata,
//GO(encode_krb5_authenticator,
//GO(encode_krb5_checksum,
//GO(encode_krb5_cred,
//GO(encode_krb5_enc_cred_part,
//GO(encode_krb5_enc_data,
//GO(encode_krb5_enc_kdc_rep_part,
//GO(encode_krb5_enc_priv_part,
//GO(encode_krb5_encryption_key,
//GO(encode_krb5_enc_sam_response_enc_2,
//GO(encode_krb5_enc_tkt_part,
//GO(encode_krb5_error,
//GO(encode_krb5_etype_info,
//GO(encode_krb5_etype_info2,
//GO(encode_krb5_fast_response,
//GO(encode_krb5_iakerb_finished,
//GO(encode_krb5_iakerb_header,
//GO(encode_krb5_kdc_req_body,
//GO(encode_krb5_kkdcp_message,
//GO(encode_krb5_otp_tokeninfo,
//GO(encode_krb5_padata_sequence,
//GO(encode_krb5_pa_enc_ts,
//GO(encode_krb5_pa_for_user,
//GO(encode_krb5_pa_fx_fast_reply,
//GO(encode_krb5_pa_otp_challenge,
//GO(encode_krb5_pa_otp_enc_req,
//GO(encode_krb5_pa_otp_req,
//GO(encode_krb5_pa_s4u_x509_user,
//GO(encode_krb5_pkinit_supp_pub_info,
//GO(encode_krb5_priv,
//GO(encode_krb5_s4u_userid,
//GO(encode_krb5_safe,
//GO(encode_krb5_sam_challenge_2,
//GO(encode_krb5_sam_challenge_2_body,
//GO(encode_krb5_sam_response_2,
//GO(encode_krb5_sp80056a_other_info,
//GO(encode_krb5_tgs_rep,
//GO(encode_krb5_tgs_req,
//GO(encode_krb5_ticket,
//GO(encode_krb5_typed_data,
//DATA(et_asn1_error_table,
//DATA(et_k524_error_table,
//DATA(et_kdb5_error_table,
//DATA(et_krb5_error_table,
//DATA(et_kv5m_error_table,
//DATA(et_prof_error_table,
//GO(initialize_asn1_error_table,
//GO(initialize_k524_error_table,
//GO(initialize_k5e1_error_table,
//GO(initialize_kdb5_error_table,
//GO(initialize_krb5_error_table,
//GO(initialize_kv5m_error_table,
//GO(initialize_prof_error_table,
//GO(k5_build_conf_principals,
//GO(k5_ccselect_free_context,
//GO(k5_change_error_message_code,
//GO(k5_etypes_contains,
//GO(k5_expand_path_tokens,
//GO(k5_expand_path_tokens_extra,
//GO(k5_free_algorithm_identifier,
//GO(k5_free_kkdcp_message,
//GO(k5_free_otp_tokeninfo,
//GO(k5_free_pa_otp_challenge,
//GO(k5_free_pa_otp_req,
//GO(k5_free_serverlist,
//GO(k5_hostrealm_free_context,
//GO(k5_init_trace,
//GO(k5_kt_get_principal,
//GO(k5_localauth_free_context,
//GO(k5_locate_kdc,
//GO(k5_marshal_cred,
//GO(k5_marshal_princ,
//GO(k5_os_free_context,
//GO(k5_os_init_context,
//GO(k5_plugin_free_modules,
//GO(k5_plugin_load,
//GO(k5_plugin_load_all,
//GO(k5_plugin_register,
//GO(k5_plugin_register_dyn,
//GO(k5_unmarshal_cred,
//GO(k5_unmarshal_princ,
//GO(krb524_convert_creds_kdc,
//GO(krb524_init_ets,
//GO(krb5_425_conv_principal,
//GO(krb5_524_convert_creds,
//GO(krb5_524_conv_principal,
//GO(krb5_address_compare,
//GO(krb5_address_order,
//GO(krb5_address_search,
//GO(krb5_allow_weak_crypto,
//GO(krb5_aname_to_localname,
//GO(krb5_anonymous_principal,
//GO(krb5_anonymous_realm,
//GO(krb5_appdefault_boolean,
//GO(krb5_appdefault_string,
//GO(krb5_auth_con_free,
//GO(krb5_auth_con_genaddrs,
//GO(krb5_auth_con_getaddrs,
//GO(krb5_auth_con_get_authdata_context,
//GO(krb5_auth_con_getauthenticator,
//GO(krb5_auth_con_get_checksum_func,
//GO(krb5_auth_con_getflags,
//GO(krb5_auth_con_getivector,
//GO(krb5_auth_con_getkey,
//GO(krb5_auth_con_getkey_k,
//GO(krb5_auth_con_getlocalseqnumber,
//GO(krb5_auth_con_getlocalsubkey,
//GO(krb5_auth_con_getpermetypes,
//GO(krb5_auth_con_getrcache,
//GO(krb5_auth_con_getrecvsubkey,
//GO(krb5_auth_con_getrecvsubkey_k,
//GO(krb5_auth_con_getremoteseqnumber,
//GO(krb5_auth_con_getremotesubkey,
//GO(krb5_auth_con_getsendsubkey,
//GO(krb5_auth_con_getsendsubkey_k,
//GO(krb5_auth_con_init,
//GO(krb5_auth_con_initivector,
//GO(krb5_auth_con_setaddrs,
//GO(krb5_auth_con_set_authdata_context,
//GO(krb5_auth_con_set_checksum_func,
//GO(krb5_auth_con_setflags,
//GO(krb5_auth_con_setivector,
//GO(krb5_auth_con_setpermetypes,
//GO(krb5_auth_con_setports,
//GO(krb5_auth_con_setrcache,
//GO(krb5_auth_con_setrecvsubkey,
//GO(krb5_auth_con_setrecvsubkey_k,
//GO(krb5_auth_con_set_req_cksumtype,
//GO(krb5_auth_con_set_safe_cksumtype,
//GO(krb5_auth_con_setsendsubkey,
//GO(krb5_auth_con_setsendsubkey_k,
//GO(krb5_auth_con_setuseruserkey,
//GO(krb5_authdata_context_copy,
//GO(krb5_authdata_context_free,
//GO(krb5_authdata_context_init,
//GO(krb5_authdata_delete_attribute,
//GO(krb5_authdata_export_attributes,
//GO(krb5_authdata_export_authdata,
//GO(krb5_authdata_export_internal,
//GO(krb5_authdata_free_internal,
//GO(krb5_authdata_get_attribute,
//GO(krb5_authdata_get_attribute_types,
//GO(krb5_authdata_import_attributes,
//GO(krb5_authdata_set_attribute,
//GO(krb5_auth_to_rep,
//GO(krb5_build_principal,
//GO(krb5_build_principal_alloc_va,
//GO(krb5_build_principal_ext,
//GO(krb5_build_principal_va,
//GO(krb5_cc_cache_match,
GO(krb5_cc_close, iFpp)
GO(krb5_cccol_cursor_free, iFpp)
GO(krb5_cccol_cursor_new, iFpp)
GO(krb5_cccol_cursor_next, iFppp)
//GO(krb5_cccol_have_content,
//GO(krb5_cc_copy_creds,
GO(krb5_cc_default, iFpp)
//GO(krb5_cc_default_name,
//GO(krb5_cc_destroy,
//DATA(krb5_cc_dfl_ops,
//GO(krb5_cc_dup,
GO(krb5_cc_end_seq_get, iFppp)
//DATA(krb5_cc_file_ops,
//GO(krb5_cc_gen_new,
//GO(krb5_cc_get_config,
//GO(krb5_cc_get_full_name,
//GO(krb5_cc_get_name,
//GO(krb5_cc_get_principal,
//GO(krb5_cc_get_type,
GO(krb5_cc_initialize, iFppp)
//GO(krb5_cc_move,
//GO(krb5_cc_new_unique,
GO(krb5_cc_next_cred, iFpppp)
//GO(krb5_cc_register,
//GO(krb5_cc_remove_cred,
//GO(krb5_cc_resolve,
//GO(krb5_cc_retrieve_cred,
//GO(krb5_cc_select,
//GO(krb5_cc_set_config,
//GO(krb5_cc_set_default_name,
//GO(krb5_cc_set_flags,
GO(krb5_cc_start_seq_get, iFppp)
GO(krb5_cc_store_cred, iFppp)
//GO(krb5_cc_support_switch,
//GO(krb5_cc_switch,
//GO(krb5_change_cache,
//GO(krb5_change_password,
//GO(krb5_check_clockskew,
//GO(krb5_check_transited_list,
//GO(krb5_chpw_message,
//GO(krb5_chpw_result_code_string,
//GO(krb5_clear_error_message,
//GO(_krb5_conf_boolean,
//GO(krb5_copy_addr,
//GO(krb5_copy_addresses,
//GO(krb5_copy_authdata,
//GO(krb5_copy_authenticator,
//GO(krb5_copy_checksum,
//GO(krb5_copy_context,
//GO(krb5_copy_creds,
//GO(krb5_copy_data,
//GO(krb5_copy_error_message,
//GO(krb5_copy_keyblock,
//GO(krb5_copy_keyblock_contents,
//GO(krb5_copy_principal,
//GO(krb5_copy_ticket,
//GO(krb5_crypto_us_timeofday,
//GO(krb5_decode_authdata_container,
GO(krb5_decode_ticket, iFpp)
//GO(krb5_decrypt_tkt_part,
//GO(krb5_deltat_to_string,
//GO(krb5_encode_authdata_container,
//GO(krb5_encode_kdc_rep,
//GO(krb5_encrypt_helper,
//GO(krb5_encrypt_tkt_part,
//GO(krb5_externalize_data,
//GO(krb5_externalize_opaque,
//DATA(krb5_fcc_ops,
//GO(krb5_find_authdata,
//GO(krb5_find_serializer,
//GO(krb5_free_address,
//GO(krb5_free_addresses,
//GO(krb5_free_ad_kdcissued,
//GO(krb5_free_ad_signedpath,
//GO(krb5_free_ap_rep,
//GO(krb5_free_ap_rep_enc_part,
//GO(krb5_free_ap_req,
//GO(krb5_free_authdata,
//GO(krb5_free_authenticator,
//GO(krb5_free_authenticator_contents,
//GO(krb5_free_checksum,
//GO(krb5_free_checksum_contents,
//GO(krb5_free_config_files,
GO(krb5_free_context, vFp)
//GO(krb5_free_cred,
GO(krb5_free_cred_contents, vFpp)
//GO(krb5_free_cred_enc_part,
//GO(krb5_free_creds,
//GO(krb5_free_data,
//GO(krb5_free_data_contents,
//GO(krb5_free_default_realm,
//GO(krb5_free_enc_data,
//GO(krb5_free_enc_kdc_rep_part,
//GO(krb5_free_enc_sam_response_enc_2,
//GO(krb5_free_enc_sam_response_enc_2_contents,
//GO(krb5_free_enc_tkt_part,
//GO(krb5_free_enctypes,
//GO(krb5_free_error,
//GO(krb5_free_error_message,
//GO(krb5_free_etype_info,
//GO(krb5_free_fast_armored_req,
//GO(krb5_free_fast_req,
//GO(krb5_free_fast_response,
//GO(krb5_free_host_realm,
//GO(krb5_free_iakerb_finished,
//GO(krb5_free_iakerb_header,
//GO(krb5_free_kdc_rep,
//GO(krb5_free_kdc_req,
//GO(krb5_free_keyblock,
//GO(krb5_free_keyblock_contents,
//GO(krb5_free_keytab_entry_contents,
//GO(krb5_free_last_req,
//GO(krb5_free_octet_data,
//GO(krb5_free_pa_data,
//GO(krb5_free_pa_enc_ts,
//GO(krb5_free_pa_for_user,
//GO(krb5_free_pa_pac_req,
//GO(krb5_free_pa_s4u_x509_user,
GO(krb5_free_principal, vFpp)
//GO(krb5_free_priv,
//GO(krb5_free_priv_enc_part,
//GO(krb5_free_realm_tree,
//GO(krb5_free_safe,
//GO(krb5_free_sam_challenge_2,
//GO(krb5_free_sam_challenge_2_body,
//GO(krb5_free_sam_challenge_2_body_contents,
//GO(krb5_free_sam_challenge_2_contents,
//GO(krb5_free_sam_response_2,
//GO(krb5_free_sam_response_2_contents,
//GO(krb5_free_string,
//GO(krb5_free_tgt_creds,
GO(krb5_free_ticket, vFpp)
//GO(krb5_free_tickets,
//GO(krb5_free_tkt_authent,
GO(krb5_free_unparsed_name, vFpp)
//GO(krb5_fwd_tgt_creds,
//GO(krb5_generate_seq_number,
//GO(krb5_generate_subkey,
//GO(krb5_gen_portaddr,
//GO(krb5_gen_replay_name,
//GO(krb5_get_credentials,
//GO(krb5_get_credentials_for_proxy,
//GO(krb5_get_credentials_for_user,
//GO(krb5_get_credentials_renew,
//GO(krb5_get_credentials_validate,
//GO(krb5_get_cred_via_tkt,
//GO(krb5_get_default_config_files,
//GO(krb5_get_default_in_tkt_ktypes,
//GO(krb5_get_default_realm,
//GO(krb5_get_error_message,
//GO(krb5_get_fallback_host_realm,
//GO(krb5_get_host_realm,
//GO(krb5_get_init_creds_keytab,
GO(krb5_get_init_creds_opt_alloc, iFpp)
GO(krb5_get_init_creds_opt_free, vFpp)
//GO(krb5_get_init_creds_opt_free_pa,
//GO(krb5_get_init_creds_opt_get_fast_flags,
//GO(krb5_get_init_creds_opt_get_pa,
//GO(krb5_get_init_creds_opt_init,
//GO(krb5_get_init_creds_opt_set_address_list,
//GO(krb5_get_init_creds_opt_set_anonymous,
//GO(krb5_get_init_creds_opt_set_canonicalize,
//GO(krb5_get_init_creds_opt_set_change_password_prompt,
//GO(krb5_get_init_creds_opt_set_etype_list,
//GO(krb5_get_init_creds_opt_set_expire_callback,
//GO(krb5_get_init_creds_opt_set_fast_ccache,
//GO(krb5_get_init_creds_opt_set_fast_ccache_name,
//GO(krb5_get_init_creds_opt_set_fast_flags,
//GO(krb5_get_init_creds_opt_set_forwardable,
//GO(krb5_get_init_creds_opt_set_in_ccache,
GO(krb5_get_init_creds_opt_set_out_ccache, iFppp)
//GO(krb5_get_init_creds_opt_set_pa,
//GO(krb5_get_init_creds_opt_set_preauth_list,
//GO(krb5_get_init_creds_opt_set_proxiable,
//GO(krb5_get_init_creds_opt_set_renew_life,
//GO(krb5_get_init_creds_opt_set_responder,
//GO(krb5_get_init_creds_opt_set_salt,
//GO(krb5_get_init_creds_opt_set_tkt_life,
GOM(krb5_get_init_creds_password, iFEppppppipp)
//GO(krb5_get_in_tkt_with_keytab,
//GO(krb5_get_in_tkt_with_password,
//GO(krb5_get_in_tkt_with_skey,
//GO(krb5_get_notification_message,
//GO(krb5_get_permitted_enctypes,
//GO(krb5_get_profile,
//GO(krb5_get_prompt_types,
//GO(krb5_get_realm_domain,
//GO(krb5_get_renewed_creds,
//GO(krb5_get_server_rcache,
//GO(krb5_get_tgs_ktypes,
//GO(krb5_get_time_offsets,
//GO(krb5_get_validated_creds,
GO(krb5_init_context, iFp)
//GO(krb5_init_context_profile,
//GO(krb5_init_creds_free,
//GO(krb5_init_creds_get,
//GO(krb5_init_creds_get_creds,
//GO(krb5_init_creds_get_error,
//GO(krb5_init_creds_get_times,
//GO(krb5_init_creds_init,
//GO(krb5_init_creds_set_keytab,
//GO(krb5_init_creds_set_password,
//GO(krb5_init_creds_set_service,
//GO(krb5_init_creds_step,
//GO(krb5_init_keyblock,
//GO(krb5_init_secure_context,
//GO(krb5int_accessor,
//GO(krb5int_cc_default,
//GO(krb5int_cleanup_library,
//GO(krb5int_copy_data_contents,
//GO(krb5int_copy_data_contents_add0,
//GO(krb5_internalize_opaque,
//GO(krb5int_find_pa_data,
//GO(krb5int_foreach_localaddr,
//GO(krb5int_free_data_list,
//GO(krb5int_get_authdata_containee_types,
//GO(krb5int_init_context_kdc,
//GO(krb5int_initialize_library,
//GO(krb5int_parse_enctype_list,
//GO(krb5int_random_string,
//GO(krb5int_tgtname,
//GO(krb5int_trace,
GO(krb5_is_config_principal, uFpp)
//GO(krb5_is_permitted_enctype,
//GO(krb5_is_referral_realm,
//GO(krb5_is_thread_safe,
//GO(krb5_kdc_rep_decrypt_proc,
//GO(krb5_kt_add_entry,
//GO(krb5_kt_client_default,
//GO(krb5_kt_close,
//GO(krb5_kt_default,
//GO(krb5_kt_default_name,
//DATA(krb5_kt_dfl_ops,
//GO(krb5_kt_dup,
//GO(krb5_kt_end_seq_get,
//DATA(krb5_ktf_ops,
//GO(krb5_kt_free_entry,
//DATA(krb5_ktf_writable_ops,
//GO(krb5_kt_get_entry,
//GO(krb5_kt_get_name,
//GO(krb5_kt_get_type,
//GO(krb5_kt_have_content,
//GO(krb5_kt_next_entry,
//GO(krb5_kt_read_service_key,
//GO(krb5_kt_register,
//GO(krb5_kt_remove_entry,
//GO(krb5_kt_resolve,
//DATA(krb5_kts_ops,
//GO(krb5_kt_start_seq_get,
//GO(krb5_kuserok,
//GO(krb5_lock_file,
//GO(krb5_make_authdata_kdc_issued,
//GO(krb5_make_fulladdr,
//GO(krb5_make_full_ipaddr,
//DATA(krb5_mcc_ops,
//GO(krb5_merge_authdata,
//GO(krb5_mk_1cred,
//GO(krb5_mk_error,
//GO(krb5_mk_ncred,
//GO(krb5_mk_priv,
//GO(krb5_mk_rep,
//GO(krb5_mk_rep_dce,
//GO(krb5_mk_req,
//GO(krb5_mk_req_extended,
//GO(krb5_mk_safe,
//GO(krb5_net_read,
//GO(krb5_net_write,
//GO(krb5_os_localaddr,
//DATAB(krb5_overridekeyname,
//GO(krb5_pac_add_buffer,
//GO(krb5_pac_free,
//GO(krb5_pac_get_buffer,
//GO(krb5_pac_get_types,
//GO(krb5_pac_init,
//GO(krb5_pac_parse,
//GO(krb5_pac_sign,
//GO(krb5_pac_verify,
//GO(krb5_parse_name,
GO(krb5_parse_name_flags, iFppip)
//GO(krb5_principal2salt,
//GO(krb5_principal2salt_norealm,
//GO(krb5_principal_compare,
//GO(krb5_principal_compare_any_realm,
//GO(krb5_principal_compare_flags,
//GO(krb5_prompter_posix,
//GO(krb5_rc_close,
//GO(krb5_rc_default,
//GO(krb5_rc_default_name,
//GO(krb5_rc_default_type,
//GO(krb5_rc_destroy,
//GO(krb5_rc_dfl_close,
//GO(krb5_rc_dfl_close_no_free,
//GO(krb5_rc_dfl_destroy,
//GO(krb5_rc_dfl_expunge,
//GO(krb5_rc_dfl_get_name,
//GO(krb5_rc_dfl_get_span,
//GO(krb5_rc_dfl_init,
//DATA(krb5_rc_dfl_ops,
//GO(krb5_rc_dfl_recover,
//GO(krb5_rc_dfl_resolve,
//GO(krb5_rc_dfl_store,
//GO(krb5_rc_expunge,
//GO(krb5_rc_free_entry,
//GO(krb5_rc_get_lifespan,
//GO(krb5_rc_get_name,
//GO(krb5_rc_get_type,
//GO(krb5_rc_hash_message,
//GO(krb5_rc_initialize,
//GO(krb5_rc_io_close,
//GO(krb5_rc_io_creat,
//GO(krb5_rc_io_destroy,
//GO(krb5_rc_io_mark,
//GO(krb5_rc_io_move,
//GO(krb5_rc_io_open,
//GO(krb5_rc_io_read,
//GO(krb5_rc_io_size,
//GO(krb5_rc_io_sync,
//GO(krb5_rc_io_unmark,
//GO(krb5_rc_io_write,
//GO(krb5_rc_recover,
//GO(krb5_rc_recover_or_initialize,
//GO(krb5_rc_register_type,
//GO(krb5_rc_resolve,
//GO(krb5_rc_resolve_full,
//GO(krb5_rc_resolve_type,
//GO(krb5_rc_store,
//GO(krb5_rd_cred,
//GO(krb5_rd_error,
//GO(krb5_rd_priv,
//GO(krb5_rd_rep,
//GO(krb5_rd_rep_dce,
//GO(krb5_rd_req,
//GO(krb5_rd_req_decoded,
//GO(krb5_rd_req_decoded_anyflag,
//GO(krb5_rd_safe,
//GO(krb5_read_message,
//GO(krb5_read_password,
//GO(krb5_realm_compare,
//GO(krb5_recvauth,
//GO(krb5_recvauth_version,
//GO(krb5_register_serializer,
//GO(krb5_responder_get_challenge,
//GO(krb5_responder_list_questions,
//GO(krb5_responder_otp_challenge_free,
//GO(krb5_responder_otp_get_challenge,
//GO(krb5_responder_otp_set_answer,
//GO(krb5_responder_pkinit_challenge_free,
//GO(krb5_responder_pkinit_get_challenge,
//GO(krb5_responder_pkinit_set_answer,
//GO(krb5_responder_set_answer,
//GO(krb5_salttype_to_string,
//GO(krb5_sendauth,
//GO(krb5_sendto_kdc,
//GO(krb5_ser_address_init,
//GO(krb5_ser_auth_context_init,
//GO(krb5_ser_authdata_init,
//GO(krb5_ser_authenticator_init,
//GO(krb5_ser_ccache_init,
//GO(krb5_ser_checksum_init,
//GO(krb5_ser_context_init,
//GO(krb5_ser_keyblock_init,
//GO(krb5_ser_keytab_init,
//GO(krb5_ser_pack_bytes,
//GO(krb5_ser_pack_int32,
//GO(krb5_ser_pack_int64,
//GO(krb5_ser_principal_init,
//GO(krb5_ser_rcache_init,
//GO(krb5_ser_unpack_bytes,
//GO(krb5_ser_unpack_int32,
//GO(krb5_ser_unpack_int64,
//GO(krb5_server_decrypt_ticket_keytab,
//GO(krb5_set_config_files,
//GO(krb5_set_debugging_time,
//GO(krb5_set_default_in_tkt_ktypes,
//GO(krb5_set_default_realm,
//GO(krb5_set_default_tgs_enctypes,
//GO(krb5_set_default_tgs_ktypes,
//GO(krb5_set_error_message,
//GO(krb5_set_password,
//GO(krb5_set_password_using_ccache,
//GO(krb5_set_principal_realm,
//GO(krb5_set_real_time,
//GO(krb5_set_time_offsets,
//GO(krb5_set_trace_callback,
//GO(krb5_set_trace_filename,
//GO(krb5_size_opaque,
//GO(krb5_sname_match,
//GO(krb5_sname_to_principal,
//GO(krb5_string_to_deltat,
//GO(krb5_string_to_salttype,
//GO(krb5_string_to_timestamp,
//GO(krb5_timeofday,
//GO(krb5_timestamp_to_sfstring,
//GO(krb5_timestamp_to_string,
//GO(krb5_tkt_creds_free,
//GO(krb5_tkt_creds_get,
//GO(krb5_tkt_creds_get_creds,
//GO(krb5_tkt_creds_get_times,
//GO(krb5_tkt_creds_init,
//GO(krb5_tkt_creds_step,
//GO(krb5_unlock_file,
//GO(krb5_unpack_full_ipaddr,
//GO(krb5_unparse_name,
//GO(krb5_unparse_name_ext,
GO(krb5_unparse_name_flags, iFppip)
//GO(krb5_unparse_name_flags_ext,
//GO(krb5_use_natural_time,
//GO(krb5_us_timeofday,
//GO(krb5_verify_authdata_kdc_issued,
//GO(krb5_verify_init_creds,
//GO(krb5_verify_init_creds_opt_init,
//GO(krb5_verify_init_creds_opt_set_ap_req_nofail,
//GO(krb5_vset_error_message,
//GO(krb5_walk_realm_tree,
//GO(krb5_write_message,
//GO(profile_abandon,
//GO(profile_add_relation,
//GO(profile_clear_relation,
//GO(profile_flush,
//GO(profile_flush_to_buffer,
//GO(profile_flush_to_file,
//GO(profile_free_buffer,
//GO(profile_free_list,
//GO(profile_get_boolean,
//GO(profile_get_integer,
//GO(profile_get_relation_names,
//GO(profile_get_string,
//GO(profile_get_subsection_names,
//GO(profile_get_values,
//GO(profile_init,
//GO(profile_init_flags,
//GO(profile_init_path,
//GO(profile_init_vtable,
//GO(profile_iterator,
//GO(profile_iterator_create,
//GO(profile_iterator_free,
//GO(profile_release,
//GO(profile_release_string,
//GO(profile_rename_section,
//GO(profile_ser_externalize,
//GO(profile_ser_internalize,
//GO(profile_ser_size,
//GO(profile_update_relation,