svn commit: samba r21987 - in branches/SAMBA_3_0/source: lib
printing rpc_parse
metze at samba.org
metze at samba.org
Tue Mar 27 11:16:00 GMT 2007
Author: metze
Date: 2007-03-27 11:15:59 +0000 (Tue, 27 Mar 2007)
New Revision: 21987
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21987
Log:
split tdb_prs_*() functions in version which take a keystr and a TDB_DATA key
metze
Modified:
branches/SAMBA_3_0/source/lib/sharesec.c
branches/SAMBA_3_0/source/printing/nt_printing.c
branches/SAMBA_3_0/source/rpc_parse/parse_prs.c
Changeset:
Modified: branches/SAMBA_3_0/source/lib/sharesec.c
===================================================================
--- branches/SAMBA_3_0/source/lib/sharesec.c 2007-03-27 11:01:37 UTC (rev 21986)
+++ branches/SAMBA_3_0/source/lib/sharesec.c 2007-03-27 11:15:59 UTC (rev 21987)
@@ -125,7 +125,7 @@
slprintf(key, sizeof(key)-1, "SECDESC/%s", servicename);
- if (tdb_prs_fetch(share_tdb, key, &ps, ctx)!=0 ||
+ if (tdb_prs_fetch_bystring(share_tdb, key, &ps, ctx)!=0 ||
!sec_io_desc("get_share_security", &psd, &ps, 1)) {
DEBUG(4, ("get_share_security: using default secdesc for %s\n",
@@ -167,7 +167,7 @@
slprintf(key, sizeof(key)-1, "SECDESC/%s", share_name);
- if (tdb_prs_store(share_tdb, key, &ps)==0) {
+ if (tdb_prs_store_bystring(share_tdb, key, &ps)==0) {
ret = True;
DEBUG(5,("set_share_security: stored secdesc for %s\n", share_name ));
} else {
Modified: branches/SAMBA_3_0/source/printing/nt_printing.c
===================================================================
--- branches/SAMBA_3_0/source/printing/nt_printing.c 2007-03-27 11:01:37 UTC (rev 21986)
+++ branches/SAMBA_3_0/source/printing/nt_printing.c 2007-03-27 11:15:59 UTC (rev 21987)
@@ -5159,7 +5159,7 @@
key = make_printers_secdesc_tdbkey( sharename );
- if (tdb_prs_store(tdb_printers, key, &ps)==0) {
+ if (tdb_prs_store_bystring(tdb_printers, key, &ps)==0) {
status = WERR_OK;
} else {
DEBUG(1,("Failed to store secdesc for %s\n", sharename));
@@ -5280,7 +5280,7 @@
key = make_printers_secdesc_tdbkey( sharename );
- if (tdb_prs_fetch(tdb_printers, key, &ps, ctx)!=0 ||
+ if (tdb_prs_fetch_bystring(tdb_printers, key, &ps, ctx)!=0 ||
!sec_io_desc_buf("nt_printing_getsec", secdesc_ctr, &ps, 1)) {
prs_mem_free(&ps);
@@ -5297,7 +5297,7 @@
sizeof(SEC_DESC_BUF), ctx, MARSHALL);
if (sec_io_desc_buf("nt_printing_getsec", secdesc_ctr, &ps, 1)) {
- tdb_prs_store(tdb_printers, key, &ps);
+ tdb_prs_store_bystring(tdb_printers, key, &ps);
}
prs_mem_free(&ps);
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_prs.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_prs.c 2007-03-27 11:01:37 UTC (rev 21986)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_prs.c 2007-03-27 11:15:59 UTC (rev 21987)
@@ -1454,22 +1454,24 @@
}
/* useful function to store a structure in rpc wire format */
-int tdb_prs_store(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps)
+int tdb_prs_store(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps)
{
- TDB_DATA kbuf, dbuf;
- kbuf.dptr = keystr;
- kbuf.dsize = strlen(keystr)+1;
+ TDB_DATA dbuf;
dbuf.dptr = ps->data_p;
dbuf.dsize = prs_offset(ps);
return tdb_trans_store(tdb, kbuf, dbuf, TDB_REPLACE);
}
+int tdb_prs_store_bystring(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps)
+{
+ TDB_DATA kbuf = string_term_tdb_data(keystr);
+ return tdb_prs_store(tdb, kbuf, ps);
+}
+
/* useful function to fetch a structure into rpc wire format */
-int tdb_prs_fetch(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps, TALLOC_CTX *mem_ctx)
+int tdb_prs_fetch(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps, TALLOC_CTX *mem_ctx)
{
- TDB_DATA kbuf, dbuf;
- kbuf.dptr = keystr;
- kbuf.dsize = strlen(keystr)+1;
+ TDB_DATA dbuf;
prs_init(ps, 0, mem_ctx, UNMARSHALL);
@@ -1482,6 +1484,12 @@
return 0;
}
+int tdb_prs_fetch_bystring(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps, TALLOC_CTX *mem_ctx)
+{
+ TDB_DATA kbuf = string_term_tdb_data(keystr);
+ return tdb_prs_fetch(tdb, kbuf, ps, mem_ctx);
+}
+
/*******************************************************************
hash a stream.
********************************************************************/
More information about the samba-cvs
mailing list