@@ -2481,85 +2481,6 @@ static const SIMPLE_TREE_NODE *nsp_interface_resolve_gal(const gal_list_t &plist
24812481 return ptnode;
24822482}
24832483
2484- static uint32_t nsp_interface_fetch_smtp_property (
2485- const char *paddress, uint32_t proptag, PROPERTY_VALUE *pprop)
2486- {
2487- pprop->proptag = proptag;
2488- pprop->reserved = 0 ;
2489- switch (proptag) {
2490- case PR_ADDRTYPE:
2491- case PR_ADDRTYPE_A:
2492- pprop->value .pstr = deconst (" SMTP" );
2493- break ;
2494- case PR_EMAIL_ADDRESS:
2495- case PR_EMAIL_ADDRESS_A:
2496- case PR_SMTP_ADDRESS:
2497- case PR_SMTP_ADDRESS_A:
2498- pprop->value .pv = ndr_stack_alloc (
2499- NDR_STACK_OUT, strlen (paddress) + 1 );
2500- if (NULL == pprop->value .pstr ) {
2501- return ecServerOOM;
2502- }
2503- strcpy (pprop->value .pstr , paddress);
2504- break ;
2505- case PR_OBJECT_TYPE:
2506- pprop->value .l = MAPI_MAILUSER;
2507- break ;
2508- case PR_DISPLAY_TYPE:
2509- pprop->value .l = DT_MAILUSER;
2510- break ;
2511- case PR_DISPLAY_TYPE_EX:
2512- pprop->value .l = DT_MAILUSER;
2513- break ;
2514- case PR_SEARCH_KEY:
2515- pprop->value .bin .cb = strlen (paddress) + 6 ;
2516- pprop->value .bin .pv = ndr_stack_alloc (
2517- NDR_STACK_OUT, pprop->value .bin .cb );
2518- if (pprop->value .bin .pc == nullptr )
2519- return ecServerOOM;
2520- sprintf (pprop->value .bin .pc , " SMTP:%s" , paddress);
2521- HX_strupper (pprop->value .bin .pc );
2522- break ;
2523- case PR_TRANSMITABLE_DISPLAY_NAME:
2524- case PR_TRANSMITABLE_DISPLAY_NAME_A:
2525- case PR_DISPLAY_NAME:
2526- case PR_DISPLAY_NAME_A:
2527- case PR_EMS_AB_DISPLAY_NAME_PRINTABLE:
2528- case PR_EMS_AB_DISPLAY_NAME_PRINTABLE_A:
2529- pprop->value .pv = ndr_stack_alloc (
2530- NDR_STACK_OUT, strlen (paddress) + 1 );
2531- if (NULL == pprop->value .pstr ) {
2532- return ecServerOOM;
2533- }
2534- strcpy (pprop->value .pstr , paddress);
2535- break ;
2536- default :
2537- return ecNotFound;
2538- }
2539- return ecSuccess;
2540- }
2541-
2542- static uint32_t nsp_interface_fetch_smtp_row (const char *paddress,
2543- const LPROPTAG_ARRAY *pproptags, NSP_PROPROW *prow)
2544- {
2545- uint32_t err_val;
2546- PROPERTY_VALUE *pprop;
2547-
2548- for (size_t i = 0 ; i < pproptags->cvalues ; ++i) {
2549- pprop = common_util_propertyrow_enlarge (prow);
2550- if (NULL == pprop) {
2551- return ecServerOOM;
2552- }
2553- err_val = nsp_interface_fetch_smtp_property (
2554- paddress, pproptags->pproptag [i], pprop);
2555- if (err_val != ecSuccess) {
2556- pprop->proptag = CHANGE_PROP_TYPE (pprop->proptag , PT_ERROR);
2557- pprop->value .err = err_val != ecServerOOM ? err_val : ecMAPIOOM;
2558- }
2559- }
2560- return ecSuccess;
2561- }
2562-
25632484int nsp_interface_resolve_namesw (NSPI_HANDLE handle, uint32_t reserved,
25642485 const STAT *pstat, LPROPTAG_ARRAY *&pproptags,
25652486 const STRINGS_ARRAY *pstrs, MID_ARRAY **ppmids, NSP_ROWSET **pprows)
0 commit comments